/* The cookie box (vanilla-cookieconsent v3, styled by its own cookieconsent.css) and the adults-only warning, in the
   site's look: solid dark panels with real shadows, the sticker logo, label-maker headings, and red buttons that lift. */
@font-face { font-family: 'Rubik'; font-style: normal; font-weight: 400 900; font-display: swap; src: url('/fonts/rubik-latin.woff2') format('woff2'); }
@font-face { font-family: 'Courier Prime'; font-style: normal; font-weight: 700; font-display: swap; src: url('/fonts/courier-prime-700-latin.woff2') format('woff2'); }

#cc-main {
  --cc-font-family: 'Rubik', system-ui, sans-serif;
  --cc-modal-border-radius: 14px;
  --cc-btn-border-radius: 8px;
  --cc-pm-toggle-border-radius: 999px;
  --cc-modal-transition-duration: 0.25s;
  --cc-bg: #1a1a1a;
  --cc-primary-color: #f2f2f2;
  --cc-secondary-color: #b9b9b4;
  --cc-link-color: #ff6a6f;
  --cc-btn-primary-bg: #d0161c;
  --cc-btn-primary-color: #fff;
  --cc-btn-primary-border-color: #d0161c;
  --cc-btn-primary-hover-bg: #dd2a30;
  --cc-btn-primary-hover-border-color: #dd2a30;
  --cc-btn-primary-hover-color: #fff;
  --cc-btn-secondary-bg: #1f1f1f;
  --cc-btn-secondary-color: #f2f2f2;
  --cc-btn-secondary-border-color: #3a3a3a;
  --cc-btn-secondary-hover-bg: #262626;
  --cc-btn-secondary-hover-color: #fff;
  --cc-btn-secondary-hover-border-color: #4a4a4a;
  --cc-separator-border-color: #2c2c2c;
  --cc-footer-bg: #141414;
  --cc-footer-color: #a9a9a4;
  --cc-footer-border-color: #2c2c2c;
  --cc-cookie-category-block-bg: #1f1f1f;
  --cc-cookie-category-block-border: #303030;
  --cc-cookie-category-block-hover-bg: #262626;
  --cc-cookie-category-block-hover-border: #3a3a3a;
  --cc-cookie-category-expanded-block-bg: transparent;
  --cc-cookie-category-expanded-block-hover-bg: #262626;
  --cc-toggle-on-bg: #d0161c;
  --cc-toggle-off-bg: #4a4a4a;
  --cc-toggle-readonly-bg: #6b6b66;
  --cc-overlay-bg: rgba(0, 0, 0, 0.65);
  --cc-z-index: 2147483000;
}

#cc-main .cm, #cc-main .pm { border: 1px solid #2c2c2c; box-shadow: 0 30px 80px rgba(0, 0, 0, 0.75); }
#cc-main .cm__title, #cc-main .pm__title { font-weight: 800; letter-spacing: 0; }
#cc-main .cm__desc, #cc-main .pm__section-desc, #cc-main .pm__service-title { font-weight: 400; }
#cc-main .cm__btn, #cc-main .pm__btn { font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.82em;
  box-shadow: 0 3px 0 #000; transition: transform 120ms ease-out, box-shadow 120ms ease-out, background-color 120ms; }
#cc-main .cm__btn:not(.cm__btn--secondary), #cc-main .pm__btn:not(.pm__btn--secondary) { box-shadow: 0 4px 0 #5c0609; }
@media (hover: hover) {
  #cc-main .cm__btn:hover, #cc-main .pm__btn:hover { transform: translateY(-2px); box-shadow: 0 5px 0 #000, 0 10px 16px rgba(0, 0, 0, 0.45); }
  #cc-main .cm__btn:not(.cm__btn--secondary):hover, #cc-main .pm__btn:not(.pm__btn--secondary):hover { box-shadow: 0 6px 0 #5c0609, 0 10px 16px rgba(0, 0, 0, 0.45); }
}
#cc-main .cm__btn:active, #cc-main .pm__btn:active { transform: translateY(2px); box-shadow: 0 1px 0 #000; }
#cc-main .cm__footer a, #cc-main .cm__footer button, #cc-main .cm__desc a { font-weight: 700; }
#cc-main .cm__footer button { all: unset; cursor: pointer; color: var(--cc-footer-color); font-size: 0.85em; }
#cc-main .cm__footer button:hover { text-decoration: underline; }

#cc-main .cm { max-width: 26em; text-align: center; }
#cc-main .cm__title { display: flex; flex-direction: column; align-items: center; gap: 0.9em; font-size: 1.1em; }
#cc-main .cm__title span { display: inline-block; padding: 6px 14px; background: #0f0f0f; color: #f3f3f3; border-radius: 3px; transform: rotate(-1.5deg);
  font: 700 0.92em/1.3 'Courier Prime', monospace; text-transform: uppercase; letter-spacing: 0.08em;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18), 0 2px 4px rgba(0, 0, 0, 0.5); }
#cc-main .cbn-cc-logo { width: 78%; height: auto; display: block; transform: rotate(-2deg);
  filter: drop-shadow(0 1px 0 rgba(0, 0, 0, 0.5)) drop-shadow(0 6px 8px rgba(0, 0, 0, 0.6)); }
#cc-main .cm__btn { padding-top: 1.1em; padding-bottom: 1.1em; }
#cc-main .cm__footer { justify-content: center; }
#cc-main .cm__links, #cc-main .cm__link-group { justify-content: center; width: 100%; text-align: center; }

