/* ───────── THE POLITE APPLAUSE THEME ───────── */
:root{
    --band-accent:#f368be;
    --band-accent-dark:#d34a9e;
    --band-bg-dark:#1d1d1f;
    --band-bg-light:#f8f9fa;
    --radius:.8rem;
    --ff-heading:'Oswald',Impact,sans-serif;
    --ff-body:'Barlow',Arial,sans-serif;
  }
  
  /* BASIC RESET OVERRIDES */
  body{
    font-family:var(--ff-body);
    color:#222;
    background:#fff;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  body.modal-open{overflow:hidden}
  
  /* ───────── HERO ───────── */
  .band-hero{position:relative;padding-block:6rem 7.5rem;text-align:center;color:#fff;background:var(--band-bg-dark);overflow:hidden}
  .band-hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 50% 20%,rgba(230,57,70,.35),transparent 60%),url('/assets/placeholder.webp') center/cover no-repeat;mix-blend-mode:screen;opacity:.35;filter:blur(30px);z-index:-1}
  .band-hero h1{font-family:var(--ff-heading);font-size:clamp(2.5rem,5vw+1rem,3.5rem);font-weight:700;margin-bottom:1rem;letter-spacing:.03em}
  .band-hero p{font-size:1.25rem;margin-bottom:2rem}
  .hero-btns{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}
  .band-hero .cta-btn{background:var(--band-accent);border-radius:var(--radius)}
  .band-hero .cta-btn.secondary{background:transparent;border:2px solid var(--band-accent)}
  .band-hero .cta-btn:hover,.band-hero .cta-btn:focus{background:var(--band-accent-dark)}
  .band-hero .cta-btn.secondary:hover,.band-hero .cta-btn.secondary:focus{background:var(--band-accent);color:#fff}
  
  /* ───────── GENERAL HEADINGS ───────── */
  .band-page h2{font-family:var(--ff-heading);font-size:1.85rem;font-weight:600;margin-block:3rem 1.2rem;color:var(--band-accent);text-transform:uppercase;letter-spacing:.03em}
  .band-page h3{font-family:var(--ff-heading);font-size:1.1rem;text-transform:uppercase;margin-bottom:.75rem;color:#444}
  
  /* ───────── WHAT WE DO ───────── */
  #what-we-do{margin-top:3rem;display:flex;gap:2rem;align-items:flex-start}
  #what-we-do figure{flex:0 0 220px}
  #what-we-do img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius);box-shadow:0 8px 20px rgba(0,0,0,.25)}
  @media(max-width:640px){#what-we-do{flex-direction:column}#what-we-do figure{max-width:320px;margin-inline:auto}}
  .wwd-copy p{margin-bottom:1.1rem}
  
  /* ───────── TESTIMONIALS ───────── */
  .testimonials blockquote{border-left:4px solid var(--band-accent);padding-left:1rem;margin-block:1.5rem;font-style:italic;background:var(--band-bg-light);border-radius:var(--radius)}
  .testimonials cite{display:block;margin-top:.5rem;font-weight:600}
  
  /* ───────── TABLES ───────── */
  .price-table,.setlist-table{width:100%;border-collapse:collapse;border-radius:var(--radius);overflow:hidden;font-size:.95rem}
  .price-table th,.price-table td,.setlist-table th,.setlist-table td{padding:.85rem .9rem;border:1px solid #e5e5e7;text-align:left}
  .price-table th,.setlist-table th{background:var(--band-bg-light);font-weight:600}
  .table-note{font-size:.9rem;opacity:.8;margin-bottom:2rem}
  
  /* ───────── VIDEO GRID ───────── */
  .band-videos .video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}
  .video-wrapper{position:relative}
  .video-wrapper video{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius);background:#000;box-shadow:0 6px 18px rgba(0,0,0,.18)}
  .video-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#f368be;color:#fff;font-weight:600;gap:1rem;border:none;border-radius:var(--radius);cursor:pointer;transition:background .25s}
  .video-overlay:hover{background:rgba(0,0,0,.85)}
  .video-overlay.hide{display:none}
  .play-icon{width:56px;height:56px;border-radius:50%;border:2px solid #fff;position:relative}
  .play-icon::before{content:'';position:absolute;left:20px;top:14px;border-style:solid;border-width:10px 0 10px 16px;border-color:transparent transparent transparent #fff}
  .video-title{padding-inline:1rem;text-align:center;font-size:.9rem;line-height:1.3}
  
  /* ───────── SET LIST ───────── */
  .setlist-columns{display:grid;gap:2rem}
  @media(min-width:720px){.setlist-columns{grid-template-columns:1fr 1fr}}
  .setlist-half{overflow:auto}
  
  /* ───────── CTA ───────── */
  .cta-band{text-align:center;padding-block:3.5rem 5rem}
  .cta-band p{font-size:1.1rem;margin-bottom:1.3rem}
  .cta-band .cta-btn{background:var(--band-accent)}
  .cta-band .cta-btn:hover,.cta-band .cta-btn:focus{background:var(--band-accent-dark)}
  
  /* ───────── REVEAL ───────── */
  .reveal-up{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
  .reveal-up.in{opacity:1;transform:none}
  .reveal-fade{opacity:0;transition:opacity .6s ease}
  .reveal-fade.in{opacity:1}
  
  /* ───────── UTILITIES ───────── */
  .cta-btn{display:inline-block;padding:.75rem 1.5rem;color:#fff;font-weight:600;text-decoration:none;transition:background .25s}
  .cta-btn:focus-visible{outline:4px solid var(--band-accent);outline-offset:2px}
  
  /* ───────── MODAL ───────── */
  #gig-modal[aria-hidden="true"]{display:none}
  #gig-modal{position:fixed;inset:0;z-index:9999}
  .modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(2px)}
  .modal-content{position:relative;max-width:550px;margin:5vh auto;background:#fff;padding:2rem 2.25rem;border-radius:var(--radius);box-shadow:0 12px 32px rgba(0,0,0,.35);max-height:90vh;overflow-y:auto}
  .modal-close{position:absolute;top:.75rem;right:.75rem;background:none;border:none;font-size:1.75rem;line-height:1;cursor:pointer;color:#888}
  .modal-close:hover{color:#000}
  .modal-content h3{font-family:var(--ff-heading);font-size:1.4rem;text-transform:uppercase;margin-bottom:1.25rem;color:var(--band-accent)}
  .modal-content label,.modal-content legend{display:block;font-weight:600;margin-top:1rem;margin-bottom:.45rem}
  .modal-content select,.modal-content input[type="text"],.modal-content input[type="email"],.modal-content input[type="date"],.modal-content input[type="time"]{width:100%;padding:.6rem .75rem;border:1px solid #ccc;border-radius:var(--radius);font-size:1rem}
  .modal-content fieldset{border:1px solid #ccc;border-radius:var(--radius);padding:1rem;margin-top:1rem}
  .modal-content fieldset legend{font-weight:600}
  .modal-content .calc-total{margin-top:1rem}
  .modal-content .cta-btn{width:100%;text-align:center;margin-top:1.25rem}
  
  /* extras list */
  .extra-item{display:block;margin-bottom:.9rem}
  .extra-item input{margin-right:.5rem;transform:translateY(1px)}
  .extra-desc{display:block;margin-left:1.75rem;font-size:.85rem;color:#666;margin-top:.15rem}
  
  /* FORM GRID */
  #calc-form .full{grid-column:1 / -1}
  @media(min-width:720px){#calc-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}}
  
  .modal-content input[type="date"],.modal-content input[type="time"]{background:#fff;cursor:pointer}
  .modal-content input[type="date"]::-webkit-calendar-picker-indicator,.modal-content input[type="time"]::-webkit-calendar-picker-indicator{filter:invert(45%) sepia(14%) saturate(1100%) hue-rotate(282deg) brightness(102%) contrast(97%)}
  