/*
Theme Name: Titular PM
Theme URI: https://www.portaldelmenor.es/
Author: Redacción Portal del Menor
Description: Tema propio e independiente de Portal del Menor.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: titular-pm
Update URI: false
*/

@font-face{font-family:'Fira Sans Extra Condensed';font-style:normal;font-weight:800;font-display:swap;src:url(assets/fonts/fira-sans-extra-condensed-latin-800-normal.woff2) format('woff2')}
@font-face{font-family:'Fira Sans';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/fira-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Fira Sans';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/fira-sans-latin-600-normal.woff2) format('woff2')}

:root{
 --pdm-hielo:#D8EBFF;--pdm-hielo2:#BFDDFB;--pdm-tinta:#0B0B0F;--pdm-graf:#2F3A4C;
 --pdm-rojo:#E8261A;--pdm-rojot:#B3140B;--pdm-blanco:#fff;
 --pdm-cond:'Fira Sans Extra Condensed','Arial Narrow',Impact,sans-serif;
 --pdm-txt:'Fira Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
 --pdm-pad:clamp(20px,4.4vw,64px);
 --pdm-dur:.18s;
}
*,*::before,*::after{box-sizing:border-box}
html{font-size:100%;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--pdm-hielo);color:var(--pdm-tinta);font-family:var(--pdm-txt);font-size:1.125rem;line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--pdm-tinta);text-decoration:none;transition:color var(--pdm-dur)}
a:hover{color:var(--pdm-rojot)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--pdm-tinta);outline-offset:3px}
::selection{background:var(--pdm-tinta);color:var(--pdm-hielo)}
.pdm-cond,h1,h2,h3{font-family:var(--pdm-cond);font-weight:800;text-transform:uppercase;overflow-wrap:break-word;hyphens:auto}
h1,h2,h3{margin:0}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pdm-skip{position:absolute;left:-9999px;top:0;background:var(--pdm-tinta);color:var(--pdm-hielo);padding:12px 18px;z-index:100;font-weight:600}
.pdm-skip:focus{left:12px;top:12px}

