/* ==========================================================================
   Portal Docente — estilos principales
   ========================================================================== */

:root {
	--pd-navy: #0E3350;
	--pd-blue: #174A6E;
	--pd-accent: #1D5F8C;
	--pd-yellow: #FFD24C;
	--pd-yellow-ink: #2A1F00;
	--pd-yellow-soft: #FFF3CC;
	--pd-cream: #FFF6D6;
	--pd-cream-line: #F2DE9A;
	--pd-sky: #EEF4F9;
	--pd-sky-2: #E3EEF7;
	--pd-sky-line: #C8D6E3;
	--pd-gray-bg: #F6F8FA;
	--pd-line: #E3E8EE;
	--pd-ink: #18232E;
	--pd-ink-2: #2A3744;
	--pd-muted: #3A4756;
	--pd-muted-2: #4A5868;
	--pd-on-navy: #C9D8E6;
	--pd-amber: #8A5A00;
	--pd-green: #1D7A4A;
	--pd-red: #8A2A14;
	--pd-display: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;
	--pd-body: "Source Sans 3", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
	--pd-radius: 18px;
	--pd-radius-lg: 28px;
	--pd-wrap: 1200px;
	--pd-gutter: 24px;
}

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

html { -webkit-text-size-adjust: 100%; scroll-padding-top: 24px; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }

body {
	margin: 0;
	background: #FFFFFF;
	color: var(--pd-ink);
	font-family: var(--pd-body);
	font-size: 17px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

img, svg, video { max-width: 100%; height: auto; }
a { color: var(--pd-blue); }
a:hover { color: var(--pd-navy); }
:focus-visible { outline: 3px solid var(--pd-yellow); outline-offset: 2px; border-radius: 4px; }

.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 !important;
	width: 1px; word-wrap: normal !important;
}
.pd-skip {
	position: absolute; left: 12px; top: -60px; z-index: 1000;
	background: var(--pd-yellow); color: var(--pd-yellow-ink); padding: 10px 16px; border-radius: 10px; font-weight: 700;
}
.pd-skip:focus { top: 12px; }

.pd-wrap { max-width: var(--pd-wrap); margin: 0 auto; padding-left: var(--pd-gutter); padding-right: var(--pd-gutter); }
@media (max-width: 600px) { :root { --pd-gutter: 16px; } }

.pd-icon { flex: none; display: block; }

/* ---------- Tipografía utilitaria ---------- */
.pd-kicker {
	display: block; font-weight: 700; font-size: 14px; letter-spacing: .08em; text-transform: uppercase;
	color: var(--pd-amber); margin-bottom: 8px;
}
.pd-kicker--yellow { color: var(--pd-yellow); }
.pd-h2 {
	margin: 0; font-family: var(--pd-display); font-weight: 800; font-size: 32px; line-height: 1.12;
	color: var(--pd-navy); letter-spacing: -.01em;
}
.pd-h2--lg { font-size: clamp(30px, 4vw, 40px); }
.pd-more { font-weight: 700; text-decoration: none; padding: 10px 0; }

