/* Cannamoustache / age verification — premium overlay / 30-day consent */
#agegate.agegate {
  position:fixed;inset:0;z-index:10000;
  display:grid;place-items:center;
  width:100%;height:100vh;height:100dvh;
  padding:clamp(14px,3vw,36px);
  overflow-y:auto;overscroll-behavior:contain;
  background:rgba(3,5,3,.82);
  -webkit-backdrop-filter:blur(13px) saturate(.62);
  backdrop-filter:blur(13px) saturate(.62);
  isolation:isolate;
}
html.age-ok #agegate.agegate {display:none}
#agegate .agegate__box {
  position:relative;
  width:min(100%,590px);max-width:590px;
  margin:auto;overflow:hidden;
  border:1px solid rgba(151,170,86,.43);
  border-radius:2px;
  padding:clamp(24px,4.8vw,46px) clamp(21px,5vw,56px) clamp(25px,4.5vw,40px);
  background:radial-gradient(ellipse at 50% -8%,rgba(109,127,42,.27) 0%,rgba(23,26,19,.9) 43%,rgba(14,15,13,.98) 100%);
  box-shadow:0 34px 125px rgba(0,0,0,.73),inset 0 0 0 1px rgba(255,255,255,.035);
  color:#f3f1ec;
  text-align:center;
}
#agegate .agegate__box::before {
  content:"";display:block;position:absolute;inset:0 0 auto;
  height:2px;background:linear-gradient(90deg,transparent,#95ad4a,transparent)
}
#agegate .agegate__eyebrow {
  margin:0 0 15px;
  color:#a5b976;font:600 10px/1.5 Arial,sans-serif;
  letter-spacing:.28em;text-transform:uppercase;text-align:center
}
#agegate .agegate__logo {width:73px;height:auto;max-height:76px;object-fit:contain;margin:0 auto 10px;filter:drop-shadow(0 5px 18px rgba(0,0,0,.28))}
#agegate .agegate__brand {
  margin:0;text-align:center;color:#f3f1ec;
  font:400 clamp(21px,4vw,27px)/1.25 "Cormorant",Georgia,serif;
  letter-spacing:.16em;text-transform:uppercase
}
#agegate .agegate__slogan {
  margin:6px 0 19px;text-align:center;color:#a4a198;
  font:500 10px/1.5 Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase
}
#agegate .agegate__badge {
  display:inline-grid;place-items:center;
  width:53px;height:53px;margin:0 auto 16px;
  border:1px solid rgba(166,189,99,.75);
  border-radius:50%;color:#c7d79a;
  font:600 21px/1 Georgia,serif;letter-spacing:0;
  background:rgba(109,127,42,.12)
}
#agegate h2#ag-t {
  margin:0 0 12px;
  color:#f3f1ec;
  font:400 clamp(27px,4.5vw,43px)/1.13 "Cormorant",Georgia,serif;
  letter-spacing:.008em;text-transform:none
}
#agegate h2#ag-t em {font-style:normal;color:#b6c785}
#agegate p#ag-description {
  max-width:420px;margin:0 auto 24px;
  text-align:center;font:400 clamp(15px,2.6vw,17px)/1.55 "Cormorant",Georgia,serif;
  color:#d8d4ca
}
#agegate .agegate__actions {display:grid;gap:11px;margin:0 auto 18px;max-width:390px}
#agegate button.agegate__confirm {
  display:flex;align-items:center;justify-content:center;gap:14px;
  width:100%;min-height:55px;padding:12px 18px;
  border:1px solid #96ad4d;border-radius:2px;background:#6d7f2a;
  color:#fff;font:600 12px/1.35 Arial,sans-serif;
  letter-spacing:.11em;text-transform:uppercase;cursor:pointer;
  transition:background .18s ease,transform .18s ease
}
#agegate button.agegate__confirm:hover {background:#879c3e}
#agegate button.agegate__confirm:active {transform:translateY(1px)}
#agegate button.agegate__confirm span {font-size:21px;font-weight:400;line-height:1}
#agegate a.agegate__decline {
  display:grid;place-items:center;
  width:100%;min-height:43px;margin:0;
  padding:10px 18px;border:1px solid rgba(247,244,234,.25);
  color:#e1ded8;background:rgba(0,0,0,.14);
  font:500 11px/1.35 Arial,sans-serif;
  letter-spacing:.13em;text-transform:uppercase;
  text-decoration:none;transition:border-color .2s ease,background .2s ease
}
#agegate a.agegate__decline:hover {border-color:#b4b8a6;background:rgba(255,255,255,.06)}
#agegate .agegate__legal {
  max-width:442px;margin:0 auto 8px;
  color:#c0bdb5;text-align:center;font:400 12px/1.6 Arial,sans-serif;
  letter-spacing:0;text-transform:none
}
#agegate .agegate__fine {
  max-width:430px;margin:8px auto 0;
  color:#9d9b92;text-align:center;font:400 11px/1.6 Arial,sans-serif;
  letter-spacing:0;text-transform:none
}
#agegate p a:not(.agegate__decline) {
  color:#d0dcad;text-decoration:underline;
  text-underline-offset:3px
}
#agegate :focus-visible {outline:2px solid #bace79;outline-offset:4px}
@media(max-width:480px) {
  #agegate.agegate{padding:14px}
  #agegate .agegate__box {padding:24px 19px 22px}
  #agegate .agegate__eyebrow {margin-bottom:10px;font-size:9px}
  #agegate .agegate__logo {width:60px;max-height:64px;margin-bottom:8px}
  #agegate .agegate__slogan {margin-bottom:13px}
  #agegate .agegate__badge {width:46px;height:46px;font-size:19px;margin-bottom:12px}
  #agegate h2#ag-t {font-size:clamp(27px,7.6vw,35px)}
  #agegate p#ag-description {margin-bottom:18px;font-size:15px}
  #agegate .agegate__actions {gap:8px;margin-bottom:14px}
  #agegate button.agegate__confirm {min-height:53px;letter-spacing:.07em;font-size:11px}
  #agegate .agegate__legal {font-size:11px}
  #agegate .agegate__fine {font-size:10px}
}
@media(max-height:670px) {
 #agegate .agegate__box {margin:auto;padding-top:20px;padding-bottom:20px}
 #agegate .agegate__logo{width:50px;max-height:55px;margin-bottom:6px}
 #agegate .agegate__brand{font-size:22px}
 #agegate .agegate__slogan{margin-bottom:8px}
 #agegate .agegate__badge{width:43px;height:43px;margin-bottom:10px}
 #agegate h2#ag-t{font-size:27px;margin-bottom:8px}
 #agegate p#ag-description{margin-bottom:13px}
 #agegate .agegate__actions{margin-bottom:10px}
 #agegate .agegate__fine{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
 #agegate *{transition:none!important}
}
