/* Geedlee cookie consent — bottom sheet with the little hero floating on top.
   Brand tokens are mirrored here so the file works on every page whether or not
   that page defines the variables. */

.glck-scrim{
  position:fixed; inset:0; z-index:99998;
  background:rgba(30,37,89,.30);
  -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px);
  opacity:0; transition:opacity .3s ease;
  /* Must not swallow taps. This is a tint behind the sheet, not a modal blocker:
     with pointer-events on, a parent who scrolls past without choosing finds that
     nothing on the page responds, including the play buttons in the dashboard. */
  pointer-events:none;
}
.glck-scrim.show{opacity:1;}

/* Anchored to the bottom of the screen, full width, like a drawer sliding up. */
.glck-card{
  position:fixed; z-index:99999;
  left:0; right:0; bottom:0;
  box-sizing:border-box;
  background:#FFFFFF;
  border-top:1px solid rgba(30,37,89,.07);
  border-radius:20px 20px 0 0;
  padding:26px 18px calc(9px + env(safe-area-inset-bottom, 0px));
  box-shadow:0 -18px 44px rgba(27,42,90,.16);
  transform:translateY(102%);
  transition:transform .42s cubic-bezier(.22,.9,.28,1);
  /* Must stay visible: the hero floats above the top edge. */
  overflow:visible;
}
.glck-card.show{transform:translateY(0);}

/* Keeps text and buttons readable on wide screens without losing the
   full-width sheet look. */
.glck-in{max-width:520px; margin:0 auto; text-align:center;}

/* The little green hero, floating above the sheet and bobbing gently. */
.glck-hero{
  position:absolute;
  top:-112px; left:50%;
  width:94px; height:auto;
  pointer-events:none;
  transform:translateX(-50%);
  filter:drop-shadow(0 14px 20px rgba(27,42,90,.22));
}

.glck-h{
  font-family:"Poppins","Nunito",system-ui,sans-serif;
  font-weight:700; font-size:.98rem; line-height:1.22;
  color:#1E2559; margin:0 0 5px; letter-spacing:-.01em;
}
.glck-p{
  font-family:"Nunito",system-ui,sans-serif;
  font-size:.78rem; line-height:1.45; color:#4A5163;
  margin:0 auto 5px; max-width:420px;
}

.glck-p-last{margin-bottom:9px;}
.glck-btns{display:flex; flex-direction:column; gap:7px;}

.glck-btn{
  font-family:"Nunito",system-ui,sans-serif;
  font-weight:800; font-size:.82rem;
  border-radius:999px; min-height:38px; padding:0 18px;
  border:none; cursor:pointer; width:100%;
  transition:transform .16s ease, background .16s ease, box-shadow .16s ease;
}
.glck-btn:active{transform:translateY(1px);}

.glck-accept{background:#1E2559; color:#fff; box-shadow:0 8px 20px rgba(27,42,90,.18);}
.glck-accept:hover{background:#34408A;}

/* Reject carries the same size and weight as accept. A reject that is smaller
   or hidden behind a link is the most commonly enforced dark pattern. */
.glck-reject{background:#EEF1F6; color:#1E2559;}
.glck-reject:hover{background:#E2E7F0;}

.glck-link{
  display:inline-block; margin-top:6px;
  font-family:"Nunito",system-ui,sans-serif;
  font-size:.76rem; color:#3E8E80; text-decoration:underline;
}
.glck-link:hover{color:#1E2559;}

@media(min-width:720px){
  .glck-card{padding-top:42px;}
  .glck-hero{top:-128px; width:106px;}
  .glck-btns{flex-direction:row; justify-content:center;}
  .glck-btn{width:auto; min-width:190px;}
}

@media(max-width:380px){
  .glck-card{padding:66px 16px calc(20px + env(safe-area-inset-bottom, 0px));}
  .glck-hero{width:88px; top:-106px;}
  .glck-h{font-size:1.16rem;}
}

@media(prefers-reduced-motion:reduce){
  .glck-card,.glck-scrim{transition:none;}
}

/* Short screens (small phones, or landscape): the sheet plus a full-size dragon
   can be taller than the viewport, which pushed his head off the top. Shrink
   both so he always stays fully visible. */
@media(max-height:720px){
  .glck-card{padding-top:34px;}
  .glck-hero{width:86px; top:-104px;}
  .glck-p{margin-bottom:8px;}
  .glck-btn{min-height:36px;}
}
@media(max-height:600px){
  .glck-card{padding-top:30px;}
  .glck-hero{width:76px; top:-92px;}
}