/* Cabecera */
.pdm-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;padding:24px var(--pdm-pad);border-bottom:3px solid var(--pdm-tinta);position:relative}
.pdm-logo{display:flex;align-items:center;gap:14px;margin-right:auto;font-family:var(--pdm-cond);font-weight:800;text-transform:uppercase;font-size:1.875rem;line-height:1;color:var(--pdm-tinta)}
.pdm-logo:hover{color:var(--pdm-tinta)}
.pdm-logo-mark{width:48px;height:48px;background:var(--pdm-tinta);color:var(--pdm-hielo);display:flex;align-items:center;justify-content:center;font-size:1.875rem;line-height:1;border-bottom:6px solid var(--pdm-rojo)}
.pdm-menu-btn{display:none;min-height:44px;min-width:44px;padding:0 16px;background:var(--pdm-tinta);color:var(--pdm-hielo);border:0;font:600 1rem var(--pdm-txt);cursor:pointer}
.pdm-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 26px;align-items:center}
.pdm-nav li{position:relative}
.pdm-nav a{display:inline-flex;align-items:center;min-height:44px;font-size:1.0625rem;font-weight:600}
.pdm-nav .current-menu-item>a,.pdm-nav .current-menu-ancestor>a,.pdm-nav .current-post-ancestor>a,.pdm-nav .current-category-ancestor>a{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px}
.pdm-nav .menu-item-has-children>a::after{content:"▾";margin-left:6px;font-size:0.8125rem}
.pdm-nav .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:300px;background:var(--pdm-tinta);padding:8px 0;z-index:30;flex-direction:column;gap:0}
.pdm-nav .menu-item-has-children:hover>.sub-menu,.pdm-nav .menu-item-has-children:focus-within>.sub-menu,.pdm-nav .sub-menu.is-open{display:flex}
.pdm-nav .sub-menu a{display:flex;color:var(--pdm-hielo);padding:0 18px;min-height:48px;width:100%}
.pdm-nav .sub-menu a:hover{color:#FF6A5E}

/* Estructuras comunes */
.pdm-wrap{padding-left:var(--pdm-pad);padding-right:var(--pdm-pad)}
.pdm-crumbs{font-size:1rem;font-weight:600;color:var(--pdm-graf);margin:0 0 10px}
.pdm-crumbs a{text-decoration:underline}
.pdm-ph{background:var(--pdm-hielo2);display:block;width:100%;object-fit:cover}
.pdm-fig img{width:100%;height:100%;object-fit:cover}
.pdm-cat-tag{font-size:0.9375rem;font-weight:600;color:var(--pdm-rojot);margin-bottom:6px;display:block}
.pdm-rule{border-top:3px solid var(--pdm-tinta)}
.pdm-meta{font-size:0.9375rem;color:var(--pdm-graf)}
.pdm-red{color:var(--pdm-rojo)}

/* Portada */
.pdm-hero{display:flex;flex-wrap:wrap;gap:40px 48px;padding:clamp(36px,5vw,72px) var(--pdm-pad) 56px;align-items:flex-end}
.pdm-hero-t{flex:1 1 560px;min-width:0}
.pdm-hero-t a{display:block;font-size:clamp(3.625rem,12.2vw,11rem);line-height:1;letter-spacing:-.01em}
.pdm-hero-s{flex:0 1 380px;display:flex;flex-direction:column;gap:18px}
.pdm-hero-s .pdm-fig{height:260px}
.pdm-hero-s p{margin:0;font-size:1.25rem;line-height:1.5;color:var(--pdm-graf)}
.pdm-link-u{font-size:1.125rem;font-weight:600;text-decoration:underline}
.pdm-trio{display:flex;flex-wrap:wrap;gap:40px;padding:24px var(--pdm-pad) 72px}
.pdm-card{flex:1 1 340px;min-width:0;border-top:3px solid var(--pdm-tinta);padding-top:20px}
.pdm-card .pdm-fig{height:200px;margin-bottom:18px}
.pdm-card h3,.pdm-card h2{font-size:clamp(2rem,3.2vw,2.5rem);line-height:1}
.pdm-card p{margin:10px 0 0;font-size:1.0625rem;line-height:1.5;color:var(--pdm-graf)}
.pdm-sec-h{margin:0 0 24px;font-size:clamp(2.875rem,6vw,4.5rem);line-height:1}
.pdm-secs{padding:0 var(--pdm-pad) 72px}
.pdm-secs ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 64px}
.pdm-secs li a{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:18px 0;border-top:3px solid var(--pdm-tinta)}
.pdm-secs .n{font-family:var(--pdm-cond);font-weight:800;text-transform:uppercase;font-size:clamp(2rem,3.6vw,2.75rem);line-height:1}
.pdm-secs .d{font-size:1.0625rem;color:var(--pdm-graf);text-align:right}

/* Categoría / archivo */
.pdm-arch-head{padding:clamp(32px,4vw,56px) var(--pdm-pad) 36px}
.pdm-arch-head h1{font-size:clamp(4.125rem,14vw,12.5rem);line-height:1;margin-bottom:16px}
.pdm-arch-head p{margin:0;max-width:56ch;font-size:1.25rem;line-height:1.5;color:var(--pdm-graf)}
.pdm-list{padding:0 var(--pdm-pad) 64px}
.pdm-item{display:flex;flex-wrap:wrap;gap:24px 40px;align-items:flex-start;padding:28px 0;border-top:3px solid var(--pdm-tinta)}
.pdm-item .pdm-fig{flex:0 0 260px;height:170px}
.pdm-item-b{flex:1 1 420px;min-width:0}
.pdm-item h2{font-size:clamp(2.125rem,4.2vw,3.25rem);line-height:1}
.pdm-item p{margin:12px 0 0;max-width:62ch;font-size:1.125rem;line-height:1.55;color:var(--pdm-graf)}
.pdm-pager{padding-top:28px;border-top:3px solid var(--pdm-tinta)}
.pdm-pager .nav-links{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.pdm-pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 12px;font-weight:600;border:3px solid var(--pdm-tinta)}
.pdm-pager .current{background:var(--pdm-tinta);color:var(--pdm-hielo)}
.pdm-pager .next,.pdm-pager .prev{border:0;text-decoration:underline}
.pdm-empty{padding:0 var(--pdm-pad) 80px;font-size:1.25rem}

