/* Supremo Barber — launch extras: cookie banner, quick-contact bar, reviews, legal pages, form antispam. */

/* ---- cookie banner ---- */
.ck{position:fixed;left:0;right:0;bottom:0;z-index:1000;background:#10110e;color:#f7f7f1;border-top:1px solid #47493e;box-shadow:0 -10px 30px rgba(0,0,0,.45);padding:1.1rem clamp(1rem,4vw,2rem) calc(1.1rem + env(safe-area-inset-bottom));max-height:88vh;overflow-y:auto}
.ck-inner{max-width:1100px;margin:0 auto;display:grid;gap:.8rem}
.ck-title{margin:0;font:700 1.15rem 'Big Shoulders Display',sans-serif;text-transform:uppercase;letter-spacing:.04em;color:#d4e600}
.ck-text{margin:0;font-size:.85rem;line-height:1.6;color:#d8dacd;max-width:80ch}
.ck-text a{color:#f7f7f1}
.ck-panel{display:grid;gap:.6rem;border-top:1px solid #35392e;padding-top:.8rem}
.ck-row{display:flex;gap:.7rem;align-items:flex-start;font-size:.82rem;cursor:pointer}
.ck-row input{width:20px;height:20px;margin:.1rem 0 0;accent-color:#d4e600;flex:none}
.ck-row-txt{display:flex;flex-direction:column;gap:.15rem;color:#bbbeb2}
.ck-row-txt strong{color:#f7f7f1;font-weight:600}
.ck-actions{display:flex;flex-wrap:wrap;gap:.6rem}
.ck-actions .btn{flex:1 1 9rem;justify-content:center;text-align:center;font-size:.85rem;padding:.7rem 1rem;cursor:pointer}
.ck .btn.ghost{background:transparent;color:#f7f7f1;border:1px solid #777d63}
.ck .btn.primary{background:#d4e600;color:#131210;border:1px solid #d4e600}
@media(min-width:800px){.ck-inner{grid-template-columns:1fr auto;align-items:end}.ck-title,.ck-text,.ck-panel{grid-column:1}.ck-actions{grid-column:2;grid-row:1 / span 3;flex-direction:column;min-width:14rem}}

/* map placeholder until consent */
.map-frame [data-map-src]{width:100%;height:100%}
.map-consent{height:100%;min-height:15rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1.5rem;text-align:center;color:#bbbeb2;font-size:.9rem}
.map-consent p{margin:0}
.map-consent .cta-row{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}

/* ---- quick contact: mobile bar + desktop floating button ---- */
.quick-contact{position:fixed;z-index:900;display:flex;gap:.5rem}
.quick-contact a{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:0 1.1rem;border-radius:6px;font:600 .9rem Archivo,sans-serif;text-decoration:none}
.quick-contact svg{width:18px;height:18px;flex:none}
.quick-contact .qc-call{background:#131210;color:#f7f7f1;border:1px solid #d4e600}
.quick-contact .qc-book{background:#d4e600;color:#131210}
@media(max-width:800px){
  .quick-contact{left:0;right:0;bottom:0;padding:.55rem .7rem calc(.55rem + env(safe-area-inset-bottom));background:rgba(16,17,14,.96);border-top:1px solid #35392e}
  .quick-contact a{flex:1}
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
}
@media(min-width:801px){
  .quick-contact{right:1.2rem;bottom:1.2rem;flex-direction:column;align-items:flex-end}
  .quick-contact .qc-book{display:none}
  .quick-contact .qc-call{box-shadow:0 8px 24px rgba(0,0,0,.35)}
}

/* ---- hero kicker + lead (home) ---- */
.hero-kicker{font:500 .78rem 'IBM Plex Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:#d4e600;margin:0 0 1rem}
.home-studio .hero-meta p.hero-lead{font-size:1.02rem;line-height:1.65;color:#e6e8dc;max-width:40ch}

/* ---- reviews ---- */
.reviews{margin-top:3rem}
.reviews h2{font-size:clamp(1.8rem,4vw,2.6rem);margin:.4rem 0 .5rem}
.reviews-rating{font:500 .8rem 'IBM Plex Mono',monospace;color:#bbbeb2;margin:0 0 1.4rem}
.reviews-rating .stars{color:#d4e600;letter-spacing:.1em;margin-right:.4rem}
.review-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1px;background:#3a3d33;border:1px solid #3a3d33}
.review{margin:0;background:#1d1e1a;color:#f7f7f1;padding:1.4rem;display:flex;flex-direction:column;gap:.8rem}
.review .stars{color:#d4e600;font-size:.85rem;letter-spacing:.12em}
.review blockquote{margin:0;font:500 1.2rem/1.3 'Big Shoulders Display',sans-serif;text-transform:none}
.review figcaption{margin-top:auto;font:400 .72rem "IBM Plex Mono",monospace;color:#bbbeb2}
.reviews-more{display:inline-block;margin-top:1rem;font:500 .8rem 'IBM Plex Mono',monospace}

/* ---- legal pages ---- */
.legal{max-width:74ch;padding-bottom:3rem}
.legal h2{font-size:1.5rem;margin:2.2rem 0 .6rem;line-height:1.1}
.legal p,.legal li{font-size:.95rem;line-height:1.75;color:var(--ink-dim)}
.legal ul{padding-left:1.2rem}
.legal a{color:var(--paper)}
.legal table{width:100%;border-collapse:collapse;font-size:.85rem;margin:1rem 0}
.legal th,.legal td{text-align:left;border:1px solid var(--line-strong);padding:.6rem .7rem;vertical-align:top;color:var(--ink-dim)}
.legal th{color:var(--paper);font-weight:600}
.legal .todo{background:#d4e600;color:#131210;padding:0 .3em;border-radius:3px;font-weight:600}
.legal .updated{font:400 .75rem 'IBM Plex Mono',monospace;color:var(--ink-dim)}
.legal .table-scroll{overflow-x:auto}

/* ---- footer legal links ---- */
.legal-links{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin-top:1.2rem;font-size:.72rem;list-style:none;padding:0}
.legal-links a{color:#bbbeb2;text-decoration:underline;text-underline-offset:3px}

/* ---- form antispam: honeypot is off-screen, never display:none (bots skip those) ---- */
.hp-field{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.cf-turnstile{margin:.4rem 0}

/* native controls kept for screen readers/forms must never widen the page (was causing 16px horizontal scroll on phones) */
.native-sr{width:1px!important;height:1px!important;max-width:1px!important;left:0}