/* ---------- Botones y etiquetas ---------- */
.pd-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 48px; padding: 0 24px; border-radius: 12px; border: 0;
	font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; line-height: 1.2;
}
.pd-btn--accent { background: var(--pd-accent); color: #FFFFFF; }
.pd-btn--accent:hover { background: var(--pd-navy); color: #FFFFFF; }
.pd-btn--navy { background: var(--pd-navy); color: #FFFFFF; }
.pd-btn--navy:hover { background: var(--pd-blue); color: #FFFFFF; }
.pd-btn--yellow { background: var(--pd-yellow); color: var(--pd-yellow-ink); }
.pd-btn--yellow:hover { background: #FFC61A; color: var(--pd-yellow-ink); }
.pd-btn--outline-dark { border: 2px solid var(--pd-yellow-ink); color: var(--pd-yellow-ink); background: transparent; }
.pd-btn--block { width: 100%; }

.pd-badge {
	display: inline-block; font-weight: 700; font-size: 14px; padding: 6px 14px; border-radius: 999px;
}
.pd-badge--yellow { background: var(--pd-yellow); color: #3D2E00; }

.pd-chip {
	display: inline-block; font-weight: 700; font-size: 13px; line-height: 1.4; padding: 3px 10px;
	border-radius: 999px; text-decoration: none; white-space: nowrap;
}
.pd-chip--cool { background: var(--pd-sky-2); color: var(--pd-blue); }
.pd-chip--warm { background: var(--pd-yellow-soft); color: #6B4600; }
.pd-chip--solid { font-size: 14px; padding: 4px 12px; }
.pd-chip--solid.pd-chip--cool { background: var(--pd-yellow); color: #3D2E00; }
.pd-chip--solid.pd-chip--warm { background: var(--pd-navy); color: #FFFFFF; }
.pd-chip--outline { background: #FFFFFF; color: var(--pd-blue); border: 1px solid var(--pd-sky-line); font-size: 14px; padding: 3px 12px; }
a.pd-chip:hover { filter: brightness(.96); }

.pd-tag {
	display: inline-block; font-size: 15px; font-weight: 600; padding: 8px 14px; border-radius: 999px;
	background: #FFFFFF; border: 1px solid var(--pd-sky-line); color: var(--pd-blue); text-decoration: none;
}
.pd-tag:hover { border-color: var(--pd-blue); color: var(--pd-navy); }

.pd-pill {
	min-height: 44px; padding: 0 22px; border-radius: 999px; border: 2px solid var(--pd-sky-line);
	background: #FFFFFF; color: var(--pd-muted); font: inherit; font-weight: 700; cursor: pointer;
}
.pd-pill--strong { border-color: var(--pd-navy); color: var(--pd-navy); }
.pd-pill:hover { border-color: var(--pd-navy); color: var(--pd-navy); }

/* ---------- Barra superior ---------- */
.pd-topbar { background: var(--pd-navy); color: #DCE8F2; font-size: 14px; }
.pd-topbar__inner { display: flex; flex-wrap: wrap; gap: 6px 24px; justify-content: space-between; align-items: center; padding-top: 8px; padding-bottom: 8px; }
.pd-topbar a { color: var(--pd-yellow); font-weight: 600; text-decoration: none; }
.pd-topbar a:hover { color: #FFFFFF; text-decoration: underline; }

/* ---------- Encabezado ---------- */
.pd-header { background: #FFFFFF; border-bottom: 1px solid var(--pd-line); position: relative; z-index: 50; }
.pd-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px 32px; padding-top: 14px; padding-bottom: 14px; }

.pd-brand { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--pd-navy); }
.pd-brand:hover { color: var(--pd-navy); }
.pd-brand__mark {
	width: 44px; height: 44px; border-radius: 12px; background: var(--pd-accent); color: #FFFFFF; flex: none;
	display: flex; align-items: center; justify-content: center; font-family: var(--pd-display); font-weight: 800; font-size: 19px;
}
.pd-brand__text { display: flex; flex-direction: column; line-height: 1.15; }
.pd-brand__name { font-family: var(--pd-display); font-weight: 800; font-size: 21px; }
.pd-brand__tag { font-size: 13px; color: var(--pd-muted-2); }
.custom-logo-link { display: block; }
.custom-logo { max-height: 56px; width: auto; display: block; }

.pd-nav { display: flex; align-items: center; gap: 6px; }
.pd-nav ul { list-style: none; margin: 0; padding: 0; }
.pd-nav__list { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 4px; }
.pd-nav__list > li { position: relative; }
.pd-nav__list a {
	display: block; padding: 10px 12px; text-decoration: none; font-weight: 600; color: var(--pd-ink);
	border-bottom: 3px solid transparent;
}
.pd-nav__list a:hover { color: var(--pd-blue); }
.pd-nav__list .current-menu-item > a,
.pd-nav__list .current-menu-ancestor > a,
.pd-nav__list .current-post-ancestor > a,
.pd-nav__list .current-category-ancestor > a { color: var(--pd-blue); font-weight: 700; border-bottom-color: var(--pd-yellow); }
.pd-nav__list .sub-menu {
	position: absolute; top: 100%; left: 0; min-width: 220px; background: #FFFFFF; border: 1px solid var(--pd-line);
	border-radius: 14px; padding: 8px; box-shadow: 0 12px 32px rgba(14, 51, 80, .12); display: none;
}
.pd-nav__list li:hover > .sub-menu,
.pd-nav__list li:focus-within > .sub-menu { display: block; }
.pd-nav__list .sub-menu a { border: 0; border-radius: 8px; }
.pd-nav__list .sub-menu a:hover { background: var(--pd-sky); }
.pd-nav__cta {
	margin-left: 8px; padding: 9px 18px; border-radius: 999px; border: 2px solid var(--pd-navy);
	text-decoration: none; font-weight: 700; color: var(--pd-navy); white-space: nowrap;
}
.pd-nav__cta:hover { background: var(--pd-navy); color: #FFFFFF; }

.pd-nav-toggle {
	display: none; width: 48px; height: 48px; border-radius: 12px; border: 1px solid var(--pd-line); background: #FFFFFF;
	color: var(--pd-navy); align-items: center; justify-content: center; cursor: pointer;
}
.pd-nav-toggle__close { display: none; }
.pd-nav-toggle[aria-expanded="true"] .pd-nav-toggle__open { display: none; }
.pd-nav-toggle[aria-expanded="true"] .pd-nav-toggle__close { display: block; }

@media (max-width: 960px) {
	.pd-nav-toggle { display: inline-flex; }
	.pd-nav {
		display: none; position: absolute; left: 0; right: 0; top: 100%; background: #FFFFFF;
		border-bottom: 1px solid var(--pd-line); box-shadow: 0 16px 32px rgba(14, 51, 80, .12);
		flex-direction: column; align-items: stretch; padding: 8px var(--pd-gutter) 20px;
	}
	.pd-nav.is-open { display: flex; }
	.pd-nav__list { flex-direction: column; align-items: stretch; }
	.pd-nav__list a { padding: 14px 4px; border-bottom: 1px solid var(--pd-line); }
	.pd-nav__list .current-menu-item > a { border-bottom-color: var(--pd-line); box-shadow: inset 4px 0 0 var(--pd-yellow); padding-left: 14px; }
	.pd-nav__list .sub-menu { position: static; display: block; border: 0; box-shadow: none; padding: 0 0 0 16px; }
	.pd-nav__cta { margin: 16px 0 0; text-align: center; padding: 12px; }
}

/* ---------- Secciones ---------- */
.pd-section { padding: 80px 0; }
.pd-section--tight { padding: 56px 0 0; }
.pd-section--flush { padding: 0 0 80px; }
.pd-section--alt { background: var(--pd-gray-bg); border-top: 1px solid var(--pd-line); border-bottom: 1px solid var(--pd-line); }
.pd-section--tight + .pd-section { padding-top: 64px; }
.pd-section__head { display: flex; flex-wrap: wrap; gap: 12px 24px; justify-content: space-between; align-items: flex-end; margin-bottom: 28px; }
.pd-section__head--stack { display: block; }
.pd-section__head--stack p { margin: 8px 0 0; color: var(--pd-muted); max-width: 640px; }
@media (max-width: 600px) { .pd-section { padding: 56px 0; } .pd-section--flush { padding-bottom: 56px; } }

.pd-grid { display: grid; gap: 20px; }
.pd-grid--3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.pd-grid--auto { grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }

/* ---------- Portada: hero ---------- */
.pd-hero { background: var(--pd-sky); border-bottom: 1px solid #DCE6EF; }
.pd-hero__inner { display: flex; flex-wrap: wrap; gap: 48px; align-items: center; padding-top: 72px; padding-bottom: 80px; }
.pd-hero__main { flex: 999 1 520px; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 24px; }
.pd-hero__title {
	margin: 0; font-family: var(--pd-display); font-weight: 800; font-size: clamp(38px, 5.4vw, 60px);
	line-height: 1.03; letter-spacing: -.02em; color: var(--pd-navy);
}
.pd-hero__lead { margin: 0; font-size: 20px; color: var(--pd-muted); max-width: 560px; }
@media (max-width: 600px) { .pd-hero__inner { padding-top: 40px; padding-bottom: 48px; gap: 32px; } .pd-hero__lead { font-size: 18px; } }

.pd-search { width: 100%; max-width: 600px; display: flex; flex-direction: column; gap: 8px; }
.pd-search__label { font-weight: 700; font-size: 15px; color: var(--pd-navy); }
.pd-search__box { display: flex; flex-wrap: wrap; gap: 8px; background: #FFFFFF; border: 2px solid var(--pd-sky-line); border-radius: 16px; padding: 6px; }
.pd-search__box:focus-within { border-color: var(--pd-accent); }
.pd-search__input {
	flex: 1 1 220px; min-width: 0; border: 0; outline: none; font: inherit; font-size: 17px;
	padding: 10px 12px; background: transparent; color: var(--pd-ink);
}
.pd-search .pd-btn { min-height: 48px; }

.pd-popular { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.pd-popular__label { font-size: 15px; color: var(--pd-muted-2); margin-right: 4px; }

.pd-start {
	flex: 1 1 340px; min-width: 0; background: #FFFFFF; border-radius: 24px; padding: 28px;
	box-shadow: 0 1px 2px rgba(14, 51, 80, .06), 0 12px 32px rgba(14, 51, 80, .10);
}
.pd-start__title { margin: 0 0 12px; font-family: var(--pd-display); font-weight: 700; font-size: 22px; color: var(--pd-navy); }
.pd-start__list { list-style: none; margin: 0; padding: 0; }
.pd-start__list a { display: flex; gap: 14px; align-items: flex-start; padding: 14px 8px; border-top: 1px solid var(--pd-line); text-decoration: none; color: var(--pd-ink); border-radius: 10px; }
.pd-start__list a:hover { background: var(--pd-sky); }
.pd-start__num {
	flex: none; width: 36px; height: 36px; border-radius: 10px; background: var(--pd-sky-2); color: var(--pd-blue);
	display: flex; align-items: center; justify-content: center; font-family: var(--pd-display); font-weight: 800;
}
.pd-start__text { display: flex; flex-direction: column; line-height: 1.35; }
.pd-start__text span { font-size: 15px; color: var(--pd-muted-2); }

/* ---------- Portada: fechas ---------- */
.pd-dates { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); }
.pd-date { display: flex; gap: 14px; align-items: center; padding: 18px; border-radius: var(--pd-radius); border: 1px solid var(--pd-line); }
.pd-date__day {
	flex: none; width: 60px; padding: 8px 0; border-radius: 12px; background: var(--pd-sky-2); color: var(--pd-navy);
	display: flex; flex-direction: column; align-items: center; line-height: 1;
}
.pd-date__day strong { font-family: var(--pd-display); font-weight: 800; font-size: 26px; }
.pd-date__day span { font-size: 13px; font-weight: 700; text-transform: uppercase; margin-top: 2px; }
.pd-date__text { display: flex; flex-direction: column; line-height: 1.3; }
.pd-date__text strong { color: var(--pd-navy); }
.pd-date__text span { font-size: 15px; color: var(--pd-muted-2); }
.pd-date--hl { background: var(--pd-navy); border-color: var(--pd-navy); }
.pd-date--hl .pd-date__day { background: var(--pd-yellow); color: var(--pd-yellow-ink); }
.pd-date--hl .pd-date__text strong { color: #FFFFFF; }
.pd-date--hl .pd-date__text span { color: var(--pd-on-navy); }

/* ---------- Portada: categorías ---------- */
.pd-cat {
	display: flex; flex-direction: column; gap: 12px; padding: 28px; border: 1px solid var(--pd-line); border-radius: 20px;
	text-decoration: none; color: var(--pd-ink); background: #FFFFFF; transition: border-color .15s, box-shadow .15s;
}
.pd-cat:hover { border-color: var(--pd-sky-line); box-shadow: 0 10px 28px rgba(14, 51, 80, .08); color: var(--pd-ink); }
.pd-cat__icon { width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center; }
.pd-cat__icon--cool { background: var(--pd-sky-2); color: var(--pd-blue); }
.pd-cat__icon--warm { background: var(--pd-yellow-soft); color: var(--pd-amber); }
.pd-cat__name { font-family: var(--pd-display); font-weight: 700; font-size: 22px; color: var(--pd-navy); }
.pd-cat__desc { color: var(--pd-muted); }
.pd-cat__more { margin-top: auto; font-weight: 700; color: var(--pd-blue); }

/* ---------- Portada: niveles ---------- */
.pd-levels { background: var(--pd-navy); color: #FFFFFF; border-radius: var(--pd-radius-lg); padding: 56px 48px; display: flex; flex-wrap: wrap; gap: 40px; align-items: center; }
.pd-levels__intro { flex: 1 1 320px; min-width: 0; }
.pd-levels__intro .pd-h2 { color: #FFFFFF; }
.pd-levels__intro p { margin: 16px 0 0; color: var(--pd-on-navy); font-size: 18px; }
.pd-levels__grid { flex: 2 1 520px; min-width: 0; display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); }
.pd-level { display: flex; flex-direction: column; gap: 6px; padding: 24px; border-radius: 18px; background: #FFFFFF; color: var(--pd-ink); text-decoration: none; }
.pd-level:hover { color: var(--pd-ink); box-shadow: 0 0 0 3px var(--pd-yellow); }
.pd-level__name { font-family: var(--pd-display); font-weight: 800; font-size: 26px; color: var(--pd-navy); }
.pd-level__desc { color: var(--pd-muted); }
.pd-level__more { margin-top: 12px; font-weight: 700; color: var(--pd-blue); }
.pd-level--yellow { background: var(--pd-yellow); }
.pd-level--yellow .pd-level__name, .pd-level--yellow .pd-level__more { color: var(--pd-yellow-ink); }
.pd-level--yellow .pd-level__desc { color: #4A3A00; }
.pd-level--yellow:hover { box-shadow: 0 0 0 3px #FFFFFF; }
@media (max-width: 600px) { .pd-levels { padding: 36px 24px; } }

/* ---------- Tarjetas de artículo ---------- */
.pd-card { min-width: 0; }
.pd-card__link {
	display: flex; flex-direction: column; height: 100%; background: #FFFFFF; border: 1px solid var(--pd-line);
	border-radius: var(--pd-radius); overflow: hidden; text-decoration: none; color: var(--pd-ink); transition: box-shadow .15s, border-color .15s;
}
.pd-card__link:hover { border-color: var(--pd-sky-line); box-shadow: 0 10px 28px rgba(14, 51, 80, .08); color: var(--pd-ink); }
.pd-card__link:hover .pd-card__title { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.pd-card__media { aspect-ratio: 16 / 9; background: var(--pd-sky-2); overflow: hidden; }
.pd-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pd-card__media--placeholder { display: flex; align-items: flex-end; padding: 16px; font-family: var(--pd-display); font-weight: 800; font-size: 24px; line-height: 1.1; }
.pd-card__media--cool { background: var(--pd-blue); color: #FFFFFF; }
.pd-card__media--warm { background: var(--pd-yellow); color: var(--pd-yellow-ink); }
.pd-card__body { padding: 20px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.pd-card__meta { margin: 0; display: flex; flex-wrap: wrap; gap: 8px 10px; align-items: center; font-size: 14px; color: var(--pd-muted-2); }
.pd-card__date { margin: 0; font-size: 14px; color: var(--pd-muted-2); }
.pd-card__title { margin: 0; font-weight: 700; font-size: 19px; line-height: 1.3; color: var(--pd-navy); }
.pd-card__title--lg { font-family: var(--pd-display); font-size: clamp(24px, 3vw, 30px); line-height: 1.15; }
.pd-card__excerpt { margin: 0; font-size: 16px; color: var(--pd-muted); line-height: 1.5; }

.pd-card--feature .pd-card__media--tall { aspect-ratio: 16 / 8; }
.pd-card--feature .pd-card__media--placeholder { font-size: clamp(30px, 4vw, 44px); padding: 28px; }
.pd-card--feature .pd-card__body { padding: 28px; gap: 10px; }

.pd-card--row .pd-card__link { flex-direction: row; gap: 16px; padding: 16px; align-items: center; }
.pd-card--row .pd-card__media { flex: none; width: 96px; height: 96px; aspect-ratio: auto; border-radius: 12px; }
.pd-card--row .pd-card__media--placeholder { font-size: 14px; padding: 10px; align-items: center; justify-content: center; text-align: center; background: #DCE8F2; color: var(--pd-blue); }
.pd-card--row .pd-card__body { padding: 0; gap: 4px; }
.pd-card--row .pd-card__title { font-size: 18px; }

.pd-card--related .pd-card__body { padding: 24px; }
.pd-card--related .pd-card__meta { margin-bottom: 2px; }

.pd-latest { display: flex; flex-wrap: wrap; gap: 24px; }
.pd-latest__feature { flex: 999 1 460px; min-width: 0; }
.pd-latest__list { flex: 1 1 360px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.pd-latest__list .pd-card { flex: 1; }
.pd-latest__more { margin-top: 24px; }

/* ---------- Portada: proyecto ---------- */
.pd-about { display: flex; flex-wrap: wrap; gap: 48px; align-items: flex-start; }
.pd-about__intro { flex: 1 1 340px; min-width: 0; }
.pd-about__intro p { margin: 16px 0 0; color: var(--pd-muted); font-size: 18px; }
.pd-about__items { flex: 2 1 520px; min-width: 0; display: grid; gap: 32px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); }
.pd-about__item { padding-top: 20px; border-top: 3px solid var(--pd-navy); }
.pd-about__item--yellow { border-top-color: var(--pd-yellow); }
.pd-about__item h3 { margin: 0 0 8px; font-family: var(--pd-display); font-weight: 700; font-size: 21px; color: var(--pd-navy); }
.pd-about__item p { margin: 0; color: var(--pd-muted); }

/* ---------- Portada: enlaces oficiales ---------- */
.pd-official { display: flex; gap: 14px; align-items: center; padding: 20px; border-radius: 16px; background: #FFFFFF; border: 1px solid var(--pd-line); text-decoration: none; color: var(--pd-ink); }
.pd-official:hover { border-color: var(--pd-sky-line); box-shadow: 0 8px 24px rgba(14, 51, 80, .08); color: var(--pd-ink); }
.pd-official__icon { flex: none; width: 44px; height: 44px; border-radius: 12px; display: flex; align-items: center; justify-content: center; }
.pd-official__icon--cool { background: var(--pd-sky-2); color: var(--pd-blue); }
.pd-official__icon--warm { background: var(--pd-yellow-soft); color: var(--pd-amber); }
.pd-official__text { display: flex; flex-direction: column; line-height: 1.3; min-width: 0; }
.pd-official__text strong { color: var(--pd-navy); }
.pd-official__text span { font-size: 15px; color: var(--pd-muted-2); }
.pd-official__text small { font-size: 13px; color: var(--pd-muted-2); overflow-wrap: anywhere; }

/* ---------- Portada: preguntas ---------- */
.pd-faq { display: flex; flex-wrap: wrap; gap: 40px; align-items: flex-start; }
.pd-faq__intro { flex: 1 1 300px; min-width: 0; }
.pd-faq__intro p { margin: 12px 0 0; color: var(--pd-muted); }
.pd-faq__list { flex: 2 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }

.pd-details { border: 1px solid var(--pd-line); border-radius: 16px; padding: 0; background: #FFFFFF; }
.pd-details summary {
	cursor: pointer; list-style: none; padding: 18px 56px 18px 22px; font-weight: 700; font-size: 18px; color: var(--pd-navy);
	position: relative; line-height: 1.35;
}
.pd-details summary::-webkit-details-marker { display: none; }
.pd-details summary::after {
	content: ""; position: absolute; right: 22px; top: 50%; width: 10px; height: 10px; margin-top: -7px;
	border-right: 2.5px solid var(--pd-blue); border-bottom: 2.5px solid var(--pd-blue); transform: rotate(45deg); transition: transform .15s;
}
.pd-details[open] summary::after { transform: rotate(-135deg); margin-top: -2px; }
.pd-details > p { margin: 0; padding: 0 22px 20px; color: var(--pd-muted); }

/* ---------- Contacto ---------- */
.pd-contact { background: var(--pd-yellow); border-radius: var(--pd-radius-lg); padding: 56px 48px; display: flex; flex-wrap: wrap; gap: 32px; align-items: center; justify-content: space-between; }
.pd-contact__text { flex: 1 1 420px; min-width: 0; }
.pd-contact .pd-h2 { color: var(--pd-yellow-ink); }
.pd-contact p { margin: 12px 0 0; font-size: 18px; color: #4A3A00; }
.pd-contact__actions { display: flex; flex-wrap: wrap; gap: 12px; }
@media (max-width: 600px) { .pd-contact { padding: 36px 24px; } }

/* ---------- Artículo ---------- */
.pd-article__hero { background: var(--pd-sky); border-bottom: 1px solid #DCE6EF; }
.pd-article__hero--warm { background: var(--pd-cream); border-bottom-color: var(--pd-cream-line); }
.pd-article__hero-inner { padding-top: 32px; padding-bottom: 56px; display: flex; flex-direction: column; gap: 18px; }
.pd-article__hero-inner > * { margin: 0; }
.pd-archive__hero .pd-kicker { margin-bottom: -10px; }

.pd-crumbs { font-size: 15px; color: var(--pd-muted-2); display: flex; flex-wrap: wrap; gap: 6px 8px; align-items: center; }
.pd-crumbs a { text-decoration: none; }
.pd-crumbs a:hover { text-decoration: underline; }
.pd-article__hero--warm .pd-crumbs { color: #5C4A12; }

.pd-article__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.pd-article__title {
	max-width: 900px; font-family: var(--pd-display); font-weight: 800; font-size: clamp(34px, 5vw, 54px);
	line-height: 1.05; letter-spacing: -.02em; color: var(--pd-navy);
}
.pd-article__lead { max-width: 720px; font-size: 20px; color: var(--pd-muted); }
.pd-article__lead p { margin: 0; }
.pd-article__meta { display: flex; flex-wrap: wrap; gap: 8px 24px; align-items: center; font-size: 15px; color: var(--pd-muted-2); }
.pd-article__hero--warm .pd-article__meta { color: #5C4A12; }
.pd-article__author { display: inline-flex; align-items: center; gap: 10px; }
.pd-article__author img { border-radius: 50%; }
.pd-archive__search { width: 100%; max-width: 600px; }

.pd-article__thumb { margin-top: 32px; }
.pd-article__thumb img { width: 100%; max-height: 520px; object-fit: cover; border-radius: var(--pd-radius-lg); display: block; }

.pd-article__body { display: flex; flex-wrap: wrap; gap: 48px; align-items: flex-start; padding-top: 48px; padding-bottom: 64px; }
.pd-article__side { flex: 1 1 260px; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.pd-article__content { flex: 999 1 600px; min-width: 0; max-width: 780px; }
.pd-article__body--solo .pd-article__content { margin: 0 auto; }
.pd-mobile-tools { display: none; }
@media (max-width: 999px) {
	.pd-article__body { gap: 32px; padding-top: 32px; }
	.pd-article__side { order: 2; }
	.pd-article__side .pd-toc,
	.pd-article__side .pd-official-box { display: none; }
	.pd-mobile-tools { display: flex; flex-direction: column; gap: 12px; margin-bottom: 28px; }
	.pd-toc-mobile ol { margin: 0; padding: 0 22px 16px 40px; display: flex; flex-direction: column; gap: 6px; }
	.pd-toc-mobile a { text-decoration: none; display: block; padding: 4px 0; }
}

.pd-toc { border: 1px solid var(--pd-line); border-radius: var(--pd-radius); padding: 22px; font-size: 16px; }
.pd-toc__title { margin: 0 0 8px; font-weight: 700; color: var(--pd-navy); }
.pd-toc ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.pd-toc a { display: block; padding: 8px 10px; border-radius: 10px; text-decoration: none; color: var(--pd-muted); line-height: 1.35; }
.pd-toc a:hover { background: var(--pd-gray-bg); color: var(--pd-navy); }
.pd-toc a.is-active { background: var(--pd-sky); color: var(--pd-blue); font-weight: 700; }

.pd-official-box { background: var(--pd-navy); color: #FFFFFF; border-radius: var(--pd-radius); padding: 22px; display: flex; flex-direction: column; gap: 12px; }
.pd-official-box p { margin: 0; }
.pd-official-box__title { font-family: var(--pd-display); font-weight: 700; font-size: 19px; line-height: 1.25; }
.pd-official-box__text { font-size: 15px; color: var(--pd-on-navy); line-height: 1.5; }
.pd-official-box__host { font-size: 13px; color: var(--pd-on-navy); text-align: center; }

.pd-box { border: 1px solid var(--pd-line); border-radius: var(--pd-radius); padding: 22px; font-size: 16px; }
.pd-box__title { margin: 0 0 10px; font-size: 17px; font-weight: 700; color: var(--pd-navy); }
.pd-box ul { margin: 0; padding-left: 18px; }

.pd-feedback { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between; padding: 22px 0; margin-top: 48px; border-top: 1px solid var(--pd-line); border-bottom: 1px solid var(--pd-line); }
.pd-feedback p { margin: 0; }
.pd-feedback__q { font-weight: 700; color: var(--pd-navy); }
.pd-feedback__actions { display: flex; gap: 10px; }
.pd-feedback__thanks { font-weight: 700; color: var(--pd-green); }
.pd-feedback__more { margin-left: 8px; font-weight: 600; }

.pd-author { display: flex; gap: 18px; align-items: flex-start; margin-top: 32px; padding: 22px; border-radius: var(--pd-radius); background: var(--pd-sky); }
.pd-author__img { border-radius: 50%; flex: none; }
.pd-author p { margin: 0; }
.pd-author__label { font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--pd-amber); }
.pd-author__name { font-weight: 700; font-size: 19px; }
.pd-author__name a { color: var(--pd-navy); text-decoration: none; }
.pd-author__bio { margin-top: 4px !important; color: var(--pd-muted); font-size: 16px; }

.pd-article__tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0 0; }

.pd-related .pd-h2 { margin-bottom: 24px; }

.pd-pages { margin-top: 32px; display: flex; gap: 8px; align-items: center; font-weight: 700; }
.pd-pages a, .pd-pages > span { padding: 6px 12px; border-radius: 8px; border: 1px solid var(--pd-line); }

/* ---------- Paginación ---------- */
.pd-pagination { margin-top: 40px; }
.pd-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.pd-pagination .page-numbers {
	min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0 14px;
	border-radius: 12px; border: 1px solid var(--pd-line); text-decoration: none; font-weight: 700; color: var(--pd-navy); background: #FFFFFF;
}
.pd-pagination .page-numbers.current { background: var(--pd-navy); border-color: var(--pd-navy); color: #FFFFFF; }
.pd-pagination a.page-numbers:hover { border-color: var(--pd-navy); }

.pd-empty { max-width: 640px; }
.pd-empty p { color: var(--pd-muted); }

/* ---------- Comentarios ---------- */
.pd-comments { margin-top: 48px; }
.pd-comments .pd-h2 { font-size: 26px; margin-bottom: 16px; }
.pd-comments__list { list-style: none; margin: 0 0 32px; padding: 0; }
.pd-comments__list .comment { padding: 18px 0; border-top: 1px solid var(--pd-line); }
.pd-comments__list .children { list-style: none; padding-left: 24px; }
.pd-comments .comment-author { display: flex; align-items: center; gap: 10px; font-weight: 700; }
.pd-comments .comment-author img { border-radius: 50%; }
.pd-comments .comment-metadata { font-size: 14px; }
.pd-comments .comment-metadata a { color: var(--pd-muted-2); text-decoration: none; }
.comment-form label { display: block; font-weight: 700; margin-bottom: 4px; }
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
	width: 100%; font: inherit; padding: 12px 14px; border: 2px solid var(--pd-sky-line); border-radius: 12px; background: #FFFFFF; color: var(--pd-ink);
}
.comment-form textarea:focus, .comment-form input:focus { border-color: var(--pd-accent); outline: none; }
.comment-form .comment-form-cookies-consent label { display: inline; font-weight: 400; }

/* ---------- Pie ---------- */
.pd-footer { background: var(--pd-navy); color: var(--pd-on-navy); }
.pd-footer .pd-wrap { padding-top: 64px; padding-bottom: 32px; }
.pd-footer__cols { display: flex; flex-wrap: wrap; gap: 40px; }
.pd-footer__about { flex: 2 1 320px; min-width: 0; }
.pd-footer__about p { max-width: 380px; margin: 14px 0 0; }
.pd-footer .pd-brand { color: #FFFFFF; }
.pd-footer .pd-brand__mark { width: 40px; height: 40px; font-size: 17px; }
.pd-footer .pd-brand__name { font-size: 20px; }
.pd-footer__nav { flex: 1 1 160px; }
.pd-footer__title { margin: 0 0 10px; font-size: 17px; font-weight: 700; color: #FFFFFF; }
.pd-box input[type="search"], .pd-box input[type="text"] { font: inherit; padding: 10px 12px; border: 2px solid var(--pd-sky-line); border-radius: 10px; max-width: 100%; }
.pd-box .wp-block-search__button { font: inherit; font-weight: 700; border-radius: 10px; background: var(--pd-accent); color: #FFFFFF; border: 0; padding: 10px 16px; }
.pd-box h2, .pd-box .wp-block-heading { margin: 0 0 10px; font-size: 17px; font-weight: 700; color: var(--pd-navy); font-family: var(--pd-body); }
.pd-box ul.wp-block-latest-posts { padding-left: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.pd-footer__nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.pd-footer__nav a { color: var(--pd-on-navy); text-decoration: none; display: inline-block; padding: 4px 0; }
.pd-footer__nav a:hover { color: #FFFFFF; text-decoration: underline; }
.pd-footer__bottom { margin-top: 40px; padding-top: 24px; border-top: 1px solid #2A5578; display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between; font-size: 14px; }
.pd-footer__bottom a { color: var(--pd-on-navy); }
.pd-footer__bottom a:hover { color: #FFFFFF; }

/* ---------- Alineaciones de WordPress ---------- */
.alignleft { float: left; margin: 0 24px 16px 0; }
.alignright { float: right; margin: 0 0 16px 24px; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.wp-caption-text, figcaption { font-size: 14px; color: var(--pd-muted-2); }
.sticky .pd-card__link { border-color: var(--pd-yellow); }
.bypostauthor { }
