/* valenciarestaurantes.com — v2 brand */
/* Mediterranean, not municipal: oxblood ink on cream, saffron for the things
   you can act on, arch-shaped cards borrowed from Valencian doorways. Every
   pair below was measured before it shipped — lowest is green-on-cream at
   5.64:1, comfortably over AA. sRGB hex only (no oklch/color-mix). */
:root{--papel:#F7F2E8;--pliego:#FFFFFF;--arena:#EFE7D7;--tinta:#3B1218;
--naranja:#8A2B22;--naranja-txt:#8A2B22;--sol:#F2C230;--suave:#7A5C55;
--regla:#E6DBC6;--regla-fina:#F0E8D8;--chip:#FFFFFF;--verde:#2F6B4F;
--pie-txt:#F0E6D4;--pie-suave:#C9B8A8;--pie-meta:#A89684;--pie-regla:#5A2A2E;
--maps:#1667d0;--fork:#00695c;--bkng:#003580;--ta:#007a4d;
--arco:40px 40px 12px 12px;--sombra:0 6px 18px rgba(59,18,24,.10)}
img{max-width:100%;height:auto}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--papel);color:var(--tinta);
font-family:Onest,system-ui,-apple-system,sans-serif;font-size:17px;line-height:1.6;
-webkit-font-smoothing:antialiased}
a{color:var(--naranja-txt);text-decoration:underline;
text-decoration-color:var(--regla);text-underline-offset:3px}
a:hover{color:var(--tinta);text-decoration-color:var(--naranja)}
::selection{background:var(--sol);color:var(--tinta)}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.tnum{font-feature-settings:'tnum'}
h1,h2,h3,.serif{font-family:'Familjen Grotesk',system-ui,sans-serif;
font-weight:700;line-height:1.05;letter-spacing:-.028em}
/* eyebrow / kicker: the one place a mono face earns its keep */
.sec-k,.fetiq,.mtl,.logo span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
@media(prefers-reduced-motion:reduce){*{animation:none!important;
transition:none!important;scroll-behavior:auto!important}}
/* ---- header: gaceta masthead + disclosure burger nav ---- */
/* Not sticky. A pinned masthead plus a pinned filter card below it ate the
   top of the viewport and the list scrolled behind both; the header appeared
   to travel back up the screen as you scrolled. The page is a long register
   people read down, so the header scrolls away with everything else. */
.top{background:var(--pliego);
border-bottom:1px solid var(--regla)}
.top-rule{border-top:4px solid var(--tinta)}
.bar{display:flex;align-items:center;gap:14px;padding:12px 20px;flex-wrap:wrap}
@media(min-width:901px){.bar{flex-wrap:nowrap}
 .nav{flex-wrap:nowrap;gap:2px}
 .nav a{padding:8px 11px;white-space:nowrap}
 .logo{min-width:0}}
