/* === Age Gate – véglegesített verzió === */
:root {
  --ag-bg:#ffffff;
  --ag-soft:#f7f7f8;
  --ag-border:#e5e7eb;
  --ag-shadow:0 20px 60px -10px rgba(0,0,0,.25);
  --ag-text:#000000;
  --ag-red:#dc3545;
  --ag-gray:#e0e0e0;
}

/* Footer rejtése csak age-gate közben */
body.age-gate-active footer,
body.age-gate-active .footer,
body.age-gate-active .site-footer,
body.age-gate-active #footer,
body.age-gate-active .main-footer,
body.age-gate-active .page-footer,
body.age-gate-active .footer-wrapper,
body.age-gate-active .footer-container,
body.age-gate-active .site-info,
body.age-gate-active .footer-content,
body.age-gate-active .footer-area,
body.age-gate-active .footer-section,
body.age-gate-active .bottom-footer,
body.age-gate-active .footer-bottom {
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  height:0!important;
  overflow:hidden!important;
}

/* Overlay */
#age-gate-overlay {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100vw!important;
  height:100vh!important;
  position:fixed;
  inset:0;
  z-index:999999;
  padding:16px;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  color:var(--ag-text)!important;
}
.age-gate-overlay::before,
.age-gate-overlay::after {
  content:''; position:absolute; inset:0; pointer-events:none; z-index:0;
}
.age-gate-overlay::before {
  background:radial-gradient(circle at 50% 40%, rgba(0,0,0,.06), rgba(0,0,0,.18) 70%);
}
.age-gate-overlay::after {
  background-image:
    radial-gradient(circle at 20% 20%, rgba(0,0,0,.06) 1px, transparent 1px),
    radial-gradient(circle at 80% 80%, rgba(0,0,0,.04) 1px, transparent 1px);
  background-size:120px 120px,150px 150px;
}

/* Modal */
.age-gate-modal {
  position:relative; z-index:2; display:flex; flex-direction:column;
  background:var(--ag-bg);
  border-radius:20px; max-width:min(520px,90vw);
  min-width:320px; width:auto;
  box-shadow:var(--ag-shadow);
  overflow:hidden;
  border:1px solid var(--ag-border);
  color:var(--ag-text)!important;
}

/* Fejléc – piros háttér, fehér szöveg */
.age-gate-header {
  background:var(--ag-red);
  color:#fff!important;
  padding:22px 20px 16px;
  text-align:center;
  border-bottom:1px solid var(--ag-border);
}
.age-gate-header h2 {
  margin:0;
  font:800 22px/1.15 system-ui, Segoe UI, Roboto, Arial, sans-serif;
  letter-spacing:1px;
  text-transform:uppercase;
  color:#fff!important;
}
.age-gate-header i {
  display:block;
  font-size:40px;
  margin:0 0 10px;
  color:#fff!important;
  text-shadow:none!important;
}

/* Törzs */
.age-gate-body {
  padding:20px 22px;
  text-align:center;
  background:linear-gradient(145deg, #fff 0%, var(--ag-soft) 100%);
  color:var(--ag-text)!important;
}
.age-gate-body p {
  margin:0 0 14px;
  font:600 16px/1.5 system-ui, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--ag-text)!important;
}
.age-gate-body strong {
  color:var(--ag-text)!important;
  font-weight:800;
}

/* Gombok */
.age-gate-buttons {
  display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:16px;
}
.age-gate-buttons .btn {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:132px; padding:12px 20px;
  border-radius:28px; border:1px solid var(--ag-border);
  font:700 15px/1 system-ui, Segoe UI, Roboto, Arial, sans-serif;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
  text-shadow:none;
}

/* Igen gomb – piros */
#age-confirm-yes {
  background:var(--ag-red)!important;
  color:#fff!important;
  border-color:var(--ag-red)!important;
}
#age-confirm-yes:hover {
  background:#b71c2c!important;
}

/* Nem gomb – szürke */
#age-confirm-no {
  background:var(--ag-gray)!important;
  color:#000!important;
  border-color:var(--ag-border)!important;
}
#age-confirm-no:hover {
  background:#cfcfcf!important;
}

/* Tartalom rejtése gate alatt */
#main-content:not([style*="display: block"]) { display:none; }

/* Reszponzív */
@media (max-width:1024px) {
  .age-gate-modal{ max-width:min(460px,88vw); }
}
@media (max-width:768px) {
  #age-gate-overlay{ padding:14px!important; }
  .age-gate-modal{ max-width:min(400px,95vw); min-width:300px; }
  .age-gate-header{ padding:20px 16px 14px; }
  .age-gate-header h2{ font-size:20px; }
  .age-gate-header i{ font-size:36px; }
  .age-gate-body{ padding:20px 16px; }
  .age-gate-body p{ font-size:15.5px; }
  .age-gate-buttons .btn{ min-width:120px; padding:11px 18px; }
}
@media (max-width:480px) {
  .age-gate-modal{ position:fixed; top:50%; left:50%; transform:translate(-50%,-50%); width:96%; }
}
