/* =========================================================
   CONSENT — first-visit dialog + click-to-load map placeholders
   Shared by the Guava pages (styles.css) and the Local MRKT
   pages (localmrkt.css), so nothing here leans on either file's
   custom properties. The dark card reads on both the cream and
   the black themes.
   ========================================================= */

.cdlg{ position:fixed; inset:0; z-index:9000; display:grid; place-items:center; padding:1.25rem; }
.cdlg__backdrop{
  position:absolute; inset:0; background:rgba(12,8,8,.72);
  opacity:0; transition:opacity .32s cubic-bezier(.2,.7,.1,1);
  -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);
}
.cdlg.is-in .cdlg__backdrop{ opacity:1; }

.cdlg__card{
  position:relative; width:100%; max-width:34rem;
  max-height:calc(100vh - 2.5rem); overflow-y:auto;
  padding:clamp(1.5rem,4vw,2.3rem);
  background:#1E1412; color:#F7F1EA;
  border:1px solid rgba(247,241,234,.14); border-radius:16px;
  box-shadow:0 40px 90px -40px rgba(0,0,0,.95);
  font-family:system-ui,-apple-system,"Familjen Grotesk",sans-serif;
  opacity:0; transform:translateY(14px) scale(.985);
  transition:opacity .32s cubic-bezier(.2,.7,.1,1), transform .32s cubic-bezier(.2,.7,.1,1);
}
.cdlg.is-in .cdlg__card{ opacity:1; transform:none; }

.cdlg__kicker{
  margin:0 0 .5rem; font-size:.7rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.16em; color:#F17BA0;
}
.cdlg__title{
  margin:0; font-size:clamp(1.45rem,1.2rem + 1vw,1.9rem);
  font-weight:600; letter-spacing:-.015em; line-height:1.15;
}
.cdlg__body{ margin:1rem 0 0; }
.cdlg__body p{ margin:0 0 .8rem; font-size:.93rem; line-height:1.6; color:rgba(247,241,234,.8); }
.cdlg__body p:last-child{ margin-bottom:0; }

.cdlg__actions{ display:flex; flex-wrap:wrap; gap:.7rem; margin:1.6rem 0 0; }
.cdlg__btn{
  flex:1 1 auto; cursor:pointer; padding:.78rem 1.4rem;
  border-radius:999px; font:inherit; font-size:.92rem; font-weight:600;
  transition:background .25s cubic-bezier(.2,.7,.1,1), border-color .25s cubic-bezier(.2,.7,.1,1),
             color .25s cubic-bezier(.2,.7,.1,1), transform .25s cubic-bezier(.2,.7,.1,1);
}
.cdlg__btn:focus-visible{ outline:2px solid #F17BA0; outline-offset:3px; }
.cdlg__btn--yes{ border:1px solid #E7457B; background:#E7457B; color:#fff; }
.cdlg__btn--yes:hover{ background:#C22A5E; border-color:#C22A5E; transform:translateY(-1px); }
.cdlg__btn--no{ border:1px solid rgba(247,241,234,.3); background:transparent; color:rgba(247,241,234,.82); }
.cdlg__btn--no:hover{ border-color:rgba(247,241,234,.6); color:#F7F1EA; }

.cdlg__foot{ margin:1.2rem 0 0; font-size:.78rem; line-height:1.55; color:rgba(247,241,234,.52); }
.cdlg__foot a{ color:rgba(247,241,234,.78); text-decoration:underline; text-underline-offset:2px; }
.cdlg__foot a:hover{ color:#F17BA0; }

body.cdlg-open{ overflow:hidden; }

@media (max-width:460px){
  .cdlg__actions{ flex-direction:column; }
  .cdlg__btn{ width:100%; }
}

/* ---- Click-to-load map ---------------------------------- */
/* The iframe is not in the markup until the visitor allows it, so Google
   is contacted only on request. The frame it sits in (.lm-map) supplies
   the border, radius and background — the gate is layout and type only. */

.mapgate{
  display:flex; flex-direction:column; gap:.75rem;
  align-items:center; justify-content:center; text-align:center;
  width:100%; height:100%;
  padding:1.2rem clamp(.9rem,3vw,1.8rem);
  color:#F7F1EA;
  font-family:system-ui,-apple-system,"Familjen Grotesk",sans-serif;
}
.mapgate__title{
  margin:0; font-size:.78rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.14em;
  color:rgba(247,241,234,.62);
}
.mapgate__text{ margin:0; max-width:40ch; font-size:.82rem; line-height:1.5; color:rgba(247,241,234,.82); }
.mapgate__btn{
  cursor:pointer; padding:.6rem 1.3rem; border:0; border-radius:999px;
  background:#E7457B; color:#fff; font:inherit; font-weight:600;
  transition:background .25s cubic-bezier(.2,.7,.1,1), transform .25s cubic-bezier(.2,.7,.1,1);
}
.mapgate__btn:hover{ background:#C22A5E; transform:translateY(-1px); }
.mapgate__btn:focus-visible{ outline:2px solid #F17BA0; outline-offset:3px; }
.mapgate__alt{
  font-size:.8rem; color:rgba(247,241,234,.6);
  text-decoration:underline; text-underline-offset:2px;
}
.mapgate__alt:hover{ color:#F7F1EA; }

@media (prefers-reduced-motion:reduce){
  .cdlg__backdrop,.cdlg__card{ transition:none; }
  .cdlg__btn:hover,.mapgate__btn:hover{ transform:none; }
}
