/* engine.css · capa visual del seo-engine (generado) */
/* 1 · FIX iconos: tamaño fijo en contenedores flexibles (antes heredaban svg{max-width:100%;height:auto}) */
.chip svg,.pill svg,.tag svg{width:1rem;height:1rem;max-width:none;flex:0 0 auto}
.chip svg{width:.95rem;height:.95rem;color:var(--brand-600)}
.pill svg{width:.9rem;height:.9rem}
.chip{line-height:1.3}
.card__body>.pill{align-self:flex-start}

/* 1b · Preguntas relacionadas (FAQ premium) */
.faq-related .links-grid{display:grid;gap:.55rem;grid-template-columns:1fr}
@media(min-width:720px){.faq-related .links-grid{grid-template-columns:1fr 1fr}}
.faq-related .links-grid__link{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:.3rem;height:100%;padding:.85rem 1rem;line-height:1.4;font-weight:600;font-size:.88rem}
.faq-related .links-grid__link .small{order:-1;white-space:normal!important;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-600)}

/* 2 · Mapa de cobertura */
.zmap{display:grid;gap:1.25rem;align-items:start}
@media(min-width:960px){.zmap{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:2rem}.zmap--compact{grid-template-columns:minmax(0,4fr) minmax(0,6fr)}}
.zmap--compact .zlist{grid-template-columns:1fr}
@media(min-width:640px) and (max-width:959px){.zmap--compact{grid-template-columns:1fr 1fr}}
.zmap__fig{margin:0;position:relative;border:1px solid var(--ink-100);border-radius:var(--radius-lg);background:radial-gradient(120% 90% at 62% 40%,var(--brand-50) 0,#fff 62%);box-shadow:var(--shadow-sm);overflow:hidden}
.zmap__svg{display:block;width:100%;height:auto;max-width:none}
.zmap__stats{position:absolute;top:.85rem;left:.85rem;display:flex;flex-wrap:wrap;gap:.35rem;pointer-events:none}
.zmap__stat{display:inline-flex;align-items:center;gap:.35rem;background:rgb(255 255 255/.92);backdrop-filter:blur(6px);border:1px solid var(--ink-100);border-radius:var(--pill);padding:.25rem .65rem;font-size:.72rem;font-weight:600;color:var(--ink-700);box-shadow:var(--shadow-sm)}
.zmap__stat b{color:var(--brand-700);font-family:var(--font-display);font-weight:800}
.zmap__cap{padding:.7rem 1rem .85rem;border-top:1px solid var(--ink-100);font-size:.74rem;line-height:1.5;color:var(--ink-500);background:rgb(255 255 255/.7)}
.zring{fill:none;stroke:var(--brand-300);stroke-width:1.2;stroke-dasharray:3 5;opacity:.85}
.zring-l{font:600 11px var(--font-body);fill:var(--brand-700);opacity:.75}
.zbase-halo{fill:var(--brand-400);opacity:.18;transform-box:fill-box;transform-origin:center;animation:zpulse 2.8s ease-out infinite}
.zbase-core{fill:var(--brand-800)}
.zbase-l{font:700 11px var(--font-body);fill:var(--brand-800);letter-spacing:.06em;text-transform:uppercase}
.zdot circle{fill:var(--brand-600);stroke:#fff;stroke-width:3;transition:fill .2s,r .2s}
.zdot text{font:800 12.5px var(--font-display);fill:#fff;text-anchor:middle;dominant-baseline:central;pointer-events:none}
.zdot.is-off circle{fill:var(--ink-300);stroke-width:2}
.zdot.is-base circle{fill:var(--brand-800)}
.zmap:has(.zpill[data-z="centro"]:is(:hover,:focus-visible)) .zdot[data-z="centro"] circle,.zmap:has(.zpill[data-z="triana"]:is(:hover,:focus-visible)) .zdot[data-z="triana"] circle,.zmap:has(.zpill[data-z="los-remedios"]:is(:hover,:focus-visible)) .zdot[data-z="los-remedios"] circle,.zmap:has(.zpill[data-z="nervion"]:is(:hover,:focus-visible)) .zdot[data-z="nervion"] circle,.zmap:has(.zpill[data-z="sevilla-este"]:is(:hover,:focus-visible)) .zdot[data-z="sevilla-este"] circle,.zmap:has(.zpill[data-z="macarena"]:is(:hover,:focus-visible)) .zdot[data-z="macarena"] circle,.zmap:has(.zpill[data-z="pino-montano"]:is(:hover,:focus-visible)) .zdot[data-z="pino-montano"] circle,.zmap:has(.zpill[data-z="cerro-amate"]:is(:hover,:focus-visible)) .zdot[data-z="cerro-amate"] circle,.zmap:has(.zpill[data-z="bellavista"]:is(:hover,:focus-visible)) .zdot[data-z="bellavista"] circle,.zmap:has(.zpill[data-z="dos-hermanas"]:is(:hover,:focus-visible)) .zdot[data-z="dos-hermanas"] circle,.zmap:has(.zpill[data-z="alcala"]:is(:hover,:focus-visible)) .zdot[data-z="alcala"] circle,.zmap:has(.zpill[data-z="mairena"]:is(:hover,:focus-visible)) .zdot[data-z="mairena"] circle,.zmap:has(.zpill[data-z="tomares"]:is(:hover,:focus-visible)) .zdot[data-z="tomares"] circle,.zmap:has(.zpill[data-z="bormujos"]:is(:hover,:focus-visible)) .zdot[data-z="bormujos"] circle,.zmap:has(.zpill[data-z="camas"]:is(:hover,:focus-visible)) .zdot[data-z="camas"] circle,.zmap:has(.zpill[data-z="la-rinconada"]:is(:hover,:focus-visible)) .zdot[data-z="la-rinconada"] circle{fill:var(--brand-800);r:17px}
.zscale line{stroke:var(--ink-500);stroke-width:2;stroke-linecap:round}
.zscale text,.znorth text{font:600 10.5px var(--font-body);fill:var(--ink-500)}
.znorth path{fill:var(--ink-400)}
@keyframes zpulse{0%{transform:scale(.55);opacity:.35}80%,100%{transform:scale(1.35);opacity:0}}
@media(prefers-reduced-motion:reduce){.zbase-halo{animation:none}}

/* lista */
.zlist__group+.zlist__group{margin-top:1.1rem}
.zlist__title{display:flex;align-items:center;gap:.5rem;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-500);margin:0 0 .55rem}
.zlist__title::after{content:"";flex:1;height:1px;background:var(--ink-100)}
.zlist{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(13.5rem,1fr))}
.zpill{display:flex;align-items:center;gap:.7rem;min-height:3.25rem;padding:.5rem .8rem .5rem .5rem;border:1px solid var(--ink-100);border-radius:.95rem;background:#fff;box-shadow:var(--shadow-sm);color:inherit;text-decoration:none;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s,border-color .25s}
.zpill:hover,.zpill:focus-visible{border-color:var(--brand-300);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.zpill:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px}
.zpill__n{flex:0 0 2.15rem;width:2.15rem;height:2.15rem;border-radius:.7rem;display:grid;place-items:center;background:var(--brand-50);border:1px solid var(--brand-100);color:var(--brand-700);font:800 .82rem var(--font-display);transition:background .25s,color .25s}
.zpill__n svg{width:1.05rem;height:1.05rem;max-width:none}
.zpill:hover .zpill__n,.zpill:focus-visible .zpill__n{background:var(--brand-600);border-color:var(--brand-600);color:#fff}
.zpill__t{display:flex;flex-direction:column;min-width:0;flex:1}
.zpill__name{font-weight:600;font-size:.88rem;line-height:1.25;color:var(--ink-900)}
.zpill__meta{font-size:.72rem;line-height:1.35;color:var(--ink-500);margin-top:.1rem}
.zpill__go{flex:0 0 auto;width:1rem;height:1rem;max-width:none;color:var(--ink-300);transition:transform .25s,color .25s}
.zpill:hover .zpill__go,.zpill:focus-visible .zpill__go{color:var(--brand-600);transform:translateX(3px)}

/* 3 · zonas cercanas (sidebar) */
.znear{list-style:none;margin:.35rem 0 0;padding:0;display:grid;gap:.45rem;grid-template-columns:1fr}
.znear .zpill{min-height:3rem;box-shadow:none}
.znear .zpill__n{flex-basis:2rem;width:2rem;height:2rem}

/* careers v2 · zonas multiselección y vehículos */
.cr-zones__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}
.cr-zones__count{font-size:.66rem;font-weight:700;color:var(--brand-700);background:var(--brand-50);border:1px solid var(--brand-100);border-radius:var(--pill);padding:.1rem .5rem}
.cr-zones__all{font-size:.68rem;font-weight:700;color:var(--brand-700);background:none;border:0;padding:.15rem .2rem;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.cr-zones__grp{font-size:.6rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-400);margin:.45rem 0 .3rem}
.cr-zones__list,.cr-vehs{display:flex;flex-wrap:wrap;gap:.3rem}
.cr-tog{position:relative;display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--ink-200);background:#fff;border-radius:var(--pill);padding:.32rem .7rem;font-size:.72rem;font-weight:600;color:var(--ink-700);cursor:pointer;user-select:none;transition:border-color .15s,background .15s,color .15s}
.cr-tog input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.cr-tog::before{content:"";width:.8rem;height:.8rem;border-radius:.25rem;border:1.5px solid var(--ink-300);background:#fff;flex:none;transition:all .15s}
.cr-tog:hover{border-color:var(--brand-400);background:var(--brand-50)}
.cr-tog:has(input:checked){border-color:var(--brand-600);background:var(--brand-50);color:var(--brand-800)}
.cr-tog:has(input:checked)::before{background:var(--brand-600) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/70% no-repeat;border-color:var(--brand-600)}
.cr-tog:has(input:focus-visible){outline:2px solid var(--brand-500);outline-offset:2px}
.cr-zones[aria-invalid="true"] .cr-tog{border-color:#fca5a5}
.cr-hint{font-size:.64rem;color:var(--ink-400);margin-top:.3rem}
