
:root{--ink:#07151a;--ink2:#0b252c;--cyan:#4fe4e7;--cyan2:#1abac3;--green:#a8d38b;--paper:#f6f8f6;--mist:#e9efed;--line:#d5dedb;--muted:#607378;--wrap:min(1220px,calc(100% - 40px));--shadow:0 28px 80px rgba(7,21,26,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.6}a{color:inherit}button,input{font:inherit}.wrap{width:var(--wrap);margin:auto}.status{height:30px;background:#9fb1ae;display:flex;justify-content:space-between;align-items:center;padding:0 14px;font-size:.66rem;border-bottom:1px solid #7d9290}.status>div{display:flex;gap:8px;align-items:center}.status i{width:7px;height:7px;border-radius:50%;background:#c8ff5b}.status span{opacity:.7}header{position:sticky;top:0;z-index:60;background:rgba(246,248,246,.9);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.navrow{min-height:76px;display:flex;align-items:center}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.mark{width:42px;height:42px;border-radius:10px;background:linear-gradient(145deg,var(--ink),#154650);color:var(--cyan);display:grid;place-items:center;font-weight:950;letter-spacing:-.08em}.brand>span:last-child{display:grid;line-height:1}.brand strong{font-size:1.05rem}.brand small{text-transform:uppercase;font-size:.55rem;letter-spacing:.14em;color:var(--muted);margin-top:6px}.navrow nav{margin-left:auto;display:flex;align-items:center;gap:20px}.navrow nav a{text-decoration:none;font-weight:800;font-size:.86rem;color:#496066}.navrow nav .pill{background:var(--ink);color:white;padding:10px 14px;border-radius:10px}.menubtn{display:none;margin-left:auto;border:1px solid var(--line);background:white;border-radius:10px;padding:9px;width:43px}.menubtn span{display:block;height:2px;background:var(--ink);margin:4px}.dock{display:none}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.68rem;font-weight:900;color:var(--cyan2);margin:0 0 13px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(3.5rem,8vw,8rem);line-height:.9;letter-spacing:-.075em;margin:10px 0 28px}h1 em{font-style:normal;color:var(--cyan)}h2{font-size:clamp(2rem,4.6vw,4.5rem);line-height:.98;letter-spacing:-.055em}.lead{font-size:clamp(1.05rem,1.8vw,1.34rem);max-width:820px;color:#b7c7ca}.hero{padding:84px 0;background:radial-gradient(circle at 80% 15%,rgba(79,228,231,.15),transparent 27%),linear-gradient(145deg,#07151a,#0e3038);color:white}.heroGrid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px}.btn{display:inline-flex;padding:13px 18px;border-radius:11px;text-decoration:none;font-weight:900}.primary{background:linear-gradient(135deg,var(--cyan),#9df0c7);color:#06232a}.ghost{border:1px solid rgba(255,255,255,.22);color:white}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:38px;padding-top:22px;border-top:1px solid rgba(255,255,255,.13)}.stats div{display:grid}.stats b{font-size:1.25rem}.stats span{font-size:.72rem;color:#91a8ad}.today{background:linear-gradient(#dce6e3,#bdcbc8);border:7px solid #8ea09d;border-top-color:#b9c7c4;border-radius:23px;padding:13px;color:#10242a;box-shadow:inset 0 0 0 1px white,0 40px 100px rgba(0,0,0,.34)}.winbar{height:30px;background:#123640;color:#dcf8f6;display:flex;justify-content:space-between;align-items:center;padding:0 9px;border-radius:7px;font-size:.65rem}.todayTitle{display:flex;gap:12px;align-items:center;padding:18px 6px}.todayTitle>span{width:44px;height:44px;background:var(--ink2);color:var(--cyan);display:grid;place-items:center;border-radius:10px}.todayTitle b,.todayTitle small{display:block}.today>a{display:grid;grid-template-columns:38px 1fr auto;gap:9px;align-items:center;background:rgba(255,255,255,.74);border:1px solid #9eb0ae;border-radius:9px;margin:6px 0;padding:11px;text-decoration:none}.today>a b{font-size:.65rem;color:#16838c}.today>a em{font-style:normal;font-size:.7rem;color:var(--muted)}.section{padding:84px 0}.white{background:white}.soft{background:var(--mist)}.dark{background:var(--ink);color:white}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px}.bigcopy{font-size:1.1rem;color:var(--muted)}.sectionHead{max-width:850px;margin-bottom:34px}.sectionHead>p:last-child{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.card{display:flex;flex-direction:column;text-decoration:none;background:white;border:1px solid var(--line);border-radius:16px;padding:20px;min-height:260px;border-top:5px solid var(--cyan)}.card>span{font-size:.68rem;text-transform:uppercase;color:var(--cyan2);font-weight:900}.card h3{font-size:1.45rem;margin:50px 0 9px}.card p{color:var(--muted)}.card small{margin-top:auto;font-weight:900}.textlink{display:inline-block;margin-top:22px;font-weight:900}.provgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.provgrid a{display:grid;text-decoration:none;padding:22px;border:1px solid rgba(255,255,255,.14);border-radius:15px;min-height:190px;background:rgba(255,255,255,.035)}.provgrid span{color:var(--cyan);font-size:.7rem}.provgrid strong{font-size:1.5rem;margin-top:auto}.provgrid small{color:#9db2b6}.deviceSec{background:#dce6e3}.deviceGrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;align-items:center}.device{max-width:390px;background:linear-gradient(#e7efed,#c4d1ce);border:8px solid #93a6a3;border-radius:32px;padding:14px;box-shadow:inset 0 0 0 1px white,var(--shadow)}.devbar{display:flex;justify-content:space-between;font-size:.66rem;border-bottom:1px solid #9baca9;padding:4px}.device h3{font-size:2rem;margin:18px 3px}.devrow{display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.65);border:1px solid #a7b7b4;padding:12px;border-radius:10px;margin:7px 0}.devrow>span{width:34px;height:34px;background:var(--ink);color:var(--cyan);display:grid;place-items:center;border-radius:8px}.devrow b,.devrow small{display:block}.devrow small{color:var(--muted)}.devdock{background:var(--ink);color:white;text-align:center;letter-spacing:1.5em;border-radius:11px;padding:10px 0 10px 20px;margin-top:14px}.pagehero{padding:72px 0 64px;background:linear-gradient(145deg,#07151a,#10343d);color:white}.compact h1{font-size:clamp(3rem,6vw,5.7rem)}.finder{position:sticky;top:76px;z-index:20;background:rgba(246,248,246,.96);backdrop-filter:blur(16px);padding:13px 0 16px;border-bottom:1px solid var(--line);margin-bottom:24px}.finder label{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:center;background:white;border:1px solid var(--line);border-radius:12px;padding:9px 12px}.finder label span{font-size:.7rem;text-transform:uppercase;font-weight:900;color:var(--muted)}.finder input{border:0;outline:0;background:transparent;padding:5px}.chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.chips button{border:1px solid var(--line);background:white;border-radius:999px;padding:7px 11px;font-size:.78rem;font-weight:800}.chips button.active{background:var(--ink);color:white}.finder>p{font-size:.75rem;color:var(--muted);margin:8px 0 0}.listgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.listcard{display:grid;text-decoration:none;background:white;border:1px solid var(--line);border-radius:15px;padding:20px;min-height:250px}.listcard[hidden]{display:none}.listcard>div{display:flex;justify-content:space-between;font-size:.67rem;text-transform:uppercase;font-weight:900;color:var(--cyan2)}.listcard i{font-style:normal;color:var(--muted)}.listcard h2{font-size:1.5rem;margin:48px 0 8px}.listcard p{color:var(--muted)}.listcard small{margin-top:auto;font-weight:900}.provIndex{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.provcard{display:grid;text-decoration:none;background:white;border:1px solid var(--line);border-radius:16px;padding:24px;min-height:250px}.provcard>span{font-size:.7rem;color:var(--cyan2)}.provcard h2{font-size:2.5rem;margin:46px 0 8px}.provcard p{color:var(--muted)}.provcard small{margin-top:auto;font-weight:900}.minigrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mini{display:grid;text-decoration:none;background:white;border:1px solid var(--line);border-radius:13px;padding:18px;min-height:165px}.mini span{font-size:.67rem;color:var(--cyan2)}.mini b{font-size:1.2rem;margin-top:auto}.mini small{color:var(--muted)}.record{padding:62px 0}.recordGrid{display:grid;grid-template-columns:230px minmax(0,830px);justify-content:center;gap:58px}.record aside{position:sticky;top:110px;height:max-content}.record aside>a{font-weight:900}.code{display:grid;margin:35px 0 25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}.code small{color:var(--muted)}.code b{font-size:1.6rem}.record dl{margin:0}.record dl div{padding:10px 0;border-bottom:1px solid var(--line)}.record dt{font-size:.67rem;text-transform:uppercase;color:var(--muted);font-weight:900}.record dd{margin:2px 0 0;font-weight:850}.record article h1{color:var(--ink)}.darklead{color:#5d7277}.panels{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:35px}.panels section{background:white;border:1px solid var(--line);border-radius:14px;padding:20px;min-height:220px}.panels section>span{font-size:.68rem;color:var(--cyan2);font-weight:900}.panels h2{font-size:1.45rem;margin:36px 0 8px}.panels p{color:var(--muted)}.source{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:12px;padding:17px 18px;background:var(--ink);color:white;border-radius:14px}.source small,.source b{display:block}.source small{color:#89a8ad}.source a{color:var(--cyan);font-weight:900}.related{padding:60px 0;background:#dfe8e5}.relatedgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.relatedgrid a{display:grid;text-decoration:none;background:white;border:1px solid var(--line);border-radius:13px;padding:18px}.relatedgrid span{font-size:.67rem;color:var(--cyan2)}.relatedgrid b{margin-top:28px}.relatedgrid small{color:var(--muted)}.rules{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.rules article{background:white;border:1px solid var(--line);border-radius:14px;padding:20px;min-height:210px}.rules span{font-size:.67rem;color:var(--cyan2)}.rules h3{margin-top:42px}.rules p{color:var(--muted)}.legal{max-width:800px}.legal h2{font-size:1.55rem;margin-top:34px}.legal p{color:var(--muted)}footer{background:#030b0e;color:white;padding:55px 0 92px}.footgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:55px}.footgrid>div:first-child p{max-width:480px;color:#93a7ab;margin-top:18px}.footgrid>div>b{display:block;color:#7f979c;font-size:.75rem;margin-bottom:10px}.footgrid>div>a:not(.brand){display:block;color:#d6e2e3;text-decoration:none;margin:7px 0}.footbottom{border-top:1px solid rgba(255,255,255,.12);padding-top:17px;margin-top:35px;display:flex;justify-content:space-between;color:#71878c;font-size:.74rem}
@media(max-width:1000px){.menubtn{display:block}.navrow nav{display:none;position:absolute;top:76px;left:20px;right:20px;background:white;border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.navrow nav.open{display:flex}.heroGrid,.split,.deviceGrid{grid-template-columns:1fr}.today{max-width:620px}.cards,.provgrid,.rules{grid-template-columns:repeat(2,1fr)}.listgrid{grid-template-columns:repeat(2,1fr)}.recordGrid{grid-template-columns:1fr}.record aside{position:static}.footgrid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){:root{--wrap:min(100% - 24px,1220px)}body{padding-bottom:72px}.status{position:sticky;top:0;z-index:100}.topbar{top:30px}.navrow{min-height:64px}.hero{padding:45px 0 55px}h1{font-size:clamp(3rem,15vw,5.1rem)}.lead{font-size:1rem}.stats{grid-template-columns:1fr}.section{padding:58px 0}.cards,.provgrid,.rules,.listgrid,.provIndex,.minigrid,.panels,.relatedgrid{grid-template-columns:1fr}.finder{top:94px}.chips{flex-wrap:nowrap;overflow:auto}.chips button{white-space:nowrap}.source{flex-direction:column;align-items:flex-start}.footgrid{grid-template-columns:1fr}.footbottom{flex-direction:column;gap:4px}.dock{position:fixed;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));z-index:110;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(5,15,19,.95);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.13);border-radius:16px;padding:7px}.dock a{text-decoration:none;color:#d8e6e6;text-align:center;display:grid}.dock span{color:var(--cyan);font-size:1.05rem}.dock small{font-size:.58rem}}


/* GaliciaOnline v1.1 · civic directory */
.langbar{display:flex;gap:5px;align-items:center;margin-left:12px}.langbar a{font-size:.65rem;font-weight:900;text-decoration:none;border:1px solid var(--stone);border-radius:6px;padding:5px 6px;background:#fff}.langbar a.active{background:var(--atlantic);color:#fff}
.directory-hero{padding:64px 0 56px;background:radial-gradient(circle at 80% 20%,rgba(79,228,231,.13),transparent 28%),linear-gradient(145deg,#07151a,#0d2c34);color:#fff}
.location-console{background:linear-gradient(#dbe5e2,#bdcbc8);border:7px solid #8c9f9c;border-top-color:#b9c7c4;border-radius:22px;padding:14px;color:#10242a;box-shadow:inset 0 0 0 1px #fff,var(--shadow)}
.location-console form{display:flex;gap:7px;margin:16px 0}.location-console input{flex:1;min-width:0;border:1px solid #8fa5a2;border-radius:8px;padding:11px;background:#fff}.location-console button{border:0;border-radius:8px;padding:0 15px;background:var(--atlantic);color:#fff;font-weight:900}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.quick-call{display:grid;text-decoration:none;background:#fff;border:1px solid #a5b6b2;border-radius:10px;padding:12px}.quick-call span{font-size:.67rem;color:var(--muted);text-transform:uppercase;font-weight:900}.quick-call strong{font-size:1.7rem;line-height:1;margin-top:8px}.quick-call small{color:#157b84;margin-top:5px;font-weight:850}
.directory-shell{display:grid;grid-template-columns:230px 1fr;gap:34px}.local-nav{position:sticky;top:110px;height:max-content;background:#e5ece9;border:1px solid var(--stone);border-radius:15px;padding:14px}.local-nav strong{display:block;margin-bottom:8px}.local-nav a{display:block;text-decoration:none;padding:8px 9px;border-radius:8px;font-size:.83rem}.local-nav a:hover{background:#fff}.service-section{margin-bottom:38px}.service-section>header{display:flex;align-items:end;justify-content:space-between;gap:20px;border-bottom:1px solid var(--stone);padding-bottom:10px;margin-bottom:11px}.service-section>header h2{font-size:2rem;margin:0}.service-section>header small{color:var(--muted)}
.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.service-card{display:grid;background:#fff;border:1px solid var(--stone);border-radius:14px;padding:17px;min-height:205px}.service-card.urgent{border-color:#efb0a9;background:#fffafa}.service-card-top{display:flex;justify-content:space-between;gap:10px}.service-card .badge{font-size:.63rem;text-transform:uppercase;letter-spacing:.09em;color:var(--cyan-2);font-weight:900}.verified-badge{font-size:.61rem;background:#e9f7e5;color:#42703c;border-radius:999px;padding:4px 7px;font-weight:900}.service-card h3{font-size:1.25rem;margin:28px 0 8px}.service-phone{font-size:1.7rem;font-weight:950;letter-spacing:-.03em;text-decoration:none}.service-meta{color:var(--muted);font-size:.85rem;margin-top:7px}.service-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto;padding-top:14px}.service-actions a{font-size:.75rem;font-weight:900;text-decoration:none;border:1px solid var(--stone);border-radius:8px;padding:7px 9px;background:#f8faf9}.service-actions a.primary{background:var(--atlantic);color:#fff;border-color:var(--atlantic)}
.pilot-note{background:#eef5f2;border:1px solid #c8d9d4;border-radius:12px;padding:12px 14px;color:#4e666a;font-size:.84rem}
.version-pill{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:4px 8px;font-size:.65rem;color:#9db0b4}
.camino-hero{padding:64px 0;background:linear-gradient(145deg,#07151a,#13393b);color:#fff}.route-line{display:flex;align-items:center;gap:0;overflow-x:auto;padding:16px 0}.route-node{min-width:120px;position:relative;text-align:center}.route-node:before{content:"";position:absolute;top:13px;left:0;right:0;height:2px;background:#7daaa2}.route-node:first-child:before{left:50%}.route-node:last-child:before{right:50%}.route-node i{position:relative;z-index:1;display:block;width:28px;height:28px;border-radius:50%;margin:0 auto 7px;background:var(--atlantic);border:5px solid var(--cyan)}.route-node strong{display:block;font-size:.78rem}.route-node small{display:block;color:var(--muted);font-size:.67rem}
.pilgrim-office{display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center;background:var(--atlantic);color:#fff;border-radius:17px;padding:23px}.pilgrim-office p{color:#a6babc}.pilgrim-office .service-phone{color:var(--cyan)}
.directory-search-results{display:none;margin-top:8px}.directory-search-results.open{display:block}.directory-search-results a{display:block;background:#fff;border:1px solid #a5b6b2;border-radius:8px;padding:10px;text-decoration:none;font-weight:850}
@media(max-width:900px){.directory-shell{grid-template-columns:1fr}.local-nav{position:static;display:flex;overflow-x:auto;gap:4px}.local-nav strong{display:none}.local-nav a{white-space:nowrap;background:#fff}.service-grid{grid-template-columns:1fr}.pilgrim-office{grid-template-columns:1fr}}
@media(max-width:720px){.langbar{display:none}.quick-grid{grid-template-columns:1fr 1fr}.directory-hero{padding:42px 0}.location-console form{flex-direction:column}.location-console button{min-height:44px}.service-card{min-height:190px}.service-phone{font-size:1.45rem}}


/* ================================================================
   GaliciaOnline v1.9.2 — compatibilidad visual del nuevo shell
   Corrige la transición de nombres de clase de v1 a v1.1.
   ================================================================ */
:root{
  --atlantic:var(--ink);
  --atlantic-2:var(--ink2);
  --atlantic-3:#123b43;
  --cyan-2:var(--cyan2);
  --lichen:var(--green);
  --stone:var(--line);
  --white:#fff;
  --shell:var(--wrap);
}
.shell{width:var(--wrap);margin-inline:auto}
.statusbar{height:30px;background:#9fb1ae;color:#10242a;display:flex;justify-content:space-between;align-items:center;padding:0 14px;font-size:.66rem;border-bottom:1px solid #7d9290;box-shadow:inset 0 1px rgba(255,255,255,.45)}
.statusbar>div{display:flex;gap:8px;align-items:center}.status-led{width:7px;height:7px;border-radius:50%;background:#c8ff5b;box-shadow:0 0 0 2px rgba(200,255,91,.22)}.status-mode{opacity:.7}.status-signal{letter-spacing:-.08em}
.topbar{position:sticky;top:0;z-index:80;background:rgba(246,248,246,.92);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.topbar-inner{min-height:76px;display:flex;align-items:center;gap:24px}
.brand-mark{width:42px;height:42px;border-radius:10px;background:linear-gradient(145deg,var(--ink),#154650);color:var(--cyan);display:grid;place-items:center;font-weight:950;letter-spacing:-.08em;border:1px solid #214953;box-shadow:inset 0 1px rgba(255,255,255,.08)}
.brand-copy{display:grid;line-height:1}.brand-copy strong{font-size:1.05rem}.brand-copy small{text-transform:uppercase;font-size:.55rem;letter-spacing:.14em;color:var(--muted);margin-top:6px}
.main-nav{margin-left:auto;display:flex;align-items:center;gap:20px}.main-nav a{text-decoration:none;font-weight:800;font-size:.86rem;color:#496066}.main-nav a:hover{color:var(--ink)}
.menu-button{display:none;margin-left:auto;border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px;width:43px}.menu-button span{display:block;height:2px;background:var(--ink);margin:4px}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:58px;align-items:center}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px}.btn-primary{background:linear-gradient(135deg,var(--cyan),#9df0c7);color:#06232a}.btn-secondary{border:1px solid rgba(255,255,255,.22);color:#fff;background:rgba(255,255,255,.03)}
.app-intro{background:#fff}.large-copy{font-size:1.1rem;color:var(--muted)}.section-head{max-width:850px;margin-bottom:34px}.section-head>p:last-child{color:var(--muted)}
.province-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.province-detail-card{display:grid;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;min-height:250px}.province-detail-card>span{font-size:.7rem;color:var(--cyan2);font-weight:900;letter-spacing:.05em}.province-detail-card h2{font-size:2.5rem;margin:46px 0 8px}.province-detail-card p{color:var(--muted)}.province-detail-card small{margin-top:auto;font-weight:900}
.site-footer{background:#030b0e;color:#fff;padding:55px 0 92px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:55px}.footer-grid>div:first-child>p{max-width:480px;color:#93a7ab;margin-top:18px}.footer-grid>div>strong{display:block;color:#7f979c;font-size:.75rem;margin-bottom:10px}.footer-grid>div>a:not(.brand){display:block;color:#d6e2e3;text-decoration:none;margin:7px 0}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:17px;margin-top:35px;display:flex;justify-content:space-between;color:#71878c;font-size:.74rem}
.location-console h3{font-size:1.35rem;margin:16px 0 0}.directory-hero .lead{max-width:720px}.directory-hero .hero-copy{padding-right:6px}
.langbar{flex:0 0 auto}
@media(max-width:1000px){.menu-button{display:block}.main-nav{display:none;position:absolute;top:76px;left:20px;right:20px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.hero-grid{grid-template-columns:1fr}.location-console{max-width:700px}.province-detail-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.topbar{top:30px}.topbar-inner{min-height:64px}.brand-mark{width:37px;height:37px}.brand-copy strong{font-size:.98rem}.main-nav{top:64px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:4px}}

/* v1.3 · complete locality */
.breadcrumbs{display:flex;gap:8px;align-items:center;font-size:.78rem;margin-bottom:28px;color:#9eb1b5}.breadcrumbs a{color:#c8d6d8;text-decoration:none}.breadcrumbs strong{color:#fff}
.local-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:32px}.local-facts span{display:grid;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.12);padding:12px;border-radius:10px}.local-facts small{color:#91a8ad}.local-facts strong{margin-top:5px}
.publication-ok{display:flex;gap:12px;align-items:center;background:#edf7e9;border:1px solid #c4ddba;border-radius:14px;padding:14px 16px;margin-bottom:28px;color:#345a31}.publication-ok>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#7eaf6d;color:#fff;font-weight:950}.publication-ok strong,.publication-ok small{display:block}.publication-ok small{margin-top:2px;color:#5c7259}
.service-number-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.service-mini-call{display:inline-flex;text-decoration:none;background:#f0f5f3;border:1px solid var(--stone);border-radius:8px;padding:5px 8px;font-size:.76rem;font-weight:900}.service-secondary{margin:6px 0 0;font-size:.78rem;color:var(--muted)}.service-secondary a{font-weight:900}
.service-proof{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--stone);padding-top:9px;margin-top:10px;font-size:.66rem;color:var(--muted)}.source-link{font-weight:850}
.local-camino{display:grid;grid-template-columns:1fr auto;align-items:center;gap:28px;background:linear-gradient(145deg,#dce9e4,#c3d8d0);border:1px solid #aec7be;border-radius:17px;padding:24px;margin-top:45px}.local-camino h2{font-size:2.25rem}.local-camino p{color:#506b6d}.camino-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:20px}.camino-stats span{display:grid;background:rgba(255,255,255,.65);border:1px solid #b2c9c2;border-radius:9px;padding:10px}.camino-stats small{font-size:.66rem;color:#617b7a}.camino-stats strong{margin-top:4px}
@media(max-width:900px){.local-facts{grid-template-columns:1fr 1fr}.local-camino{grid-template-columns:1fr}.camino-stats{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.local-facts{grid-template-columns:1fr}.camino-stats{grid-template-columns:1fr}.service-proof{flex-direction:column;gap:3px}}

/* v1.4 Santiago */
.route-chip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}.route-chip-grid span{background:#fff;border:1px solid var(--stone);border-radius:999px;padding:10px 14px;font-weight:850;text-align:center}.pilgrim-arrival{background:radial-gradient(circle at 80% 15%,rgba(168,211,139,.13),transparent 28%),linear-gradient(145deg,#07151a,#173b34)}
@media(max-width:800px){.route-chip-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.route-chip-grid{grid-template-columns:1fr}}

/* v1.9.2 · territorial intelligence + guides */
.territorial-signals{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.territorial-card{display:grid;gap:5px;padding:13px;border:1px solid rgba(255,255,255,.14);border-radius:11px;background:rgba(255,255,255,.055);color:#fff;text-decoration:none}
.territorial-card small{color:#8fb3b6;text-transform:uppercase;letter-spacing:.07em;font-size:.63rem}
.territorial-card strong{font-size:.93rem}.territorial-card span{font-size:.7rem;color:#b8c8ca;line-height:1.35}
.territorial-card:hover{border-color:rgba(80,210,211,.5);transform:translateY(-1px)}
.radon-card strong{color:#b8e99d}
.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.guide-card{display:block;background:#fff;border:1px solid var(--stone);border-radius:15px;padding:20px;text-decoration:none;color:inherit}
.guide-card>span{font-size:.66rem;font-weight:900;letter-spacing:.08em;color:#5c7778}.guide-card h2{font-size:1.35rem;margin:8px 0}.guide-card p{color:var(--muted);line-height:1.55}.guide-card small{font-weight:850}
.guide-steps{display:grid;gap:10px;margin:24px 0}
.guide-steps article{display:grid;grid-template-columns:42px 1fr;gap:14px;background:#fff;border:1px solid var(--stone);border-radius:14px;padding:16px}
.guide-steps article>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#123b42;color:#fff;font-weight:950}
.guide-steps h3{margin:0 0 5px}.guide-steps p{margin:0;color:var(--muted);line-height:1.55}
.notice{padding:16px 18px;border:1px solid #c8d8a9;background:#f0f6e6;border-radius:13px;line-height:1.5}
.source-panel{display:grid;gap:5px;border-top:1px solid var(--stone);padding-top:16px;margin-top:25px}.source-panel a{font-weight:850}.source-panel small{color:var(--muted)}
.emergency-strip{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.emergency-strip a{display:grid;background:#112f34;color:#fff;border-radius:14px;padding:18px;text-decoration:none}.emergency-strip small{color:#a8c1c4}.emergency-strip strong{font-size:1.65rem;margin-top:3px}
.radon-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:24px}.radon-stats span{display:grid;background:#fff;border:1px solid var(--stone);border-radius:12px;padding:14px}.radon-stats small{color:var(--muted)}.radon-stats strong{font-size:1.45rem;margin-top:4px}
@media(max-width:900px){.territorial-signals,.guide-grid{grid-template-columns:1fr}.radon-stats{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.emergency-strip,.radon-stats{grid-template-columns:1fr}}
\n/* v2.0 · Tui border */\n.service-note{font-size:.72rem;color:var(--muted);line-height:1.45;margin:8px 0}.border-hub{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;margin-top:44px;padding:24px;border:1px solid #8ebbb6;border-radius:17px;background:linear-gradient(135deg,#e4f0ed,#d6e8e1)}.border-hub h2{font-size:2.2rem}.border-hub p{color:#506b6d}.border-pills{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}.border-pills span{border:1px solid #9bbab5;background:rgba(255,255,255,.68);border-radius:999px;padding:7px 11px;font-size:.75rem;font-weight:850}.hero-pills span{color:#fff;border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.08)}.stage-distance{font-size:.77rem;margin-top:12px;color:#617b7a}\n@media(max-width:800px){.border-hub{grid-template-columns:1fr}}\n
/* v2.1 · O Porriño corridor */
.corridor-hub{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;margin-top:44px;padding:24px;border:1px solid #9bb9c2;border-radius:17px;background:linear-gradient(135deg,#e7f0f2,#dce9e9)}
.corridor-hub h2{font-size:2.2rem}.corridor-hub p{color:#506b6d}.corridor-links{display:flex;gap:9px;flex-wrap:wrap}.btn-muted{background:#e5ecea;color:#637679;cursor:default}
@media(max-width:800px){.corridor-hub{grid-template-columns:1fr}}

/* v2.8.1 · directorio municipal Pontevedra */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.province-directory-hero .lead{max-width:900px}.province-directory-toolbar{display:grid;grid-template-columns:1fr minmax(280px,440px);gap:28px;align-items:end;margin-bottom:18px}.province-directory-toolbar h2{font-size:2.2rem;margin:5px 0}.province-directory-toolbar p{color:var(--muted)}
.directory-filter input{width:100%;min-height:52px;border:1px solid var(--stone);border-radius:12px;background:#fff;padding:0 15px;font:inherit;box-shadow:0 5px 18px rgba(18,42,45,.05)}.directory-filter input:focus{outline:2px solid rgba(21,123,132,.3);border-color:var(--cyan-2)}
.directory-legend{display:flex;gap:10px 20px;flex-wrap:wrap;margin:0 0 20px;color:var(--muted);font-size:.78rem}.directory-legend span{display:flex;align-items:center;gap:7px}.legend-dot{width:9px;height:9px;border-radius:50%;display:inline-block}.legend-dot.complete{background:#4b9f4a}.legend-dot.contact{background:#7c9294}.legend-dot.hours{background:#157b84}
.municipal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.municipal-card{display:grid;gap:10px;background:#fff;border:1px solid var(--stone);border-radius:16px;padding:18px;box-shadow:0 7px 22px rgba(26,51,53,.045)}.municipal-card.complete{border-color:#a9c9aa}.municipal-card[hidden]{display:none}.municipal-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.municipal-state{font-size:.67rem;font-weight:900;border-radius:999px;padding:5px 8px;background:#edf2f1;color:#5f7375}.municipal-card.complete .municipal-state{background:#e9f7e5;color:#42703c}.municipal-card h2{font-size:1.7rem;margin:4px 0 0}.municipal-address{margin:0;color:var(--muted);font-size:.86rem;line-height:1.45}
.municipal-open{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid #dce4e2;background:#f7faf9;border-radius:10px;font-size:.8rem}.status-dot{width:9px;height:9px;border-radius:50%;background:#93a1a2;flex:0 0 auto}.municipal-open.open .status-dot{background:#48a34a}.municipal-open.closed .status-dot{background:#b65e55}.municipal-open.unknown .status-dot,.status-dot.unknown{background:#8b999b}.municipal-open strong{font-size:.8rem}.municipal-hours{margin:-3px 0 2px;color:var(--muted);font-size:.72rem;line-height:1.4}.municipal-hours small{font-size:.7rem}
.municipal-contact-block{display:grid;grid-template-columns:.75fr 1.25fr;gap:10px}.municipal-contact-block>div{min-width:0;padding:10px;border:1px solid #e1e8e6;border-radius:10px;background:#fbfcfc}.municipal-contact-block small{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:.61rem;font-weight:900;margin-bottom:5px}.municipal-phone{display:block;font-size:1.1rem;font-weight:950;text-decoration:none;overflow-wrap:anywhere}.municipal-email{display:block;font-size:.8rem;font-weight:850;text-decoration:none;overflow-wrap:anywhere;line-height:1.35}.municipal-actions{margin-top:0;padding-top:2px}.municipal-actions a{display:inline-flex;align-items:center;min-height:36px}.municipal-actions .verified-link{border-color:#a9c9aa;background:#f1f8f0;color:#356a35}
.municipal-more{border-top:1px solid #e2e9e7;padding-top:10px}.municipal-more summary{cursor:pointer;font-size:.8rem;font-weight:900;color:#294f52;list-style:none}.municipal-more summary::-webkit-details-marker{display:none}.municipal-more summary:before{content:'＋';display:inline-block;margin-right:6px}.municipal-more[open] summary:before{content:'−'}.municipal-more summary span{color:var(--muted);font-weight:700}.municipal-service-list{display:grid;gap:7px;margin-top:10px}.municipal-service-row{display:grid;grid-template-columns:1fr auto;gap:10px;padding:10px;border:1px solid #e1e8e6;border-radius:10px;background:#f9fbfa}.municipal-service-row h3{font-size:.95rem;margin:0 0 3px}.municipal-service-row p{margin:2px 0;color:var(--muted);font-size:.72rem;line-height:1.4}.municipal-service-row .service-source{font-size:.68rem;font-weight:850}.municipal-service-buttons{display:flex;gap:5px;align-items:start;flex-wrap:wrap;justify-content:flex-end}.municipal-service-buttons a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid var(--stone);border-radius:7px;padding:6px 8px;font-size:.68rem;font-weight:900;background:#fff}.municipal-service-buttons a.call{background:var(--atlantic);color:#fff;border-color:var(--atlantic)}.municipal-proof{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:.65rem;border-top:1px solid #edf1f0;padding-top:8px}.loading-note,.directory-empty{color:var(--muted);font-size:.8rem}.source-note{border:1px solid var(--stone);border-radius:15px;padding:20px;background:#fff}.source-note p{color:var(--muted);line-height:1.6;margin-bottom:0}
.service-actions a.email-action{background:#f2f7f6;border-color:#a8bfbc;color:#234f52}
@media(max-width:900px){.province-directory-toolbar{grid-template-columns:1fr}.municipal-grid{grid-template-columns:1fr}}
@media(max-width:560px){.municipal-contact-block{grid-template-columns:1fr}.municipal-service-row{grid-template-columns:1fr}.municipal-service-buttons{justify-content:flex-start}.municipal-card h2{font-size:1.45rem}}
.province-directory-banner{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:28px;padding:22px;border:1px solid #8ebbb6;border-radius:16px;background:linear-gradient(135deg,#e5f0ed,#f8fbfa);text-decoration:none;color:inherit}.province-directory-banner small{display:block;color:var(--cyan-2);font-weight:900;letter-spacing:.08em}.province-directory-banner strong{display:block;font-size:1.5rem;margin:5px 0}.province-directory-banner p{margin:0;color:var(--muted);line-height:1.5}.province-directory-banner b{white-space:nowrap;color:#184f55}@media(max-width:720px){.province-directory-banner{align-items:flex-start;flex-direction:column}.province-directory-banner b{white-space:normal}}

/* v3.3.0 · mercadillos public layer */
.market-hero .lead{max-width:920px}.market-coverage{display:grid;gap:5px;margin-top:22px;padding:15px 17px;border:1px solid rgba(255,255,255,.16);border-radius:13px;background:rgba(255,255,255,.06);max-width:720px}.market-coverage small{color:#9fc5c7;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.market-coverage strong{color:#fff}
.market-toolbar{display:grid;grid-template-columns:1fr minmax(220px,340px);gap:12px}.market-toolbar input,.market-toolbar select{width:100%;min-height:50px;border:1px solid var(--stone);border-radius:11px;background:#fff;padding:0 14px;font:inherit}.market-modes{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0 18px}.market-modes button{border:1px solid var(--stone);border-radius:999px;background:#fff;padding:9px 13px;font-weight:850;color:#365759;cursor:pointer}.market-modes button.active{background:var(--atlantic);border-color:var(--atlantic);color:#fff}.market-result-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:15px;color:var(--muted);font-size:.78rem}.market-result-head strong{font-size:.95rem;color:var(--ink)}
.market-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.market-card{display:grid;align-content:start;gap:9px;background:#fff;border:1px solid var(--stone);border-radius:15px;padding:17px;box-shadow:0 6px 20px rgba(20,46,48,.045)}.market-card-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.market-type{font-size:.61rem;text-transform:uppercase;letter-spacing:.07em;font-weight:900;color:#597476}.market-card h3{font-size:1.18rem;margin:2px 0}.market-place,.market-rule,.market-hours,.market-address,.market-stalls{margin:0;font-size:.78rem;line-height:1.45;color:var(--muted)}.market-rule{font-weight:800;color:#365759}.market-next{display:grid;gap:2px;margin:3px 0;padding:10px 11px;border-radius:10px;background:#edf5f2;border:1px solid #d5e5df}.market-next small{text-transform:uppercase;letter-spacing:.07em;color:#587572;font-size:.58rem;font-weight:900}.market-next strong{font-size:1rem}.market-next span{font-size:.62rem;color:var(--muted)}.market-next.unknown{background:#f6f5f1;border-color:#e6e1d5}.market-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.market-actions a{display:inline-flex;align-items:center;border:1px solid #b9ccca;border-radius:8px;padding:7px 9px;text-decoration:none;font-size:.69rem;font-weight:900;background:#f8fbfa;color:#28565a}.market-empty{grid-column:1/-1;padding:25px;border:1px dashed #b9c8c6;border-radius:13px;color:var(--muted);text-align:center}
.market-local-panel{margin-top:26px;padding-top:24px;border-top:1px solid var(--stone)}.market-local-panel>header{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:13px}.market-local-panel>header h2{margin:0}.market-local-panel>header small{color:var(--muted)}.market-local-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.market-card.compact{box-shadow:none}.market-card.compact .market-address,.market-card.compact .market-stalls{display:none}.market-all-link{display:inline-flex;margin-top:12px;font-weight:900;text-decoration:none}.market-feature-banner{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;margin-top:28px;padding:22px;border:1px solid #c7b888;border-radius:16px;background:linear-gradient(135deg,#f4f0df,#fbfaf5);text-decoration:none;color:inherit}.market-feature-banner small{display:block;color:#857126;font-weight:900;letter-spacing:.08em}.market-feature-banner strong{display:block;font-size:1.5rem;margin:5px 0}.market-feature-banner p{margin:0;color:var(--muted);line-height:1.5}.market-feature-banner b{white-space:nowrap;color:#6d5b20}
@media(max-width:1000px){.market-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.market-toolbar,.market-grid,.market-local-list{grid-template-columns:1fr}.market-result-head{display:grid}.market-feature-banner{grid-template-columns:1fr}.market-feature-banner b{white-space:normal}}