/* Entrada y página */
.pdm-single{display:flex;flex-wrap:wrap;gap:48px;padding:48px var(--pdm-pad) 64px;align-items:flex-start}
.pdm-side{flex:0 0 260px;display:flex;flex-direction:column;gap:20px;position:sticky;top:24px}
.pdm-side h2{font-size:1.5rem;margin:0 0 8px;line-height:1.1}
.pdm-side .blk{border-top:3px solid var(--pdm-tinta);padding-top:14px}
.pdm-side a,.pdm-side button.pdm-btn-o{display:flex;align-items:center;min-height:44px;font-size:1.0625rem}
.pdm-share{display:flex;flex-wrap:wrap;gap:8px}
.pdm-share a,.pdm-share button{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:3px solid var(--pdm-tinta);background:transparent;color:var(--pdm-tinta);font:600 1rem var(--pdm-txt);cursor:pointer}
.pdm-share a:hover,.pdm-share button:hover{background:var(--pdm-tinta);color:var(--pdm-hielo)}
.pdm-main{flex:1 1 640px;min-width:0;max-width:860px}
.pdm-main .pdm-kick{font-size:1rem;font-weight:600;color:var(--pdm-rojot);margin-bottom:10px}
.pdm-main h1{font-size:clamp(2.75rem,7.8vw,7rem);line-height:1;margin-bottom:24px}
.pdm-lead{margin:0 0 32px;font-size:clamp(1.25rem,2vw,1.5rem);line-height:1.45;color:var(--pdm-graf)}
.pdm-feat{height:clamp(220px,28vw,380px);margin-bottom:36px}
.pdm-body{background:var(--pdm-blanco);padding:clamp(24px,3.4vw,44px) clamp(20px,3.4vw,48px);font-size:1.1875rem;line-height:1.7;overflow-wrap:break-word}
.pdm-body>*:first-child{margin-top:0}
.pdm-body h2{font-size:clamp(2rem,3.4vw,2.75rem);line-height:1;margin:36px 0 14px}
.pdm-body h3{font-size:clamp(1.625rem,2.6vw,2rem);line-height:1;margin:28px 0 10px}
.pdm-body p,.pdm-body ul,.pdm-body ol{margin:0 0 22px}
.pdm-body a{color:var(--pdm-rojot);text-decoration:underline}
.pdm-body img{margin:24px 0}
.pdm-body blockquote{margin:24px 0;padding:6px 0 6px 22px;border-left:6px solid var(--pdm-tinta);font-size:1.3125rem}
.pdm-body table{width:100%;border-collapse:collapse;margin:0 0 22px;display:block;overflow-x:auto}
.pdm-body th,.pdm-body td{border:2px solid var(--pdm-tinta);padding:10px 12px;text-align:left}
.pdm-body details{border-top:3px solid var(--pdm-tinta);padding:6px 0}
.pdm-body details:last-of-type{border-bottom:3px solid var(--pdm-tinta)}
.pdm-body summary{min-height:44px;display:flex;align-items:center;font-weight:600;font-size:1.25rem;cursor:pointer}
.pdm-author{display:flex;align-items:center;gap:16px;margin:32px 0;padding:20px 0;border-top:3px solid var(--pdm-tinta);border-bottom:3px solid var(--pdm-tinta);font-family:var(--pdm-cond);font-weight:800;text-transform:uppercase;font-size:1.75rem}
.pdm-more h2{font-size:clamp(1.75rem,3vw,2.25rem);margin-bottom:8px}
.pdm-more a{display:flex;align-items:center;min-height:52px;font-size:1.25rem;border-top:3px solid var(--pdm-tinta)}

