/* Bravo Advocats · sistema común de páginas de departamento.
   Una sola composición sobria: fondo plano, contenedores legibles y movimiento
   funcional. Sin texturas de datos ni adornos que compitan con el contenido. */
.departamento{--departamento-ink:#f7f4ee;--departamento-muted:#c4d0dc;--departamento-navy:#081d2e;--departamento-navy-2:#153b58;--departamento-surface:#fff;--departamento-surface-soft:#fbfaf7;--departamento-heading:var(--c-navy);--departamento-accent:var(--c-gold-dk)}
.departamento .hero{position:relative;isolation:isolate;overflow:hidden;max-width:none;min-height:420px;padding:clamp(4.25rem,8vw,7rem) max(20px,calc((100% - 1040px)/2)) clamp(3.5rem,6vw,5rem);background:var(--departamento-navy);color:#fff;text-align:left}
.departamento .hero::before{content:none!important}
.departamento .hero>*{position:relative;z-index:1;max-width:720px;margin-left:0;margin-right:0;padding-inline:0}
.departamento .hero .tag{padding-top:0;padding-bottom:0}
.departamento .hero h1{padding-top:0;margin-top:0}
.departamento .hero p{padding-top:0;padding-bottom:0}
.departamento .hero .tag{display:block;margin-bottom:1rem;color:#5B84B1;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.departamento .hero h1{max-width:720px;color:var(--departamento-ink);font-family:var(--f-serif);font-size:clamp(2.4rem,6vw,5rem);line-height:1.03;letter-spacing:-.035em;text-align:left}
.departamento .hero p{max-width:650px;margin:1.35rem 0 0;color:var(--departamento-muted);font-size:clamp(1rem,1.8vw,1.25rem);line-height:1.6;text-align:left}
.departamento .hero__botones{position:relative;z-index:2;justify-content:flex-start;margin-top:2rem}
.departamento .btn{min-height:44px;font-family:inherit;cursor:pointer}
.departamento .hero .btn-linea{color:var(--departamento-ink);border-color:rgba(247,244,238,.34)}
html[data-tema="claro"] .departamento .hero .btn-linea{color:var(--c-gold-txt);border-color:var(--c-gold-brd)}
.departamento__decision,.departamento__recursos{max-width:1040px;margin:2rem auto;padding:clamp(1.5rem,3vw,2.5rem);border:0;background:var(--departamento-surface)}
.departamento__decision{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,.8fr);gap:2rem;align-items:center;border-top:4px solid var(--c-gold)}
.departamento__decision h2,.departamento__recursos h2{margin:.35rem 0 .65rem;color:var(--departamento-heading);font-family:var(--f-serif);font-size:clamp(1.5rem,3vw,2.35rem);line-height:1.15}
.departamento__decision p,.departamento__recursos p{max-width:650px;margin:0;color:var(--c-muted)}
.departamento__eyebrow{color:#245579;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.departamento__actions{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:flex-end}.departamento__actions .btn{white-space:nowrap}
.departamento__recursos{margin-top:3rem;border:0;background:transparent}
.departamento__resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem}
.departamento--laboral .departamento__resource-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.departamento__resource-grid a{display:flex;min-height:12rem;flex-direction:column;gap:.55rem;padding:1.25rem;border:1px solid var(--c-border);border-radius:3px;background:var(--departamento-surface);color:var(--departamento-heading);text-decoration:none;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.departamento__resource-grid a:hover,.departamento__resource-grid a:focus-visible{transform:translateY(-4px);border-color:var(--c-gold);box-shadow:0 12px 24px rgba(11,31,51,.09)}
.departamento__resource-grid strong{font-family:var(--f-serif);font-size:1.12rem;line-height:1.25}.departamento__resource-grid span{color:var(--c-muted);font-size:.9rem;line-height:1.45}.departamento__resource-grid em{margin-top:auto;color:var(--departamento-accent);font-size:.8rem;font-style:normal;font-weight:700}
.departamento__resource--featured{background:var(--c-navy)!important;color:#fff!important;border-color:var(--c-navy)!important}.departamento__resource--featured span{color:rgba(255,255,255,.72)}.departamento__resource--featured em{color:#5B84B1}
.departamento__resource-grid.article-grid>.article-card{display:flex;min-height:12rem;flex-direction:column;gap:.55rem;padding:1.25rem;border:1px solid var(--c-border);border-radius:3px;background:var(--departamento-surface);}
.departamento__resource-grid.article-grid>.article-card h3{margin:.35rem 0;color:var(--departamento-heading);font-family:var(--f-serif);font-size:1.12rem;line-height:1.25}.departamento__resource-grid.article-grid>.article-card p{flex:1;margin:0;color:var(--c-muted);font-size:.9rem;line-height:1.45}.departamento__resource-grid.article-grid>.article-card a{margin-top:auto;color:var(--departamento-accent);font-size:.8rem;font-weight:700}
.departamento__cuenta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center;padding:clamp(1.5rem,3vw,2.5rem)!important;border:1px solid var(--c-gold-brd)!important;background:var(--c-gold-bg)!important}.departamento__cuenta h2{margin:.35rem 0 .65rem;color:var(--departamento-heading);font-family:var(--f-serif);font-size:clamp(1.5rem,3vw,2.35rem);line-height:1.15}.departamento__cuenta p{max-width:650px;margin:0;color:var(--c-muted)}
/* Recorrido penal: paneles editoriales horizontales, no tarjetas cuadradas. */
.penal-recorrido{overflow:hidden}
.penal-fases{display:flex;gap:1rem;overflow-x:auto;margin:1.4rem 0 .65rem;padding:0 .1rem 1rem;scroll-snap-type:x mandatory;scrollbar-width:thin;list-style:none}
.penal-fase{position:relative;display:flex;flex:1 1 0;min-width:0;min-height:230px;flex-direction:column;scroll-snap-align:start;padding:1.45rem 1.35rem 1.2rem;border-top:3px solid var(--c-gold);border-bottom:1px solid var(--c-border);background:var(--departamento-surface-soft);transition:flex-grow .25s ease,background-color .25s ease}
.penal-fase.is-active,.penal-fase:hover,.penal-fase:focus-within{flex-grow:1.45}
.penal-fase:hover,.penal-fase:focus-within{background:var(--departamento-surface)}
.penal-fase__num{color:var(--departamento-accent);font-size:.72rem;font-weight:700;letter-spacing:.16em}
.penal-fase h3{margin:.8rem 0 .55rem;color:var(--departamento-heading);font-family:var(--f-serif);font-size:1.25rem;line-height:1.2}
.penal-fase p{margin:0;color:var(--c-muted);font-size:.92rem;line-height:1.5}
.penal-fase a{margin-top:auto;padding-top:1rem;color:var(--departamento-accent);font-size:.82rem;font-weight:700;text-underline-offset:2px}
.penal-fase[aria-current="step"]{background:var(--departamento-surface);box-shadow:inset 0 -3px 0 var(--c-gold)}
.penal-fases:focus-visible{outline:3px solid rgba(91, 132, 177,.55);outline-offset:3px}
.penal-fases__status{margin:.2rem 0 0;color:var(--c-muted);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.departamento__carousel-controls[data-carrusel-for]{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}
.departamento__carousel-controls[data-carrusel-for] button{min-width:44px;min-height:44px;border:1px solid var(--c-border);border-radius:999px;background:var(--departamento-surface);color:var(--departamento-heading);cursor:pointer;font-size:1.1rem}
.departamento__carousel-controls[data-carrusel-for] button:hover,.departamento__carousel-controls[data-carrusel-for] button:focus-visible{border-color:var(--c-gold);outline:2px solid rgba(91, 132, 177,.3);outline-offset:2px}
.departamento__resource-grid.article-grid[data-carrusel]{display:flex;overflow-x:auto;gap:1rem;padding:.2rem .15rem .8rem;scroll-snap-type:x mandatory;scrollbar-width:thin}
.departamento__resource-grid.article-grid[data-carrusel]>.article-card{flex:0 0 min(31%,320px);scroll-snap-align:start}
/* Acordeones comunes. El summary mantiene el mismo marcado en las tres páginas. */
.departamento .areas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem}
.departamento .imp-listado>.area,.departamento .areas>.area{position:relative;min-width:0;padding-top:0;border:0;border-radius:7px;background:var(--departamento-surface-soft)}
.departamento .imp-listado>.area::before,.departamento .imp-listado>.area::after{content:none}
.departamento .area summary{display:flex;position:relative;min-height:84px;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 3rem 1rem 1.1rem;cursor:pointer;list-style:none}
.departamento .area summary::-webkit-details-marker{display:none}.departamento .area summary::after{content:"+";position:absolute;top:1.1rem;right:1rem;color:var(--departamento-accent);font-size:1.5rem;line-height:1}.departamento .area[open] summary::after{content:"−"}.departamento .area summary:focus-visible{outline:3px solid rgba(91, 132, 177,.42);outline-offset:-3px}
.departamento .area__title{display:block;color:var(--departamento-heading);font-family:var(--f-serif);font-size:1.08rem;font-weight:600;line-height:1.25}.departamento .area__summary{display:block;margin-top:.3rem;color:var(--c-muted);font-size:.82rem;line-height:1.35}.departamento .area__body{padding:0 1.1rem 1rem;border-top:0;color:var(--c-muted);font-size:.92rem;line-height:1.55}.departamento .area__body p{margin:.85rem 0 0;font-size:.92rem}.departamento .area__body a{color:var(--departamento-accent);font-weight:600;text-underline-offset:2px}
/* Carrusel de recursos: solo se activa donde hay cuatro piezas y en móvil. */
.departamento__carousel-controls{display:none}
html:not([data-tema="claro"]) body.departamento{--departamento-surface:#0e2336;--departamento-surface-soft:#0e2336;--departamento-heading:#f7f4ee;--departamento-accent:#8FC0E8;--c-muted:#c4d0dc;--c-gold-txt:#8FC0E8;--c-border:rgba(220,232,242,.22);background:#071827;color:#f1f4f7}
html:not([data-tema="claro"]) body.departamento main>section:not(.cta){background:#10283d;border-color:rgba(220,232,242,.2);color:#f1f4f7}
html:not([data-tema="claro"]) body.departamento .departamento__recursos{background:transparent;border-color:transparent}
html:not([data-tema="claro"]) body.departamento .departamento__decision,
html:not([data-tema="claro"]) body.departamento .departamento__cuenta{--departamento-heading:#f7f4ee;--departamento-accent:#8FC0E8;--c-muted:#c4d0dc;--c-border:rgba(220,232,242,.22);--c-gold-brd:rgba(143, 192, 232,.46);background:#10283d}
html:not([data-tema="claro"]) body.departamento .area__title,
html:not([data-tema="claro"]) body.departamento .departamento__resource-grid.article-grid>.article-card h3{color:#f7f4ee}
html:not([data-tema="claro"]) body.departamento .departamento__resource-grid a,
html:not([data-tema="claro"]) body.departamento .departamento__resource-grid.article-grid>.article-card{--departamento-heading:#f7f4ee;--departamento-accent:#8FC0E8;--c-muted:#c4d0dc;--c-border:rgba(220,232,242,.22);background:#0e2336;color:#f7f4ee}
html:not([data-tema="claro"]) body.departamento .departamento__resource-grid span,
html:not([data-tema="claro"]) body.departamento .departamento__resource-grid.article-grid>.article-card p{color:#c4d0dc}
/* Cuerpo oscuro: gana a los selectores históricos de contenido y de cada
   página, incluidos el primer párrafo, los summaries y los enlaces. */
html:not([data-tema="claro"]) body.departamento main>section:not(.cta) p,
html:not([data-tema="claro"]) body.departamento main>section:not(.cta) li{color:#c4d0dc}
html:not([data-tema="claro"]) body.departamento main>section:not(.cta) h2,
html:not([data-tema="claro"]) body.departamento main>section:not(.cta) h3,
html:not([data-tema="claro"]) body.departamento main>section:not(.cta) summary{color:#f7f4ee}
html:not([data-tema="claro"]) body.departamento main>section:not(.cta) a:not(.btn){color:#8FC0E8}
html:not([data-tema="claro"]) body.departamento .departamento__eyebrow{color:#8FC0E8}
html:not([data-tema="claro"]) body.departamento .btn-linea{color:#8FC0E8;border-color:rgba(143, 192, 232,.55)}
html:not([data-tema="claro"]) body.departamento .penal-panel__price{background:#18334b;border-color:rgba(143, 192, 232,.46);color:#f7f4ee}
html:not([data-tema="claro"]) body.departamento .penal-panel__price h3{color:#f7f4ee}
html:not([data-tema="claro"]) body.departamento .penal-panel__price .eyebrow,
html:not([data-tema="claro"]) body.departamento .resource-card .eyebrow{color:#8FC0E8}
html:not([data-tema="claro"]) body.departamento .resource-card{background:#0e2336;color:#f7f4ee;border-color:rgba(220,232,242,.22)}
html:not([data-tema="claro"]) body.departamento .resource-card h3{color:#f7f4ee}
html:not([data-tema="claro"]) body.departamento .resource-card p{color:#c4d0dc}
html:not([data-tema="claro"]) body.departamento .resource-card a{color:#8FC0E8}
html:not([data-tema="claro"]) body.departamento .area__body{color:#c4d0dc;border-color:rgba(220,232,242,.2)}
@media(max-width:900px){.departamento .areas{grid-template-columns:1fr}.departamento__resource-grid[data-carrusel]{display:flex;overflow-x:auto;gap:.8rem;padding:.2rem .15rem .8rem;scroll-snap-type:x mandatory;scrollbar-width:thin}.departamento__resource-grid[data-carrusel]>a,.departamento__resource-grid[data-carrusel]>article{flex:0 0 min(82vw,330px);scroll-snap-align:start}.departamento__carousel-controls{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.departamento__carousel-controls button{min-width:44px;min-height:44px;border:1px solid var(--c-border);border-radius:999px;background:var(--departamento-surface);color:var(--departamento-heading);cursor:pointer;font-size:1.1rem}.departamento__carousel-controls button:hover,.departamento__carousel-controls button:focus-visible{border-color:var(--c-gold);outline:2px solid rgba(91, 132, 177,.3);outline-offset:2px}}
@media(max-width:900px){.penal-fase{flex:0 0 min(82vw,330px)}.penal-fase.is-active{flex-grow:0}}
@media(max-width:760px){.departamento .hero{min-height:0;padding:3.2rem 1.25rem 2.4rem}.departamento .hero h1{max-width:18ch;font-size:clamp(2.25rem,11vw,4rem)}.departamento .hero p{max-width:34rem}.departamento__decision{display:block;margin:1.25rem 1rem}.departamento__actions{justify-content:flex-start;margin-top:1.25rem}.departamento__recursos{margin:1.5rem 1rem;padding-inline:0}.departamento__resource-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.departamento__cuenta{display:block;margin-inline:1rem}.departamento__cuenta .btn{margin-top:1.25rem}}
@media(max-width:460px){.departamento__resource-grid{grid-template-columns:1fr}.departamento__resource-grid a{min-height:9rem}.departamento .hero__botones{align-items:stretch;flex-direction:column}.departamento .hero__botones .btn{width:100%;text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.departamento__resource-grid a{transition:none}.departamento__resource-grid a:hover{transform:none}.penal-fases{scroll-behavior:auto}.penal-fase{transition:none}}
/* QA 2026-10-09: en móvil la regla de escritorio (31%) ganaba por especificidad y dejaba las tarjetas del carrusel de artículos en ~45-110px. */
@media(max-width:900px){.departamento__resource-grid.article-grid[data-carrusel]>.article-card{flex:0 0 min(82vw,330px)}}
/* QA 2026-10-09: el «em» del recurso destacado (#5B84B1 sobre navy) daba 4,28:1; #8FC0E8 da >8:1. */
.departamento__resource--featured em{color:#8FC0E8}
/* 2026-10-09: the generic card-link rule above also styled the "Leer artículo" link inside article cards as an empty 9–12rem box. */
.departamento__resource-grid.article-grid>.article-card a{display:inline-flex;align-items:center;align-self:flex-start;min-height:44px;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
