/*
Theme Name: SONDEOS
Theme URI: https://firmasondeos.com
Author: NERDLYTICS
Description: Tema institucional para SONDEOS, firma encuestadora de GALA Media Group. Cada sección de la portada es un bloque de Gutenberg editable desde el panel lateral, con gestión de Estudios (ficha técnica), Índices y Solicitudes de contacto.
Version: 1.2.1
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: sondeos
*/

:root {
	--sd-navy: #0B2540;
	--sd-navy-2: #12345A;
	--sd-blue: #00A5E3;
	--sd-blue-dark: #0070A8;
	--sd-blue-darker: #004E78;
	--sd-ink: #10202F;
	--sd-text: #34495C;
	--sd-muted: #4A5D6E;
	--sd-subtle: #5B6E7F;
	--sd-soft: #F2F8FC;
	--sd-line: #E4EBF1;
	--sd-line-2: #B9CCDB;
	--sd-lima: #D4DB2F;
	--sd-rojo: #BE1E2D;
	--sd-naranja: #E95D2D;
	--sd-verde: #0B6B3A;
	--sd-ambar: #F39223;
	--sd-celeste: #5FC8F0;
	--sd-font-display: 'Archivo', system-ui, sans-serif;
	--sd-font-body: 'Open Sans', system-ui, sans-serif;
	--sd-max: 1240px;
	--sd-gutter: 48px;
}

*, *::before, *::after { box-sizing: border-box; }