.logo{display:flex;flex-direction:column;text-decoration:none;color:var(--tinta);flex-shrink:0}
.logo b{font-family:'Familjen Grotesk',system-ui,sans-serif;font-weight:700;
font-size:clamp(17px,4.4vw,21px);
letter-spacing:-.028em;line-height:1.05}
.logo span{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--suave)}
.nav{display:flex;gap:2px 4px;flex-wrap:wrap;margin-left:auto}
.langsw{margin-left:10px;flex-shrink:0;display:inline-flex;align-items:center;
justify-content:center;min-width:44px;min-height:44px;padding:0 14px;
background:var(--arena);border:1px solid var(--regla);border-radius:999px;
font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;
font-weight:600;letter-spacing:.1em;color:var(--tinta);text-decoration:none}
.langsw:hover{background:var(--sol);color:var(--tinta)}
.nav a{font-size:14px;font-weight:600;letter-spacing:-.01em;
color:var(--tinta);text-decoration:none;padding:8px 14px;border-radius:999px}
.nav a:hover{color:var(--naranja-txt);background:var(--arena)}
.nav a.here{background:var(--sol);color:var(--tinta)}
.burger{display:none;background:var(--arena);border:1px solid var(--regla);cursor:pointer;
min-width:44px;min-height:44px;margin-left:auto;font-size:19px;color:var(--tinta);
font-family:inherit;border-radius:999px}
@media(max-width:900px){
 .burger{display:block;margin-left:6px;order:3}
 .langsw{margin-left:auto;order:2;margin-right:0}
 .bar{gap:8px}
 .nav{display:none;width:100%;flex-direction:column;gap:0;border-top:1px solid var(--regla);
 padding-top:6px;margin:0;order:4}
 .nav.open{display:flex}
 .nav a{padding:12px 2px;border-bottom:1px solid var(--regla-fina);min-height:44px}
}
/* ---- hero / front desk: photo band with the masthead over it ---- */
.frente{border-bottom:1px solid var(--regla);padding:44px 0 36px;text-align:center}
.hero-foto{position:relative;border-bottom:3px solid var(--tinta);overflow:hidden;
background:var(--tinta)}
.hero-foto img{display:block;width:100%;height:100%;object-fit:cover;
position:absolute;left:0;top:0;right:0;bottom:0;filter:brightness(.78)}
.hero-foto .capa{position:relative;z-index:1;padding:clamp(46px,8vw,92px) 20px;
text-align:center}
/* scrim on two axes so the rooftops stay readable behind the type */
.hero-foto::after{content:"";position:absolute;left:0;right:0;top:0;bottom:0;z-index:0;
background:linear-gradient(180deg,rgba(31,27,22,.62) 0%,rgba(31,27,22,.46) 45%,
rgba(31,27,22,.72) 100%)}
.hero-foto .marco-f{max-width:820px;margin:0 auto;padding:0}
/* badge: saffron pill with a live green dot — the one bright thing up top */
.hero-badge{display:inline-flex;align-items:center;gap:9px;background:var(--sol);
color:var(--tinta);border-radius:999px;padding:7px 16px 7px 10px;margin-bottom:22px;
font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;
letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.hero-badge i{width:9px;height:9px;border-radius:999px;background:var(--verde);
display:block;flex-shrink:0}
.hero-foto h1{font-size:clamp(38px,6.4vw,80px);letter-spacing:-.042em;
line-height:.96;color:#FFFFFF;font-weight:700;text-wrap:balance}
.hero-foto .lema{margin-top:14px}
.hero-foto .lema span.linea{border-top:1px solid rgba(247,242,232,.45)}
.hero-foto .lema span.txt{color:#FFFFFF;font-style:italic;font-weight:400;
font-size:clamp(19px,2.2vw,28px);letter-spacing:-.02em}
.hero-foto .sub-f{max-width:640px;margin:18px auto 0;font-size:17.5px;line-height:1.5;
color:#FFFFFF}
.hero-foto .busca-f{max-width:580px;margin:24px auto 0}
/* marquee: decorative only, and it stops for prefers-reduced-motion */
.tira{background:var(--tinta);color:var(--pie-txt);overflow:hidden;
padding:11px 0;border-bottom:1px solid var(--pie-regla)}
.tira-in{display:flex;gap:0;white-space:nowrap;width:max-content;
animation:tira 38s linear infinite}
.tira b{font-weight:600;font-size:13px;letter-spacing:.02em;padding:0 18px}
.tira i{color:var(--sol);font-style:normal;font-size:11px}
@keyframes tira{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.mtags{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.mtl{font-size:11px;letter-spacing:.08em;text-transform:uppercase;
color:var(--suave);width:100%}
.mtag{font-size:12px;line-height:18px;padding:4px 11px;background:var(--arena);
border:1px solid var(--regla);border-radius:999px}
.hero-cred{font-size:11px;color:var(--suave);letter-spacing:.04em;padding:7px 20px;
text-align:right;background:var(--pliego);border-bottom:1px solid var(--regla)}
/* 11px text would give a 13px-tall hit area; grow the box without moving the
   line (v2 §11 tap-target rule, the documented photo-credit fix). */
.hero-cred a{color:var(--suave);display:inline-block;padding:6px 4px;margin:-6px -4px}
.frente .marco{max-width:640px;margin:0 auto;border-top:3px double var(--tinta);
border-bottom:3px double var(--tinta);padding:24px 8px 22px}
.frente h1{font-size:clamp(30px,4.6vw,46px);letter-spacing:.12em;text-transform:uppercase;
line-height:1.08;font-weight:600}
.lema{display:flex;align-items:center;gap:14px;justify-content:center;margin-top:12px}
.lema span.linea{flex:1;max-width:110px;border-top:1px solid var(--tinta)}
.lema span.txt{font-family:'Familjen Grotesk',system-ui,sans-serif;font-size:16px;
letter-spacing:.34em;text-transform:uppercase;font-weight:500}
.antilema{margin-top:12px;font-size:12.5px;font-weight:600;letter-spacing:.18em;
text-transform:uppercase;color:var(--suave)}
.frente .sub{max-width:620px;margin:20px auto 0;font-size:16.5px;color:var(--suave)}
/* ---- section scaffolding ---- */
.sec{padding:40px 0;border-bottom:1px solid var(--regla)}
.sec-k{font-size:12px;font-weight:700;letter-spacing:.24em;color:var(--naranja-txt);
text-transform:uppercase;margin-bottom:8px}
.sec h2{font-size:26px;margin-bottom:14px}
.sec .nota{font-size:14.5px;color:var(--suave);max-width:640px;margin-bottom:18px}
/* ---- registry rows (collection card) ---- */
.rejilla{background:var(--pliego);border:1px solid var(--regla);
border-radius:28px;overflow:hidden;box-shadow:var(--sombra)}
.fila{display:flex;gap:6px 16px;padding:14px 18px;border-bottom:1px solid var(--regla-fina);
text-decoration:none;color:var(--tinta);align-items:baseline;flex-wrap:wrap}
.fila:last-child{border-bottom:0}
.fila:hover{background:var(--arena)}
.fila .num{font-size:12px;color:var(--suave);font-feature-settings:'tnum';
letter-spacing:.1em;width:64px;flex-shrink:0}
.fila .nom{font-family:'Familjen Grotesk',system-ui,sans-serif;font-weight:600;font-size:19px;min-width:150px}
.fila .met{font-size:13.5px;color:var(--suave);flex:1;min-width:180px;font-feature-settings:'tnum'}
.chip{border:1.5px solid var(--suave);color:var(--suave);font-size:10.5px;font-weight:700;border-radius:999px;
letter-spacing:.12em;padding:2px 8px;flex-shrink:0;white-space:nowrap}
.chip-verde{border-color:var(--verde);color:var(--verde)}
.chip-naranja{border-color:var(--naranja);color:var(--naranja-txt)}
.chip-tinta{background:var(--tinta);border:1.5px solid var(--tinta);color:#F6F1E7}
.chip-avales{border-color:var(--tinta);color:var(--tinta)}
/* ---- ficha ---- */
.crumbs{font-size:13px;color:var(--suave);display:flex;gap:8px;flex-wrap:wrap;
padding:16px 0 0;align-items:baseline}
.crumbs a{color:var(--suave);display:inline-block;padding:6px 0;margin:-6px 0}
.ficha-cab{background:var(--pliego);border:1px solid var(--tinta);padding:24px 24px 22px;
margin-top:16px}
.ficha-cab .reg{font-size:12px;font-weight:600;letter-spacing:.2em;color:var(--suave);
font-feature-settings:'tnum'}
.ficha-cab h1{font-size:clamp(28px,4.5vw,36px);margin:8px 0 10px}
.ficha-cab .meta{font-size:13.5px;font-weight:600;letter-spacing:.14em;
text-transform:uppercase;color:var(--suave);display:flex;gap:10px;flex-wrap:wrap}
.cab-linea{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
align-items:flex-start}
/* sello */
.sello{display:inline-block;padding:3px;border-radius:999px;
background:rgba(246,241,231,.6);flex-shrink:1;max-width:100%}
.sello>div{padding:7px 16px;text-align:center}
.sello .l1{font-weight:700;font-size:13.5px;letter-spacing:.18em;white-space:nowrap}
/* SIN VERIFICAR carries the longest second line ("DATOS DE FUENTE · 08·2026
   · Nº 0383"). It was rare until the Macarfi intake made it 150 fichas, and
   at 360px it pushed the page 14px wide. Let it wrap and ease the tracking
   rather than clipping or shrinking the stamp away. */
.sello .l2{font-size:10.5px;letter-spacing:.22em;margin-top:3px;
font-feature-settings:'tnum';white-space:normal;overflow-wrap:anywhere}
@media(max-width:430px){
 .sello>div{padding:7px 11px}
 .sello .l1{font-size:12.5px;letter-spacing:.12em}
 .sello .l2{letter-spacing:.10em}
}
.sello-verde{border:2.5px solid var(--verde);color:var(--verde)}
.sello-verde>div{border:1px solid var(--verde)}
.sello-naranja{border:2.5px solid var(--naranja);color:var(--naranja-txt)}
.sello-naranja>div{border:1px solid var(--naranja)}
.sello-tinta{border:2.5px solid var(--tinta);color:var(--tinta)}
.sello-tinta>div{border:1px solid var(--tinta)}
.sello-suave{border:2.5px dashed var(--suave);color:var(--suave)}
.sello-suave>div{border:1px dashed var(--suave)}
/* rastro de avales */
.rastro{background:var(--pliego);border:1px solid var(--regla);padding:20px 24px;margin-top:22px}
.rastro-cab{border-bottom:1px solid var(--regla);padding-bottom:13px;margin-bottom:4px;
display:flex;gap:14px;align-items:baseline;flex-wrap:wrap}
.rastro-cab .n{font-family:'Familjen Grotesk',system-ui,sans-serif;font-weight:600;font-size:21px}
.rastro-cab .n b{color:var(--naranja-txt);font-feature-settings:'tnum'}
.rastro-cab .s{font-size:12.5px;color:var(--suave)}
details.aval{border-bottom:1px solid var(--regla-fina)}
details.aval:last-child{border-bottom:0}
details.aval summary{display:flex;gap:8px 14px;align-items:center;padding:12px 0;font-size:15px;
cursor:pointer;list-style:none;min-height:44px;flex-wrap:wrap}
details.aval summary::-webkit-details-marker{display:none}
details.aval summary .an{font-weight:600;letter-spacing:.06em}
details.aval summary .ad{color:var(--suave);font-size:13.5px;flex:1 1 120px;min-width:0}
details.aval summary .vm{color:var(--naranja-txt);font-size:12px;letter-spacing:.1em;flex-shrink:0}
details.aval[open] summary .vm{visibility:hidden}
details.aval .cuerpo{margin:0 0 14px 48px;font-size:14.5px;line-height:1.6;
color:var(--suave);max-width:560px}
.aval-svg{flex-shrink:0}
/* datos verificados */
.datos{background:var(--pliego);border:1px solid var(--regla);margin-top:22px;
border-radius:28px;overflow:hidden;box-shadow:var(--sombra)}
.datos-cab{border-bottom:1px solid var(--tinta);padding:12px 20px;display:flex;
justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:baseline}
.datos-cab .t{font-family:'Familjen Grotesk',system-ui,sans-serif;font-weight:600;font-size:19px;
letter-spacing:.08em;text-transform:uppercase}
.datos-cab .f{font-size:12px;color:var(--suave);letter-spacing:.14em;font-feature-settings:'tnum'}
.datos table{width:100%;border-collapse:collapse;font-size:15px;font-feature-settings:'tnum';table-layout:fixed}
.datos th{text-align:left;font-weight:600;padding:11px 20px;width:42%;color:var(--suave);
font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;vertical-align:top}
.datos td{padding:11px 20px 11px 0;overflow-wrap:anywhere}
.datos tr{border-bottom:1px solid var(--regla-fina)}
.datos tr:last-child{border-bottom:0}
.datos .fuente{font-size:11px;color:var(--suave);letter-spacing:.06em;display:block;margin-top:2px}
/* CTA row — network chip pattern */
.acciones{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.btn{display:inline-block;text-decoration:none;background:var(--chip);font-size:14px;border-radius:999px;
font-weight:600;padding:11px 16px;letter-spacing:.05em;min-height:44px;line-height:22px}
.btn-fork{border:1px solid var(--fork);border-left:5px solid var(--fork);color:var(--fork)}
.btn-fork:hover{background:var(--fork);color:var(--chip)}
.btn-bkng{border:1px solid var(--bkng);border-left:5px solid var(--bkng);color:var(--bkng)}
.btn-bkng:hover{background:var(--bkng);color:var(--chip)}
.btn-ta{border:1px solid var(--ta);border-left:5px solid var(--ta);color:var(--ta)}
.btn-ta:hover{background:var(--ta);color:var(--chip)}
.btn-maps{border:1px solid var(--maps);border-left:5px solid var(--maps);color:var(--maps)}
.btn-maps:hover{background:var(--maps);color:var(--chip)}
.btn-tinta{border:1px solid var(--tinta);border-left:5px solid var(--tinta);color:var(--tinta)}
.btn-tinta:hover{background:var(--tinta);color:var(--chip)}
.btn-naranja{border:1px solid var(--naranja);border-left:5px solid var(--naranja);
color:var(--naranja-txt)}
.btn-naranja:hover{background:var(--naranja);color:var(--chip)}
/* libro */
.libro{background:var(--pliego);border:1px solid var(--regla);font-feature-settings:'tnum'}
.asiento{display:flex;gap:8px 16px;padding:14px 20px;border-bottom:1px solid var(--regla-fina);
align-items:baseline;flex-wrap:wrap}
.asiento:last-child{border-bottom:0}
.asiento time{font-size:13px;color:var(--suave);width:88px;flex-shrink:0}
.asiento .tx{font-size:15px;flex:1;min-width:220px}
/* faq */
.faqs{border-top:1px solid var(--tinta);margin-top:8px}
details.faq{border-bottom:1px solid var(--regla)}
details.faq summary{display:flex;justify-content:space-between;gap:14px;padding:15px 2px;
font-family:'Familjen Grotesk',system-ui,sans-serif;font-weight:600;font-size:19px;cursor:pointer;
list-style:none;min-height:44px;align-items:baseline}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary .mas{color:var(--naranja-txt)}
details.faq p{margin:0 0 16px;font-size:15.5px;line-height:1.65;color:#3d3730;
max-width:640px;font-feature-settings:'tnum'}
/* reclama */
.reclama{border:1px dashed var(--pie-suave);padding:16px 20px;display:flex;gap:8px 18px;
align-items:baseline;flex-wrap:wrap;margin-top:26px}
.reclama .k{font-size:12.5px;font-weight:600;letter-spacing:.12em;color:var(--suave);
text-transform:uppercase;flex-shrink:0}
.reclama .t{font-size:14px;color:var(--suave);flex:1;min-width:220px}
/* contacta (corregir) */
.contacta{background:var(--pliego);border:1px solid var(--regla);
border-radius:var(--arco);box-shadow:var(--sombra);padding:22px 24px;margin:22px 0 8px}
.contacta .k{font-size:12px;font-weight:700;letter-spacing:.22em;color:var(--suave);
text-transform:uppercase}
/* The address does not fit on one line under ~430px. Left to itself the
   browser broke it mid-word ("uncompromised.tr / avel"), which is unreadable
   for a string people have to copy or retype — so the markup offers a <wbr>
   after the @ and the line breaks there instead. */
.contacta .mail{margin:8px 0 16px;font-size:clamp(19px,3.6vw,26px);font-weight:600;
overflow-wrap:anywhere;line-height:1.3}
.contacta .mail a{color:var(--tinta);text-decoration:none;border-bottom:2px solid var(--sol)}
.contacta .acc{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 14px}
/* .prosa a below sets padding:4px 0 for body copy links and would otherwise
   strip these two of their pill padding — the text ran into the border. */
.contacta .acc .btn{margin:0;padding:11px 18px;font-family:inherit;cursor:pointer}
.contacta .ayuda{font-size:13.5px;color:var(--suave);margin:0}
/* tiles (avales hub, colecciones hub) */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.tile{background:var(--pliego);border:1px solid var(--regla);padding:20px;
border-radius:var(--arco);box-shadow:var(--sombra);
text-decoration:none;color:var(--tinta);display:block}
.tile:hover{border-color:var(--tinta)}
.tile .tt{font-family:'Familjen Grotesk',system-ui,sans-serif;font-weight:600;font-size:19px}
.tile .td{font-size:13.5px;color:var(--suave);margin-top:4px}
.tile .tn{font-size:12px;color:var(--naranja-txt);letter-spacing:.12em;margin-top:10px;
font-feature-settings:'tnum';text-transform:uppercase}
/* stats banda */
.banda{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;
margin-top:20px}
.dato-b{background:var(--pliego);border:1px solid var(--regla);padding:18px;text-align:center;
border-radius:var(--arco);box-shadow:var(--sombra)}
.dato-b .v{font-family:'Familjen Grotesk',system-ui,sans-serif;font-weight:600;font-size:32px;
font-feature-settings:'tnum'}
.dato-b .l{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--suave);
margin-top:4px}
/* estados legend */
.estados{display:grid;gap:10px;margin-top:18px}
.estado-f{background:var(--pliego);border:1px solid var(--regla);padding:12px 18px;
display:flex;gap:8px 14px;align-items:baseline;flex-wrap:wrap;font-feature-settings:'tnum'}
.estado-f .nota-e{font-size:13.5px;color:var(--suave)}
/* footer */
.pie{background:var(--tinta);color:var(--pie-txt);margin-top:0;padding:36px 0 24px}
.pie .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px}
.pie .marca{font-family:'Familjen Grotesk',system-ui,sans-serif;font-weight:600;font-size:17px;
letter-spacing:.12em;text-transform:uppercase;color:#F6F1E7}
.pie .lem{font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;margin-top:3px;
color:var(--pie-suave)}
.pie p{font-size:13px;line-height:1.65;color:var(--pie-suave)}
.pie .fh{font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--pie-meta);
margin-bottom:6px;text-transform:uppercase}
.pie a{color:#EDE6D8;display:block;text-decoration:none;font-size:14px;line-height:2;
min-height:28px}
.pie a:hover{color:#F6F1E7;text-decoration:underline}
.pie .legal{border-top:1px solid var(--pie-regla);margin-top:26px;padding-top:14px;
font-size:12.5px;color:var(--pie-meta);display:flex;justify-content:space-between;
gap:8px 12px;flex-wrap:wrap;font-feature-settings:'tnum'}
.pie .disclo{font-size:13px;color:var(--pie-suave);margin-top:18px;max-width:720px}
.pie .disclo a{display:inline;font-size:13px;color:#EDE6D8;text-decoration:underline}
/* prose pages */
.prosa{max-width:680px}
.prosa p{margin:0 0 16px}
.prosa h2{margin:28px 0 10px}
.prosa h3{margin:22px 0 8px;font-size:20px}
.prosa ul,.prosa ol{margin:0 0 16px 22px;padding-left:14px}
.prosa li{margin-bottom:6px}
.prosa table{width:100%;border-collapse:collapse;font-size:14.5px;margin:0 0 18px;
font-feature-settings:'tnum';background:var(--pliego);border:1px solid var(--regla)}
.prosa th,.prosa td{padding:9px 12px;border-bottom:1px solid var(--regla-fina);text-align:left;
vertical-align:top}
.prosa th{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--suave)}
.tabla-scroll{overflow-x:auto}
/* filtros — progressive enhancement: every row is in the HTML, JS only
   hides on user action (motion policy: content never depends on JS) */
/* Filter panel: in normal flow, collapsible by the button. It used to pin
   under the sticky header, capped and internally scrollable; between the two
   pinned elements the register had nowhere to go. */
.filtros{border:1px solid var(--regla);background:var(--pliego);padding:14px 16px;
display:grid;gap:10px;margin-bottom:16px;border-radius:22px;
box-shadow:0 10px 24px rgba(59,18,24,.10)}
.filtros.compacto{max-height:none;overflow:visible;padding:10px 16px}
.filtros.compacto .fgrupo{display:none}
.filtros.compacto .fpie{border-top:0;padding-top:0;margin-top:0}
.ftoggle{margin-left:auto;border:1px solid var(--regla);background:var(--chip);
color:var(--tinta);font-family:inherit;font-size:13px;font-weight:600;
padding:9px 15px;cursor:pointer;min-height:44px;border-radius:999px}
.ftoggle:hover{background:var(--sol)}
@media(max-width:700px){
 .filtros{padding:10px 12px}
 .fetiq{width:100%}
}
.fgrupo{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.fetiq{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
color:var(--suave);width:108px;flex-shrink:0}
.fchip{border:1px solid var(--regla);background:var(--chip);color:var(--tinta);border-radius:999px;
font-family:inherit;font-size:13px;padding:10px 12px;cursor:pointer;min-height:44px;
letter-spacing:.02em;line-height:1.1}
.fchip:hover{border-color:var(--tinta)}
.fchip[aria-pressed="true"]{background:var(--tinta);color:var(--chip);border-color:var(--tinta)}
.fchip i{font-style:normal;font-feature-settings:'tnum';color:var(--suave);font-size:11.5px;
margin-left:6px}
.fchip[aria-pressed="true"] i{color:var(--pie-suave)}
.fpie{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;
border-top:1px solid var(--regla-fina);padding-top:10px;margin-top:2px}
.fcount{font-size:13.5px;color:var(--suave);font-feature-settings:'tnum'}
.fcount b{color:var(--tinta)}
.flimpiar{border:1px solid var(--naranja);border-left:5px solid var(--naranja);
background:var(--chip);color:var(--naranja-txt);font-family:inherit;font-size:13px;
font-weight:600;padding:10px 14px;cursor:pointer;min-height:44px;letter-spacing:.06em}
.flimpiar:hover{background:var(--naranja);color:var(--chip)}
.fvacio{background:var(--pliego);border:1px dashed var(--pie-suave);padding:22px;
font-size:15px;color:var(--suave)}
@media(max-width:640px){.fetiq{width:100%}}
/* promesas — what the site is for */
.promesas{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;
margin-top:26px;text-align:left}
.promesa{background:var(--pliego);border:1px solid var(--regla);padding:20px 22px;
border-radius:var(--arco);box-shadow:var(--sombra)}
.promesa b{display:block;font-family:'Familjen Grotesk',system-ui,sans-serif;font-size:18px;
font-weight:600;margin-bottom:5px}
.promesa span{font-size:14px;color:var(--suave);line-height:1.55}
/* fuentes explainer */
.fuentes{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.fuente-c{background:var(--pliego);border:1px solid var(--regla);padding:20px 22px;
border-radius:var(--arco);box-shadow:var(--sombra);
display:flex;flex-direction:column}
.fuente-c .fh2{font-family:'Familjen Grotesk',system-ui,sans-serif;font-weight:600;font-size:20px;
display:flex;align-items:center;gap:10px}
.fuente-c .fq{font-size:14.5px;color:var(--suave);line-height:1.6;margin-top:8px;flex:1}
.fuente-c .fn{font-size:12px;letter-spacing:.12em;text-transform:uppercase;
color:var(--naranja-txt);font-feature-settings:'tnum';margin-top:12px}
/* buscar */
.busca-f{display:flex;gap:10px;flex-wrap:wrap;max-width:640px}
.busca-f input{flex:1;min-width:220px;border:1px solid var(--tinta);background:var(--pliego);
padding:11px 14px;font-size:16px;font-family:inherit;color:var(--tinta)}
.busca-f input:focus{outline:2px solid var(--naranja);outline-offset:1px}
.busca-f button{border:1px solid var(--naranja);border-left:5px solid var(--naranja);
background:var(--chip);color:var(--naranja-txt);font-size:14px;font-weight:700;
letter-spacing:.08em;padding:11px 20px;font-family:inherit;cursor:pointer;min-height:44px}
.busca-f button:hover{background:var(--naranja);color:var(--chip)}
.busca-home{margin:22px auto 0;justify-content:center}
/* misc */
.aviso-cerrado{background:var(--tinta);color:#F6F1E7;padding:14px 20px;margin-top:16px;
font-size:15px}
.aviso-cerrado a{color:#EDE6D8}
.volver{font-size:13.5px;letter-spacing:.06em;display:inline-block;padding:6px 0;
margin:-6px 0}
/* small inline links get a 24px+ hit area without moving layout */
.cuerpo a,.datos td a:not(.btn),.nota a,.pie .disclo a,.fuente a,.tx a,
.reclama a,.prosa a,.aviso-cerrado a{display:inline-block;padding:4px 0;margin:-4px 0}
.prosa a{overflow-wrap:anywhere}
.skip{position:absolute;left:-9999px;top:0;background:var(--tinta);color:#F6F1E7;
padding:10px 16px;z-index:9}
.skip:focus{left:0}
@media(max-width:640px){
 body{font-size:16px}
 .datos th{width:38%;padding:10px 14px}
 .datos td{padding:10px 14px 10px 0}
 .fila .num{width:auto}
}