/* Adults-only warning (disclaimer.js): a cheap paper notice taped to the wall, shown after the cookie box. */
html.cbn-w-open, html.cbn-w-open body { overflow: hidden; }
#cbn-warning {
  position: fixed; inset: 0; z-index: 2147482000; display: flex; align-items: center; justify-content: center;
  padding: 16px; background: rgba(0, 0, 0, 0.72); animation: cbn-w-in 0.25s ease-out;
  font-family: 'Rubik', system-ui, sans-serif;
}
#cbn-warning.cbn-w-closing { opacity: 0; transition: opacity 0.2s; }
@keyframes cbn-w-in { from { opacity: 0; } to { opacity: 1; } }
#cbn-warning .cbn-w-card {
  position: relative; width: 100%; max-width: 32rem; max-height: calc(100vh - 32px); overflow-y: auto; box-sizing: border-box;
  color: #141414; border-radius: 3px; padding: 38px 32px 26px; text-align: center;
  background:
    linear-gradient(112deg, transparent 47.6%, rgba(0,0,0,.03) 49.4%, rgba(255,255,255,.4) 50.4%, transparent 52.2%),
    radial-gradient(ellipse at center, rgba(90,65,30,0) 55%, rgba(90,65,30,.12) 100%),
    #f3f0e6;
  box-shadow: inset 0 0 22px rgba(90, 65, 30, 0.14), 0 2px 0 rgba(0, 0, 0, 0.35), 0 30px 60px -10px rgba(0, 0, 0, 0.9);
}
@media (min-height: 700px) {
  #cbn-warning .cbn-w-card { overflow: visible; }
  #cbn-warning .cbn-w-card::before, #cbn-warning .cbn-w-card::after { content: ""; position: absolute; top: 10px; pointer-events: none; box-shadow: 0 2px 3px rgba(0, 0, 0, 0.4); }
  #cbn-warning .cbn-w-card::before { left: -16px; width: 78px; height: 24px; transform: rotate(-40deg); background: linear-gradient(180deg, #e9dfbb, #d8cb9d);
    clip-path: polygon(0 8%, 4% 0, 8% 10%, 12% 0, 88% 0, 92% 12%, 96% 0, 100% 10%, 100% 90%, 96% 100%, 92% 88%, 88% 100%, 12% 100%, 8% 90%, 4% 100%, 0 92%); }
  #cbn-warning .cbn-w-card::after { right: -20px; width: 84px; height: 26px; border-radius: 13px; transform: rotate(38deg);
    background: linear-gradient(90deg, transparent 32%, #ead6bd 32%, #ead6bd 68%, transparent 68%) center / 100% 70% no-repeat,
      radial-gradient(ellipse 9px 6px at 26% 60%, rgba(110, 80, 45, 0.5), transparent 70%), #c99a72; }
}
#cbn-warning .cbn-w-badge {
  width: 86px; height: 86px; margin: 0 auto 16px; border-radius: 999px; background: #d0161c; color: #fff;
  display: flex; align-items: center; justify-content: center; font-weight: 900; font-size: 30px; letter-spacing: -0.02em;
  border: 5px solid #fff; transform: rotate(-8deg); box-shadow: 0 1px 0 rgba(0, 0, 0, 0.3), 0 8px 14px rgba(0, 0, 0, 0.35);
}
#cbn-warning h2 { display: inline-block; margin: 0 0 18px; padding: 7px 18px; background: #121212; color: #f3f3f3; border-radius: 3px; transform: rotate(-1.5deg);
  font: 700 22px/1.2 'Courier Prime', monospace; text-transform: uppercase; letter-spacing: 0.12em;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18), 0 2px 4px rgba(0, 0, 0, 0.45); }
#cbn-warning #cbn-w-text p { margin: 0 0 14px; font-weight: 500; font-size: 17px; line-height: 1.55; color: #2a2a2a; }
#cbn-warning .cbn-w-terms { all: unset; cursor: pointer; font-weight: 700; color: #b3121a; text-decoration: underline; text-underline-offset: 3px; }
#cbn-warning .cbn-w-agree {
  display: block; width: 100%; margin: 22px 0 14px; padding: 18px; border: 0; border-radius: 8px; cursor: pointer;
  background: #d0161c; color: #fff; font: 900 19px 'Rubik', system-ui, sans-serif; text-transform: uppercase; letter-spacing: 0.08em;
  box-shadow: 0 5px 0 #5c0609; transition: transform 120ms ease-out, box-shadow 120ms ease-out, filter 120ms;
}
@media (hover: hover) { #cbn-warning .cbn-w-agree:hover { transform: translateY(-2px); box-shadow: 0 7px 0 #5c0609, 0 12px 18px rgba(0, 0, 0, 0.3); filter: brightness(1.06); } }
#cbn-warning .cbn-w-agree:active { transform: translateY(4px); box-shadow: 0 1px 0 #5c0609; }
#cbn-warning .cbn-w-agree:focus-visible, #cbn-warning .cbn-w-terms:focus-visible, #cbn-warning .cbn-w-leave:focus-visible { outline: 3px solid #000; outline-offset: 3px; }
#cbn-warning .cbn-w-warned { margin: 0 0 14px; font-weight: 900; font-style: italic; font-size: 15px; color: #141414; }
#cbn-warning .cbn-w-leave { font-size: 13px; font-weight: 500; color: #5f5f5a; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 480px) {
  #cbn-warning .cbn-w-card { padding: 32px 22px 22px; }
  #cbn-warning h2 { font-size: 18px; }
  #cbn-warning #cbn-w-text p { font-size: 15px; }
}
