/* ==========================================================================
   Alcaldía San Bernardo del Viento — estilos complementarios
   Accesibilidad (WCAG 2.1 AA), foco visible y componentes propios.
   Los tokens de color/tipografía/espaciado viven en theme.json.
   ========================================================================== */

/* --- Texto solo para lectores de pantalla --- */
*,
*::before,
*::after {
	box-sizing: border-box;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	word-wrap: normal !important;
}

/* --- Enlace "Saltar al contenido" --- */
.skip-link.screen-reader-text:focus {
	background-color: var(--wp--preset--color--accent, #e0a526);
	color: var(--wp--preset--color--contrast, #16201d);
	clip: auto !important;
	clip-path: none;
	display: block;
	font-size: 1rem;
	font-weight: 700;
	height: auto;
	left: 1rem;
	top: 1rem;
	line-height: normal;
	padding: 0.75rem 1.25rem;
	width: auto;
	z-index: 100000;
	border-radius: 6px;
	text-decoration: none;
}

/* --- Foco visible accesible en todos los elementos interactivos --- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible,
.wp-block-button__link:focus-visible,
.wp-block-navigation-item__content:focus-visible {
	outline: 3px solid var(--wp--preset--color--secondary, #1f4d42);
	outline-offset: 2px;
	border-radius: 3px;
}

/* --- Botón flotante de WhatsApp --- */
.sb-whatsapp {
	position: fixed;
	right: 1.25rem;
	bottom: 1.25rem;
	z-index: 9990;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background-color: #25d366;
	color: #ffffff;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
	transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
	text-decoration: none;
}

.sb-whatsapp:hover,
.sb-whatsapp:focus-visible {
	background-color: #1ebe5b;
	transform: translateY(-2px);
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.3);
	color: #ffffff;
}

.sb-whatsapp__icon {
	display: block;
}

@media (prefers-reduced-motion: reduce) {
	.sb-whatsapp {
		transition: none;
	}
}

/* --- Mejoras de legibilidad y contraste --- */
.sb-footer__links a {
	color: #ffffff;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.sb-footer__links a:hover,
.sb-footer__links a:focus-visible {
	color: var(--wp--preset--color--accent, #ffc629);
}

.sb-govbar a {
	color: #ffffff;
	text-decoration: none;
}

.sb-govbar a:hover,
.sb-govbar a:focus-visible {
	text-decoration: underline;
}

/* --- Imágenes responsivas seguras --- */
img {
	max-width: 100%;
	height: auto;
}

/* --- Avisos del formulario PQRSD --- */
.sb-notice {
	padding: 1rem 1.25rem;
	border-radius: 8px;
	margin-bottom: 1.5rem;
	font-weight: 600;
	border: 1px solid transparent;
}

.sb-notice--ok {
	background-color: #e7f5ee;
	border-color: #2e7d52;
	color: #1d5235;
}

.sb-notice--error {
	background-color: #fdecec;
	border-color: #c0392b;
	color: #8a261c;
}

/* --- Formulario PQRSD nativo --- */
.sb-form {
	display: grid;
	gap: 1.25rem;
	max-width: 100%;
}

.sb-form__row {
	display: grid;
	gap: 0.375rem;
	min-width: 0;
}

.sb-form__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.25rem;
}

@media (max-width: 600px) {
	.sb-form__grid {
		grid-template-columns: 1fr;
	}
}

.sb-form label {
	font-weight: 600;
	color: var(--wp--preset--color--contrast, #16201d);
	overflow-wrap: anywhere;
}

.sb-form .sb-req {
	color: #c0392b;
}

.sb-form input,
.sb-form select,
.sb-form textarea {
	width: 100%;
	padding: 0.7rem 0.85rem;
	border: 1px solid var(--wp--preset--color--border, #d8e0dd);
	border-radius: 6px;
	font: inherit;
	color: inherit;
	background-color: #fff;
}

.sb-form input:focus-visible,
.sb-form select:focus-visible,
.sb-form textarea:focus-visible {
	outline: 3px solid var(--wp--preset--color--secondary, #1f4d42);
	outline-offset: 1px;
	border-color: var(--wp--preset--color--primary, #327A68);
}

.sb-form__hp {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.sb-form__consent {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.625rem;
	align-items: flex-start;
	font-weight: 400;
	min-width: 0;
}

.sb-form__consent input {
	width: auto;
	margin-top: 0.25rem;
	flex: 0 0 auto;
}

.sb-form__consent span {
	display: block;
	min-width: 0;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.sb-form button[type="submit"] {
	justify-self: start;
	background-color: var(--wp--preset--color--primary, #327A68);
	color: #fff;
	border: 0;
	border-radius: 6px;
	padding: 0.8rem 1.75rem;
	font-weight: 600;
	font-size: 1.0625rem;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.sb-form button[type="submit"]:hover,
.sb-form button[type="submit"]:focus-visible {
	background-color: var(--wp--preset--color--primary-dark, #275e50);
}


/* --- Ajuste de la barra de búsqueda del encabezado en móvil --- */
@media (max-width: 600px) {
	.sb-header__main .wp-block-search__input {
		min-width: 0;
	}
}

/* ==========================================================================
   Capa premium — full-width, responsivo y micro-interacciones
   ========================================================================== */

/* --- Transiciones suaves globales en elementos interactivos --- */
a,
.wp-block-button__link,
.wp-block-navigation-item__content,
.wp-block-search__button {
	transition: color 0.18s ease, background-color 0.18s ease,
		box-shadow 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
}

/* --- Encabezado fijo con elevación al hacer scroll --- */
:root {
	--sb-header-offset: 9.25rem;
}

body {
	padding-top: var(--sb-header-offset);
}

.sb-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 1000;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 1px 0 rgba(16, 32, 29, 0.08);
	backdrop-filter: saturate(145%) blur(14px);
	-webkit-backdrop-filter: saturate(145%) blur(14px);
	transition: box-shadow 0.24s ease, background-color 0.24s ease;
}

.sb-govbar {
	max-height: 3rem;
	overflow: hidden;
	transition: max-height 0.28s ease, opacity 0.24s ease,
		transform 0.28s ease, padding 0.28s ease;
}

.sb-header__main,
.sb-brand,
.sb-header .wp-block-site-logo a,
.sb-header .wp-block-site-logo img,
.sb-brand__text,
.sb-brand__text::before,
.sb-brand__eyebrow,
.sb-brand__name,
.sb-primary-nav__menu,
.sb-primary-nav a,
.sb-header__main .wp-block-search__button {
	transition-duration: 0.28s;
	transition-timing-function: ease;
}

.sb-header__main {
	transition-property: padding, border-color, box-shadow;
}

.sb-brand,
.sb-header .wp-block-site-logo a,
.sb-brand__text,
.sb-brand__text::before,
.sb-brand__eyebrow,
.sb-brand__name,
.sb-primary-nav__menu,
.sb-primary-nav a,
.sb-header__main .wp-block-search__button {
	transition-property: transform, opacity, font-size, line-height, min-height,
		width, height, padding, box-shadow, background-color, border-color;
}

.sb-header .wp-block-site-logo img {
	transition-property: max-width, max-height, transform;
}

.sb-header-is-compact .sb-header {
	background: rgba(255, 255, 255, 0.97);
	box-shadow: 0 14px 34px rgba(16, 32, 29, 0.14);
}

.sb-header-is-compact .sb-govbar {
	max-height: 0;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	opacity: 0;
	transform: translateY(-0.75rem);
}

.sb-header-is-compact .sb-header__main {
	padding-top: 0.55rem !important;
	padding-bottom: 0.55rem !important;
	box-shadow: inset 0 -1px 0 rgba(50, 122, 104, 0.12);
}

.sb-header-is-compact .sb-brand {
	transform: translateY(-1px);
}

.sb-header-is-compact .sb-header .wp-block-site-logo img {
	max-width: 58px;
	max-height: 64px;
}

.sb-header-is-compact .sb-header .wp-block-site-logo a {
	padding: 0.24rem;
	border-radius: 12px;
	box-shadow: 0 8px 18px rgba(16, 32, 29, 0.08);
}

.sb-header-is-compact .sb-brand__text {
	padding-left: 0.72rem;
}

.sb-header-is-compact .sb-brand__text::before {
	top: 0.08rem;
	bottom: 0.08rem;
}

.sb-header-is-compact .sb-brand__eyebrow {
	font-size: 0.66rem;
	opacity: 0.86;
}

.sb-header-is-compact .sb-brand__name {
	font-size: clamp(0.98rem, 1.1vw, 1.12rem);
}

.sb-header-is-compact .sb-primary-nav__menu {
	gap: clamp(0.55rem, 1.4vw, 1rem);
}

.sb-header-is-compact .sb-primary-nav a {
	min-height: 2.1rem;
}

.sb-header-is-compact .sb-header__main .wp-block-search__button {
	width: 2.35rem;
	height: 2.35rem;
	box-shadow: 0 8px 18px rgba(39, 94, 80, 0.2);
}

body.admin-bar .sb-header {
	top: 32px;
}

body.admin-bar {
	--sb-header-offset: 11.25rem;
}

@media (max-width: 782px) {
	body.admin-bar .sb-header {
		top: 46px;
	}

	body.admin-bar {
		--sb-header-offset: 10rem;
	}
}

.sb-header:hover,
.sb-header:focus-within {
	box-shadow: 0 16px 36px rgba(16, 32, 29, 0.12);
}

.sb-header__main {
	gap: 1rem;
	border-bottom: 1px solid rgba(16, 32, 29, 0.08);
}

/* Contenido del encabezado al ancho amplio (no limitado al ancho de lectura) */
.sb-govbar > .wp-block-group,
.sb-header__main > .wp-block-group {
	max-width: var(--wp--style--global--wide-size, 1280px);
}

.sb-header__inner {
	align-items: center;
}

/* --- Logo y marca --- */
.sb-brand {
	min-width: min(100%, 20rem);
}

.sb-header .wp-block-site-logo img {
	display: block;
	width: auto;
	max-width: 82px;
	height: auto;
	max-height: 90px;
	border-radius: 0;
	object-fit: contain;
}

.sb-header .wp-block-site-logo a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.35rem;
	border: 1px solid rgba(50, 122, 104, 0.12);
	border-radius: 14px;
	background: linear-gradient(180deg, #ffffff 0%, #f7fbf9 100%);
	box-shadow: 0 10px 24px rgba(16, 32, 29, 0.08);
}

.sb-brand__text {
	position: relative;
	padding-left: 0.9rem;
}

.sb-brand__text::before {
	content: "";
	position: absolute;
	top: 0.18rem;
	bottom: 0.18rem;
	left: 0;
	width: 3px;
	border-radius: 999px;
	background: linear-gradient(180deg, var(--wp--preset--color--primary, #327a68), var(--wp--preset--color--accent, #e0a526));
}

.sb-brand__eyebrow,
.sb-brand__name {
	margin: 0;
}

.sb-brand__eyebrow {
	color: var(--wp--preset--color--primary-dark, #275e50);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1.1;
	text-transform: uppercase;
}

.sb-brand__name {
	max-width: 15rem;
	color: var(--wp--preset--color--contrast, #16201d);
	font-size: clamp(1.05rem, 1.4vw, 1.32rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.05;
}

.sb-header__actions {
	flex: 1 1 auto;
	justify-content: flex-end;
	min-width: 0;
}

.sb-header__actions .wp-block-search {
	flex: 0 0 auto;
}

/* --- Navegación: subrayado animado --- */
.sb-header .wp-block-navigation .wp-block-navigation-item__content {
	position: relative;
	padding-block: 0.35rem;
}

.sb-header .wp-block-navigation .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -0.1rem;
	height: 2px;
	background-color: var(--wp--preset--color--primary, #327a68);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.2s ease;
}

.sb-header .wp-block-navigation .wp-block-navigation-item__content:hover::after,
.sb-header
	.wp-block-navigation
	.current-menu-item
	> .wp-block-navigation-item__content::after {
	transform: scaleX(1);
}

/* --- Menú principal dinámico heredado del sitio original --- */
.sb-primary-nav {
	position: relative;
	z-index: 20;
	max-width: min(100%, 46rem);
	min-width: 0;
}

.sb-primary-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sb-primary-nav__menu {
	display: flex;
	align-items: center;
	gap: clamp(0.75rem, 1.8vw, 1.5rem);
	font-size: 0.9375rem;
	font-weight: 700;
}

.sb-primary-nav li {
	position: relative;
}

.sb-primary-nav a {
	display: flex;
	align-items: center;
	min-height: 2.5rem;
	color: var(--wp--preset--color--contrast, #16201d);
	text-decoration: none;
	white-space: nowrap;
}

.sb-primary-nav > ul > li > a {
	position: relative;
}

.sb-primary-nav > ul > li > a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0.15rem;
	height: 2px;
	background: var(--wp--preset--color--primary, #327a68);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.2s ease;
}

.sb-primary-nav > ul > li:hover > a::after,
.sb-primary-nav > ul > li:focus-within > a::after,
.sb-primary-nav .current-menu-item > a::after,
.sb-primary-nav .current-menu-ancestor > a::after {
	transform: scaleX(1);
}

.sb-primary-nav .menu-item-has-children > a {
	gap: 0.35rem;
}

.sb-primary-nav .menu-item-has-children > a::before {
	content: "";
	order: 2;
	width: 0.42rem;
	height: 0.42rem;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-1px);
	opacity: 0.65;
}

.sb-primary-nav .sub-menu {
	position: absolute;
	top: calc(100% + 0.6rem);
	left: 0;
	min-width: 16rem;
	padding: 0.45rem;
	border: 1px solid rgba(16, 32, 29, 0.1);
	border-radius: 12px;
	background: var(--wp--preset--color--base, #ffffff);
	box-shadow: 0 18px 42px rgba(16, 32, 29, 0.14);
	opacity: 0;
	visibility: hidden;
	transform: translateY(0.4rem);
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
}

.sb-primary-nav .sub-menu .sub-menu {
	top: -0.45rem;
	left: calc(100% + 0.45rem);
}

.sb-primary-nav li:hover > .sub-menu,
.sb-primary-nav li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.sb-primary-nav .sub-menu a {
	min-height: auto;
	padding: 0.65rem 0.8rem;
	border-radius: 8px;
	font-size: 0.9rem;
	font-weight: 600;
	white-space: normal;
}

.sb-primary-nav .sub-menu a:hover,
.sb-primary-nav .sub-menu a:focus-visible,
.sb-primary-nav .sub-menu .current-menu-item > a {
	background: var(--wp--preset--color--base-alt, #f3f6f5);
	color: var(--wp--preset--color--primary-dark, #275e50);
}

/* Botones de navegación móvil: ocultos en escritorio (se activan en <=900px). */
.sb-nav-toggle,
.sb-submenu-toggle {
	display: none;
}

/* --- Buscador del encabezado más pulido --- */
.sb-header__main .wp-block-search__input {
	border: 1px solid var(--wp--preset--color--border, #d8e0dd);
	border-radius: 8px 0 0 8px;
}

.sb-header__main .wp-block-search__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	margin: 0;
	border: 1px solid var(--wp--preset--color--primary-dark, #275e50);
	border-radius: 999px;
	background: var(--wp--preset--color--primary, #327a68) !important;
	color: #ffffff !important;
	box-shadow: 0 10px 22px rgba(39, 94, 80, 0.24);
}

.sb-header__main .wp-block-search__button:hover,
.sb-header__main .wp-block-search__button:focus-visible {
	background: var(--wp--preset--color--primary-dark, #275e50) !important;
	box-shadow: 0 14px 30px rgba(39, 94, 80, 0.3);
	transform: translateY(-1px);
}

.sb-header__main .wp-block-search__button svg {
	fill: currentColor;
	width: 1.2rem;
	height: 1.2rem;
}

/* --- Tarjetas modernas con elevación (accesos, documentos, noticias) --- */
.wp-block-columns .wp-block-column > .wp-block-group[class*="has-border"],
.sb-card {
	background-color: var(--wp--preset--color--base, #ffffff);
	box-shadow: 0 2px 8px rgba(16, 32, 29, 0.05);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
	height: 100%;
}

.wp-block-columns .wp-block-column > .wp-block-group[class*="has-border"]:hover,
.sb-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 36px rgba(16, 32, 29, 0.14);
	border-color: var(--wp--preset--color--primary, #327a68) !important;
}

/* Igualar altura de columnas para que las tarjetas queden parejas */
.wp-block-columns:not(.is-not-stacked-on-mobile) {
	align-items: stretch;
}

/* --- Cuadrícula responsiva automática para accesos rápidos --- */
.sb-grid-auto {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: clamp(1rem, 2.5vw, 1.75rem);
}

.sb-grid-auto > * {
	margin: 0;
}

/* --- Servicios destacados con iconografía institucional --- */
.sb-services-section {
	position: relative;
	overflow: hidden;
	background:
		linear-gradient(135deg, rgba(50, 122, 104, 0.12), transparent 42%),
		linear-gradient(180deg, #f2f7f5 0%, #ffffff 100%) !important;
}

.sb-services-section::before {
	content: "";
	position: absolute;
	inset: 1.5rem;
	border: 1px solid rgba(50, 122, 104, 0.12);
	border-radius: 24px;
	pointer-events: none;
}

.sb-services-section > * {
	position: relative;
	z-index: 1;
}

.sb-services-section__header .sb-kicker {
	display: inline-flex;
	justify-content: center;
	width: fit-content;
	margin-inline: auto;
	padding: 0.45rem 0.8rem;
	border: 1px solid rgba(50, 122, 104, 0.2);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.78);
	box-shadow: 0 10px 24px rgba(16, 32, 29, 0.06);
}

.sb-service-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.5rem);
	align-items: stretch;
}

.sb-service-card {
	position: relative;
	min-height: 18rem;
	margin: 0;
	border: 1px solid rgba(50, 122, 104, 0.16);
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0 18px 44px rgba(16, 32, 29, 0.09);
	overflow: hidden;
	transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}

.sb-service-card::after {
	content: "";
	position: absolute;
	inset: auto -15% -45% 20%;
	height: 10rem;
	background: radial-gradient(circle, rgba(224, 165, 38, 0.2), transparent 62%);
	pointer-events: none;
	transition: transform 0.24s ease, opacity 0.24s ease;
	opacity: 0.72;
}

.sb-service-card:hover,
.sb-service-card:focus-within {
	transform: translateY(-6px);
	border-color: rgba(50, 122, 104, 0.38);
	box-shadow: 0 26px 58px rgba(16, 32, 29, 0.15);
}

.sb-service-card:hover::after,
.sb-service-card:focus-within::after {
	transform: translateY(-0.5rem) scale(1.08);
	opacity: 1;
}

.sb-service-card--featured {
	grid-row: span 2;
	background:
		linear-gradient(145deg, rgba(39, 94, 80, 0.96), rgba(50, 122, 104, 0.94)),
		var(--wp--preset--color--primary, #327a68);
	color: #ffffff;
}

.sb-service-card__link {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	min-height: inherit;
	height: 100%;
	padding: clamp(1.35rem, 2.8vw, 2rem);
	color: inherit;
	text-decoration: none;
}

.sb-service-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(4rem, 6vw, 5.25rem);
	height: clamp(4rem, 6vw, 5.25rem);
	margin-bottom: auto;
	border: 1px solid rgba(50, 122, 104, 0.18);
	border-radius: 20px;
	background: linear-gradient(145deg, rgba(50, 122, 104, 0.12), rgba(255, 255, 255, 0.86));
	color: var(--wp--preset--color--primary, #327a68);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), 0 14px 30px rgba(16, 32, 29, 0.1);
}

.sb-service-card--featured .sb-service-card__icon {
	border-color: rgba(255, 255, 255, 0.24);
	background: rgba(255, 255, 255, 0.14);
	color: #ffffff;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.24), 0 18px 38px rgba(0, 0, 0, 0.18);
}

.sb-service-card__icon svg {
	width: 62%;
	height: 62%;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.4;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.sb-service-card__eyebrow {
	display: block;
	margin-top: clamp(1.4rem, 3vw, 2.25rem);
	color: var(--wp--preset--color--primary, #327a68);
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
}

.sb-service-card--featured .sb-service-card__eyebrow {
	color: rgba(255, 255, 255, 0.76);
}

.sb-service-card__title {
	display: block;
	margin-top: 0.35rem;
	color: var(--wp--preset--color--secondary, #1f4d42);
	font-size: clamp(1.35rem, 2vw, 1.8rem);
	font-weight: 800;
	line-height: 1.1;
}

.sb-service-card--featured .sb-service-card__title {
	color: #ffffff;
	font-size: clamp(1.7rem, 3vw, 2.25rem);
}

.sb-service-card__text {
	display: block;
	max-width: 28rem;
	margin-top: 0.7rem;
	color: var(--wp--preset--color--muted, #51615c);
	font-size: 1rem;
	line-height: 1.62;
}

.sb-service-card--featured .sb-service-card__text {
	color: rgba(255, 255, 255, 0.86);
}

.sb-service-card__action {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	width: fit-content;
	margin-top: 1.35rem;
	color: var(--wp--preset--color--primary-dark, #275e50);
	font-size: 0.94rem;
	font-weight: 800;
}

.sb-service-card__action::after {
	content: "";
	width: 1.25rem;
	height: 1px;
	background: currentColor;
	transition: width 0.2s ease;
}

.sb-service-card:hover .sb-service-card__action::after,
.sb-service-card:focus-within .sb-service-card__action::after {
	width: 2rem;
}

.sb-service-card--featured .sb-service-card__action {
	color: #ffffff;
}

/* --- Hero: contenido legible y tipografía con presencia --- */
.wp-block-cover.alignfull {
	border-radius: 0;
}

.wp-block-cover h1,
.wp-block-cover h2 {
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.25);
}

.wp-block-cover .wp-block-cover__inner-container {
	max-width: 760px;
	margin-inline: auto;
}

/* --- Secciones full-width con franjas de color --- */
.sb-section--alt {
	background-color: var(--wp--preset--color--base-alt, #f3f6f5);
}

/* --- Imágenes de contenido con esquinas suaves --- */
.wp-block-post-content img,
.entry-content img,
figure.wp-block-image img {
	border-radius: 12px;
}

figure.wp-block-image.is-style-rounded img {
	border-radius: 50%;
}

/* --- Citas más elegantes --- */
.wp-block-quote {
	font-style: italic;
}

/* --- Pie de página: respiración y separación --- */
.sb-footer {
	margin-top: clamp(3rem, 6vw, 5rem);
}

/* --- Ajustes responsivos finos --- */
@media (max-width: 781px) {
	:root {
		--sb-header-offset: 10.25rem;
	}

	.sb-header__main {
		row-gap: 0.75rem;
	}

	.sb-header__inner {
		gap: 0.85rem !important;
	}

	.sb-brand {
		width: 100%;
		min-width: 0;
	}

	.sb-header .wp-block-site-logo img {
		max-width: 66px;
		max-height: 74px;
	}

	.sb-brand__text {
		padding-left: 0.75rem;
	}

	.sb-brand__name {
		max-width: none;
		font-size: 1.05rem;
	}

	.sb-header__actions {
		width: 100%;
		justify-content: space-between;
	}

	.sb-header__main .wp-block-search__button {
		width: 2.55rem;
		height: 2.55rem;
	}

	.sb-header-is-compact .sb-header .wp-block-site-logo img {
		max-width: 54px;
		max-height: 60px;
	}

	.sb-header-is-compact .sb-brand__name {
		font-size: 0.98rem;
	}

	.sb-header-is-compact .sb-header__main .wp-block-search__button {
		width: 2.35rem;
		height: 2.35rem;
	}
	/* Apilar columnas con buen espaciado en móvil */
	.wp-block-columns.is-not-stacked-on-mobile > .wp-block-column:not(:first-child) {
		margin-top: 1rem;
	}
}

@media (max-width: 480px) {
	.sb-grid-auto {
		grid-template-columns: 1fr;
	}

	.wp-block-cover .wp-block-cover__inner-container {
		padding-inline: 0.5rem;
	}

	.sb-hero h1 {
		font-size: clamp(2rem, 10vw, 2.65rem) !important;
		overflow-wrap: anywhere;
	}

	.sb-hero__facts {
		grid-template-columns: 1fr !important;
	}
}

/* --- Respeto a usuarios que prefieren menos movimiento --- */
@media (prefers-reduced-motion: reduce) {
	a,
	.wp-block-button__link,
	.wp-block-navigation-item__content,
	.wp-block-search__button,
	.sb-card,
	.sb-header,
	.sb-govbar,
	.sb-header__main,
	.sb-brand,
	.sb-header .wp-block-site-logo a,
	.sb-header .wp-block-site-logo img,
	.sb-brand__text,
	.sb-brand__text::before,
	.sb-brand__eyebrow,
	.sb-brand__name,
	.sb-primary-nav__menu,
	.sb-primary-nav a,
	.wp-block-columns .wp-block-column > .wp-block-group[class*="has-border"] {
		transition: none !important;
	}

	.sb-card:hover,
	.wp-block-columns .wp-block-column > .wp-block-group[class*="has-border"]:hover {
		transform: none;
	}
}

/* ==========================================================================
   Identidad premium San Bernardo del Viento
   ========================================================================== */

body {
	background:
		linear-gradient(180deg, rgba(243, 246, 245, 0.9) 0, rgba(255, 255, 255, 0) 20rem),
		var(--wp--preset--color--base, #ffffff);
}

.sb-kicker {
	letter-spacing: 0 !important;
}

/* --- Hero editorial institucional --- */
.sb-hero {
	position: relative;
	overflow: hidden;
}

.sb-hero::before,
.sb-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.sb-hero::before {
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.08) 0 1px, transparent 1px 100%),
		linear-gradient(0deg, rgba(255, 255, 255, 0.06) 0 1px, transparent 1px 100%);
	background-size: 72px 72px;
	mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0.7), transparent 72%);
	opacity: 0.5;
}

.sb-hero::after {
	background: linear-gradient(180deg, transparent 62%, rgba(22, 32, 29, 0.28));
}

.sb-hero .wp-block-cover__inner-container {
	position: relative;
	z-index: 1;
}

.sb-hero__content {
	text-align: left;
}

.sb-hero__content .sb-kicker {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	padding: 0.45rem 0.7rem;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
	backdrop-filter: blur(10px);
}

.sb-hero__lead {
	max-width: 680px;
	opacity: 0.95;
}

.sb-hero__facts {
	max-width: 760px;
}

.sb-hero__facts p {
	margin: 0;
	padding: 1rem;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.08);
	color: #ffffff;
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.12);
	backdrop-filter: blur(12px);
}

.sb-hero__facts strong {
	display: inline-block;
	margin-bottom: 0.25rem;
	color: var(--wp--preset--color--accent, #e0a526);
	font-size: 1.1rem;
}

/* --- Marcadores de tarjetas sin emojis --- */
.sb-card__mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	margin: 0;
	border-radius: 999px;
	background: #e8f1ee;
	background: color-mix(in srgb, var(--wp--preset--color--primary, #327a68) 12%, #ffffff);
	box-shadow: inset 0 0 0 1px #c9ded7;
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--wp--preset--color--primary, #327a68) 22%, #ffffff);
}

.sb-card h3 a,
.sb-news-card h3 a,
.sb-doc-card h3 a {
	text-decoration: none;
}

.sb-card h3 a:hover,
.sb-news-card h3 a:hover,
.sb-doc-card h3 a:hover {
	color: var(--wp--preset--color--primary-dark, #275e50);
}

/* --- Encabezados de sección --- */
.sb-news-section > .wp-block-group:first-child,
.sb-doc-section > .wp-block-group:first-child {
	align-items: flex-end;
}

.sb-section-link a {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	padding: 0.65rem 0.95rem;
	border: 1px solid var(--wp--preset--color--border, #d8e0dd);
	border-radius: 999px;
	background: var(--wp--preset--color--base, #ffffff);
	box-shadow: 0 4px 14px rgba(16, 32, 29, 0.06);
	font-weight: 700;
	text-decoration: none;
}

.sb-section-link a:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(16, 32, 29, 0.12);
}

/* --- Noticias y documentos --- */
.sb-post-grid {
	gap: clamp(1rem, 2.4vw, 1.75rem) !important;
}

.sb-news-card,
.sb-doc-card {
	height: 100%;
	box-shadow: 0 2px 10px rgba(16, 32, 29, 0.05);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.sb-news-card:hover,
.sb-doc-card:hover {
	transform: translateY(-4px);
	border-color: var(--wp--preset--color--primary, #327a68) !important;
	box-shadow: 0 18px 42px rgba(16, 32, 29, 0.13);
}

.sb-news-card .wp-block-post-featured-image {
	margin: calc(var(--wp--preset--spacing--30) * -1) calc(var(--wp--preset--spacing--30) * -1) var(--wp--preset--spacing--30);
}

.sb-news-card .wp-block-post-featured-image img {
	border-radius: 14px 14px 0 0 !important;
}

.sb-news-card .wp-block-post-date {
	font-weight: 700;
	text-transform: uppercase;
}

.sb-doc-card {
	align-items: flex-start !important;
}

.sb-doc-card .sb-card__mark {
	flex: 0 0 auto;
}

.sb-document-cats {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin: 0;
}

.sb-document-cats__item {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	min-height: 2.5rem;
	padding: 0.55rem 0.85rem;
	border: 1px solid rgba(50, 122, 104, 0.22);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.82);
	color: var(--wp--preset--color--secondary, #1f4d42);
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	box-shadow: 0 8px 18px rgba(16, 32, 29, 0.06);
	transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.sb-document-cats__item:hover,
.sb-document-cats__item:focus-visible {
	transform: translateY(-2px);
	border-color: var(--wp--preset--color--primary, #327a68);
	box-shadow: 0 14px 30px rgba(16, 32, 29, 0.12);
}

.sb-document-cats__item strong {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.65rem;
	height: 1.65rem;
	padding-inline: 0.4rem;
	border-radius: 999px;
	background: var(--wp--preset--color--primary, #327a68);
	color: #fff;
	font-size: 0.75rem;
}

.sb-document-cats__item--all {
	background: var(--wp--preset--color--primary, #327a68);
	color: #fff;
}

/* --- CTA institucional --- */
.sb-cta {
	position: relative;
	overflow: hidden;
	background:
		linear-gradient(135deg, rgba(31, 77, 66, 1), rgba(50, 122, 104, 1)) !important;
}

.sb-cta::before {
	content: "";
	position: absolute;
	inset: 1.25rem;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 18px;
	pointer-events: none;
}

.sb-cta > .wp-block-group {
	position: relative;
	z-index: 1;
}

.sb-cta .wp-block-button__link {
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.18);
}

/* --- Footer con mejor lectura --- */
.sb-footer {
	background:
		linear-gradient(180deg, #16201d 0%, #101815 100%) !important;
	overflow-wrap: anywhere;
}

.sb-footer > .wp-block-columns,
.sb-footer > .wp-block-separator,
.sb-footer > p {
	max-width: var(--wp--style--global--wide-size, 1280px);
}

.sb-footer .wp-block-heading {
	margin-bottom: 0.75rem;
}

.sb-footer__links {
	padding-left: 0;
	list-style: none;
}

.sb-footer__links li + li {
	margin-top: 0.55rem;
}

.sb-footer__links a {
	text-underline-offset: 4px;
	overflow-wrap: anywhere;
}

.sb-footer p,
.sb-footer .wp-block-column {
	min-width: 0;
	overflow-wrap: anywhere;
	word-break: break-word;
}

@media (max-width: 900px) {
	:root {
		--sb-header-offset: 10.25rem;
	}

	.sb-header {
		position: fixed;
		/* Sin backdrop-filter en móvil: evita crear un bloque contenedor que
		   rompería el position:fixed del cajón de navegación. */
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
		background: var(--wp--preset--color--base, #ffffff);
	}

	.sb-govbar {
		display: none;
	}

	body.sb-nav-open {
		overflow: hidden;
	}

	/* Botón hamburguesa */
	.sb-nav-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 auto;
		width: 2.75rem;
		height: 2.75rem;
		border: 1px solid var(--wp--preset--color--border, #d8e0dd);
		border-radius: 8px;
		background: var(--wp--preset--color--base, #ffffff);
		color: var(--wp--preset--color--contrast, #16201d);
		cursor: pointer;
	}

	.sb-nav-toggle__box {
		position: relative;
		display: block;
		width: 1.3rem;
		height: 1rem;
	}

	.sb-nav-toggle__bar,
	.sb-nav-toggle__bar::before,
	.sb-nav-toggle__bar::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		height: 2px;
		background: currentColor;
		border-radius: 2px;
		transition: transform 0.2s ease, opacity 0.2s ease;
	}

	.sb-nav-toggle__bar {
		top: 50%;
		transform: translateY(-50%);
	}

	.sb-nav-toggle__bar::before {
		top: -6px;
	}

	.sb-nav-toggle__bar::after {
		top: 6px;
	}

	.sb-nav-open .sb-nav-toggle__bar {
		background: transparent;
	}

	.sb-nav-open .sb-nav-toggle__bar::before {
		top: 0;
		transform: rotate(45deg);
	}

	.sb-nav-open .sb-nav-toggle__bar::after {
		top: 0;
		transform: rotate(-45deg);
	}

	/* Cajón de navegación vertical */
	.sb-primary-nav {
		position: fixed;
		top: var(--sb-header-offset);
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 0.5rem 1rem 2.5rem;
		background: var(--wp--preset--color--base, #ffffff);
		border-top: 1px solid var(--wp--preset--color--border, #d8e0dd);
		box-shadow: 0 18px 42px rgba(16, 32, 29, 0.16);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		transform: translateX(-100%);
		visibility: hidden;
		transition: transform 0.25s ease, visibility 0.25s ease;
		z-index: 1200;
	}

	.sb-nav-open .sb-primary-nav {
		transform: none;
		visibility: visible;
	}

	.sb-primary-nav__menu {
		display: block;
		gap: 0;
		overflow: visible;
		font-size: 1rem;
	}

	.sb-primary-nav__menu ul,
	.sb-primary-nav__menu li {
		display: block;
		width: 100%;
		min-width: 0;
	}

	.sb-primary-nav > ul > li {
		border-bottom: 1px solid var(--wp--preset--color--border, #d8e0dd);
	}

	.sb-primary-nav .menu-item-has-children {
		position: relative;
	}

	.sb-primary-nav a {
		min-height: 3rem;
		padding: 0.25rem 0;
		white-space: normal;
	}

	.sb-primary-nav .menu-item-has-children > a {
		padding-right: 3.25rem;
	}

	.sb-primary-nav > ul > li > a::after,
	.sb-primary-nav .menu-item-has-children > a::before {
		display: none;
	}

	/* Botón de despliegue de submenú (no sustituye al enlace del padre) */
	.sb-submenu-toggle {
		position: absolute;
		top: 0.1rem;
		right: 0;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 3rem;
		height: 3rem;
		border: 0;
		background: transparent;
		color: var(--wp--preset--color--contrast, #16201d);
		cursor: pointer;
	}

	.sb-submenu-toggle span {
		display: block;
		width: 0.6rem;
		height: 0.6rem;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: rotate(45deg) translateY(-2px);
		transition: transform 0.2s ease;
	}

	.menu-item-has-children.is-open > .sb-submenu-toggle span {
		transform: rotate(-135deg) translateY(-2px);
	}

	/* Submenús en línea: ocultos salvo cuando el padre está abierto */
	.sb-primary-nav .sub-menu {
		position: static;
		display: none;
		opacity: 1;
		visibility: visible;
		transform: none;
		width: 100%;
		min-width: 0;
		margin: 0;
		padding: 0 0 0.35rem 0.9rem;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		background: transparent;
	}

	.sb-primary-nav .sub-menu .sub-menu {
		top: auto;
		left: auto;
	}

	.menu-item-has-children.is-open > .sub-menu {
		display: block;
	}

	.sb-hero {
		min-height: auto !important;
	}

	.sb-hero__content {
		text-align: center;
	}

	.sb-hero__lead,
	.sb-hero__facts {
		margin-inline: auto;
	}

	.sb-hero .wp-block-buttons {
		justify-content: center;
	}

	.sb-news-section > .wp-block-group:first-child,
	.sb-doc-section > .wp-block-group:first-child {
		align-items: flex-start;
	}

	.sb-service-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sb-service-card--featured {
		grid-row: auto;
		grid-column: 1 / -1;
	}
}

@media (max-width: 640px) {
	html,
	body {
		overflow-x: clip;
	}

	body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
		max-width: min(var(--wp--style--global--content-size), calc(100vw - 2rem)) !important;
	}

	#contenido {
		width: 100%;
		max-width: 100vw;
		overflow-x: clip;
	}

	#contenido > :where(.wp-block-group, .wp-block-post-content, .wp-block-query, h1, h2),
	#contenido .wp-block-post-content > :where(:not(.alignfull)),
	#contenido .wp-block-post-content .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
		width: calc(100vw - 2rem) !important;
		max-width: calc(100vw - 2rem) !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	#contenido .sb-form,
	#contenido .sb-form input,
	#contenido .sb-form select,
	#contenido .sb-form textarea {
		max-width: 100%;
	}

	.sb-footer > .wp-block-columns,
	.sb-footer > .wp-block-separator,
	.sb-footer > p {
		width: calc(100vw - 2rem) !important;
		max-width: calc(100vw - 2rem) !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.sb-footer > .wp-block-columns {
		display: block;
	}

	.sb-footer .wp-block-column {
		width: 100% !important;
		flex-basis: 100% !important;
	}

	.sb-footer .wp-block-column + .wp-block-column {
		margin-top: 2rem;
	}

	.sb-hero__facts p,
	.sb-card,
	.sb-news-card,
	.sb-doc-card {
		border-radius: 12px !important;
	}

	.sb-section-link a {
		width: 100%;
		justify-content: center;
	}

	.sb-cta::before {
		inset: 0.75rem;
		border-radius: 14px;
	}

	.sb-services-section::before {
		inset: 0.75rem;
		border-radius: 18px;
	}

	.sb-service-grid {
		grid-template-columns: 1fr;
	}

	.sb-service-card {
		min-height: 15rem;
		border-radius: 16px;
	}

	.sb-service-card__link {
		padding: 1.25rem;
	}

	.sb-hero h1 {
		max-width: 13ch;
		margin-inline: auto;
		font-size: clamp(1.65rem, 7vw, 2rem) !important;
		overflow-wrap: anywhere;
	}

	.sb-hero__lead {
		max-width: 28ch;
		margin-inline: auto;
		font-size: 1rem !important;
		overflow-wrap: anywhere;
	}

	.sb-hero__facts {
		grid-template-columns: 1fr !important;
	}

	.sb-team-section h2 {
		max-width: 13ch;
		margin-inline: auto;
		font-size: clamp(1.65rem, 7.4vw, 2rem);
		overflow-wrap: anywhere;
	}

	.sb-team-section__header p {
		max-width: 30ch;
		margin-inline: auto;
		overflow-wrap: anywhere;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sb-news-card,
	.sb-doc-card,
	.sb-section-link a,
	.sb-service-card,
	.sb-service-card::after,
	.sb-service-card__action::after {
		transition: none !important;
	}

	.sb-news-card:hover,
	.sb-doc-card:hover,
	.sb-section-link a:hover {
		transform: none;
	}
}

/* --- Equipo de Gobierno --- */
.sb-team-section {
	position: relative;
	overflow: hidden;
	background:
		linear-gradient(180deg, #ffffff 0%, #f7faf9 56%, #eef6f3 100%) !important;
}

.sb-team-section::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(50, 122, 104, 0.08) 0 1px, transparent 1px 100%),
		linear-gradient(0deg, rgba(50, 122, 104, 0.06) 0 1px, transparent 1px 100%);
	background-size: 74px 74px;
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.44), transparent 66%);
	pointer-events: none;
}

.sb-team-section::after {
	content: "";
	position: absolute;
	inset: 1.35rem;
	border: 1px solid rgba(50, 122, 104, 0.12);
	border-radius: 24px;
	pointer-events: none;
}

.sb-team-section > * {
	position: relative;
	z-index: 1;
}

.sb-team-section__header .sb-kicker {
	display: inline-flex;
	justify-content: center;
	width: fit-content;
	margin-inline: auto;
	padding: 0.45rem 0.8rem;
	border: 1px solid rgba(50, 122, 104, 0.2);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.82);
	box-shadow: 0 10px 24px rgba(16, 32, 29, 0.06);
}

.sb-team-layout {
	display: grid;
	grid-template-columns: minmax(20rem, 0.92fr) minmax(0, 1.45fr);
	gap: clamp(1rem, 2.4vw, 1.75rem);
	align-items: stretch;
}

.sb-team-mayor,
.sb-team-card {
	border: 1px solid rgba(50, 122, 104, 0.16);
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0 18px 44px rgba(16, 32, 29, 0.09);
	transition: transform 0.24s ease, border-color 0.24s ease, box-shadow 0.24s ease;
}

.sb-team-mayor:hover,
.sb-team-mayor:focus-within,
.sb-team-card:hover,
.sb-team-card:focus-within {
	transform: translateY(-5px);
	border-color: rgba(50, 122, 104, 0.36);
	box-shadow: 0 24px 56px rgba(16, 32, 29, 0.14);
}

.sb-team-mayor {
	position: relative;
	display: grid;
	grid-template-rows: minmax(18rem, 1fr) auto;
	min-height: 100%;
	border-radius: 18px;
	overflow: hidden;
}

.sb-team-mayor::after {
	content: "";
	position: absolute;
	inset: auto -20% -20% 18%;
	height: 12rem;
	background: radial-gradient(circle, rgba(224, 165, 38, 0.22), transparent 62%);
	pointer-events: none;
}

.sb-team-mayor__media {
	position: relative;
	min-height: 20rem;
	background: var(--wp--preset--color--primary-dark, #275e50);
	overflow: hidden;
}

.sb-team-mayor__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 46%, rgba(22, 32, 29, 0.38));
}

.sb-team-mayor__media img,
.sb-team-card img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sb-team-mayor__media img {
	aspect-ratio: 4 / 4.15;
	object-position: center top;
}

.sb-team-mayor__content {
	position: relative;
	z-index: 1;
	padding: clamp(1.35rem, 2.4vw, 1.85rem);
	background:
		linear-gradient(145deg, rgba(39, 94, 80, 0.98), rgba(50, 122, 104, 0.94)),
		var(--wp--preset--color--primary, #327a68);
	color: #ffffff;
}

.sb-team-mayor__content h3,
.sb-team-card h3 {
	margin: 0;
	letter-spacing: 0;
}

.sb-team-mayor__content h3 {
	margin-top: 0.4rem;
	color: #ffffff;
	font-size: clamp(1.75rem, 3.2vw, 2.45rem);
	line-height: 1.04;
}

.sb-team-mayor__content p {
	max-width: 32rem;
	margin: 0.8rem 0 0;
	color: rgba(255, 255, 255, 0.84);
	line-height: 1.62;
}

.sb-team-role {
	display: inline-grid;
	grid-template-columns: 1.15rem minmax(0, 1fr);
	align-items: center;
	gap: 0.45rem;
	max-width: 100%;
	color: var(--wp--preset--color--primary, #327a68);
	font-size: 0.76rem;
	font-weight: 850;
	line-height: 1.2;
	text-transform: uppercase;
	overflow-wrap: anywhere;
}

.sb-team-role::before {
	content: "";
	width: 1.15rem;
	height: 2px;
	border-radius: 999px;
	background: var(--wp--preset--color--accent, #e0a526);
}

.sb-team-mayor .sb-team-role {
	color: rgba(255, 255, 255, 0.78);
}

.sb-team-mayor__seal {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.8rem;
	align-items: center;
	justify-content: space-between;
	margin-top: 1.35rem;
	padding-top: 1rem;
	border-top: 1px solid rgba(255, 255, 255, 0.18);
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.86rem;
}

.sb-team-mayor__seal strong {
	color: var(--wp--preset--color--accent, #e0a526);
	font-size: 0.78rem;
	text-transform: uppercase;
}

.sb-team-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(0.9rem, 1.8vw, 1.2rem);
}

.sb-team-card {
	position: relative;
	display: grid;
	grid-template-columns: 6.7rem minmax(0, 1fr);
	gap: 1rem;
	align-items: center;
	min-height: 8.85rem;
	padding: 0.85rem;
	border-radius: 16px;
	overflow: hidden;
}

.sb-team-card::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(50, 122, 104, 0.08), transparent 58%);
	opacity: 0;
	transition: opacity 0.24s ease;
	pointer-events: none;
}

.sb-team-card:hover::after,
.sb-team-card:focus-within::after {
	opacity: 1;
}

.sb-team-card img,
.sb-team-card__initials {
	position: relative;
	z-index: 1;
	width: 6.7rem;
	height: 7.3rem;
	border-radius: 12px;
	box-shadow: 0 12px 26px rgba(16, 32, 29, 0.12);
}

.sb-team-card img {
	object-position: center top;
}

.sb-team-card > div {
	position: relative;
	z-index: 1;
	min-width: 0;
}

.sb-team-card h3 {
	margin-top: 0.4rem;
	color: var(--wp--preset--color--secondary, #1f4d42);
	font-size: clamp(1.08rem, 1.6vw, 1.28rem);
	line-height: 1.14;
	overflow-wrap: anywhere;
}

.sb-team-card__initials {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background:
		linear-gradient(145deg, rgba(39, 94, 80, 0.96), rgba(50, 122, 104, 0.9)),
		var(--wp--preset--color--primary, #327a68);
	color: #ffffff;
	font-size: 1.7rem;
	font-weight: 850;
	letter-spacing: 0;
}

.sb-team-card--placeholder {
	background:
		linear-gradient(135deg, rgba(50, 122, 104, 0.08), rgba(255, 255, 255, 0.9)),
		rgba(255, 255, 255, 0.92);
}

@media (max-width: 980px) {
	.sb-team-layout {
		grid-template-columns: 1fr;
	}

	.sb-team-mayor {
		grid-template-columns: minmax(17rem, 0.82fr) minmax(0, 1fr);
		grid-template-rows: auto;
	}

	.sb-team-mayor__media {
		min-height: 100%;
	}
}

@media (max-width: 720px) {
	.sb-team-section::after {
		inset: 0.75rem;
		border-radius: 18px;
	}

	.sb-team-mayor,
	.sb-team-grid {
		grid-template-columns: 1fr;
	}

	.sb-team-mayor__media {
		min-height: 22rem;
	}

	.sb-team-card {
		grid-template-columns: 5.7rem minmax(0, 1fr);
		min-height: 7.8rem;
		border-radius: 14px;
	}

	.sb-team-card img,
	.sb-team-card__initials {
		width: 5.7rem;
		height: 6.25rem;
		border-radius: 10px;
	}

	.sb-team-mayor__seal {
		justify-content: flex-start;
	}
}

@media (max-width: 640px) {
	.sb-team-card {
		grid-template-columns: 1fr;
	}

	.sb-team-card img,
	.sb-team-card__initials {
		width: 100%;
		height: auto;
		min-height: 13rem;
		aspect-ratio: 4 / 3;
	}
}

@media (max-width: 420px) {
	.sb-team-card {
		grid-template-columns: 1fr;
	}

	.sb-team-card img,
	.sb-team-card__initials {
		width: 100%;
		height: auto;
		min-height: 13rem;
		aspect-ratio: 4 / 3;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sb-team-mayor,
	.sb-team-card,
	.sb-team-card::after {
		transition: none !important;
	}

	.sb-team-mayor:hover,
	.sb-team-mayor:focus-within,
	.sb-team-card:hover,
	.sb-team-card:focus-within {
		transform: none;
	}
}

/* --- Actualidad municipal en fondo oscuro --- */
.sb-news-section--dark {
	position: relative;
	overflow: hidden;
	background:
		linear-gradient(135deg, rgba(22, 32, 29, 0.98), rgba(31, 77, 66, 0.98) 54%, rgba(16, 24, 21, 0.99)),
		var(--wp--preset--color--secondary, #1f4d42) !important;
	color: rgba(255, 255, 255, 0.88);
}

.sb-news-section--dark::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.055) 0 1px, transparent 1px 100%),
		linear-gradient(0deg, rgba(255, 255, 255, 0.045) 0 1px, transparent 1px 100%);
	background-size: 76px 76px;
	mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0.72), transparent 78%);
	pointer-events: none;
}

.sb-news-section--dark::after {
	content: "";
	position: absolute;
	inset: 1.35rem;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 24px;
	pointer-events: none;
}

.sb-news-section--dark > * {
	position: relative;
	z-index: 1;
}

.sb-news-section--dark .sb-kicker {
	display: inline-flex;
	width: fit-content;
	padding: 0.45rem 0.8rem;
	border: 1px solid rgba(224, 165, 38, 0.34);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
	color: var(--wp--preset--color--accent, #e0a526);
	box-shadow: 0 16px 34px rgba(0, 0, 0, 0.18);
}

.sb-news-section--dark h2 {
	max-width: 760px;
	color: #ffffff;
	text-wrap: balance;
}

.sb-news-section__lead {
	max-width: 620px;
	margin: 0;
	color: rgba(255, 255, 255, 0.72);
	font-size: 1.08rem;
	line-height: 1.62;
}

.sb-news-section--dark .sb-section-link a {
	border-color: rgba(224, 165, 38, 0.36);
	background: rgba(255, 255, 255, 0.08);
	color: #ffffff;
	box-shadow: 0 16px 34px rgba(0, 0, 0, 0.18);
	text-decoration: none;
}

.sb-news-section--dark .sb-section-link a:hover,
.sb-news-section--dark .sb-section-link a:focus-visible {
	border-color: var(--wp--preset--color--accent, #e0a526);
	background: rgba(224, 165, 38, 0.14);
	color: #ffffff;
}

.sb-news-section--dark .sb-news-card {
	position: relative;
	overflow: hidden;
	border-color: rgba(255, 255, 255, 0.14) !important;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.075)) !important;
	color: rgba(255, 255, 255, 0.82);
	box-shadow: 0 20px 52px rgba(0, 0, 0, 0.22);
	backdrop-filter: blur(10px);
}

.sb-news-section--dark .sb-news-card::after {
	content: "";
	position: absolute;
	inset: auto -24% -46% 18%;
	height: 9rem;
	background: radial-gradient(circle, rgba(224, 165, 38, 0.18), transparent 64%);
	pointer-events: none;
}

.sb-news-section--dark .sb-news-card:hover,
.sb-news-section--dark .sb-news-card:focus-within {
	border-color: rgba(224, 165, 38, 0.38) !important;
	box-shadow: 0 28px 64px rgba(0, 0, 0, 0.32);
}

.sb-news-section--dark .sb-news-card .wp-block-post-featured-image img {
	border-radius: 10px !important;
	filter: saturate(0.95) contrast(1.04);
}

.sb-news-section--dark .sb-news-card .wp-block-post-date {
	color: var(--wp--preset--color--accent, #e0a526) !important;
}

.sb-news-section--dark .sb-news-card h3,
.sb-news-section--dark .sb-news-card h3 a {
	color: #ffffff;
	overflow-wrap: anywhere;
}

.sb-news-section--dark .sb-news-card h3 a:hover,
.sb-news-section--dark .sb-news-card h3 a:focus-visible {
	color: var(--wp--preset--color--accent, #e0a526);
}

.sb-news-section--dark .sb-news-card .wp-block-post-excerpt,
.sb-news-section--dark .sb-news-card .wp-block-post-excerpt__excerpt {
	color: rgba(255, 255, 255, 0.76);
}

.sb-news-section--dark .sb-news-card .wp-block-post-excerpt__more-link {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	margin-top: 0.85rem;
	color: #ffffff;
	font-weight: 800;
	text-decoration-color: rgba(224, 165, 38, 0.72);
	text-underline-offset: 4px;
}

.sb-news-section--dark .wp-block-query-no-results {
	color: rgba(255, 255, 255, 0.78);
}

@media (max-width: 900px) {
	.sb-news-section--dark > .wp-block-group:first-child {
		gap: 1rem;
	}
}

@media (max-width: 640px) {
	.sb-news-section--dark::after {
		inset: 0.75rem;
		border-radius: 18px;
	}

	.sb-news-section--dark .sb-kicker {
		margin-inline: auto;
	}

	.sb-news-section--dark h2,
	.sb-news-section__lead {
		text-align: center;
	}

	.sb-news-section--dark h2 {
		font-size: clamp(1.8rem, 10vw, 2.35rem);
	}
}

/* --- Grid de categorías de Transparencia (Ley 1712 / Res. 1519) --- */
.sb-transparencia-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: var(--wp--preset--spacing--40, 1.5rem);
}

.sb-transparencia-grid .sb-card {
	margin: 0;
}

.sb-transparencia-grid .sb-card h2 {
	margin-top: 0;
	color: var(--wp--preset--color--primary, #327a68);
}

.sb-transparencia-grid .wp-block-list {
	margin: 0;
}

.sb-transparencia-grid .wp-block-list li {
	list-style: none;
}

.sb-transparencia-grid .wp-block-list a {
	display: inline-block;
	padding: 0.15rem 0;
	text-decoration: none;
}

.sb-transparencia-grid .wp-block-list a:hover,
.sb-transparencia-grid .wp-block-list a:focus-visible {
	text-decoration: underline;
}

/* Mantiene el encabezado móvil pegado al borde superior, incluso en sesiones admin. */
@media (max-width: 900px) {
	body.admin-bar {
		--sb-header-offset: 10.25rem;
	}

	body.admin-bar .sb-header,
	.sb-header {
		top: 0;
	}
}

/* ==========================================================================
   Perfil del Alcalde — página /nuestro-alcalde/
   ========================================================================== */

/* Banda de presentación: fondo verde oscuro institucional */
.sb-alcalde-banner {
	position: relative;
	overflow: hidden;
	background:
		linear-gradient(135deg, rgba(22, 32, 29, 0.98), rgba(31, 77, 66, 0.97) 55%, rgba(16, 24, 21, 0.99)),
		var(--wp--preset--color--secondary, #1f4d42) !important;
}

/* Trama geométrica sutil (igual que .sb-hero / .sb-team-section) */
.sb-alcalde-banner::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.05) 0 1px, transparent 1px 100%),
		linear-gradient(0deg, rgba(255, 255, 255, 0.04) 0 1px, transparent 1px 100%);
	background-size: 76px 76px;
	mask-image: linear-gradient(135deg, rgba(0, 0, 0, 0.55), transparent 60%);
	pointer-events: none;
}

/* Marco interior elegante */
.sb-alcalde-banner::after {
	content: "";
	position: absolute;
	inset: 1.5rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 24px;
	pointer-events: none;
}

.sb-alcalde-banner__inner {
	position: relative;
	z-index: 1;
	gap: clamp(2rem, 5vw, 4rem) !important;
}

/* --- Retrato oficial --- */
.sb-alcalde-portrait {
	flex: 0 0 auto !important;
	margin: 0 !important;
}

.sb-alcalde-portrait img {
	display: block !important;
	width: clamp(172px, 18vw, 230px) !important;
	height: clamp(172px, 18vw, 230px) !important;
	object-fit: cover;
	object-position: center top;
	border-radius: 50% !important;
	box-shadow:
		0 0 0 5px rgba(255, 255, 255, 0.14),
		0 0 0 10px rgba(50, 122, 104, 0.32),
		0 24px 58px rgba(0, 0, 0, 0.38);
}

/* --- Bloque de identidad junto al retrato --- */
.sb-alcalde-banner__meta {
	min-width: 0;
}

.sb-alcalde-banner__meta > * {
	width: fit-content;
}

/* Etiqueta de cargo + período */
.sb-alcalde-eyebrow {
	display: inline-flex !important;
	align-items: center;
	margin: 0 0 0.75rem !important;
	padding: 0.42rem 0.9rem !important;
	border: 1px solid rgba(224, 165, 38, 0.38);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.07);
	color: var(--wp--preset--color--accent, #e0a526) !important;
	font-size: 0.78rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.07em;
	line-height: 1.2 !important;
	text-transform: uppercase;
}

/* Nombre del alcalde */
.sb-alcalde-banner__meta h1 {
	margin: 0 0 0.6rem !important;
	color: #ffffff !important;
	font-size: clamp(2rem, 4.8vw, 3.35rem) !important;
	line-height: 1.04 !important;
	letter-spacing: -0.025em;
}

/* Municipio debajo del nombre */
.sb-alcalde-locality {
	margin: 0 !important;
	color: rgba(255, 255, 255, 0.64) !important;
	font-size: 0.97rem !important;
	letter-spacing: 0.01em;
}

/* --- Sección de biografía (post-content) --- */
.sb-alcalde-bio__label {
	display: inline-flex !important;
	width: fit-content;
	margin: 0 0 1.35rem !important;
	padding: 0.4rem 0.82rem !important;
	border: 1px solid rgba(50, 122, 104, 0.24);
	border-radius: 999px;
	background: rgba(50, 122, 104, 0.06);
	color: var(--wp--preset--color--primary, #327a68) !important;
	font-size: 0.78rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

/* --- Tiles de datos institucionales --- */
.sb-alcalde-datos {
	gap: 1rem !important;
	margin-top: var(--wp--preset--spacing--40, 1.5rem) !important;
}

.sb-alcalde-dato {
	flex: 0 0 auto;
	padding: 1rem 1.35rem !important;
	border: 1px solid rgba(50, 122, 104, 0.18);
	border-radius: 14px;
	background:
		linear-gradient(145deg, rgba(50, 122, 104, 0.06), rgba(255, 255, 255, 0.5));
	box-shadow: 0 4px 14px rgba(16, 32, 29, 0.05);
}

.sb-alcalde-dato .sb-alcalde-dato__label {
	margin: 0 !important;
	color: var(--wp--preset--color--muted, #51615c) !important;
	font-size: 0.72rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.sb-alcalde-dato .sb-alcalde-dato__value {
	margin: 0.2rem 0 0 !important;
	color: var(--wp--preset--color--secondary, #1f4d42) !important;
	font-size: 1.05rem !important;
	font-weight: 700 !important;
}

/* --- Responsive: apilar en móvil --- */
@media (max-width: 640px) {
	.sb-alcalde-banner {
		padding-top: var(--wp--preset--spacing--60) !important;
		padding-bottom: var(--wp--preset--spacing--60) !important;
	}

	.sb-alcalde-banner::after {
		inset: 0.75rem;
		border-radius: 18px;
	}

	.sb-alcalde-banner__inner {
		flex-direction: column !important;
		align-items: center !important;
		text-align: center;
	}

	.sb-alcalde-banner__meta {
		align-items: center;
	}

	.sb-alcalde-banner__meta > * {
		margin-inline: auto;
	}

	.sb-alcalde-eyebrow {
		margin-inline: auto !important;
	}

	.sb-alcalde-datos {
		flex-direction: column !important;
	}

	.sb-alcalde-dato {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	/* Sin animaciones para el perfil del alcalde */
}

/* ==========================================================================
   Páginas de Nuestra Entidad — estilos compartidos
   ========================================================================== */

/* --- Dirección física --- */
.sb-contact-section {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
	gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: start;
}

.sb-contact-tile {
	display: grid;
	grid-template-columns: 2.4rem minmax(0, 1fr);
	gap: 0.65rem 1rem;
	align-items: start;
	padding: 1rem 1.2rem;
	border: 1px solid rgba(50, 122, 104, 0.16);
	border-radius: 14px;
	background: rgba(50, 122, 104, 0.04);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.sb-contact-tile + .sb-contact-tile {
	margin-top: 0.75rem;
}

.sb-contact-tile:hover {
	border-color: rgba(50, 122, 104, 0.3);
	box-shadow: 0 6px 18px rgba(16, 32, 29, 0.08);
}

.sb-contact-tile__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.4rem;
	border-radius: 50%;
	background: rgba(50, 122, 104, 0.1);
	color: var(--wp--preset--color--primary, #327a68);
	flex: 0 0 auto;
}

.sb-contact-tile__icon svg {
	width: 1.15rem;
	height: 1.15rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.sb-contact-tile__body p {
	margin: 0 !important;
}

.sb-contact-tile__label {
	color: var(--wp--preset--color--muted, #51615c) !important;
	font-size: 0.72rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.sb-contact-tile__value {
	margin-top: 0.2rem !important;
	color: var(--wp--preset--color--secondary, #1f4d42) !important;
	font-size: 0.96rem !important;
	font-weight: 600;
	line-height: 1.45;
}

.sb-contact-tile__value a {
	color: inherit;
	text-decoration: none;
	word-break: break-all;
}

.sb-contact-tile__value a:hover,
.sb-contact-tile__value a:focus-visible {
	color: var(--wp--preset--color--primary, #327a68);
	text-decoration: underline;
}

.sb-contact-map {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 3;
	border: 1px solid rgba(50, 122, 104, 0.18);
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 12px 32px rgba(16, 32, 29, 0.1);
}

.sb-contact-map iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.sb-contact-map-link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin-top: 0.75rem;
	color: var(--wp--preset--color--primary, #327a68);
	font-size: 0.88rem;
	font-weight: 700;
}

.sb-contact-map-link:hover {
	text-decoration: underline;
}

@media (max-width: 720px) {
	.sb-contact-section {
		grid-template-columns: 1fr;
	}

	.sb-contact-map {
		aspect-ratio: 16 / 9;
	}
}

/* --- Misión, Visión y Valores --- */
.sb-mvv-duo {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1rem, 2.5vw, 1.75rem);
	margin-bottom: clamp(2rem, 4vw, 3rem);
}

.sb-mvv-card {
	position: relative;
	overflow: hidden;
	padding: clamp(1.5rem, 3vw, 2.25rem);
	border: 1px solid rgba(50, 122, 104, 0.18);
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 10px 28px rgba(16, 32, 29, 0.07);
}

.sb-mvv-card--dark {
	background:
		linear-gradient(145deg, rgba(39, 94, 80, 0.97), rgba(50, 122, 104, 0.93));
	border-color: transparent;
	box-shadow: 0 16px 40px rgba(16, 32, 29, 0.18);
}

.sb-mvv-card::after {
	content: "";
	position: absolute;
	inset: auto -20% -30% 20%;
	height: 8rem;
	background: radial-gradient(circle, rgba(224, 165, 38, 0.15), transparent 64%);
	pointer-events: none;
}

.sb-mvv-card__eyebrow {
	display: inline-flex;
	margin: 0 0 0.7rem !important;
	padding: 0.35rem 0.75rem;
	border: 1px solid rgba(50, 122, 104, 0.22);
	border-radius: 999px;
	background: rgba(50, 122, 104, 0.06);
	color: var(--wp--preset--color--primary, #327a68) !important;
	font-size: 0.73rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.sb-mvv-card--dark .sb-mvv-card__eyebrow {
	border-color: rgba(224, 165, 38, 0.34);
	background: rgba(255, 255, 255, 0.07);
	color: var(--wp--preset--color--accent, #e0a526) !important;
}

.sb-mvv-card h3 {
	margin: 0 0 0.75rem !important;
	font-size: clamp(1.45rem, 2.6vw, 1.95rem) !important;
	line-height: 1.1 !important;
	color: var(--wp--preset--color--secondary, #1f4d42) !important;
}

.sb-mvv-card--dark h3 {
	color: #ffffff !important;
}

.sb-mvv-card p {
	margin: 0 !important;
	line-height: 1.7 !important;
	color: var(--wp--preset--color--muted, #51615c) !important;
	font-size: 0.98rem !important;
}

.sb-mvv-card--dark p {
	color: rgba(255, 255, 255, 0.86) !important;
}

/* Values grid */
.sb-values-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(0.85rem, 2vw, 1.35rem);
}

.sb-value-card {
	position: relative;
	padding: clamp(1.1rem, 2.2vw, 1.6rem);
	border: 1px solid rgba(50, 122, 104, 0.15);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.93);
	box-shadow: 0 5px 16px rgba(16, 32, 29, 0.05);
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.sb-value-card:hover {
	transform: translateY(-4px);
	border-color: rgba(50, 122, 104, 0.32);
	box-shadow: 0 16px 38px rgba(16, 32, 29, 0.12);
}

.sb-value-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	margin-bottom: 1rem;
	border-radius: 12px;
	background: linear-gradient(145deg, rgba(50, 122, 104, 0.12), rgba(255, 255, 255, 0.8));
	border: 1px solid rgba(50, 122, 104, 0.16);
	color: var(--wp--preset--color--primary, #327a68);
}

.sb-value-card__icon svg {
	width: 1.35rem;
	height: 1.35rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.sb-value-card h3 {
	margin: 0 0 0.45rem !important;
	color: var(--wp--preset--color--secondary, #1f4d42) !important;
	font-size: 1.05rem !important;
	line-height: 1.2 !important;
}

.sb-value-card p {
	margin: 0 !important;
	color: var(--wp--preset--color--muted, #51615c) !important;
	font-size: 0.91rem !important;
	line-height: 1.62 !important;
}

@media (max-width: 780px) {
	.sb-mvv-duo {
		grid-template-columns: 1fr;
	}

	.sb-values-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 520px) {
	.sb-values-grid {
		grid-template-columns: 1fr;
	}
}

/* --- Funciones y deberes --- */
.sb-func-list {
	display: grid;
	gap: 1rem;
}

.sb-func-card {
	display: grid;
	grid-template-columns: 3rem minmax(0, 1fr);
	gap: 1rem 1.25rem;
	align-items: start;
	padding: clamp(1rem, 2vw, 1.5rem);
	border: 1px solid rgba(50, 122, 104, 0.16);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 4px 12px rgba(16, 32, 29, 0.05);
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.sb-func-card:hover {
	border-color: rgba(50, 122, 104, 0.3);
	box-shadow: 0 12px 28px rgba(16, 32, 29, 0.1);
	transform: translateX(3px);
}

.sb-func-card__num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	background: linear-gradient(145deg, rgba(39, 94, 80, 0.96), rgba(50, 122, 104, 0.9));
	color: #ffffff;
	font-size: 1.1rem;
	font-weight: 850;
	flex: 0 0 auto;
}

.sb-func-card h3 {
	margin: 0 0 0.4rem !important;
	color: var(--wp--preset--color--secondary, #1f4d42) !important;
	font-size: 1.04rem !important;
	line-height: 1.25 !important;
}

.sb-func-card p {
	margin: 0 !important;
	color: var(--wp--preset--color--muted, #51615c) !important;
	font-size: 0.93rem !important;
	line-height: 1.64 !important;
}

/* --- Organigrama --- */
.sb-org-head {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: clamp(1.2rem, 2.5vw, 1.8rem);
	border-radius: 18px;
	background:
		linear-gradient(145deg, rgba(39, 94, 80, 0.97), rgba(50, 122, 104, 0.93));
	color: #ffffff;
	box-shadow: 0 14px 36px rgba(16, 32, 29, 0.16);
	margin-bottom: 1.75rem;
}

.sb-org-head__icon {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.15);
}

.sb-org-head__icon svg {
	width: 1.5rem;
	height: 1.5rem;
	fill: none;
	stroke: #ffffff;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.sb-org-head h3 {
	margin: 0 !important;
	color: #ffffff !important;
	font-size: 1.2rem !important;
	line-height: 1.2 !important;
}

.sb-org-head p {
	margin: 0.25rem 0 0 !important;
	color: rgba(255, 255, 255, 0.76) !important;
	font-size: 0.88rem !important;
}

.sb-org-connector {
	display: flex;
	justify-content: center;
	margin-bottom: 1.25rem;
}

.sb-org-connector::before {
	content: "";
	display: block;
	width: 2px;
	height: 1.5rem;
	background: linear-gradient(180deg, rgba(50, 122, 104, 0.4), rgba(50, 122, 104, 0.15));
	border-radius: 2px;
}

.sb-org-deps {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 0.8rem;
}

.sb-org-dep {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	padding: 0.85rem 1rem;
	border: 1px solid rgba(50, 122, 104, 0.16);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.94);
	font-size: 0.9rem;
	font-weight: 700;
	color: var(--wp--preset--color--secondary, #1f4d42);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.sb-org-dep:hover {
	border-color: rgba(50, 122, 104, 0.3);
	box-shadow: 0 6px 18px rgba(16, 32, 29, 0.09);
}

.sb-org-dep__dot {
	flex: 0 0 auto;
	width: 0.45rem;
	height: 0.45rem;
	border-radius: 50%;
	background: var(--wp--preset--color--primary, #327a68);
}

/* --- Estado vacío (Ofertas laborales, etc.) --- */
.sb-empty-state {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1.1rem;
	padding: clamp(2.5rem, 6vw, 4.5rem) 2rem;
	border: 2px dashed rgba(50, 122, 104, 0.22);
	border-radius: 20px;
	background: rgba(50, 122, 104, 0.03);
	text-align: center;
}

.sb-empty-state__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 4.5rem;
	height: 4.5rem;
	border-radius: 50%;
	background: rgba(50, 122, 104, 0.09);
	color: var(--wp--preset--color--primary, #327a68);
}

.sb-empty-state__icon svg {
	width: 2.1rem;
	height: 2.1rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.sb-empty-state h3 {
	margin: 0 !important;
	color: var(--wp--preset--color--secondary, #1f4d42) !important;
	font-size: 1.2rem !important;
}

.sb-empty-state p {
	margin: 0 !important;
	max-width: 36rem;
	color: var(--wp--preset--color--muted, #51615c) !important;
	font-size: 0.96rem !important;
	line-height: 1.62 !important;
}

/* --- Manuales y procedimientos / Código de integridad --- */
.sb-doc-cats-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 1rem;
}

.sb-doc-cat-card {
	display: flex;
	align-items: flex-start;
	gap: 0.9rem;
	padding: 1.1rem 1.25rem;
	border: 1px solid rgba(50, 122, 104, 0.16);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 4px 12px rgba(16, 32, 29, 0.05);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.sb-doc-cat-card:hover {
	border-color: rgba(50, 122, 104, 0.3);
	box-shadow: 0 10px 26px rgba(16, 32, 29, 0.1);
}

.sb-doc-cat-card__icon {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 10px;
	background: rgba(50, 122, 104, 0.1);
	color: var(--wp--preset--color--primary, #327a68);
}

.sb-doc-cat-card__icon svg {
	width: 1.2rem;
	height: 1.2rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.sb-doc-cat-card h3 {
	margin: 0 0 0.3rem !important;
	color: var(--wp--preset--color--secondary, #1f4d42) !important;
	font-size: 0.98rem !important;
}

.sb-doc-cat-card p {
	margin: 0 !important;
	color: var(--wp--preset--color--muted, #51615c) !important;
	font-size: 0.87rem !important;
	line-height: 1.55 !important;
}

/* --- Integrity values (Código de integridad) --- */
.sb-integrity-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1rem;
}

.sb-integrity-item {
	display: flex;
	align-items: flex-start;
	gap: 0.85rem;
	padding: 1rem 1.2rem;
	border-left: 3px solid var(--wp--preset--color--primary, #327a68);
	border-radius: 0 12px 12px 0;
	background: rgba(50, 122, 104, 0.04);
}

.sb-integrity-item__num {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 50%;
	background: var(--wp--preset--color--primary, #327a68);
	color: #ffffff;
	font-size: 0.8rem;
	font-weight: 800;
}

.sb-integrity-item h3 {
	margin: 0 0 0.25rem !important;
	color: var(--wp--preset--color--secondary, #1f4d42) !important;
	font-size: 0.97rem !important;
}

.sb-integrity-item p {
	margin: 0 !important;
	color: var(--wp--preset--color--muted, #51615c) !important;
	font-size: 0.88rem !important;
	line-height: 1.58 !important;
}

@media (max-width: 640px) {
	.sb-func-card {
		grid-template-columns: 1fr;
	}

	.sb-func-card__num {
		width: 2.5rem;
		height: 2.5rem;
		font-size: 1rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sb-contact-tile,
	.sb-value-card,
	.sb-func-card,
	.sb-org-dep,
	.sb-doc-cat-card {
		transition: none !important;
	}

	.sb-value-card:hover,
	.sb-func-card:hover {
		transform: none;
	}
}

/* --- Integracion visual de WP File Download --- */
.wp-block-post-content .wpfd-single-file,
.wp-block-post-content .wpfd-content,
.wp-block-post-content .wpfd-content-default,
.wpfd-single-file,
.wpfd-content,
.wpfd-content-default,
.wpfd-filter,
.wpfd-search,
.wpfd-search-result,
#wpfd-results,
.wpfd-pagination {
	--wpfd-sb-primary: var(--wp--preset--color--primary, #327a68);
	--wpfd-sb-primary-dark: var(--wp--preset--color--primary-dark, #275e50);
	--wpfd-sb-secondary: var(--wp--preset--color--secondary, #1f4d42);
	--wpfd-sb-accent: var(--wp--preset--color--accent, #e0a526);
	--wpfd-sb-muted: var(--wp--preset--color--muted, #51615c);
	--wpfd-sb-border: rgba(50, 122, 104, 0.16);
	--wpfd-sb-surface: rgba(255, 255, 255, 0.96);
	--wpfd-sb-soft: rgba(50, 122, 104, 0.07);
	color: var(--wpfd-sb-secondary);
	font-family: inherit;
}

.wp-block-post-content .wpfd-single-file {
	display: grid !important;
	grid-template-columns: auto minmax(0, 1fr);
	gap: clamp(1rem, 2.5vw, 1.5rem);
	align-items: center;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin-block: clamp(1.5rem, 4vw, 2.5rem) !important;
	padding: clamp(1.1rem, 3vw, 1.6rem) !important;
	border: 1px solid var(--wpfd-sb-border) !important;
	border-radius: 18px !important;
	background:
		linear-gradient(135deg, rgba(50, 122, 104, 0.07), rgba(255, 255, 255, 0) 42%),
		var(--wpfd-sb-surface) !important;
	box-shadow: 0 16px 42px rgba(16, 32, 29, 0.1) !important;
	overflow: hidden;
}

.wp-block-post-content .wpfd-single-file--icon {
	flex-basis: auto !important;
	width: clamp(4.8rem, 12vw, 6rem) !important;
}

.wp-block-post-content .wpfd-single-file--icon a {
	display: block;
	border-radius: 16px;
	text-decoration: none !important;
}

.wp-block-post-content .wpfd-single-file--icon .wpfd-icon-placeholder {
	width: clamp(4.8rem, 12vw, 6rem) !important;
	height: clamp(4.8rem, 12vw, 6rem) !important;
	border: 1px solid rgba(255, 255, 255, 0.45) !important;
	border-radius: 16px !important;
	background-color: var(--wpfd-sb-primary) !important;
	box-shadow:
		0 12px 28px rgba(50, 122, 104, 0.2),
		inset 0 0 0 1px rgba(255, 255, 255, 0.2) !important;
}

.wp-block-post-content .wpfd-single-file--details {
	flex-basis: auto !important;
	min-width: 0;
}

.wp-block-post-content .wpfd-file-content--title {
	margin: 0 0 0.75rem !important;
	padding: 0 !important;
	font-size: clamp(1.25rem, 2.5vw, 1.65rem) !important;
	line-height: 1.15 !important;
	font-weight: 800 !important;
	letter-spacing: 0 !important;
	color: var(--wpfd-sb-secondary) !important;
}

.wp-block-post-content .wpfd-file-content--title a,
.wpfd-content-default a.wpfd-file-link {
	color: var(--wpfd-sb-secondary) !important;
	text-decoration: none !important;
	box-shadow: none !important;
	overflow-wrap: anywhere;
}

.wp-block-post-content .wpfd-file-content--title a:hover,
.wp-block-post-content .wpfd-file-content--title a:focus-visible,
.wpfd-content-default a.wpfd-file-link:hover,
.wpfd-content-default a.wpfd-file-link:focus-visible {
	color: var(--wpfd-sb-primary) !important;
	text-decoration: underline !important;
	text-underline-offset: 0.2em;
}

.wp-block-post-content .wpfd-file-content--meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem 0.65rem;
	color: var(--wpfd-sb-muted);
	font-size: 0.88rem;
	line-height: 1.45;
}

.wp-block-post-content .wpfd-file-content--meta > div {
	max-width: 100%;
	margin: 0 !important;
	padding: 0.28rem 0.6rem !important;
	border: 1px solid rgba(50, 122, 104, 0.12);
	border-radius: 999px;
	background: rgba(50, 122, 104, 0.06);
	font-size: inherit !important;
}

.wp-block-post-content .wpfd-single-file--buttons {
	grid-column: 1 / -1;
	display: flex !important;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
	margin-top: 0.25rem;
}

.wp-block-post-content .wpfd-single-file-button,
.wpfd-content-default .downloadlink,
.wpfd-content-default a.downloadlink,
.wpfd-search-result-download-files-section a.search-download-selected,
#wpfd-results tbody td.file_download a.wpfd_downloadlink {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	min-height: 2.9rem;
	width: auto !important;
	max-width: 100%;
	margin: 0 !important;
	padding: 0.72rem 1.05rem !important;
	border: 1px solid transparent !important;
	border-radius: 8px !important;
	box-shadow: none !important;
	font-family: inherit !important;
	font-size: 0.96rem !important;
	font-weight: 800 !important;
	line-height: 1.15 !important;
	text-decoration: none !important;
	transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, border-color 0.18s ease;
}

.wp-block-post-content .wpfd-button-download,
.wpfd-content-default .downloadlink,
.wpfd-content-default a.downloadlink,
.wpfd-search-result-download-files-section a.search-download-selected,
#wpfd-results tbody td.file_download a.wpfd_downloadlink {
	background: var(--wpfd-sb-primary) !important;
	color: #ffffff !important;
}

.wp-block-post-content .wpfd-button-preview {
	border-color: rgba(50, 122, 104, 0.22) !important;
	background: #ffffff !important;
	color: var(--wpfd-sb-primary) !important;
}

.wp-block-post-content .wpfd-single-file-button svg {
	width: 1.05rem !important;
	height: 1.05rem !important;
	margin: 0 !important;
}

.wp-block-post-content .wpfd-button-preview svg g {
	fill: currentColor !important;
}

.wp-block-post-content .wpfd-single-file-button:hover,
.wp-block-post-content .wpfd-single-file-button:focus-visible,
.wpfd-content-default .downloadlink:hover,
.wpfd-content-default .downloadlink:focus-visible,
.wpfd-search-result-download-files-section a.search-download-selected:hover,
.wpfd-search-result-download-files-section a.search-download-selected:focus-visible,
#wpfd-results tbody td.file_download a.wpfd_downloadlink:hover,
#wpfd-results tbody td.file_download a.wpfd_downloadlink:focus-visible {
	transform: translateY(-2px);
	border-color: rgba(50, 122, 104, 0.25) !important;
	background: var(--wpfd-sb-primary-dark) !important;
	color: #ffffff !important;
	box-shadow: 0 12px 28px rgba(39, 94, 80, 0.18) !important;
}

.wpfd-content-default .wpfd-container {
	gap: 1.25rem;
	margin-block: 1.25rem;
}

.wpfd-content-default .wpfd-container .wpfd-foldertree {
	border: 1px solid var(--wpfd-sb-border) !important;
	border-radius: 14px;
	background: rgba(50, 122, 104, 0.04);
	padding: 1rem !important;
}

.wpfd-content-default .wpfd-container .wpfd-foldertree ul.jaofiletree {
	margin: 0 !important;
	padding: 0 !important;
}

.wpfd-content-default .wpfd-container .wpfd-foldertree ul.jaofiletree li {
	margin: 0.15rem 0 !important;
}

.wpfd-content-default .wpfd-container .wpfd-foldertree ul.jaofiletree a,
ul.jaofiletree a {
	display: inline-flex;
	align-items: center;
	min-height: 2.25rem;
	padding: 0.35rem 0.55rem;
	border-radius: 8px;
	color: var(--wpfd-sb-secondary) !important;
	font-family: inherit !important;
	text-decoration: none !important;
}

.wpfd-content-default .wpfd-container .wpfd-foldertree ul.jaofiletree li.selected > a,
.wpfd-content-default .wpfd-container .wpfd-foldertree ul.jaofiletree a:hover,
.wpfd-content-default .wpfd-container .wpfd-foldertree ul.jaofiletree a:focus-visible,
ul.jaofiletree li.selected > a,
ul.jaofiletree a:hover,
ul.jaofiletree a:focus-visible {
	background: rgba(50, 122, 104, 0.1);
	color: var(--wpfd-sb-primary) !important;
	box-shadow: none !important;
}

.wpfd-content-default .wpfd-container .wpfd-foldertree ul.jaofiletree .zmdi-folder,
.wpfd-content-default .wpfd-container .wpfd-foldertree ul.jaofiletree .zmdi-folder-open,
.wpfd-content-default .wpfd-container .wpfd-foldertree ul.jaofiletree .icon-open-close {
	color: var(--wpfd-sb-primary) !important;
}

.wpfd-content-default .wpfd_list {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
	gap: 1rem;
}

.wpfd-content-default .wpfd_list .file {
	width: auto !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 1rem !important;
	border: 1px solid var(--wpfd-sb-border) !important;
	border-radius: 14px !important;
	background: #ffffff !important;
	box-shadow: 0 6px 18px rgba(16, 32, 29, 0.06) !important;
	transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.wpfd-content-default .wpfd_list .file:hover,
.wpfd-content-default .wpfd_list .file:focus-within {
	transform: translateY(-2px);
	border-color: rgba(50, 122, 104, 0.28) !important;
	box-shadow: 0 14px 34px rgba(16, 32, 29, 0.11) !important;
}

.wpfd-content-default .wpfd_list .file .filecontent {
	min-width: 0;
	color: var(--wpfd-sb-muted);
	font-family: inherit;
}

.wpfd-content-default .filecontent h3,
.wpfd-content-default .filecontent > h3 {
	margin: 0 0 0.45rem !important;
	color: var(--wpfd-sb-secondary) !important;
	font-size: 1rem !important;
	line-height: 1.25 !important;
	font-weight: 800 !important;
}

.wpfd-content-default .filecontent .file-xinfo,
.wpfd-content-default .filecontent .file-desc,
.wpfd-content-default .filecontent .file-version,
.wpfd-content-default .filecontent .file-hits,
.wpfd-content-default .filecontent .file-size {
	color: var(--wpfd-sb-muted) !important;
	font-size: 0.86rem !important;
	line-height: 1.45 !important;
}

.wpfd-content-default .filecontent > div.ext,
.wpfd-content-default .filecontent i.wpfd-file {
	border-radius: 12px !important;
	box-shadow: 0 8px 22px rgba(50, 122, 104, 0.12);
}

.wpfd-content-default .wpfd-categories {
	gap: 0.75rem;
	margin-bottom: 1rem;
}

.wpfd-content-default .wpfd-categories a,
.wpfd-content-default .catlink {
	border-radius: 8px;
	color: var(--wpfd-sb-secondary) !important;
}

.wpfd-content-default .wpfd-categories a:hover,
.wpfd-content-default .wpfd-categories a:focus-visible,
.wpfd-content-default .catlink:hover,
.wpfd-content-default .catlink:focus-visible {
	color: var(--wpfd-sb-primary) !important;
	box-shadow: none !important;
}

.wp-block-post-content .wpfd-content.wpfd-content-table,
.wpfd-content.wpfd-content-table {
	max-width: 100% !important;
	margin-block: clamp(1.25rem, 3vw, 2rem) !important;
	padding: clamp(1rem, 2.5vw, 1.35rem) !important;
	border: 1px solid var(--wpfd-sb-border) !important;
	border-radius: 18px !important;
	background:
		linear-gradient(135deg, rgba(50, 122, 104, 0.06), rgba(255, 255, 255, 0) 46%),
		#ffffff !important;
	box-shadow: 0 16px 42px rgba(16, 32, 29, 0.09) !important;
	overflow: hidden;
}

.wpfd-content-table .wpfd-breadcrumbs-table {
	display: flex !important;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin: 0 0 0.85rem !important;
	padding: 0 !important;
	list-style: none !important;
}

.wpfd-content-table .wpfd-breadcrumbs-table li,
.wpfd-content-table .wpfd-breadcrumbs-table a {
	display: inline-flex;
	align-items: center;
	min-height: 2rem;
	margin: 0 !important;
	padding: 0.35rem 0.7rem !important;
	border: 1px solid rgba(50, 122, 104, 0.14);
	border-radius: 999px;
	background: rgba(50, 122, 104, 0.07);
	color: var(--wpfd-sb-primary-dark) !important;
	font-size: 0.82rem !important;
	font-weight: 800;
	line-height: 1.15;
	text-decoration: none !important;
	text-transform: none !important;
}

.wpfd-content-table .wpfd-container {
	display: block !important;
	margin: 0 !important;
}

.wpfd-content-table .wpfd-foldertree.foldertree-hide {
	display: none !important;
}

.wpfd-content-table .wpfd-container-table,
.wpfd-content-table .wpfd-container-table.with_foldertree {
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
}

#contenido .wpfd-content-table .wpfd-container-table,
#contenido .wpfd-content-table .wpfd-container-table.with_foldertree,
#contenido .wpfd-content-table .mediaTableWrapper,
#contenido .wpfd-content-table .mediaTableWrapperWithMenu {
	width: 100% !important;
	max-width: 100% !important;
}

.wpfd-content-table .wpfd-categories {
	margin: 0 0 0.9rem !important;
	padding: 0 !important;
}

.wpfd-content-table .wpfd-category-theme-title,
.wpfd-content-table .wpfd-container-table .wpfd-categories > h2 {
	margin: 0 !important;
	padding: 0 !important;
	color: var(--wpfd-sb-secondary) !important;
	font-size: clamp(1.15rem, 2vw, 1.45rem) !important;
	font-weight: 850 !important;
	line-height: 1.15 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

.wpfd-content-table .mediaTableWrapper,
.wpfd-content-table .mediaTableWrapperWithMenu {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid var(--wpfd-sb-border);
	border-radius: 14px;
	background: #ffffff;
	overflow: auto !important;
	box-shadow: 0 8px 24px rgba(16, 32, 29, 0.06);
	-webkit-overflow-scrolling: touch;
}

.wpfd-content-table table.wpfd-table,
.wpfd-content-table table.wpfd-search-result {
	width: 100% !important;
	min-width: 100% !important;
	margin: 0 !important;
	border: 0 !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	background: #ffffff !important;
	color: var(--wpfd-sb-secondary);
	font-family: inherit !important;
	font-size: 0.94rem !important;
	table-layout: fixed;
}

.wpfd-content-table table.wpfd-table thead th,
.wpfd-content-table table.wpfd-search-result thead th {
	padding: 0.9rem 1rem !important;
	border: 0 !important;
	background: var(--wpfd-sb-secondary) !important;
	color: #ffffff !important;
	font-size: 0.78rem !important;
	font-weight: 850 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.wpfd-content-table table.wpfd-table tbody td,
.wpfd-content-table table.wpfd-search-result tbody td {
	padding: 0.82rem 1rem !important;
	border-top: 1px solid rgba(50, 122, 104, 0.11) !important;
	background: #ffffff !important;
	color: var(--wpfd-sb-secondary) !important;
	font-family: inherit !important;
	font-size: 0.92rem !important;
	line-height: 1.35 !important;
	vertical-align: middle !important;
}

.wpfd-content-table table.wpfd-table tbody tr:nth-child(even) td,
.wpfd-content-table table.wpfd-search-result tbody tr:nth-child(even) td {
	background: rgba(50, 122, 104, 0.035) !important;
}

.wpfd-content-table table.wpfd-table tbody tr:hover td,
.wpfd-content-table table.wpfd-search-result tbody tr:hover td,
.wpfd-content-table table.wpfd-table tbody tr:focus-within td,
.wpfd-content-table table.wpfd-search-result tbody tr:focus-within td {
	background: rgba(224, 165, 38, 0.1) !important;
}

.wpfd-content-table th.file_title,
.wpfd-content-table td.file_title {
	width: auto !important;
	min-width: 18rem;
}

.wpfd-content-table th.file_desc,
.wpfd-content-table td.file_desc {
	width: 12% !important;
}

.wpfd-content-table th.file_size,
.wpfd-content-table td.file_size {
	width: 8.5rem !important;
}

.wpfd-content-table td.file_title > a.wpfd_downloadlink {
	display: inline-flex !important;
	align-items: center;
	gap: 0.65rem;
	max-width: 100%;
	color: var(--wpfd-sb-secondary) !important;
	font-weight: 800;
	line-height: 1.25;
	text-decoration: none !important;
	white-space: normal !important;
}

.wpfd-content-table td.file_title > a.wpfd_downloadlink:hover,
.wpfd-content-table td.file_title > a.wpfd_downloadlink:focus-visible {
	color: var(--wpfd-sb-primary) !important;
	text-decoration: underline !important;
	text-underline-offset: 0.22em;
}

.wpfd-content-table .extcol {
	display: inline-flex !important;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 10px;
	background: rgba(50, 122, 104, 0.1);
	box-shadow: inset 0 0 0 1px rgba(50, 122, 104, 0.12);
}

.wpfd-content-table .extcol .ext {
	margin: 0 !important;
	transform: scale(0.72);
	transform-origin: center;
}

.wpfd-content-table .wpfd-file-crop-title {
	display: inline !important;
	min-width: 0;
	max-width: 100%;
	overflow-wrap: anywhere;
	white-space: normal !important;
}

.wpfd-content-table td.file_size,
.wpfd-content-table td.file_desc {
	color: var(--wpfd-sb-muted) !important;
}

.wpfd-content-table th.file_download_tbl,
.wpfd-content-table td.file_download_tbl,
.wpfd-content-table .mediaTableWrapper .mediaTable .col-download {
	width: 13.5rem !important;
	min-width: 13.5rem !important;
	max-width: 13.5rem !important;
	text-align: left !important;
}

.wpfd-content-table.wpfd-content .downloadlink,
.wpfd-content-table.wpfd-content .openlink,
.wpfd-content-table .table-download-category,
.wpfd-content-table .table-download-selected {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	min-height: 2.45rem;
	margin: 0.2rem 0.35rem 0.2rem 0 !important;
	padding: 0.62rem 0.82rem !important;
	border: 1px solid transparent !important;
	border-radius: 8px !important;
	box-shadow: none !important;
	font-family: inherit !important;
	font-size: 0.86rem !important;
	font-weight: 850 !important;
	line-height: 1.1 !important;
	text-decoration: none !important;
	transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, border-color 0.18s ease;
}

.wpfd-content-table.wpfd-content .downloadlink,
.wpfd-content-table .table-download-category,
.wpfd-content-table .table-download-selected {
	background: var(--wpfd-sb-primary) !important;
	color: #ffffff !important;
}

.wpfd-content-table.wpfd-content .openlink {
	border-color: rgba(50, 122, 104, 0.2) !important;
	background: #ffffff !important;
	color: var(--wpfd-sb-primary) !important;
}

.wpfd-content-table.wpfd-content .downloadlink i,
.wpfd-content-table.wpfd-content .openlink i {
	margin: 0 !important;
	color: currentColor !important;
	font-size: 1rem !important;
	line-height: 1 !important;
}

.wpfd-content-table.wpfd-content .downloadlink:hover,
.wpfd-content-table.wpfd-content .downloadlink:focus-visible,
.wpfd-content-table.wpfd-content .openlink:hover,
.wpfd-content-table.wpfd-content .openlink:focus-visible,
.wpfd-content-table .table-download-category:hover,
.wpfd-content-table .table-download-category:focus-visible,
.wpfd-content-table .table-download-selected:hover,
.wpfd-content-table .table-download-selected:focus-visible {
	transform: translateY(-2px);
	border-color: rgba(50, 122, 104, 0.26) !important;
	background: var(--wpfd-sb-primary-dark) !important;
	color: #ffffff !important;
	box-shadow: 0 12px 26px rgba(39, 94, 80, 0.18) !important;
}

.wpfd-content-table.colstyle .mediaTableMenu,
.wpfd-content-table.colstyle .mediaTableMenu.mediaTableMenuClosed {
	border-color: rgba(50, 122, 104, 0.16) !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	box-shadow: 0 10px 24px rgba(16, 32, 29, 0.1) !important;
}

.wpfd-content-table.colstyle .mediaTableMenu a {
	color: var(--wpfd-sb-primary) !important;
}

.wpfd-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	align-items: center;
	margin-top: 1.25rem !important;
}

.wpfd-pagination a,
.wpfd-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.25rem;
	min-height: 2.25rem;
	padding: 0.35rem 0.7rem;
	border: 1px solid var(--wpfd-sb-border);
	border-radius: 8px;
	background: #ffffff;
	color: var(--wpfd-sb-secondary) !important;
	text-decoration: none !important;
}

.wpfd-pagination a:hover,
.wpfd-pagination a:focus-visible,
.wpfd-pagination .current,
.wpfd-pagination span.current {
	background: var(--wpfd-sb-primary);
	color: #ffffff !important;
}

.wpfd-filter,
.wpfd-search,
.wpfd-search-result,
#wpfd-results {
	font-family: inherit;
	color: var(--wpfd-sb-secondary);
}

.wpfd-filter,
.wpfd-search-result {
	border: 1px solid var(--wpfd-sb-border);
	border-radius: 16px;
	background: #ffffff;
	box-shadow: 0 10px 28px rgba(16, 32, 29, 0.08);
}

.wpfd-filter input,
.wpfd-filter select,
.wpfd-filter textarea,
.wpfd-search input,
.wpfd-search select,
#wpfd-results input,
#wpfd-results select {
	min-height: 2.75rem;
	border: 1px solid var(--wpfd-sb-border) !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	color: var(--wpfd-sb-secondary) !important;
	font-family: inherit !important;
}

.wpfd-filter input:focus-visible,
.wpfd-filter select:focus-visible,
.wpfd-search input:focus-visible,
.wpfd-search select:focus-visible,
#wpfd-results input:focus-visible,
#wpfd-results select:focus-visible {
	outline: 3px solid var(--wpfd-sb-primary) !important;
	outline-offset: 2px;
}

#wpfd-results table,
.wpfd-search-result table {
	border-collapse: separate;
	border-spacing: 0;
	width: 100%;
	border: 1px solid var(--wpfd-sb-border);
	border-radius: 14px;
	overflow: hidden;
	background: #ffffff;
}

#wpfd-results th,
#wpfd-results td,
.wpfd-search-result th,
.wpfd-search-result td {
	border-color: rgba(50, 122, 104, 0.12) !important;
	color: var(--wpfd-sb-secondary);
	font-family: inherit;
}

#wpfd-results th,
.wpfd-search-result th {
	background: rgba(50, 122, 104, 0.08) !important;
	color: var(--wpfd-sb-secondary) !important;
	font-weight: 800 !important;
}

#wpfd-results tr:hover td,
.wpfd-search-result tr:hover td {
	background: rgba(50, 122, 104, 0.04) !important;
}

@media (max-width: 720px) {
	#contenido .wp-block-post-title {
		max-width: calc(100vw - 2rem) !important;
		margin-left: auto !important;
		margin-right: auto !important;
		overflow-wrap: anywhere;
	}

	.wp-block-post-content .wpfd-single-file {
		width: calc(100vw - 2rem) !important;
		max-width: calc(100vw - 2rem) !important;
		margin-left: auto !important;
		margin-right: auto !important;
		grid-template-columns: 1fr;
		text-align: left;
	}

	.wp-block-post-content .wpfd-single-file--icon {
		width: 4.8rem !important;
	}

	.wp-block-post-content .wpfd-single-file--buttons {
		display: grid !important;
		grid-template-columns: 1fr;
	}

	.wp-block-post-content .wpfd-file-content--meta {
		display: grid;
		grid-template-columns: 1fr;
	}

	.wp-block-post-content .wpfd-single-file-button {
		width: 100% !important;
	}

	.wpfd-content-default .wpfd-container .wpfd-foldertree {
		border-radius: 14px;
		box-shadow: 0 18px 42px rgba(16, 32, 29, 0.18);
	}

	.wp-block-post-content .wpfd-content.wpfd-content-table,
	.wpfd-content.wpfd-content-table {
		width: calc(100vw - 2rem) !important;
		max-width: calc(100vw - 2rem) !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding: 0.85rem !important;
		border-radius: 16px !important;
	}

	.wpfd-content-table .wpfd-breadcrumbs-table {
		margin-bottom: 0.65rem !important;
	}

	.wpfd-content-table .wpfd-category-theme-title,
	.wpfd-content-table .wpfd-container-table .wpfd-categories > h2 {
		font-size: 1.08rem !important;
	}

	.wpfd-content-table .mediaTableWrapper,
	.wpfd-content-table .mediaTableWrapperWithMenu {
		border-radius: 12px;
	}

	.wpfd-content-table table.wpfd-table,
	.wpfd-content-table table.wpfd-search-result {
		min-width: 36rem !important;
	}

	.wpfd-content-table table.wpfd-table thead th,
	.wpfd-content-table table.wpfd-search-result thead th,
	.wpfd-content-table table.wpfd-table tbody td,
	.wpfd-content-table table.wpfd-search-result tbody td {
		padding: 0.72rem 0.78rem !important;
		font-size: 0.84rem !important;
	}

	.wpfd-content-table .extcol {
		width: 2rem;
		height: 2rem;
	}

	.wpfd-content-table th.file_download_tbl,
	.wpfd-content-table td.file_download_tbl,
	.wpfd-content-table .mediaTableWrapper .mediaTable .col-download {
		width: 11.5rem !important;
		min-width: 11.5rem !important;
		max-width: 11.5rem !important;
	}

	.wpfd-content-table.wpfd-content .downloadlink,
	.wpfd-content-table.wpfd-content .openlink {
		min-height: 2.25rem;
		padding: 0.55rem 0.65rem !important;
		font-size: 0.8rem !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wpfd-single-file-button,
	.wpfd-content-default .wpfd_list .file,
	.wpfd-content-table.wpfd-content .downloadlink,
	.wpfd-content-table.wpfd-content .openlink,
	.wpfd-content-table .table-download-category,
	.wpfd-content-table .table-download-selected {
		transition: none !important;
	}

	.wpfd-single-file-button:hover,
	.wpfd-content-default .wpfd_list .file:hover,
	.wpfd-content-table.wpfd-content .downloadlink:hover,
	.wpfd-content-table.wpfd-content .openlink:hover,
	.wpfd-content-table .table-download-category:hover,
	.wpfd-content-table .table-download-selected:hover {
		transform: none !important;
	}
}

/* --- WP File Download como biblioteca de cards --- */
#contenido .wpfd-content.wpfd-content-table {
	--wpfd-card-ink: var(--wp--preset--color--secondary, #1f4d42);
	--wpfd-card-muted: var(--wp--preset--color--muted, #51625c);
	--wpfd-card-brand: var(--wp--preset--color--primary, #327a68);
	--wpfd-card-brand-dark: var(--wp--preset--color--primary-dark, #275e50);
	--wpfd-card-accent: var(--wp--preset--color--accent, #e0a526);
	--wpfd-card-line: rgba(50, 122, 104, 0.15);
	--wpfd-card-soft: rgba(50, 122, 104, 0.08);
	position: relative;
	width: 100% !important;
	max-width: 100% !important;
	margin-block: clamp(1.6rem, 4vw, 2.5rem) !important;
	padding: clamp(1rem, 2vw, 1.4rem) !important;
	border: 1px solid var(--wpfd-card-line) !important;
	border-radius: 20px !important;
	background:
		linear-gradient(135deg, rgba(50, 122, 104, 0.08), rgba(255, 255, 255, 0) 36%),
		linear-gradient(180deg, #ffffff, rgba(243, 246, 245, 0.92)) !important;
	box-shadow: 0 20px 52px rgba(16, 32, 29, 0.1) !important;
	overflow: hidden;
}

#contenido .wpfd-content-table .wpfd-breadcrumbs-table {
	display: flex !important;
	gap: 0.5rem;
	margin: 0 0 0.9rem !important;
	padding: 0 !important;
	border-bottom: 1px solid rgba(50, 122, 104, 0.12);
	list-style: none !important;
}

#contenido .wpfd-content-table .wpfd-breadcrumbs-table li,
#contenido .wpfd-content-table .wpfd-breadcrumbs-table a {
	display: inline-flex;
	align-items: center;
	min-height: 2.2rem;
	margin: 0 0 -1px !important;
	padding: 0.45rem 0.75rem !important;
	border: 1px solid rgba(50, 122, 104, 0.14);
	border-bottom-color: #ffffff;
	border-radius: 999px 999px 0 0;
	background: #ffffff;
	color: var(--wpfd-card-brand-dark) !important;
	font-size: 0.83rem !important;
	font-weight: 850;
	text-transform: none !important;
}

#contenido .wpfd-content-table .wpfd-container,
#contenido .wpfd-content-table .wpfd-container-table,
#contenido .wpfd-content-table .wpfd-container-table.with_foldertree {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
}

#contenido .wpfd-content-table .wpfd-foldertree,
#contenido .wpfd-content-table .wpfd-open-tree,
#contenido .wpfd-content-table .mediaTableMenu,
#contenido .wpfd-content-table thead,
#contenido .wpfd-content-table th,
#contenido .wpfd-content-table td.file_desc:empty {
	display: none !important;
}

#contenido .wpfd-content-table .wpfd-categories {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin: 0 0 1rem !important;
	padding: 0 !important;
}

#contenido .wpfd-content-table .wpfd-category-theme-title,
#contenido .wpfd-content-table .wpfd-container-table .wpfd-categories > h2 {
	margin: 0 !important;
	padding: 0 !important;
	color: var(--wpfd-card-ink) !important;
	font-size: clamp(1.18rem, 2.2vw, 1.55rem) !important;
	font-weight: 900 !important;
	line-height: 1.12 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

#contenido .wpfd-content-table .mediaTableWrapper,
#contenido .wpfd-content-table .mediaTableWrapperWithMenu {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	overflow: visible !important;
}

#contenido .wpfd-content-table table.wpfd-table,
#contenido .wpfd-content-table table.wpfd-search-result,
#contenido .wpfd-content-table table.wpfd-table tbody,
#contenido .wpfd-content-table table.wpfd-search-result tbody {
	display: block !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

#contenido .wpfd-content-table table.wpfd-table tbody,
#contenido .wpfd-content-table table.wpfd-search-result tbody {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 17.5rem), 1fr));
	gap: clamp(0.9rem, 2vw, 1.15rem);
}

#contenido .wpfd-content-table tr.file {
	position: relative;
	display: grid !important;
	grid-template-rows: auto 1fr auto;
	min-width: 0;
	min-height: 15.5rem;
	margin: 0 !important;
	padding: 1rem !important;
	border: 1px solid rgba(50, 122, 104, 0.14) !important;
	border-radius: 16px !important;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.88)),
		var(--wpfd-card-soft) !important;
	box-shadow: 0 10px 28px rgba(16, 32, 29, 0.08) !important;
	opacity: 0;
	transform: translateY(14px);
	animation: sb-wpfd-card-in 0.45s ease forwards;
	animation-delay: var(--sb-wpfd-delay, 0ms);
	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease,
		border-color 0.2s ease,
		background-color 0.2s ease;
}

#contenido .wpfd-content-table tr.file::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: linear-gradient(135deg, rgba(224, 165, 38, 0.18), rgba(50, 122, 104, 0));
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease;
}

#contenido .wpfd-content-table tr.file:hover,
#contenido .wpfd-content-table tr.file:focus-within {
	transform: translateY(-5px);
	border-color: rgba(50, 122, 104, 0.32) !important;
	box-shadow: 0 20px 44px rgba(16, 32, 29, 0.14) !important;
}

#contenido .wpfd-content-table tr.file:hover::before,
#contenido .wpfd-content-table tr.file:focus-within::before {
	opacity: 1;
}

#contenido .wpfd-content-table tr.file > input {
	display: none !important;
}

#contenido .wpfd-content-table tr.file > td {
	position: relative;
	z-index: 1;
	display: block !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--wpfd-card-ink) !important;
	font-family: inherit !important;
}

#contenido .wpfd-content-table td.file_title > a.wpfd_downloadlink {
	display: grid !important;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.78rem;
	align-items: start;
	color: var(--wpfd-card-ink) !important;
	text-decoration: none !important;
}

#contenido .wpfd-content-table .extcol {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border: 1px solid rgba(50, 122, 104, 0.14);
	border-radius: 12px;
	background: #ffffff;
	box-shadow: 0 8px 20px rgba(50, 122, 104, 0.11);
}

#contenido .wpfd-content-table .extcol .ext {
	margin: 0 !important;
	transform: scale(0.78);
	transform-origin: center;
}

#contenido .wpfd-content-table .wpfd-file-crop-title {
	display: -webkit-box !important;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	max-width: 100%;
	overflow: hidden;
	color: currentColor !important;
	font-size: 1rem !important;
	font-weight: 900 !important;
	line-height: 1.18 !important;
	overflow-wrap: anywhere;
	white-space: normal !important;
}

#contenido .wpfd-content-table td.file_title > a.wpfd_downloadlink:hover,
#contenido .wpfd-content-table td.file_title > a.wpfd_downloadlink:focus-visible {
	color: var(--wpfd-card-brand) !important;
	text-decoration: none !important;
}

#contenido .wpfd-content-table td.file_size {
	align-self: end;
	display: inline-flex !important;
	align-items: center;
	gap: 0.45rem;
	width: fit-content !important;
	margin-top: 1rem !important;
	padding: 0.38rem 0.65rem !important;
	border: 1px solid rgba(50, 122, 104, 0.12) !important;
	border-radius: 999px !important;
	background: rgba(50, 122, 104, 0.07) !important;
	color: var(--wpfd-card-muted) !important;
	font-size: 0.82rem !important;
	font-weight: 750 !important;
	line-height: 1.1 !important;
	white-space: nowrap;
}

#contenido .wpfd-content-table td.file_size::before {
	content: "Tamaño:";
	color: var(--wpfd-card-brand-dark);
	font-weight: 900;
	margin-right: 0.25rem;
}

#contenido .wpfd-content-table td.file_desc:not(:empty) {
	display: block !important;
	margin-top: 0.75rem !important;
	color: var(--wpfd-card-muted) !important;
	font-size: 0.88rem !important;
	line-height: 1.45 !important;
}

#contenido .wpfd-content-table td.file_download_tbl,
#contenido .wpfd-content-table .mediaTableWrapper .mediaTable .col-download {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 0.55rem;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin-top: 1rem !important;
	padding-top: 1rem !important;
	border-top: 1px solid rgba(50, 122, 104, 0.11) !important;
	text-align: left !important;
}

#contenido .wpfd-content-table.wpfd-content .downloadlink,
#contenido .wpfd-content-table.wpfd-content .openlink {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 0.42rem;
	min-width: 0 !important;
	min-height: 2.55rem;
	width: 100% !important;
	margin: 0 !important;
	padding: 0.65rem 0.75rem !important;
	border-radius: 9px !important;
	box-shadow: none !important;
	font-family: inherit !important;
	font-size: 0.84rem !important;
	font-weight: 900 !important;
	line-height: 1.05 !important;
	text-decoration: none !important;
	white-space: normal !important;
	transition:
		transform 0.18s ease,
		box-shadow 0.18s ease,
		background-color 0.18s ease,
		border-color 0.18s ease,
		color 0.18s ease;
}

#contenido .wpfd-content-table.wpfd-content .downloadlink {
	border: 1px solid transparent !important;
	background: var(--wpfd-card-brand) !important;
	color: #ffffff !important;
}

#contenido .wpfd-content-table.wpfd-content .openlink {
	border: 1px solid rgba(50, 122, 104, 0.2) !important;
	background: #ffffff !important;
	color: var(--wpfd-card-brand-dark) !important;
}

#contenido .wpfd-content-table.wpfd-content .downloadlink:hover,
#contenido .wpfd-content-table.wpfd-content .downloadlink:focus-visible,
#contenido .wpfd-content-table.wpfd-content .openlink:hover,
#contenido .wpfd-content-table.wpfd-content .openlink:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 12px 24px rgba(39, 94, 80, 0.18) !important;
}

#contenido .wpfd-content-table.wpfd-content .downloadlink:hover,
#contenido .wpfd-content-table.wpfd-content .downloadlink:focus-visible {
	background: var(--wpfd-card-brand-dark) !important;
	color: #ffffff !important;
}

#contenido .wpfd-content-table.wpfd-content .openlink:hover,
#contenido .wpfd-content-table.wpfd-content .openlink:focus-visible {
	border-color: transparent !important;
	background: var(--wpfd-card-accent) !important;
	color: var(--wpfd-card-ink) !important;
}

#contenido .wpfd-content-table.wpfd-content .downloadlink i,
#contenido .wpfd-content-table.wpfd-content .openlink i {
	margin: 0 !important;
	color: currentColor !important;
	font-size: 0.95rem !important;
	line-height: 1 !important;
}

.sb-wpfd-preview-open {
	overflow: hidden;
}

.sb-wpfd-preview {
	position: fixed;
	inset: 0;
	z-index: 999999999999;
	display: grid;
	place-items: center;
	padding: clamp(0.75rem, 2vw, 1.5rem);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.18s ease;
}

.sb-wpfd-preview.is-open {
	opacity: 1;
	pointer-events: auto;
}

.sb-wpfd-preview__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(12, 24, 21, 0.76);
	backdrop-filter: blur(4px);
}

.sb-wpfd-preview__panel {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-rows: auto minmax(0, 1fr);
	width: min(100%, 72rem);
	height: min(92vh, 54rem);
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 18px;
	background: #ffffff;
	box-shadow: 0 28px 80px rgba(0, 0, 0, 0.34);
	overflow: hidden;
	transform: translateY(10px) scale(0.98);
	transition: transform 0.2s ease;
}

.sb-wpfd-preview.is-open .sb-wpfd-preview__panel {
	transform: translateY(0) scale(1);
}

.sb-wpfd-preview__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.85rem 1rem;
	border-bottom: 1px solid rgba(50, 122, 104, 0.14);
	background:
		linear-gradient(135deg, rgba(50, 122, 104, 0.09), rgba(255, 255, 255, 0) 45%),
		#ffffff;
}

.sb-wpfd-preview__title {
	min-width: 0;
	margin: 0;
	color: var(--wp--preset--color--secondary, #1f4d42);
	font-size: clamp(0.95rem, 1.7vw, 1.1rem);
	font-weight: 900;
	line-height: 1.2;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.sb-wpfd-preview__actions {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 0.5rem;
}

.sb-wpfd-preview__external,
.sb-wpfd-preview__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.35rem;
	border-radius: 8px;
	font-family: inherit;
	font-weight: 850;
	line-height: 1;
	text-decoration: none !important;
}

.sb-wpfd-preview__external {
	padding: 0.55rem 0.75rem;
	border: 1px solid rgba(50, 122, 104, 0.18);
	background: rgba(50, 122, 104, 0.07);
	color: var(--wp--preset--color--primary-dark, #275e50);
	font-size: 0.85rem;
}

.sb-wpfd-preview__close {
	width: 2.35rem;
	border: 0;
	background: var(--wp--preset--color--primary, #327a68);
	color: #ffffff;
	font-size: 1.45rem;
	cursor: pointer;
}

.sb-wpfd-preview__external:hover,
.sb-wpfd-preview__external:focus-visible,
.sb-wpfd-preview__close:hover,
.sb-wpfd-preview__close:focus-visible {
	outline: 3px solid rgba(224, 165, 38, 0.35);
	outline-offset: 2px;
}

.sb-wpfd-preview__body {
	min-height: 0;
	background: #26312e;
}

.sb-wpfd-preview__frame {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	background: #ffffff;
}

@keyframes sb-wpfd-card-in {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (max-width: 720px) {
	#contenido .wpfd-content.wpfd-content-table {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding: 0.9rem !important;
		border-radius: 18px !important;
	}

	#contenido .wpfd-content-table table.wpfd-table tbody,
	#contenido .wpfd-content-table table.wpfd-search-result tbody {
		grid-template-columns: 1fr;
	}

	#contenido .wpfd-content-table tr.file {
		min-height: 0;
		padding: 0.92rem !important;
	}

	#contenido .wpfd-content-table td.file_download_tbl,
	#contenido .wpfd-content-table .mediaTableWrapper .mediaTable .col-download {
		grid-template-columns: 1fr;
	}

	.sb-wpfd-preview {
		padding: 0.5rem;
	}

	.sb-wpfd-preview__panel {
		width: 100%;
		height: 94vh;
		border-radius: 14px;
	}

	.sb-wpfd-preview__header {
		align-items: flex-start;
		gap: 0.65rem;
		padding: 0.75rem;
	}

	.sb-wpfd-preview__title {
		white-space: normal;
	}

	.sb-wpfd-preview__external {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	#contenido .wpfd-content-table tr.file {
		opacity: 1;
		transform: none;
		animation: none !important;
		transition: none !important;
	}

	#contenido .wpfd-content-table.wpfd-content .downloadlink,
	#contenido .wpfd-content-table.wpfd-content .openlink {
		transition: none !important;
	}

	.sb-wpfd-preview,
	.sb-wpfd-preview__panel {
		transition: none !important;
	}

	#contenido .wpfd-content-table tr.file:hover,
	#contenido .wpfd-content-table tr.file:focus-within,
	#contenido .wpfd-content-table.wpfd-content .downloadlink:hover,
	#contenido .wpfd-content-table.wpfd-content .downloadlink:focus-visible,
	#contenido .wpfd-content-table.wpfd-content .openlink:hover,
	#contenido .wpfd-content-table.wpfd-content .openlink:focus-visible {
		transform: none !important;
	}
}
