/* ===== Additions used by generated pages (templates/) — loaded sitewide ===== */

/* Responsive Google Maps embed (Ground Rule 3) */
.map-embed{position:relative;width:100%;padding-bottom:66%;border-radius:var(--radius-lg,14px);overflow:hidden;box-shadow:var(--shadow-sm,0 2px 10px rgba(0,0,0,.08))}
.map-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Breadcrumbs on dark hero */
.crumbs-light{margin-bottom:18px}
.crumbs-light,.crumbs-light a{color:#c7d3e3}
.crumbs-light a:hover{color:#fff}

/* Districts we cover list */
.districts-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:9px 18px}
.districts-list li{display:flex;gap:9px;align-items:center;font-family:var(--font-body);font-size:.94rem;color:#2b3a52}
.districts-list li svg{color:var(--gold-deep);flex:0 0 16px}
@media(max-width:520px){.districts-list{grid-template-columns:1fr 1fr;gap:7px 12px}.districts-list li{font-size:.88rem}}

/* Response-time card (location pages) */
.resp-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg,14px);padding:26px;box-shadow:var(--shadow-sm,0 2px 10px rgba(0,0,0,.08))}
.resp-card .big{font-family:var(--font-display);font-size:2rem;color:var(--navy);line-height:1.1;margin-bottom:4px}
.resp-card .via{font-family:var(--font-body);font-weight:600;font-size:.9rem;color:var(--gold-deep);margin-bottom:14px}
.resp-card ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.resp-card li{display:flex;gap:10px;align-items:flex-start;font-family:var(--font-body);font-size:.92rem;color:#2b3a52}
.resp-card li svg{color:var(--gold-deep);flex:0 0 17px;margin-top:2px}

/* NAP block on LIGHT backgrounds (in-page "Our Trafford Park base" sections).
   .f-contact alone is a FOOTER component styled light-on-dark (layout.css);
   .nap re-scopes it for light sections at WCAG AA contrast. */
.f-contact.nap a,.f-contact.nap div{color:#2b3a52}
.f-contact.nap b{color:var(--navy);font-weight:700}
.f-contact.nap svg{color:var(--gold-deep)}
.f-contact.nap a:hover{color:var(--navy)}

/* Emergency hero badges + call steps + trust strip (Job 3, 2026-07-23) */
.hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px}
.hero-badges .bo,.hero-badges .br{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-body);font-weight:700;font-size:.78rem;letter-spacing:.06em;padding:7px 13px;border-radius:6px}
.hero-badges .bo{background:rgba(29,138,74,.18);color:#7ee2a8;border:1px solid rgba(126,226,168,.4)}
.hero-badges .bo .dot{width:8px;height:8px;border-radius:50%;background:#4cd07d;animation:ehPulse 1.5s infinite}
.hero-badges .br{background:rgba(201,162,75,.15);color:var(--gold);border:1px solid rgba(201,162,75,.45)}
.call-steps{border-top:1px solid rgba(255,255,255,.12);margin-top:26px;padding-top:18px}
.call-steps b{display:block;font-family:var(--font-body);font-weight:700;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.call-steps ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px}
.call-steps li{display:flex;align-items:center;gap:9px;font-family:var(--font-body);font-size:.85rem;color:#dbe4ef}
.call-steps li span{width:22px;height:22px;flex:0 0 22px;border-radius:50%;background:var(--red);color:#fff;font-weight:700;font-size:.72rem;display:flex;align-items:center;justify-content:center}
.trust-strip{background:#fff;border-bottom:1px solid var(--line)}
.trust-strip .container{display:flex;flex-wrap:wrap;gap:8px 26px;padding-top:12px;padding-bottom:12px;align-items:center}
.trust-strip a,.trust-strip span{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-body);font-weight:600;font-size:.84rem;color:var(--navy)}
.trust-strip a{color:var(--gold-deep)}
.trust-strip svg{color:var(--gold-deep);flex:0 0 15px}
@media(max-width:520px){.call-steps ol{flex-direction:column;gap:8px}.trust-strip .container{gap:6px 16px}}

/* Testimonials (real Google reviews only; rendered only when reviews.json is confirmed) */
.tstm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.tstm{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg,14px);padding:22px;box-shadow:var(--shadow-sm,0 2px 10px rgba(0,0,0,.06))}
.tstm .stars{color:var(--gold-deep);font-size:.95rem;letter-spacing:2px;margin-bottom:8px}
.tstm p{font-family:var(--font-body);font-size:.92rem;color:#2b3a52;margin:0 0 12px}
.tstm .who{font-family:var(--font-body);font-weight:700;font-size:.82rem;color:var(--navy)}
.tstm .who small{font-weight:500;color:#5a6b83}

/* Mobile drawer accordion */
.drawer .dacc{border-bottom:1px solid rgba(255,255,255,.1)}
.drawer .dacc summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:13px 4px;font-family:var(--font-body);font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.drawer .dacc summary::-webkit-details-marker{display:none}
.drawer .dacc summary::after{content:"+";font-size:1rem;font-weight:600;transition:transform .2s}
.drawer .dacc[open] summary::after{content:"–"}
.drawer .dacc-em summary{color:var(--red)}
.drawer .dacc ul{margin:0 0 10px;padding:0}
