/* T85 diseño de ficha v2 (fichas_diseno.py). Usa las variables del directorio (--marca, --marca-oscuro, --tinta, --linea...) con respaldo. Modo claro. */
.fd{--b:var(--marca,#0F6E8C);--bo:var(--marca-oscuro,#0B5468);--bh:var(--marca-hondo,#073745);--bc:var(--marca-claro,#E3F1F6);--bb:var(--marca-borde,#B4D9E4);
--t:var(--tinta,#16211d);--g:var(--gris,#55635e);--l:var(--linea,#e3eae6);--oro:#e0a33e;--ok:#0b6b3a;--r:14px;
font-family:var(--texto,system-ui,sans-serif);color:var(--t);line-height:1.55;padding-bottom:84px;min-width:0}
.fd *,.fd *::before,.fd *::after{box-sizing:border-box}
.fd img{display:block;max-width:100%;height:auto}
.fd a{color:var(--bo)}
.fd :focus-visible{outline:3px solid var(--b);outline-offset:2px;border-radius:6px}
.fijo-cli{display:none!important}
.fd-cuerpo{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.fd-top,.fd-resto,.fd-form{min-width:0}
.fd-resto{display:grid;gap:18px;align-content:start}
.fd-card{background:#fff;border:1px solid var(--l);border-radius:var(--r);padding:20px;box-shadow:0 1px 2px rgba(16,40,30,.06);min-width:0}
.fd-card h2{font:700 1.2rem/1.25 var(--display,Georgia,serif);margin:0 0 12px;color:var(--t)}
.fd-card h2 small{font:500 .85rem var(--texto,sans-serif);color:var(--g)}
.fd-nota-fuente,.fd-credito{font-size:.82rem;color:var(--g);margin:12px 0 0}
.fd-credito{margin-top:10px}
.fd-top{display:grid;gap:14px;align-content:start}
/* cabecera */
.fd-cab{background:#fff;border:1px solid var(--l);border-radius:var(--r);overflow:hidden;box-shadow:0 1px 2px rgba(16,40,30,.06)}
.fd-ban{aspect-ratio:610/261;background:var(--bc);position:relative;overflow:hidden}
.fd-ban-img{width:100%;height:100%;object-fit:cover}
.fd-ban-gen{background:linear-gradient(135deg,var(--bh),var(--bo) 55%,var(--b))}
.fd-ban-gen::after{content:"";position:absolute;inset:0;opacity:.14;background:repeating-linear-gradient(45deg,#fff 0 2px,transparent 2px 22px)}
.fd-id{display:flex;gap:14px;align-items:flex-start;padding:12px 18px 0;position:relative}
.fd-logo{flex:none;margin-top:-46px;width:84px;height:84px;border-radius:16px;background:#fff;border:1px solid var(--l);box-shadow:0 4px 14px -4px rgba(16,40,30,.28);display:grid;place-items:center;overflow:hidden;padding:6px}
.fd-logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.fd-logo-osc{background:#1f2a37}
.fd-mono{background:var(--bc);color:var(--bo);font:700 1.7rem var(--display,serif);letter-spacing:.02em}
.fd-id-txt{min-width:0;padding-bottom:2px}
.fd-meta{margin:0;font-size:.82rem;font-weight:600;color:var(--bo);text-transform:uppercase;letter-spacing:.04em}
.fd-h1{font:700 1.45rem/1.2 var(--display,Georgia,serif);margin:2px 0 4px;overflow-wrap:anywhere;color:var(--t)}
.fd-nota{margin:0;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;font-size:.92rem}
.fd-nota b{font-size:1.05rem}
.fd-est{--p:100%;display:inline-block;width:5.4em;height:1.05em;background:linear-gradient(90deg,#e0a33e var(--p),#d3d9d6 var(--p));-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 20'%3E%3Cpath id='s' d='M10 1l2.6 5.6 6 .7-4.5 4.1 1.2 6L10 14.3 4.7 17.4l1.2-6L1.4 7.3l6-.7z'/%3E%3Cuse href='%23s' x='20'/%3E%3Cuse href='%23s' x='40'/%3E%3Cuse href='%23s' x='60'/%3E%3Cuse href='%23s' x='80'/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 20'%3E%3Cpath id='s' d='M10 1l2.6 5.6 6 .7-4.5 4.1 1.2 6L10 14.3 4.7 17.4l1.2-6L1.4 7.3l6-.7z'/%3E%3Cuse href='%23s' x='20'/%3E%3Cuse href='%23s' x='40'/%3E%3Cuse href='%23s' x='60'/%3E%3Cuse href='%23s' x='80'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.fd-nres{color:var(--g);font-size:.85rem}
.fd-ins{list-style:none;margin:12px 0 0;padding:0 18px;display:flex;flex-wrap:wrap;gap:8px}
.fd-ins li{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;background:var(--bc);color:var(--bh);border:1px solid var(--bb);border-radius:99px;padding:3px 11px 3px 8px}
.fd-ins svg{width:15px;height:15px}
.fd-estado{margin:12px 18px 0;display:inline-flex;align-items:center;gap:8px;height:30px;font-size:.88rem;font-weight:600;color:var(--g);background:#f1f4f2;border-radius:99px;padding:0 13px;white-space:nowrap;max-width:calc(100% - 36px);overflow:hidden}
.fd-estado-grande{margin:0 0 12px}
.fd-punto{width:9px;height:9px;border-radius:50%;background:#8a9690;flex:none}
.fd-estado.fd-ab,.fd-estado.fd-abierto{background:#e4f5ea;color:var(--ok)}
.fd-estado.fd-ab .fd-punto,.fd-estado.fd-abierto .fd-punto{background:#1c9d57}
.fd-estado.fd-cerrado{background:#fdeceb;color:#a12622}
.fd-estado.fd-cerrado .fd-punto{background:#d4403b}
/* botones */
.fd-btns{list-style:none;margin:14px 0 0;padding:0 18px 18px;display:flex;flex-wrap:wrap;gap:8px}
.fd-btns-s{padding:0;margin:0}
.fd-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:99px;border:1.5px solid var(--bb);background:#fff;color:var(--bo)!important;font:600 .93rem var(--texto,sans-serif);text-decoration:none}
.fd-btn svg{width:19px;height:19px;flex:none}
.fd-btn:hover{background:var(--bc)}
.fd-prim{background:var(--bo);border-color:var(--bo);color:#fff!important}
.fd-prim:hover{background:var(--bh)}
.fd-btn-red{min-height:40px}
/* barra fija móvil */
.fd-barra{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;gap:8px;padding:9px 12px calc(9px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--l);box-shadow:0 -6px 18px -10px rgba(16,40,30,.3);transition:transform .2s}
.fd-barra .fd-btn{flex:1 1 0;min-width:0;padding:0 8px;flex-direction:column;gap:2px;min-height:50px;border-radius:12px;font-size:.78rem}
.fd-barra .fd-btn svg{width:21px;height:21px}
.fd-barra.fd-oculta{transform:translateY(110%)}
/* datos */
.fd-datos{margin:0;display:grid}
.fd-fila{display:grid;grid-template-columns:minmax(96px,32%) minmax(0,1fr);gap:4px 14px;padding:10px 0;border-top:1px solid var(--l)}
.fd-fila:first-child{border-top:0;padding-top:0}
.fd-datos dt{font-size:.82rem;font-weight:600;color:var(--g)}
.fd-datos dd{margin:0;overflow-wrap:anywhere}
/* horario */
.fd-hor{width:100%;border-collapse:collapse;font-size:.95rem}
.fd-hor th,.fd-hor td{text-align:left;padding:7px 0;border-top:1px solid var(--l);font-weight:400}
.fd-hor tr:first-child th,.fd-hor tr:first-child td{border-top:0}
.fd-hor td{text-align:right;font-variant-numeric:tabular-nums}
.fd-hor tr.fd-hoy th,.fd-hor tr.fd-hoy td{font-weight:700;color:var(--bh)}
/* servicios */
.fd-serv{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.fd-serv li{display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid var(--l);border-radius:12px;background:#fbfcfb;font-weight:500;font-size:.95rem}
.fd-serv svg{width:26px;height:26px;flex:none;color:var(--b);background:var(--bc);border-radius:9px;padding:4px}
/* carrusel */
.fd-car{position:relative}
.fd-pista{list-style:none;margin:0;padding:0;display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:12px}
.fd-pista::-webkit-scrollbar{display:none}
.fd-slide{flex:0 0 100%;scroll-snap-align:center;aspect-ratio:3/2;border-radius:12px;overflow:hidden;background:var(--bc)}
.fd-foto{display:block;width:100%;height:100%;cursor:zoom-in}
.fd-foto img{width:100%;height:100%;object-fit:cover}
.fd-flecha{position:absolute;top:50%;margin-top:-22px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.94);color:var(--bh);box-shadow:0 2px 10px rgba(0,0,0,.28);display:none;place-items:center;cursor:pointer}
.fd-flecha svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.fd-ant{left:10px}.fd-ant svg{transform:rotate(180deg)}
.fd-sig{right:10px}
.fd-flecha:disabled{opacity:0;pointer-events:none}
.fd-cont{position:absolute;right:10px;bottom:10px;margin:0;background:rgba(7,30,38,.78);color:#fff;font-size:.8rem;font-weight:600;border-radius:99px;padding:2px 10px;pointer-events:none}
.fd-minis{list-style:none;margin:10px 0 0;padding:2px;display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin}
.fd-minis button{display:block;padding:0;border:2px solid transparent;border-radius:9px;overflow:hidden;background:none;cursor:pointer;width:68px;height:54px;opacity:.72}
.fd-minis button[aria-current]{border-color:var(--b);opacity:1}
.fd-minis img{width:100%;height:100%;object-fit:cover}
/* rejilla 1-3 fotos */
.fd-rejilla{list-style:none;margin:0;padding:0;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}
.fd-rejilla li{aspect-ratio:3/2;border-radius:12px;overflow:hidden;background:var(--bc)}
.fd-rejilla.n1{grid-template-columns:minmax(0,1fr)}
.fd-rejilla.n1 li{aspect-ratio:16/9}
.fd-rejilla.n3 li:first-child{grid-column:1/-1;aspect-ratio:16/9}
/* mosaico (variante B) */
.fd-mosaico{position:relative}
.fd-mosaico ul{list-style:none;margin:0;padding:0;display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:var(--r)}
.fd-mosaico ul::-webkit-scrollbar{display:none}
.fd-mosaico li{flex:0 0 88%;aspect-ratio:3/2;scroll-snap-align:center;border-radius:12px;overflow:hidden;background:var(--bc)}
.fd-mosaico.n1 li{flex-basis:100%}
.fd-vermas{display:none}
.fd-cont-m{bottom:10px}
/* zona */
.fd-mapa{position:relative;display:block;height:132px;border-radius:12px;overflow:hidden;border:1px solid var(--l);margin-bottom:12px;text-decoration:none}
.fd-mapa svg{position:absolute;inset:0;width:100%;height:100%}
.m-f{fill:#e8efe9}.m-v{fill:none;stroke:#fff;stroke-width:7}.m-p{fill:none;stroke:#d5e0d8;stroke-width:3}.m-s{fill:rgba(0,0,0,.18)}.m-pin{fill:var(--b)}
.fd-mapa-btn{position:absolute;left:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;background:#fff;color:var(--bo);font-weight:600;font-size:.86rem;border-radius:99px;padding:6px 12px;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.fd-mapa-btn svg{position:static;width:17px;height:17px}
.fd-dir{margin:0 0 10px;font-weight:500}
.fd-zona-t{margin:0 0 6px;font-size:.82rem;font-weight:600;color:var(--g)}
.fd-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.fd-chips li{background:#f1f4f2;border-radius:99px;padding:3px 12px;font-size:.88rem}
/* faq */
.fd-q{border-top:1px solid var(--l)}
.fd-q:first-of-type{border-top:0}
.fd-q summary{cursor:pointer;list-style:none;padding:13px 28px 13px 0;font-weight:600;position:relative}
.fd-q summary::-webkit-details-marker{display:none}
.fd-q summary::after{content:"";position:absolute;right:4px;top:50%;width:9px;height:9px;margin-top:-7px;border:solid var(--bo);border-width:0 2px 2px 0;transform:rotate(45deg);transition:transform .15s}
.fd-q[open] summary::after{transform:rotate(225deg);margin-top:-3px}
.fd-q div{padding:0 0 14px;color:#33413c}
.fd-q p{margin:0 0 .6em}
/* cercanas */
.fd-cerc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.fd-cerc a{display:block;padding:12px 14px;border:1px solid var(--l);border-radius:12px;text-decoration:none;color:var(--t);height:100%}
.fd-cerc a:hover{border-color:var(--bb);background:var(--bc)}
.fd-c-n{display:block;font-weight:600;overflow-wrap:anywhere}
.fd-c-m{display:block;font-size:.84rem;color:var(--g)}
.fd-intro p{margin:0}
.fd-resenas>*:first-child{margin-top:0}
/* visor a pantalla completa */
.fd-lb{border:0;padding:0;background:rgba(5,15,20,.96);color:#fff;width:100%;height:100%;max-width:none;max-height:none;margin:0}
.fd-lb::backdrop{background:rgba(5,15,20,.96)}
.fd-lb figure{margin:0;height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;touch-action:pan-y}
.fd-lb img{width:100%;height:100%;object-fit:contain;max-width:none}
.fd-lb figcaption{padding:10px 70px;text-align:center;font-size:.9rem}
.fd-lb button{position:absolute;width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.16);color:#fff;cursor:pointer;display:grid;place-items:center}
.fd-lb button:hover{background:rgba(255,255,255,.3)}
.fd-lb svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.fd-lb .lb-x{top:12px;right:12px}
.fd-lb .lb-a{left:12px;top:50%;margin-top:-24px}.fd-lb .lb-a svg{transform:rotate(180deg)}
.fd-lb .lb-s{right:12px;top:50%;margin-top:-24px}
html.fd-lb-abierto{overflow:hidden}
/* ============ VARIANTE B (mosaico, estilo Yelp/Airbnb: sin tarjeta pesada, secciones planas) ============ */
.fd-vb .fd-cab{border:0;box-shadow:none;background:none;overflow:visible}
.fd-vb .fd-id{margin:6px 0 0;padding:0;align-items:center}.fd-vb .fd-logo,.fd-vc .fd-logo{margin-top:0}
.fd-vb .fd-ins,.fd-vb .fd-btns{padding-left:0;padding-right:0}
.fd-vb .fd-estado{margin-left:0;margin-top:10px}
.fd-vb .fd-card{border:0;border-top:1px solid var(--l);border-radius:0;box-shadow:none;padding:22px 0;background:none}
.fd-vb .fd-card+.fd-card{margin-top:0}
.fd-vb .fd-card h2{font-size:1.35rem}
.fd-vb .fd-resto{gap:0}
.fd-vb .fd-serv li{border-radius:99px;background:#fff}
/* ============ VARIANTE C (panel: héroe oscuro, pestañas y tarjetas con cabecera de color) ============ */
.fd-vc .fd-cab{background:var(--bh);color:#fff;border:0;position:relative}
.fd-vc .fd-ban{aspect-ratio:auto;position:absolute;inset:0;opacity:1}
.fd-vc .fd-ban-img{filter:saturate(.9)}
.fd-vc .fd-ban::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,55,69,.72),rgba(7,55,69,.94))}
.fd-vc .fd-ban-gen::after{background:none;opacity:.14}
.fd-vc .fd-cab-in{position:relative;padding:22px 18px 4px}
.fd-vc .fd-id{margin:0;padding:0;align-items:center}
.fd-vc .fd-h1,.fd-vc .fd-nota,.fd-vc .fd-nota b{color:#fff}
.fd-vc .fd-meta{color:#bfe6f1}
.fd-vc .fd-nres{color:#d6eef5}
.fd-vc .fd-ins{padding:0}
.fd-vc .fd-ins li{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.3)}
.fd-vc .fd-estado{margin-left:0;margin-top:12px}
.fd-vc .fd-teclas{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0 0;padding:14px 18px 18px;background:rgba(255,255,255,.07)}
.fd-vc .fd-teclas .fd-btn{border-radius:12px;min-height:50px;border-color:transparent;background:#fff}
.fd-vc .fd-teclas .fd-prim{background:#fff;color:var(--bh)!important;border-color:#fff}
.fd-vc .fd-teclas .fd-prim svg{color:#1c9d57}
.fd-tabs{position:sticky;top:0;z-index:20;background:rgba(247,249,248,.96);backdrop-filter:blur(6px);margin:0 -2px;border-bottom:1px solid var(--l)}
.fd-tabs ul{list-style:none;margin:0;padding:6px 2px;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.fd-tabs a{display:block;white-space:nowrap;padding:8px 14px;border-radius:99px;text-decoration:none;font-weight:600;font-size:.9rem;color:var(--bo)}
.fd-tabs a:hover{background:var(--bc)}
.fd-vc .fd-card{padding:0;overflow:hidden}
.fd-vc .fd-card>h2{margin:0;padding:14px 20px;background:var(--bc);border-bottom:1px solid var(--bb);font-size:1.1rem}
.fd-vc .fd-card>*:not(h2){margin-left:20px;margin-right:20px}
.fd-vc .fd-card>h2+*{margin-top:16px}
.fd-vc .fd-hor{width:calc(100% - 40px)}
.fd-vc .fd-card>*:last-child{margin-bottom:20px}
.fd-vc .fd-card.fd-intro{padding:18px 20px}
.fd-vc .fd-card.fd-intro p{margin:0}
.fd-vc .fd-pista{border-radius:0}
.fd-vc .fd-slide{flex-basis:80%}
.fd-vc .fd-car{margin-left:0!important;margin-right:0!important}
.fd-vc .fd-car .fd-cont{right:20px}
.fd-vc .fd-card>.fd-car{margin:16px 0 0}
.fd-vc .fd-pista{padding:0 20px;scroll-padding:0 20px}
.fd-vc .fd-slide{scroll-snap-align:start}
.fd-vc .fd-minis{padding-left:20px}
[id]{scroll-margin-top:60px}
/* ============ ESCRITORIO ============ */
@media (min-width:700px){
.fd-slide{flex-basis:calc(50% - 5px)}
.fd-va .fd-slide,.fd-vb .fd-slide{flex-basis:100%}
.fd-flecha{display:grid}
.fd-h1{font-size:1.9rem}
.fd-logo{width:108px;height:108px;margin-top:-62px}
.fd-barra{display:none}
.fd{padding-bottom:0}
.fd-btns{padding-bottom:20px}
.fd-vc .fd-teclas{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
.fd-mosaico ul{display:grid;gap:8px;height:340px;overflow:hidden;scroll-snap-type:none;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr))}
.fd-mosaico li{flex:none;aspect-ratio:auto;min-height:0}
.fd-mosaico li.fd-m1{grid-row:1/3}
.fd-mosaico li:nth-child(n+6){display:none}

.fd-mosaico.n1 ul{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
.fd-mosaico.n1 li.fd-m1{grid-row:auto}
.fd-mosaico.n1 li:nth-child(n+2){display:none}
.fd-vermas{display:inline-block;position:absolute;right:12px;bottom:12px;background:#fff;color:var(--bh);border:0;cursor:pointer;font:600 .86rem var(--texto,sans-serif);min-height:36px;border-radius:99px;padding:6px 14px;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.fd-cont-m{display:none}
}
@media (min-width:980px){
.fd-cuerpo{grid-template-columns:minmax(0,1fr) 370px;column-gap:28px;align-items:start}
.fd-top{grid-column:1;grid-row:1}
.fd-form{grid-column:2;grid-row:1/span 2;position:sticky;top:14px;align-self:start}
.fd-resto{grid-column:1;grid-row:2}
.fd-vc .fd-slide{flex-basis:calc(46% - 5px)}
.fd-vc .fd-card.fd-gal .fd-pista{padding:0 20px}
}
@media (max-width:699px){
.fd-vb .fd-top{gap:12px}
.fd-vc .fd-teclas{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){.fd-pista{scroll-behavior:auto}.fd-barra{transition:none}}
@media print{.fd-barra,.fd-flecha,.fd-minis{display:none!important}}

/* A con cabecera en mosaico (fichas con 5+ fotos) */
.fd-vm .fd-id{padding-top:16px;align-items:center}
.fd-vm .fd-logo{margin-top:0}
.fd-vm .fd-top{gap:12px}
/* mapa de zona (SVG propio sin teselas; mapa interactivo solo bajo demanda) */
.fd-mapabox{margin-bottom:12px}
.fd-mapa-svg{display:block;width:100%;height:auto;aspect-ratio:320/140;border-radius:12px;border:1px solid var(--l);background:#e8efe9}
.fd-mapa-svg .m-f{fill:#e6eee8}.fd-mapa-svg .m-ctx{fill:#f4f7f4;stroke:#c9d4cc;stroke-width:.6;stroke-linejoin:round}
.fd-mapa-svg .m-cub{fill:var(--bc);fill-opacity:.95;stroke:var(--b);stroke-width:1;stroke-linejoin:round}
.fd-mapa-svg .m-loc{fill:var(--b);fill-opacity:.35;stroke:var(--bo);stroke-width:1.4;stroke-linejoin:round}
.fd-mapa-svg .m-ap{fill:var(--b);fill-opacity:.12;stroke:var(--bo);stroke-width:1.2;stroke-dasharray:4 3}
.fd-mapa-svg .m-s{fill:rgba(0,0,0,.22)}.fd-mapa-svg .m-pin{fill:var(--bo)}
.fd-mapa-ley{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin:8px 0 0;font-size:.84rem;color:var(--g)}
.m-k{display:inline-block;width:14px;height:14px;border-radius:4px;vertical-align:-2px;margin-right:5px;border:1.5px solid var(--b)}
.m-k-cub{background:var(--bc)}.m-k-loc{background:rgba(15,110,140,.35);border-color:var(--bo)}.m-k-ap{background:rgba(15,110,140,.12);border:1.5px dashed var(--bo)}
.fd-mapa-act{margin:10px 0 0}
.fd-atrib{margin:8px 0 0;font-size:.74rem;color:var(--g);line-height:1.4}
.fd-mapa-vivo{width:100%;height:340px;border-radius:12px;overflow:hidden;border:1px solid var(--l)}
.fd-mapa-vivo .maplibregl-ctrl-attrib{font-size:11px}
.fd-mapa-ext{margin:12px 0 0;font-size:.9rem}.fd-mapa-ext svg{width:16px;height:16px;vertical-align:-3px;margin-right:4px}
.fd-mapa-svg[hidden]{display:none}.m-k{flex:none}.fd-mapa-ley span{display:inline-flex;align-items:flex-start}
.fd-resto>.fd-credito{margin:-8px 4px 0}
/* formulario en la columna lateral: los select a ancho completo (a 1440 px se recortaba «Elige una opci…»); altura fija desde el primer pintado */
.fd-form .presu .fila:has(select){grid-template-columns:minmax(0,1fr);gap:0}
.fd-form .presu select{text-overflow:ellipsis}

/* mapa de zona interactivo directo: caja de alto fijo (CLS 0) */
.fd-mapa-vivo{position:relative;width:100%;height:300px;border-radius:12px;overflow:hidden;border:1px solid var(--l);background:#e6eee8}
.fd-mapa-vivo .maplibregl-canvas{outline:none}
.fd-mapa-ph{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:10px;color:var(--g);font-size:.9rem;text-align:center;background:linear-gradient(135deg,#eef3ef,#e1eae3)}
@media (min-width:700px){.fd-mapa-vivo{height:340px}}

/* fallbacks de imagen: logo de iniciales y banner genérico (el CSS del genérico/iconos va en la hoja global: fd.CSS_TARJETA) */
.fd-logo.fd-ini{border-radius:50%;background:hsl(var(--fd-h,200) 45% 30%);color:#fff;border:0;font-size:1.9rem;padding:0}
.fd-ban.fd-gen::after{-webkit-mask-size:96px;mask-size:96px}
.fd-ban.fd-gen{background:linear-gradient(135deg,var(--bh),var(--bo) 55%,var(--b))}

.fd-mosaico.n1 li:nth-child(n+2){display:none}.fd-mosaico.n1 .fd-cont-m{display:none}