body {
	margin: 0;
	background: #FFFFFF;
	color: var(--sd-ink);
	font-family: var(--sd-font-body);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

img { max-width: 100%; height: auto; }
a { color: var(--sd-blue-dark); }
a:hover { color: var(--sd-blue-darker); }
h1, h2, h3, h4 { font-family: var(--sd-font-display); color: var(--sd-navy); line-height: 1.1; }

.screen-reader-text {
	border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0;
	position: absolute; width: 1px; word-wrap: normal !important;
}
.screen-reader-text:focus {
	clip: auto; clip-path: none; height: auto; width: auto; z-index: 100000;
	background: #fff; padding: 12px 18px; left: 8px; top: 8px; color: var(--sd-navy);
}
:focus-visible { outline: 3px solid var(--sd-blue); outline-offset: 2px; }

/* ---------- Utilidades ---------- */
.sd-wrap { max-width: var(--sd-max); margin: 0 auto; }
.sd-section { padding: 104px var(--sd-gutter); }
.sd-section--soft { background: var(--sd-soft); }
.sd-section--dark { background: var(--sd-navy); color: #FFFFFF; }
.sd-eyebrow {
	font-family: var(--sd-font-display); font-size: 13px; font-weight: 700;
	letter-spacing: .18em; text-transform: uppercase; color: var(--sd-blue-dark);
}
.sd-section--dark .sd-eyebrow { color: var(--sd-lima); }
.sd-h2 {
	margin: 16px 0 0; font-family: var(--sd-font-display); font-stretch: 110%;
	font-weight: 900; font-size: 48px; line-height: 1.04; color: var(--sd-navy);
}
.sd-section--dark .sd-h2 { color: #FFFFFF; }
.sd-lead { margin: 0; font-size: 17px; line-height: 1.6; color: var(--sd-muted); max-width: 440px; }
.sd-head-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 24px; }
.sd-stack { display: flex; flex-direction: column; gap: 48px; }

.sd-btn {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 44px; padding: 13px 22px; border-radius: 999px; border: 1px solid transparent;
	font-family: var(--sd-font-display); font-weight: 700; font-size: 15px;
	text-decoration: none; cursor: pointer; line-height: 1.2;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.sd-btn--lg { padding: 16px 28px; font-size: 16px; }
.sd-btn--primary { background: var(--sd-blue-dark); color: #FFFFFF; }
.sd-btn--primary:hover { background: var(--sd-blue-darker); color: #FFFFFF; }
.sd-btn--ghost { background: #FFFFFF; color: var(--sd-navy); border-color: var(--sd-line-2); }
.sd-btn--ghost:hover { border-color: var(--sd-navy); color: var(--sd-navy); }
.sd-btn--navy { background: var(--sd-navy); color: #FFFFFF; }
.sd-btn--navy:hover { background: var(--sd-navy-2); color: #FFFFFF; }

.sd-dot { width: 12px; height: 12px; border-radius: 50%; display: inline-block; flex-shrink: 0; }

/* ---------- Barra superior y cabecera ---------- */
.sd-topbar { background: var(--sd-navy); color: #CFE3F2; font-size: 13px; padding: 8px var(--sd-gutter); }
.sd-topbar .sd-wrap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; }
.sd-topbar strong { color: #FFFFFF; }
.sd-topbar__right { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; }
.sd-topbar__mk { display: inline-flex; align-items: center; gap: 6px; color: var(--sd-lima); font-weight: 700; text-decoration: none; }
.sd-topbar__mk:hover { color: #FFFFFF; text-decoration: underline; }
.sd-topbar__mk--admin { border: 1px dashed var(--sd-lima); border-radius: 999px; padding: 1px 10px; font-weight: 600; }

.sd-header {
	background: #FFFFFF; border-bottom: 1px solid var(--sd-line); padding: 14px var(--sd-gutter);
	position: sticky; top: 0; z-index: 50;
}
.admin-bar .sd-header { top: 32px; }
.sd-header .sd-wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.sd-brand { display: flex; align-items: center; }
.sd-brand img { height: 56px; width: auto; display: block; }
.sd-nav { display: flex; align-items: center; gap: 28px; }
.sd-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 28px; }
.sd-nav a {
	color: var(--sd-ink); text-decoration: none; font-family: var(--sd-font-display);
	font-weight: 600; font-size: 15px;
}
.sd-nav a:hover, .sd-nav .current-menu-item > a { color: var(--sd-blue-dark); }
.sd-menu-toggle {
	display: none; background: none; border: 1px solid var(--sd-line-2); border-radius: 10px;
	width: 44px; height: 44px; align-items: center; justify-content: center; cursor: pointer; color: var(--sd-navy);
}

/* ---------- Hero ---------- */
.sd-hero { background: var(--sd-soft); padding: 88px var(--sd-gutter) 96px; overflow: hidden; }
.sd-hero .sd-wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 56px; }
.sd-hero__copy { flex: 1 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 28px; }
.sd-hero__eyebrow { display: flex; gap: 10px; align-items: flex-start; }
.sd-hero__eyebrow .sd-dot { width: 10px; height: 10px; background: var(--sd-lima); margin-top: 3px; }
.sd-hero__title {
	margin: 0; font-stretch: 112%; font-weight: 900; font-size: 72px;
	line-height: .98; letter-spacing: -.02em; color: var(--sd-navy);
}
.sd-hero__title span { color: var(--sd-blue); }
.sd-hero__text { margin: 0; font-size: 19px; line-height: 1.6; color: var(--sd-text); max-width: 560px; }
.sd-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; }
.sd-hero__visual { flex: 1 1 420px; min-width: 0; position: relative; height: 460px; max-width: 520px; }
.sd-hero__ring {
	position: absolute; left: 50%; top: 50%; width: 380px; height: 380px;
	transform: translate(-50%, -50%) rotate(-150deg);
}
.sd-chip {
	position: absolute; background: #FFFFFF; border-radius: 14px; padding: 14px 18px;
	box-shadow: 0 10px 30px rgba(11,37,64,.12); font-family: var(--sd-font-display);
	font-weight: 700; font-size: 15px; color: var(--sd-navy);
	display: flex; align-items: center; gap: 10px;
}
.sd-chip--1 { left: 0; top: 40px; }
.sd-chip--2 { right: 0; top: 120px; }
.sd-chip--3 { left: 10px; bottom: 70px; }
.sd-chip--4 { right: 20px; bottom: 20px; }

/* ---------- Credenciales ---------- */
.sd-creds { padding: 40px var(--sd-gutter); border-bottom: 1px solid var(--sd-line); background: #FFFFFF; }
.sd-creds .sd-wrap { display: flex; flex-wrap: wrap; gap: 32px; justify-content: space-between; }
.sd-cred { flex: 1 1 260px; display: flex; gap: 14px; align-items: flex-start; }
.sd-cred svg { flex-shrink: 0; color: var(--sd-blue-dark); }
.sd-cred__title { font-family: var(--sd-font-display); font-weight: 800; font-size: 17px; color: var(--sd-navy); }
.sd-cred__text { font-size: 14px; color: var(--sd-muted); margin-top: 4px; line-height: 1.5; }

/* ---------- Nosotros ---------- */
.sd-about .sd-wrap { display: flex; flex-wrap: wrap; gap: 64px; align-items: flex-start; }
.sd-about__head { flex: 1 1 380px; min-width: 0; }
.sd-about__body { flex: 1.3 1 480px; min-width: 0; font-size: 18px; line-height: 1.7; color: var(--sd-text); }
.sd-about__body p { margin: 0 0 20px; }
.sd-about__body p:last-child { margin-bottom: 0; }

/* ---------- Servicios ---------- */
.sd-cards { display: flex; flex-wrap: wrap; gap: 20px; }
.sd-service {
	flex: 1 1 260px; background: #FFFFFF; border-radius: 20px; padding: 32px 28px;
	display: flex; flex-direction: column; gap: 14px;
}
.sd-service__bar { width: 56px; height: 8px; border-radius: 999px; }
.sd-service h3 { margin: 8px 0 0; font-weight: 800; font-size: 22px; }
.sd-service p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--sd-muted); }

/* ---------- Índices ---------- */
.sd-indices__intro { max-width: 720px; }
.sd-indices__intro p { margin: 20px 0 0; font-size: 18px; line-height: 1.6; color: #C3D4E2; }
.sd-index {
	flex: 1 1 320px; background: var(--sd-navy-2); border-radius: 20px; padding: 32px;
	display: flex; flex-direction: column; gap: 16px;
}
.sd-index__meta { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; }
.sd-index__tag { font-family: var(--sd-font-display); font-weight: 700; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; }
.sd-index__date { font-size: 13px; color: #A9BED0; }
.sd-index h3 { margin: 0; font-weight: 800; font-size: 26px; color: #FFFFFF; }
.sd-index p { margin: 0; font-size: 15px; line-height: 1.6; color: #C3D4E2; }
.sd-index__value { font-family: var(--sd-font-display); font-weight: 900; font-size: 44px; color: #FFFFFF; margin-top: 8px; line-height: 1; }
.sd-index__link { font-family: var(--sd-font-display); font-weight: 700; font-size: 15px; text-decoration: none; margin-top: auto; }
.sd-index__link:hover { text-decoration: underline; }

/* ---------- Metodología ---------- */
.sd-steps { display: flex; flex-wrap: wrap; gap: 32px; }
.sd-step { flex: 1 1 240px; border-top: 2px solid var(--sd-navy); padding-top: 20px; }
.sd-step__num { font-family: var(--sd-font-display); font-weight: 900; font-size: 40px; color: var(--sd-blue); line-height: 1.1; }
.sd-step h3 { margin: 10px 0 8px; font-weight: 800; font-size: 20px; }
.sd-step p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--sd-muted); }

/* ---------- Estudios (tarjetas) ---------- */
.sd-study {
	flex: 1 1 320px; background: #FFFFFF; border-radius: 20px; overflow: hidden;
	text-decoration: none; color: var(--sd-ink); display: flex; flex-direction: column;
	border: 1px solid transparent; transition: border-color .15s ease, transform .15s ease;
}
.sd-study:hover { border-color: var(--sd-line-2); transform: translateY(-2px); color: var(--sd-ink); }
.sd-section:not(.sd-section--soft) .sd-study { border-color: var(--sd-line); }
.sd-study__media {
	height: 200px; display: flex; align-items: flex-end; padding: 20px; position: relative; overflow: hidden;
	background-size: cover; background-position: center;
}
.sd-study__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sd-badge {
	position: relative; background: #FFFFFF; color: var(--sd-navy); font-family: var(--sd-font-display);
	font-weight: 700; font-size: 12px; letter-spacing: .12em; text-transform: uppercase;
	padding: 6px 12px; border-radius: 999px;
}
.sd-study__body { padding: 24px 28px 28px; display: flex; flex-direction: column; gap: 10px; }
.sd-study__date { font-size: 13px; color: var(--sd-subtle); }
.sd-study h3 { margin: 0; font-weight: 800; font-size: 21px; line-height: 1.25; }
.sd-study p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--sd-muted); }
.sd-study { max-width: calc((100% - 40px) / 3); }
.sd-empty {
	background: #FFFFFF; border: 1px dashed var(--sd-line-2); border-radius: 20px;
	padding: 40px; text-align: center; color: var(--sd-muted); width: 100%;
}
.sd-more-link { font-family: var(--sd-font-display); font-weight: 700; font-size: 16px; text-decoration: none; }

/* ---------- GALA ---------- */
.sd-gala { padding: 96px var(--sd-gutter); }
.sd-gala__box {
	display: flex; flex-wrap: wrap; gap: 48px; align-items: center;
	border: 1px solid #DCE6EE; border-radius: 28px; padding: 56px;
}
.sd-gala__head { flex: 0 1 320px; min-width: 0; }
.sd-gala__eyebrow { color: var(--sd-subtle); }
.sd-gala__name { font-family: var(--sd-font-display); font-stretch: 115%; font-weight: 900; font-size: 40px; line-height: 1; color: var(--sd-navy); margin-top: 10px; }
.sd-gala__name a { color: inherit; text-decoration: none; }
.sd-gala__stat { margin-top: 28px; }
.sd-gala__num { font-family: var(--sd-font-display); font-weight: 900; font-size: 44px; color: var(--sd-blue); line-height: 1.1; }
.sd-gala__label { font-size: 14px; color: var(--sd-muted); }
.sd-gala__text { flex: 1 1 480px; min-width: 0; margin: 0; font-size: 18px; line-height: 1.7; color: var(--sd-text); }

/* ---------- Contacto ---------- */
.sd-contact { background: var(--sd-blue); padding: 104px var(--sd-gutter); }
.sd-contact .sd-wrap { display: flex; flex-wrap: wrap; gap: 56px; align-items: flex-start; }
.sd-contact__copy { flex: 1 1 380px; min-width: 0; color: var(--sd-navy); }
.sd-contact__title { margin: 0; font-stretch: 112%; font-weight: 900; font-size: 56px; line-height: 1; color: var(--sd-navy); }
.sd-contact__copy > p { margin: 20px 0 0; font-size: 18px; line-height: 1.6; }
.sd-contact__info { margin: 36px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; font-size: 16px; }
.sd-contact__info a { color: var(--sd-navy); }
.sd-contact__info a.sd-btn { color: #FFFFFF; }
.sd-form {
	flex: 1 1 480px; min-width: 0; background: #FFFFFF; border-radius: 24px; padding: 36px;
	display: flex; flex-direction: column; gap: 18px;
}
.sd-form__row { display: flex; flex-wrap: wrap; gap: 18px; }
.sd-form__row > .sd-field { flex: 1 1 200px; }
.sd-field { display: flex; flex-direction: column; gap: 8px; font-family: var(--sd-font-display); font-weight: 700; font-size: 14px; color: var(--sd-navy); }
.sd-field input, .sd-field select, .sd-field textarea {
	font: 400 16px var(--sd-font-body); padding: 12px 14px; border: 1px solid var(--sd-line-2);
	border-radius: 10px; min-height: 48px; background: #FFFFFF; color: var(--sd-ink); width: 100%;
}
.sd-field textarea { resize: vertical; min-height: 120px; }
.sd-field input:focus, .sd-field select:focus, .sd-field textarea:focus { border-color: var(--sd-blue-dark); outline: 2px solid rgba(0,112,168,.25); }
.sd-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.sd-form .sd-btn { align-self: flex-start; min-height: 52px; }
.sd-alert { border-radius: 12px; padding: 14px 16px; font-size: 15px; }
.sd-alert--ok { background: #E7F6EC; color: #0B5A31; }
.sd-alert--error { background: #FCE9EA; color: #8E1622; }

/* ---------- Pie ---------- */
.sd-footer { background: #FFFFFF; padding: 56px var(--sd-gutter) 32px; border-top: 1px solid var(--sd-line); }
.sd-footer .sd-wrap { display: flex; flex-direction: column; gap: 32px; }
.sd-footer__top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 32px; align-items: flex-start; }
.sd-footer__logo img { height: 88px; width: auto; display: block; }
.sd-footer__cols { display: flex; flex-wrap: wrap; gap: 48px; font-size: 15px; }
.sd-footer__col { display: flex; flex-direction: column; gap: 10px; }
.sd-footer__col strong { font-family: var(--sd-font-display); color: var(--sd-navy); }
.sd-footer a { text-decoration: none; }
.sd-footer a:hover { text-decoration: underline; }
.sd-footer__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.sd-footer__band { height: 6px; border-radius: 999px; background: linear-gradient(90deg, var(--sd-lima) 0 40%, var(--sd-rojo) 40% 52%, var(--sd-naranja) 52% 76%, var(--sd-verde) 76% 90%, var(--sd-ambar) 90% 100%); }
.sd-footer__legal { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; font-size: 13px; color: var(--sd-subtle); }

/* ---------- Páginas internas ---------- */
.sd-page-head { background: var(--sd-soft); padding: 72px var(--sd-gutter) 56px; }
.sd-page-head h1 { margin: 12px 0 0; font-stretch: 110%; font-weight: 900; font-size: 52px; line-height: 1.04; }
.sd-page-head p { margin: 16px 0 0; font-size: 18px; color: var(--sd-text); max-width: 720px; }
.sd-content > * { max-width: 760px; margin-left: auto; margin-right: auto; padding-left: var(--sd-gutter); padding-right: var(--sd-gutter); }
.sd-content > .alignwide { max-width: var(--sd-max); }
.sd-content > .alignfull, .sd-content > [class*="wp-block-sondeos-"] { max-width: none; padding-left: 0; padding-right: 0; }
.sd-content > [class*="wp-block-sondeos-"] { margin: 0; padding-left: var(--sd-gutter); padding-right: var(--sd-gutter); }
.sd-content--page { padding: 64px 0 104px; font-size: 18px; line-height: 1.7; color: var(--sd-text); }
.sd-content--page > [class*="wp-block-sondeos-"]:first-child { margin-top: -64px; }
.sd-content--blocks { padding: 0; }

.sd-filter { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.sd-filter a {
	min-height: 40px; display: inline-flex; align-items: center; padding: 8px 16px; border-radius: 999px;
	border: 1px solid var(--sd-line-2); background: #FFFFFF; color: var(--sd-navy);
	text-decoration: none; font-family: var(--sd-font-display); font-weight: 700; font-size: 14px;
}
.sd-filter a[aria-current="page"] { background: var(--sd-navy); border-color: var(--sd-navy); color: #FFFFFF; }

.sd-single { padding: 64px var(--sd-gutter) 104px; }
.sd-single .sd-wrap { display: flex; flex-wrap: wrap; gap: 56px; align-items: flex-start; }
.sd-single__main { flex: 1 1 560px; min-width: 0; font-size: 18px; line-height: 1.7; color: var(--sd-text); }
.sd-single__main img { border-radius: 16px; }
.sd-ficha {
	flex: 0 1 360px; min-width: 0; background: var(--sd-soft); border-radius: 20px; padding: 28px;
	position: sticky; top: 120px;
}
.sd-ficha h2 { margin: 0 0 16px; font-size: 20px; font-weight: 800; }
.sd-ficha dl { margin: 0; display: flex; flex-direction: column; gap: 14px; }
.sd-ficha dt { font-family: var(--sd-font-display); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--sd-subtle); }
.sd-ficha dd { margin: 2px 0 0; font-size: 15px; color: var(--sd-ink); }
.sd-ficha .sd-btn { margin-top: 24px; width: 100%; }

.sd-pagination { margin-top: 48px; display: flex; flex-wrap: wrap; gap: 8px; }
.sd-pagination .page-numbers {
	min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center;
	border-radius: 10px; border: 1px solid var(--sd-line-2); text-decoration: none; color: var(--sd-navy); padding: 0 12px;
}
.sd-pagination .current { background: var(--sd-navy); color: #FFFFFF; border-color: var(--sd-navy); }

.sd-posts { display: flex; flex-direction: column; gap: 32px; }
.sd-post h2 { margin: 0 0 8px; font-size: 28px; }
.sd-post h2 a { color: var(--sd-navy); text-decoration: none; }


/* ---------- Estudio: datos clave, láminas y PDF ---------- */
.sd-back { display: inline-flex; gap: 6px; margin-bottom: 24px; font-family: var(--sd-font-display); font-weight: 700; font-size: 14px; text-decoration: none; }
.sd-keydata {
	margin: 32px 0 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0;
	background: #FFFFFF; border-radius: 20px; overflow: hidden; max-width: 960px;
	box-shadow: 0 10px 30px rgba(11,37,64,.08);
}
.sd-keydata > div { padding: 22px 26px; border-left: 1px solid var(--sd-line); }
.sd-keydata > div:first-child { border-left: 0; }
.sd-keydata dt { font-family: var(--sd-font-display); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--sd-subtle); }
.sd-keydata dd { margin: 6px 0 0; font-family: var(--sd-font-display); font-weight: 800; font-size: 20px; line-height: 1.25; color: var(--sd-navy); }
.sd-single__text { margin-bottom: 40px; }
.sd-laminas { display: flex; flex-direction: column; gap: 32px; scroll-margin-top: 120px; }
.sd-lamina { margin: 0; }
.sd-lamina__link { display: block; border-radius: 12px; overflow: hidden; border: 1px solid var(--sd-line); background: #FFFFFF; cursor: zoom-in; }
.sd-lamina img { display: block; width: 100%; height: auto; border-radius: 0 !important; }
.sd-lamina figcaption { margin-top: 8px; font-size: 13px; color: var(--sd-subtle); text-align: center; }
.sd-pdf { scroll-margin-top: 120px; }
.sd-pdf object { width: 100%; height: 80vh; min-height: 560px; border: 1px solid var(--sd-line); border-radius: 12px; background: var(--sd-soft); }
.sd-share { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--sd-line-2); display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; font-size: 14px; }
.sd-share span { font-family: var(--sd-font-display); font-weight: 700; color: var(--sd-navy); width: 100%; }
.sd-share a { text-decoration: none; font-weight: 600; }
.sd-study__datos { margin-top: 4px; font-family: var(--sd-font-display); font-size: 13px; font-weight: 700; color: var(--sd-blue-dark); }
.sd-study__media.has-cover { align-items: flex-start; }
.sd-study__media.has-cover img { object-position: 50% 32%; }

.sd-lightbox { width: 100vw; height: 100vh; max-width: none; max-height: none; margin: 0; padding: 56px 72px 48px; border: 0; background: #0B2540; color: #FFFFFF; }
.sd-lightbox[open] { display: flex; align-items: center; justify-content: center; }
.sd-lightbox::backdrop { background: rgba(11,37,64,.6); }
.sd-lightbox img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 8px; background: #FFFFFF; }
.sd-lightbox button { position: absolute; border: 0; background: rgba(255,255,255,.12); color: #FFFFFF; width: 48px; height: 48px; border-radius: 50%; font-size: 30px; line-height: 1; cursor: pointer; }
.sd-lightbox button:hover { background: rgba(255,255,255,.24); }
.sd-lightbox__close { top: 16px; right: 16px; }
.sd-lightbox__prev { left: 16px; top: 50%; transform: translateY(-50%); }
.sd-lightbox__next { right: 16px; top: 50%; transform: translateY(-50%); }
.sd-lightbox__count { position: absolute; bottom: 12px; left: 0; right: 0; margin: 0; text-align: center; font-size: 14px; color: #C3D4E2; }
@media (max-width: 760px) {
	.sd-keydata > div { border-left: 0; border-top: 1px solid var(--sd-line); }
	.sd-keydata > div:first-child { border-top: 0; }
	.sd-lightbox { padding: 64px 8px 48px; }
	.sd-lightbox__prev, .sd-lightbox__next { top: auto; bottom: 6px; transform: none; }
	.sd-pdf object { height: 70vh; min-height: 420px; }
}

/* ---------- Responsive ---------- */
@media (max-width: 960px) {
	.sd-study { max-width: none; }
	.sd-hero__title { font-size: 56px; }
}
@media (max-width: 782px) {
	.admin-bar .sd-header { top: 46px; }
}
@media (max-width: 760px) {
	:root { --sd-gutter: 20px; }
	.sd-section, .sd-contact { padding-top: 72px; padding-bottom: 72px; }
	.sd-hero { padding-top: 56px; padding-bottom: 64px; }
	.sd-hero__title { font-size: 44px; }
	.sd-h2, .sd-page-head h1 { font-size: 34px; }
	.sd-contact__title { font-size: 40px; }
	.sd-hero__visual { height: 380px; }
	.sd-hero__ring { width: 300px; height: 300px; }
	.sd-gala__box { padding: 32px; }
	.sd-form { padding: 24px; }
	.sd-brand img { height: 44px; }
	.sd-menu-toggle { display: inline-flex; }
	.sd-nav { order: 3; width: 100%; display: none; flex-direction: column; align-items: stretch; gap: 16px; padding: 8px 0 4px; }
	.sd-nav.is-open { display: flex; }
	.sd-nav ul { flex-direction: column; gap: 4px; }
	.sd-nav ul a { display: block; padding: 10px 0; }
	.sd-header__cta { display: none; }
	.sd-nav .sd-btn { display: inline-flex; }
}
@media (min-width: 761px) {
	.sd-nav .sd-nav__cta-mobile { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; }
}

/* Editor: secciones pegadas como en el sitio. */
.sd-block-preview { margin-top: 0 !important; margin-bottom: 0 !important; }
