/*
 * gate.css — Age Gate 18+ & Splash Screen
 * Motyw: goleba
 * Używa zmiennych CSS z :root goleba.css
 */

/* ============================================================
   BLOKADA TREŚCI (inline JS w <head> dodaje tę klasę)
   ============================================================ */

html.age-gate-locked body>*:not(#goleba-age-gate){visibility:hidden}

/* ============================================================
   AGE GATE — OVERLAY
   ============================================================ */

#goleba-age-gate{
  position:fixed;inset:0;z-index:9999;
  background:var(--ink);
  display:flex;align-items:center;justify-content:center;
  padding:var(--pad);
  font-family:var(--sans);
  overflow-y:auto;
}

.ag-box{
  width:100%;max-width:440px;
  display:flex;flex-direction:column;align-items:center;
  gap:32px;text-align:center;
}

.ag-logo{
  display:flex;flex-direction:column;align-items:center;gap:12px;
}
.ag-logo__mark{
  width:48px;height:auto;
  filter:brightness(1.2) saturate(1.1);
}
.ag-logo__name{
  font-family:var(--sans);font-weight:600;font-size:1.125rem;
  letter-spacing:.18em;color:var(--cream);
}

.ag-badge{
  display:inline-flex;align-items:center;justify-content:center;
  width:64px;height:64px;border-radius:50%;
  border:2px solid var(--oxblood);
  font-family:var(--sans);font-weight:700;font-size:1.375rem;
  color:var(--cream);letter-spacing:.04em;
}

.ag-copy{
  display:flex;flex-direction:column;gap:8px;
}
.ag-copy h2{
  font-family:var(--serif);font-size:clamp(1.5rem,4vw,2rem);
  font-weight:400;color:var(--cream);line-height:1.2;margin:0;
}
.ag-copy p{
  font-size:.875rem;color:var(--line-light-strong);margin:0;
  line-height:1.6;
}

.ag-form{
  width:100%;display:flex;flex-direction:column;gap:16px;
}
.ag-selects{
  display:grid;grid-template-columns:1fr 2fr 2fr;gap:8px;
}
.ag-select{
  appearance:none;-webkit-appearance:none;
  background:var(--ink-2);
  border:1px solid var(--line-light);
  color:var(--cream);
  font-family:var(--sans);font-size:.875rem;
  padding:10px 12px;border-radius:6px;cursor:pointer;
  width:100%;
  transition:border-color .2s var(--ease);
}
.ag-select:focus{outline:none;border-color:var(--caramel);}
.ag-select option{background:var(--ink-2);color:var(--cream);}

.ag-error{
  font-size:.8125rem;color:#f87171;
  min-height:1.25rem;text-align:center;
}

.ag-btn{
  display:flex;align-items:center;justify-content:center;gap:8px;
  background:var(--oxblood);
  border:none;border-radius:6px;
  color:var(--cream);
  font-family:var(--sans);font-size:.9375rem;font-weight:500;
  letter-spacing:.04em;padding:14px 24px;cursor:pointer;
  width:100%;
  transition:background .2s var(--ease),transform .15s var(--ease);
}
.ag-btn:hover{background:#b5392a;}
.ag-btn:active{transform:scale(.98);}

.ag-divider{
  display:flex;align-items:center;gap:12px;width:100%;
}
.ag-divider::before,.ag-divider::after{
  content:'';flex:1;height:1px;background:var(--line-light);
}
.ag-divider span{
  font-size:.75rem;color:var(--line-light-strong);white-space:nowrap;
}

.ag-declare{
  background:transparent;
  border:1px solid var(--line-light);border-radius:6px;
  color:var(--cream);
  font-family:var(--sans);font-size:.875rem;font-weight:400;
  padding:12px 20px;cursor:pointer;width:100%;
  transition:border-color .2s var(--ease),color .2s var(--ease);
}
.ag-declare:hover{border-color:var(--cream);color:var(--cream);}

/* ============================================================
   SPLASH SCREEN — OVERLAY
   ============================================================ */

#goleba-splash{
  position:fixed;inset:0;z-index:9998;
  background:var(--ink);
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  gap:0;
  pointer-events:none;
  font-family:var(--sans);
}

.sp-mark{
  width:clamp(60px,12vw,100px);height:auto;
  filter:brightness(1.25) saturate(1.1) drop-shadow(0 0 20px rgba(253,204,156,.15));
  will-change:transform,opacity;
}

.sp-wordmark{
  margin-top:28px;
  display:flex;flex-direction:column;align-items:center;gap:6px;
  overflow:hidden;
}
.sp-wordmark__name{
  font-weight:700;font-size:clamp(1.125rem,3vw,1.5rem);
  letter-spacing:.22em;color:var(--cream);
  will-change:opacity,transform;
}
.sp-wordmark__sub{
  font-size:clamp(.625rem,1.4vw,.75rem);
  letter-spacing:.28em;color:var(--caramel);text-transform:uppercase;
  will-change:opacity,transform;
}

.sp-bar{
  position:absolute;bottom:0;left:0;
  height:2px;background:var(--oxblood);
  width:0%;
  transform-origin:left center;
}

/* ============================================================
   REDUCED MOTION
   ============================================================ */

@media(prefers-reduced-motion:reduce){
  #goleba-age-gate{transition:none;}
  #goleba-splash{display:none!important;}
}
