.cookie-overlay{
  position:fixed; inset:0;
  background:rgba(0,0,0,.62);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  display:flex; align-items:center; justify-content:center;
  z-index:99999; padding:16px;
}
.cookie-overlay[hidden]{display:none !important}

.cookie-modal{
  width:100%; max-width:600px;
  border-radius:20px;
  background:linear-gradient(180deg, rgba(255,123,59,.10), #ffffff 35%);
  color:#111827;
  box-shadow:0 25px 80px rgba(0,0,0,.45);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.25);
  transform: translateY(8px) scale(.98);
  opacity:0;
  animation: cookiePop .22s ease-out forwards;
}

@keyframes cookiePop{
  to{ transform: translateY(0) scale(1); opacity:1; }
}

.cookie-modal header{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:18px 18px 10px 18px;
}

.cookie-badge{
  display:inline-flex; align-items:center; gap:10px;
}
.cookie-badge .icon{
  width:40px; height:40px; border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,123,59,.16);
  border:1px solid rgba(255,123,59,.28);
}
.cookie-badge h2{ margin:0; line-height:1.2; }
.cookie-badge p{ margin:2px 0 0 0; font-size:12px; color:#6b7280; }

.cookie-modal .body{ padding: 0 18px 14px 18px; }
.cookie-modal .body p{ margin: 0; font-size:14px; line-height:1.55; color:#374151; }
.cookie-modal .body a{ color:#111827; font-weight:700; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }

.cookie-modal .actions{
  display:flex; gap:10px; flex-wrap:wrap;
  padding: 0 18px 18px 18px;
}
.cookie-modal .btn{
  appearance:none;
  border:1px solid #e5e7eb;
  border-radius:9999px;
  padding:12px 18px;
  font-weight:800;
  font-size:14px;
  cursor:pointer;
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
  user-select:none;
  min-height:44px;
}
.cookie-modal .btn:hover{ transform: translateY(-1px); box-shadow:0 10px 25px rgba(0,0,0,.12); }
.cookie-modal .btn:active{ transform: translateY(0); box-shadow:none; }
.cookie-modal .btn:focus-visible{
  outline: 3px solid rgba(255,123,59,.45);
  outline-offset: 2px;
}

.cookie-modal .btn-primary{
  background:#FF7B3B;
  border-color:#FF7B3B;
  color:#fff;
  box-shadow:0 12px 30px rgba(255,123,59,.35);
}
.cookie-modal .btn-primary:hover{
  box-shadow:0 16px 40px rgba(255,123,59,.45);
}
.cookie-modal .btn-ghost{
  background:rgba(255,255,255,.92);
}

.cookie-modal .xbtn{
  appearance:none; border:0; background:rgba(255,255,255,.85);
  width:44px; height:44px; border-radius:9999px;
  cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition: transform .12s ease, background .12s ease, box-shadow .12s ease;
  border:1px solid rgba(17,24,39,.10);
}
.cookie-modal .xbtn:hover{
  background:#fff;
  transform: translateY(-1px);
  box-shadow:0 10px 25px rgba(0,0,0,.12);
}
.cookie-modal .xbtn:focus-visible{
  outline: 3px solid rgba(255,123,59,.45);
  outline-offset: 2px;
}

.cookie-hint{
  padding: 0 18px 16px 18px;
  font-size:12px;
  color:#6b7280;
}

@media (max-width: 520px){
  .cookie-modal{ border-radius:18px; }
  .cookie-modal .actions{ flex-direction:column; }
  .cookie-modal .btn{ width:100%; justify-content:center; }
}

body.cookie-locked{ overflow:hidden !important; }

#mobileMenuOverlay{position:fixed;inset:0;background:rgba(0,0,0,.60);z-index:99998;display:flex;align-items:flex-start;justify-content:flex-end;padding:16px}
#mobileMenuOverlay[hidden]{display:none !important}
#mobileMenuPanel{width:100%;max-width:320px;border-radius:16px;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.35);overflow:hidden}
#mobileMenuPanel .top{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 10px 14px;border-bottom:1px solid #e5e7eb}
#mobileMenuPanel a{display:block;padding:12px 14px;font-weight:600}
#mobileMenuPanel a:hover{background:rgba(0,0,0,.04)}