.pdm-main h1.pdm-h1-m{font-size:clamp(2.375rem,6vw,5.5rem)}
.pdm-main h1.pdm-h1-s{font-size:clamp(2.125rem,4.8vw,4.25rem);line-height:1}
.pdm-body .pdm-also{padding:14px 0;border-top:3px solid var(--pdm-tinta);border-bottom:3px solid var(--pdm-tinta);font-size:1.125rem}
.pdm-body .pdm-also a{text-decoration:underline}

/* Landing (guía) */
.pdm-guide-h{padding:clamp(40px,7vw,104px) var(--pdm-pad) 36px}
.pdm-guide-h h1{font-size:clamp(3.625rem,13vw,11.875rem);line-height:1;max-width:9ch}

/* Sobre nosotros */
.pdm-about-h{padding:clamp(36px,5vw,64px) var(--pdm-pad) 40px}
.pdm-about-h h1{font-size:clamp(4.375rem,16vw,14.375rem);line-height:1;max-width:8ch}
.pdm-about{display:flex;flex-wrap:wrap;gap:48px;padding:16px var(--pdm-pad) 72px;align-items:flex-start}
.pdm-about-t{flex:1 1 520px;min-width:0;font-size:1.375rem;line-height:1.6}
.pdm-about-t p{margin:0 0 24px}
.pdm-about-i{flex:0 1 460px;display:flex;flex-direction:column;gap:16px}
.pdm-about-i .big{height:340px}.pdm-about-i .small{height:180px}
.pdm-how{padding:0 var(--pdm-pad) 72px}
.pdm-how h2{font-size:clamp(2.75rem,5vw,4rem);margin-bottom:20px;line-height:1}
.pdm-how div.g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.pdm-how h3{font-size:2.125rem;line-height:1;margin-bottom:8px}
.pdm-how .c{border-top:3px solid var(--pdm-tinta);padding-top:16px}
.pdm-how p{margin:0;font-size:1.125rem;color:var(--pdm-graf)}

