/* iCake site-wide Production refinements. Exact host lock is enforced in PHP. */
body.icake-site-ux-active #top-bar {
  min-height: 32px;
  overflow: hidden;
  background: #e1e5dc !important;
  color: #2b2521 !important;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .055em;
  opacity: 1 !important;
}

body.icake-site-ux-active.icake-unified-ui-active #top-bar {
  background: #e1e5dc !important;
  color: #2b2521 !important;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .055em;
}

body.icake-site-ux-active #top-bar .flex-row,
body.icake-site-ux-active #top-bar .flex-center,
body.icake-site-ux-active #top-bar .flex-grow,
body.icake-site-ux-active #top-bar .nav,
body.icake-site-ux-active #top-bar .html_topbar_left {
  min-width: 0;
  overflow: hidden;
}

body.icake-site-ux-active #top-bar .html_topbar_left,
body.icake-site-ux-active #top-bar .html_topbar_left .strong,
body.icake-site-ux-active #top-bar .html_topbar_left a {
  color: #2b2521 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

body.icake-site-ux-active #top-bar .html_topbar_left { width: 100%; position: relative; padding-right: 48px; }
body.icake-site-ux-active #top-bar .html_topbar_left .strong {
  font-size: 12px !important;
  line-height: 1.5 !important;
  font-weight: 700 !important;
  letter-spacing: .04em;
}

body.icake-site-ux-active.icake-announcement-ready .icake-announcement-track {
  display: flex;
  width: max-content;
  min-width: 100%;
  animation: icake-announcement-scroll 24s linear infinite;
  will-change: transform;
}

body.icake-site-ux-active .icake-announcement-item {
  flex: 0 0 auto;
  padding-inline: 42px;
  white-space: nowrap;
}

body.icake-site-ux-active .icake-announcement-track:hover,
body.icake-site-ux-active .html_topbar_left:focus-within .icake-announcement-track,
body.icake-site-ux-active .icake-announcement-paused .icake-announcement-track { animation-play-state: paused; }
body.icake-site-ux-active #top-bar .icake-announcement-pause {
  position: absolute; right: 0; top: 50%; transform: translateY(-50%); z-index: 1;
  min-width: 44px; min-height: 30px; margin: 0; padding: 2px 5px; border: 0;
  color: #2b2521; background: #e1e5dc; font-size: 10px; line-height: 1.2;
  text-transform: none; letter-spacing: 0; cursor: pointer;
}

@keyframes icake-announcement-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

body.icake-site-ux-active #wide-nav .icake-accessories-menu-item > a,
body.icake-site-ux-active .icake-accessories-menu-item > a {
  min-height: 34px;
  padding-inline: 13px !important;
  border: 1px solid #b78d4c;
  border-radius: 999px;
  color: #5b3c19 !important;
  background: #fff8ea;
  font-weight: 750 !important;
}

body.icake-site-ux-active #wide-nav .icake-accessories-menu-item > a:hover,
body.icake-site-ux-active .icake-accessories-menu-item > a:hover {
  border-color: #765126;
  background: #fff1d3;
}

.icake-accessories-links { clear: both; width: 100%; margin: 0 0 24px; padding: 20px; border: 1px solid #c19e56; border-radius: 14px; background: #fff8ea; color: #312924; }
.icake-accessories-links h2 { margin: 0 0 8px; color: #312924; font-size: 24px; }
.icake-accessories-links p { margin: 0 0 14px; font-size: 14px; line-height: 1.6; }
.icake-accessories-links nav { display: flex; flex-wrap: wrap; gap: 10px; }
.icake-accessories-links a { display: inline-flex; align-items: center; min-height: 44px; padding: 9px 14px; border: 1px solid #765126; border-radius: 8px; color: #4a321b !important; background: #fff; font-size: 14px; font-weight: 700; text-decoration: none; }
.icake-accessories-links a:focus-visible { outline: 3px solid #c19e56; outline-offset: 2px; }

.ick-nav .icake-home-accessories,
.ick-mobile-menu__panel .icake-home-accessories { display: inline-flex; align-items: center; min-height: 36px; padding: 6px 10px; border: 1px solid #b78d4c; border-radius: 999px; background: #fff8ea; color: #5b3c19 !important; font-weight: 750; }
.ick-mobile-menu__panel .icake-home-accessories { justify-content: center; min-height: 44px; }
.icake-home-accessories:focus-visible { outline: 3px solid #c19e56; outline-offset: 2px; }

body.icake-age-gate-target:not(.icake-age-verified) {
  overflow: hidden !important;
}

body.icake-age-gate-target:not(.icake-age-verified) #wrapper {
  visibility: hidden;
  pointer-events: none;
  user-select: none;
}

.icake-age-gate {
  position: fixed;
  z-index: 2147483000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  background: #f6f0e9;
  overflow-y: auto;
}

.icake-age-gate__card {
  width: min(100%, 520px);
  padding: clamp(26px, 5vw, 42px);
  border: 2px solid #c19e56;
  border-radius: 18px;
  background: #fffdfa;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .28);
  color: #312924;
  text-align: center;
}

.icake-age-gate__eyebrow {
  margin: 0 0 8px;
  color: #835527;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.icake-age-gate__card h1 {
  margin: 0 0 14px;
  color: #312924;
  font: 650 clamp(28px, 6vw, 40px)/1.15 Georgia, serif;
  letter-spacing: -.025em;
}

.icake-age-gate__copy {
  margin: 0 auto 22px;
  max-width: 410px;
  color: #5c514a;
  font-size: 15px;
  line-height: 1.65;
}

.icake-age-gate__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.icake-age-gate__actions button,
.icake-age-gate__actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin: 0;
  padding: 10px 16px;
  border: 1px solid #3c342f;
  border-radius: 9px;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.35;
  text-decoration: none;
}

.icake-age-gate__confirm { background: #3c342f; color: #fff !important; }
.icake-age-gate__leave { background: #fff; color: #3c342f !important; }
.icake-age-gate__actions :focus-visible { outline: 3px solid #c19e56; outline-offset: 3px; }
.icake-address-map-status { margin: 8px 0 14px; color: #4c4037; font-size: 12px; line-height: 1.5; }

@media (max-width: 849px) {
  body.icake-site-ux-active #top-bar { font-size: 10px; letter-spacing: .035em; }
  body.icake-site-ux-active.icake-unified-ui-active #top-bar { font-size: 10px; letter-spacing: .035em; }
  body.icake-site-ux-active .icake-announcement-item { padding-inline: 28px; }
}

@media (max-width: 520px) {
  .icake-age-gate { padding: 16px; }
  .icake-age-gate__actions { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  body.icake-site-ux-active #top-bar .html_topbar_left { padding-right: 0; }
  body.icake-site-ux-active .icake-announcement-pause { display: none; }
  body.icake-site-ux-active.icake-announcement-ready .icake-announcement-track {
    width: 100%;
    animation: none;
    will-change: auto;
  }
  body.icake-site-ux-active .icake-announcement-item {
    width: 100%;
    padding-inline: 12px;
    white-space: normal;
    text-align: center;
  }
  body.icake-site-ux-active .icake-announcement-item[aria-hidden="true"] { display: none; }
}
