/* Shared adult warning and cookie dialog; no Bootstrap or jQuery dependency. */
#privacy-overlay[hidden], #privacy-overlay [hidden] { display: none !important; }
#privacy-overlay { position: fixed; inset: 0; z-index: 10002; display: flex; align-items: flex-end; justify-content: center; padding: 24px 0 max(30px, env(safe-area-inset-bottom)); background: rgba(0,0,0,.65); overflow: auto; }
.privacy-modal { width: min(1100px, 90%); max-height: 100%; display: flex; flex-direction: column; gap: 26px; outline: none; font-family: Arial, sans-serif; }
html.privacy-pending body { overflow: hidden; }
html.privacy-pending body > :not(#privacy-overlay):not(script):not(noscript) { pointer-events: none; }
html.plus18 body > :not(#privacy-overlay):not(script):not(noscript) { filter: blur(7px); }
html.plus18 .big-ban, html.plus18 #limited-offer { visibility: hidden; }
.text-plus18 { color: #fff; display: flex; align-items: center; gap: 16px; width: min(760px, 100%); margin: 0 auto; flex: 0 0 auto; }
.adult-badge { background: #d03232; border-radius: 50%; width: 56px; height: 56px; display: flex; align-items: center; justify-content: center; flex: 0 0 56px; font-size: 22px; }
.text-plus18 b { display: block; font-size: 15px; line-height: 1.4; }
.text-plus18 em { display: block; font-size: 14px; line-height: 1.4; margin-top: 4px; }
#disclaimer-dialog { border-radius: 5px; background: #fafafa; color: #111; box-shadow: 0 0 20px #000; font-size: 14px; line-height: 1.5; overflow: hidden; display: flex; flex-direction: column; min-height: 0; }
#disclaimer-dialog .center { padding: 18px 22px 12px; overflow: auto; min-height: 0; overscroll-behavior: contain; }
#disclaimer-dialog h1 { color: #111; font-family: inherit; font-size: 27px; font-weight: 700; line-height: 1.2; text-align: left; margin: 0 0 12px; }
#disclaimer-dialog h2 { color: #111; font-family: inherit; font-size: 19px; font-weight: 700; margin: 16px 0 10px; }
#disclaimer-dialog p { margin: 0 0 8px; }
#disclaimer-dialog a { color: #111; text-decoration: underline; }
#disclaimer-dialog button { font-family: inherit; cursor: pointer; border-radius: 5px; }
#button_manage_cookies { border: 0; padding: 0; background: transparent; color: #111; text-decoration: underline; font-weight: 700; font-size: inherit; }
#disclaimer-dialog .buttons-zone { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; padding: 4px 22px 16px; flex: 0 0 auto; }
#disclaimer-dialog .buttons-zone button { border: 1px solid transparent; color: #fff; padding: 9px 14px; font-size: 14px; line-height: 1.4; }
#disclaimer-dialog .agree { background: #438b43; }
#disclaimer-dialog .disagree { background: #b93d39; }
#disclaimer-dialog #save_preferences { background: #353535; }
#disclaimer-dialog .buttons-zone button:hover { filter: brightness(.9); }
#privacy-overlay button:focus-visible, #privacy-overlay a:focus-visible, #privacy-overlay summary:focus-visible, .cookie-choice:focus-within { outline: 3px solid #1467b0; outline-offset: 3px; }
.cookie-panel { position: relative; border: 1px solid #ddd; border-radius: 4px; margin-bottom: 8px; background: #fff; }
.cookie-panel summary { cursor: pointer; padding: 13px 160px 13px 14px; font-size: 15px; font-weight: 700; background: #f5f5f5; }
.cookie-panel summary strong { position: absolute; right: 14px; top: 14px; font-size: 13px; }
.cookie-panel .panel-body { padding: 14px; }
.cookie-buttons { position: absolute; right: 8px; top: 8px; border: 0; padding: 0; margin: 0; display: flex; gap: 4px; }
.cookie-choice { display: flex; align-items: center; gap: 5px; cursor: pointer; background: #353535; color: white; border-radius: 4px; padding: 5px 9px; font-size: 13px; }
.cookie-choice:has(input:checked) { background: #128600; }
.cookie-choice.no:has(input:checked) { background: #9b0002; }
.cookie-choice input { accent-color: #fff; margin: 0; width: 13px; height: 13px; }
.cookie-table-wrap { overflow-x: auto; }
#disclaimer-dialog table { width: 100%; border-collapse: collapse; text-align: left; font-size: 13px; margin: 10px 0; }
#disclaimer-dialog th, #disclaimer-dialog td { padding: 6px 8px; vertical-align: top; overflow-wrap: anywhere; }
#disclaimer-dialog thead { background: #2d2d2d; color: #fff; }
#disclaimer-dialog tbody tr { background: #fafafa; }
#disclaimer-dialog tbody tr:nth-child(even) { background: #d8d8d8; }
#privacy-overlay .returning-label { display: none; }
#privacy-overlay.returning-visitor .returning-label { display: inline; }
#privacy-overlay.returning-visitor .first-entry-label { display: none; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.footer-cookie-settings { font: inherit; color: inherit; background: none; padding: 0; border: 0; cursor: pointer; }
.footer-cookie-settings:hover { text-decoration: underline; }
.privacy-noscript { position: fixed; inset: 0; z-index: 10003; display: flex; flex-direction: column; justify-content: center; padding: 10vw; color: white; background: #151515; text-align: center; }
@media (max-width: 767px) {
  #privacy-overlay { padding: 16px 0 max(16px, env(safe-area-inset-bottom)); }
  .privacy-modal { width: 94%; gap: 16px; }
  #disclaimer-dialog h1 { font-size: 21px; }
  #disclaimer-dialog .center { padding: 16px; }
  #disclaimer-dialog .buttons-zone { padding: 4px 16px 16px; }
  .text-plus18 { gap: 12px; }
  .text-plus18 b, .text-plus18 em { font-size: 13px; }
}
@media (max-width: 430px) {
  .adult-badge { width: 46px; height: 46px; flex-basis: 46px; font-size: 19px; }
  #disclaimer-dialog { font-size: 13px; }
  #disclaimer-dialog h1 { font-size: 19px; }
  #disclaimer-dialog .buttons-zone button { flex: 1 1 100%; }
  .cookie-panel summary { font-size: 13px; padding-left: 10px; padding-right: 145px; }
  .cookie-panel .panel-body { padding: 10px; }
}
@media (max-height: 480px) {
  #privacy-overlay { padding: 10px 0; }
  .privacy-modal { gap: 8px; }
  .text-plus18 b, .text-plus18 em { font-size: 12px; }
  .adult-badge { height: 40px; width: 40px; flex-basis: 40px; font-size: 17px; }
  #disclaimer-dialog h1 { font-size: 18px; margin-bottom: 6px; }
}

#disclaimer-dialog .cookie-service-note { font-size: 11px; line-height: 1.4; color: #555; }

/* Exit remains available without confirming age or accepting cookies. */
#disclaimer-dialog .buttons-zone .privacy-exit { display: inline-flex; align-items: center; justify-content: center; margin-right: auto; border: 1px solid #666; border-radius: 5px; padding: 9px 14px; font-size: 14px; line-height: 1.4; color: #222; background: #fff; text-decoration: none; }
#disclaimer-dialog .privacy-exit:hover { background: #eee; }
@media (max-width: 430px) { #disclaimer-dialog .buttons-zone .privacy-exit { flex: 1 1 100%; margin-right: 0; } }
/* Keep the warning title independent of the landing's logo-based h1 rules. */
#privacy-overlay #disclaimer-dialog h1 {
  background: none;
  text-indent: 0;
  width: auto;
  height: auto;
}
