
/* Nasza Impreza compliance layer and palette refresh */
:root{
  --ni-emerald:#082d2a;
  --ni-navy:#071c3d;
  --ni-gold:#c8a45d;
  --ni-cream:#f6f0e6;
  --ni-ink:#0b0d10;
}
.ni-age-lock body{overflow:hidden}
.ni-age-modal{position:fixed;inset:0;z-index:2147483647;display:grid;place-items:center;padding:24px;background:rgba(0,0,0,.88);backdrop-filter:blur(12px)}
.ni-age-modal--hidden{display:none!important}
.ni-age-card{width:min(620px,100%);padding:34px;border-radius:28px;border:1px solid rgba(200,164,93,.55);background:linear-gradient(145deg,#082d2a,#07101f);color:#fff;text-align:center;box-shadow:0 30px 100px rgba(0,0,0,.65)}
.ni-age-mark{width:78px;height:78px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:var(--ni-navy);border:2px solid var(--ni-gold);font-weight:900}
.ni-age-card h2{margin:0 0 14px;font-size:clamp(30px,5vw,46px);line-height:1.08}
.ni-age-card p{line-height:1.6;color:rgba(255,255,255,.82)}
.ni-age-disclaimer{margin:18px 0;padding:15px;border-radius:18px;border:1px solid rgba(200,164,93,.42);background:rgba(200,164,93,.1);font-weight:700}
.ni-age-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:22px}
.ni-age-actions button{min-width:170px;padding:15px 24px;border-radius:999px;border:1px solid rgba(200,164,93,.65);font-weight:800;cursor:pointer}
#ni-age-yes{background:linear-gradient(135deg,var(--ni-emerald),var(--ni-navy));color:#fff}
#ni-age-no{background:transparent;color:#fff}
.ni-age-denied{color:#ffb4b4!important;font-weight:800}
.ni-safe-badge{display:inline-flex;align-items:center;gap:10px;margin:18px 0;padding:10px 14px;border-radius:999px;border:1px solid rgba(200,164,93,.5);background:rgba(8,45,42,.78);color:#fff;font-weight:800;line-height:1.35}
.ni-safe-badge strong{color:var(--ni-gold);text-transform:uppercase;letter-spacing:.08em;font-size:.78em}
.ni-safe-note{width:min(1120px,calc(100% - 40px));margin:28px auto;padding:16px 20px;border-radius:18px;border:1px solid rgba(200,164,93,.35);background:rgba(8,45,42,.16);color:inherit;line-height:1.55}
.ni-footer-company{font-size:14px;line-height:1.65;color:inherit;opacity:.86}
.ni-footer-disclaimer{margin-top:18px;font-size:12px;line-height:1.55;color:inherit;opacity:.72}
@media(max-width:640px){.ni-age-card{padding:26px 18px}.ni-age-actions button{width:100%}.ni-safe-badge{border-radius:18px}}


/* Nasza Impreza premium palette overrides */
a[class*="btn"], button, .btn, [class*="button"], input[type="submit"]{
  border-color: rgba(200,164,93,.55);
}


/* Hosting-safe Nasza Impreza compliance layer */
.ni-age-lock body{overflow:hidden}
.ni-age-modal{position:fixed;inset:0;z-index:2147483647;display:grid;place-items:center;padding:24px;background:rgba(0,0,0,.88);backdrop-filter:blur(12px)}
.ni-age-modal--hidden{display:none!important}
.ni-age-card{width:min(620px,100%);padding:34px;border-radius:28px;border:1px solid rgba(200,164,93,.55);background:linear-gradient(145deg,#082d2a,#07101f);color:#fff;text-align:center;box-shadow:0 30px 100px rgba(0,0,0,.65)}
.ni-age-mark{width:78px;height:78px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:#071c3d;border:2px solid #c8a45d;font-weight:900}
.ni-age-card h2{margin:0 0 14px;font-size:clamp(30px,5vw,46px);line-height:1.08}
.ni-age-card p{line-height:1.6;color:rgba(255,255,255,.86)}
.ni-age-disclaimer{margin:18px 0;padding:15px;border-radius:18px;border:1px solid rgba(200,164,93,.42);background:rgba(200,164,93,.1);font-weight:700}
.ni-age-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:22px}
.ni-age-actions button{min-width:170px;padding:15px 24px;border-radius:999px;border:1px solid rgba(200,164,93,.65);font-weight:800;cursor:pointer}
#ni-age-yes{background:linear-gradient(135deg,#082d2a,#071c3d);color:#fff}
#ni-age-no{background:transparent;color:#fff}
.ni-age-denied{color:#ffb4b4!important;font-weight:800}
.ni-safe-badge{display:inline-flex;align-items:center;gap:10px;margin:18px 0;padding:10px 14px;border-radius:999px;border:1px solid rgba(200,164,93,.5);background:rgba(8,45,42,.78);color:#fff;font-weight:800;line-height:1.35}
.ni-safe-badge strong{color:#c8a45d;text-transform:uppercase;letter-spacing:.08em;font-size:.78em}
.ni-safe-note{width:min(1120px,calc(100% - 40px));margin:28px auto;padding:16px 20px;border-radius:18px;border:1px solid rgba(200,164,93,.35);background:rgba(8,45,42,.16);color:inherit;line-height:1.55}
.ni-footer-company{font-size:14px;line-height:1.65;color:inherit;opacity:.86}
.ni-footer-disclaimer{margin-top:18px;font-size:12px;line-height:1.55;color:inherit;opacity:.72}
body{overflow-x:hidden}
img,svg,video{max-width:100%;height:auto}
@media(max-width:640px){.ni-age-card{padding:26px 18px}.ni-age-actions button{width:100%}.ni-safe-badge{border-radius:18px;align-items:flex-start;flex-direction:column}}


/* Offline gambling / social gaming moderation layer */
.ni-offline-hero-badge,
.ni-offline-signal,
.ni-offline-shield {
  box-sizing: border-box;
}
.ni-offline-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 18px 0;
  padding: 11px 15px;
  border-radius: 999px;
  border: 1px solid rgba(200,164,93,.55);
  background: rgba(7,28,61,.78);
  color: #fff;
  font-weight: 800;
  line-height: 1.35;
}
.ni-offline-hero-badge strong {
  color: #c8a45d;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .78em;
}
.ni-offline-signal {
  width: min(1120px, calc(100% - 40px));
  margin: 26px auto;
  padding: 16px 20px;
  border-radius: 18px;
  border: 1px solid rgba(200,164,93,.36);
  background: rgba(8,45,42,.18);
  color: inherit;
  line-height: 1.56;
}
.ni-offline-signal strong {
  display: block;
  margin-bottom: 6px;
}
.ni-offline-shield {
  width: min(1120px, calc(100% - 40px));
  margin: 32px auto;
  padding: 24px;
  display: flex;
  gap: 17px;
  border: 1px solid rgba(200,164,93,.45);
  border-radius: 26px;
  background: linear-gradient(135deg, rgba(7,28,61,.32), rgba(8,45,42,.18));
  color: inherit;
}
.ni-offline-shield__icon {
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #071c3d;
  color: #fff;
  border: 1px solid #c8a45d;
  font-weight: 900;
}
.ni-offline-shield strong {
  display: block;
  margin-bottom: 7px;
  font-size: 1.08rem;
}
.ni-offline-shield p {
  margin: 0;
  opacity: .86;
  line-height: 1.58;
}
@media(max-width:640px){
  .ni-offline-hero-badge{align-items:flex-start;flex-direction:column;border-radius:18px}
  .ni-offline-shield{flex-direction:column}
}