/* Contacto */
.pdm-contact{display:flex;flex-wrap:wrap;gap:56px;padding:56px var(--pdm-pad) 80px;align-items:flex-start}
.pdm-contact-t{flex:1 1 420px;min-width:0}
.pdm-contact-t h1{font-size:clamp(4rem,12.5vw,11.25rem);line-height:1;margin-bottom:24px}
.pdm-contact-t p{margin:0 0 28px;max-width:40ch;font-size:1.3125rem;line-height:1.55;color:var(--pdm-graf)}
.pdm-mail{border-top:3px solid var(--pdm-tinta);padding-top:16px;font-size:1.125rem}
.pdm-mail a{color:var(--pdm-rojot);text-decoration:underline;font-size:1.375rem}
.pdm-form{flex:1 1 480px;min-width:0;max-width:620px;background:var(--pdm-blanco);padding:36px 36px 40px;display:flex;flex-direction:column;gap:20px}
.pdm-form label{display:block;font-size:1.0625rem;font-weight:600;margin-bottom:6px}
.pdm-form input[type=text],.pdm-form input[type=email],.pdm-form select,.pdm-form textarea{width:100%;min-height:48px;padding:10px 14px;font:400 1.125rem var(--pdm-txt);color:var(--pdm-tinta);background:#fff;border:3px solid var(--pdm-tinta);border-radius:0}
.pdm-form .chk{display:flex;align-items:flex-start;gap:12px}
.pdm-form .chk input{width:24px;height:24px;flex:0 0 24px;margin:2px 0 0}
.pdm-form .chk label{font-weight:400;font-size:1rem;margin:0;line-height:1.45}
.pdm-form .hp{position:absolute;left:-9999px}
.pdm-btn{min-height:56px;padding:0 28px;background:var(--pdm-rojot);color:#fff;border:0;font:600 1.1875rem var(--pdm-txt);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.pdm-btn:hover{background:var(--pdm-tinta);color:var(--pdm-hielo)}
.pdm-btn-d{background:var(--pdm-tinta);color:var(--pdm-hielo)}
.pdm-alert{padding:16px 20px;font-weight:600;border:3px solid var(--pdm-tinta);background:#fff;margin-bottom:8px}
.pdm-alert.err{border-color:var(--pdm-rojot);color:var(--pdm-rojot)}

/* Buscador y 404 */
.pdm-search{display:flex;gap:8px;flex-wrap:wrap;max-width:560px}
.pdm-search input[type=search]{flex:1 1 240px;min-height:52px;padding:10px 14px;font:400 1.125rem var(--pdm-txt);border:3px solid var(--pdm-tinta);background:#fff;border-radius:0}
.pdm-search button{min-height:52px;padding:0 24px;background:var(--pdm-tinta);color:var(--pdm-hielo);border:0;font:600 1.125rem var(--pdm-txt);cursor:pointer}

/* Pie */
.pdm-foot{background:var(--pdm-tinta);color:var(--pdm-hielo);padding:40px var(--pdm-pad);display:flex;flex-wrap:wrap;gap:12px 36px;align-items:center;font-size:1rem}
.pdm-foot a{color:var(--pdm-hielo);text-decoration:underline;display:inline-flex;align-items:center;min-height:44px}
.pdm-foot a:hover{color:#FF6A5E}
.pdm-foot .pdm-cond{font-size:1.75rem;margin-right:auto;line-height:1}

/* Cookies */
#pdm-ck{position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--pdm-tinta);color:var(--pdm-hielo);padding:18px var(--pdm-pad);display:none;flex-wrap:wrap;gap:12px 24px;align-items:center;font-size:1rem;line-height:1.5}
#pdm-ck.on{display:flex}
#pdm-ck p{margin:0;flex:1 1 360px}
#pdm-ck a{color:var(--pdm-hielo);text-decoration:underline}
#pdm-ck button{min-height:44px;padding:0 20px;font:600 1rem var(--pdm-txt);cursor:pointer;border:3px solid var(--pdm-hielo);background:transparent;color:var(--pdm-hielo)}
#pdm-ck button.ok{background:var(--pdm-hielo);color:var(--pdm-tinta)}
#pdm-ck button:focus-visible{outline-color:#fff}

/* Movimiento: un solo momento al cargar la portada */
@media (prefers-reduced-motion:no-preference){
 .pdm-hero-t a{animation:pdm-in .5s ease-out both}
 @keyframes pdm-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
}

/* Responsive */
@media (max-width:900px){
 .pdm-side{position:static;flex:1 1 100%}
 .pdm-how div.g{grid-template-columns:1fr}
 .pdm-secs ul{grid-template-columns:1fr}
 .pdm-secs .d{display:none}
}
@media (max-width:820px){
 .pdm-menu-btn{display:inline-flex;align-items:center}
 .pdm-nav{display:none;flex:1 1 100%;order:3}
 .pdm-nav.is-open{display:block}
 .pdm-nav ul{flex-direction:column;align-items:stretch;gap:0}
 .pdm-nav li{border-top:3px solid var(--pdm-tinta)}
 .pdm-nav a{width:100%;font-family:var(--pdm-cond);font-weight:800;text-transform:uppercase;font-size:1.75rem;min-height:56px}
 .pdm-nav .sub-menu{position:static;display:flex;background:transparent;padding:0 0 8px 16px;min-width:0}
 .pdm-nav .sub-menu a{color:var(--pdm-tinta);font-size:1.375rem;min-height:48px;padding:0}
 .pdm-logo{font-size:1.5rem}.pdm-logo-mark{width:40px;height:40px;font-size:1.5625rem}
 .pdm-hero-s{flex:1 1 100%}
 .pdm-item .pdm-fig{flex:1 1 100%;height:200px}
 .pdm-form{padding:24px 20px 28px}
}

/* a11y: foco sobre fondos oscuros, hover móvil, símbolo decorativo */
.pdm-foot a:focus-visible,#pdm-ck a:focus-visible,.pdm-nav .sub-menu a:focus-visible{outline-color:var(--pdm-hielo)}
.pdm-nav .sub-menu a:focus-visible{outline-offset:-3px}
.pdm-nav .menu-item-has-children>a::after{content:"▾" / ""}
@media (max-width:820px){.pdm-nav .sub-menu a:hover{color:#B3140B}.pdm-nav .sub-menu a:focus-visible{outline-color:var(--pdm-tinta)}}
