/* SHINKI Halloween — local SVGs, no external fonts, no global text/input resets. */
.shh, .shh *, .shh-decor, .shh-decor * { box-sizing: border-box; }
.shh [hidden], .shh[hidden], .shh-decor[hidden] { display: none !important; }
.shh { --shh-orange: #ffb56d; --shh-cream: #fff2df; --shh-plum: #251928; font-family: inherit; }
.shh.shh-hero { position: relative; isolation: isolate; overflow: hidden; min-width: 0; width: 100%; margin: 24px 0; padding: 28px clamp(24px, 4.7vw, 68px) 24px; border: 1px solid #59404f; border-radius: 24px; background: #251928; color: var(--shh-cream); box-shadow: 0 24px 60px #2b172a1a; }
.shh-hero-glow { position: absolute; z-index: -1; inset: 0; pointer-events: none; background: radial-gradient(ellipse at 86% 70%, #a44e2b30, transparent 55%), radial-gradient(ellipse at 0 0, #61436829, transparent 50%); }
.shh-hero-topline { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 20px; border-bottom: 1px solid #ead0d222; }
.shh-wordmark { display: inline-flex; gap: 10px; align-items: center; font-size: 25px; font-weight: 650; line-height: 1; letter-spacing: .16em; }
.shh-wordmark-dot { color: var(--shh-orange); font-size: 21px; }
.shh-edition { font-size: 11px; font-weight: 600; letter-spacing: .17em; color: #d9bfcd; }
.shh-hero-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(220px, .9fr); align-items: center; gap: 26px; padding: 42px 0 38px; }
.shh-hero-content { position: relative; z-index: 2; min-width: 0; }
.shh .shh-eyebrow { margin: 0 0 17px; color: var(--shh-orange); font-size: 10px; font-weight: 650; line-height: 1.7; letter-spacing: .16em; }
.shh.shh-hero .shh-title { max-width: 610px; margin: 0; color: #fff2df; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(37px, 4.6vw, 66px); font-weight: 400; line-height: 1.04; letter-spacing: -.045em; text-wrap: balance; }
.shh .shh-description { max-width: 440px; margin: 20px 0 0; color: #ddcdd7; font-size: 15px; font-weight: 400; line-height: 1.75; }
.shh-timer-area { margin-top: 28px; }
.shh .shh-clock-label { margin: 0 0 12px; color: #ddcdd7; font-size: 10px; font-weight: 600; letter-spacing: .16em; line-height: 1.6; }
.shh-clock { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; width: min(100%, 354px); font-variant-numeric: tabular-nums; }
.shh-clock-unit { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 0; min-height: 91px; padding: 10px 5px 11px; border: 1px solid #f8dfd82b; border-radius: 10px; background: linear-gradient(160deg, #ffffff09, #ffffff02); }
.shh-clock-unit:not(:last-child)::after { position: absolute; right: -12px; top: 19px; color: #a98a9f; content: ':'; font-size: 22px; font-weight: 300; }
.shh-clock-number { display: block; color: #fff2df; font-family: inherit; font-size: 38px; font-weight: 500; line-height: 1.15; letter-spacing: -.04em; }
.shh-clock-caption { display: block; margin-top: 5px; color: #c9b4c2; font-size: 11px; font-weight: 400; line-height: 1.4; }
.shh a.shh-cta { display: inline-flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 50px; max-width: 100%; margin-top: 26px; padding: 13px 21px; border: 1px solid transparent; border-radius: 8px; background: var(--shh-orange); color: #2e1a23; font-family: inherit; font-size: 13px; font-weight: 700; line-height: 1.6; text-decoration: none; box-shadow: 0 8px 28px #e27a3c1a; transition: background .2s, box-shadow .2s; }
.shh a.shh-cta:hover { background: #ffcb96; color: #2e1a23; box-shadow: 0 8px 28px #e27a3c2b; }
.shh a.shh-cta:focus-visible, .shh-strip a:focus-visible { outline: 3px solid #fff2df; outline-offset: 4px; }
.shh-cta > span:last-child { font-size: 21px; line-height: 1; font-weight: 400; }
.shh .shh-note { max-width: 440px; margin: 13px 0 0; color: #c9b4c2; font-size: 11px; font-weight: 400; line-height: 1.65; }
.shh-art { position: relative; align-self: center; width: 100%; min-width: 0; height: 390px; pointer-events: none; user-select: none; }
.shh-art img { position: absolute; display: block; max-width: none; height: auto; border: 0; border-radius: 0; box-shadow: none; }
.shh-art-orbit { position: absolute; width: 92%; aspect-ratio: 1; left: 4%; top: 7%; border: 1px solid #edbc8b24; border-radius: 50%; }
.shh-art-orbit::after { position: absolute; inset: 12px; border: 1px dashed #edbc8b14; border-radius: inherit; content: ''; }
.shh-art-moon { position: absolute; top: 17%; left: 21%; width: 52%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 35% 33%, #ffe1a8, #f5b46a 72%); box-shadow: 0 0 66px #ffb96b24, inset -12px -10px 25px #a55d3e30; opacity: .98; }
.shh-art-moon::before { position: absolute; inset: 16%; content: ''; background: radial-gradient(circle at 15% 30%, #c5895733 0 8%, transparent 9%), radial-gradient(circle at 65% 60%, #c5895730 0 17%, transparent 18%), radial-gradient(circle at 48% 20%, #c5895722 0 11%, transparent 12%); }
.shh-art .shh-art-web { top: -46px; right: -65px; width: 150px; opacity: .55; transform: rotate(90deg); }
.shh-art .shh-art-pumpkin--back { z-index: 2; left: 2%; bottom: 5%; width: 61%; filter: brightness(.79) saturate(.86); transform: rotate(-11deg); }
.shh-art .shh-art-pumpkin--front { z-index: 3; right: -3%; bottom: -3%; width: 82%; transform: rotate(7deg); filter: drop-shadow(-12px 16px 18px #150c1f55); }
.shh-art .shh-art-bat--one { z-index: 2; top: 9%; right: 2%; width: 75px; transform: rotate(14deg); }
.shh-art .shh-art-bat--two { top: 40%; left: -2%; width: 42px; transform: rotate(-20deg); opacity: .7; }
.shh-art-star { position: absolute; color: #ffcf91; font-weight: 400; line-height: 1; }
.shh-art-star--one { top: 2%; left: 16%; font-size: 23px; }
.shh-art-star--two { top: 28%; right: -4%; font-size: 34px; }
.shh-art-star--three { top: 53%; left: 7%; font-size: 14px; }
.shh-discount-seal { position: absolute; z-index: 4; top: 4%; right: 1%; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 121px; aspect-ratio: 1; border: 1px solid #f4bb7e; border-radius: 50%; background: #ffcf8b; color: #3a202b; box-shadow: 0 0 0 5px #251928, 0 0 0 6px #d99c632e; transform: rotate(11deg); }
.shh-discount-seal > span { font-size: 8px; font-weight: 700; letter-spacing: .12em; line-height: 1.5; }
.shh-discount-seal strong { display: block; margin: 1px 0 3px; font-family: Georgia, 'Times New Roman', serif; font-size: 43px; font-weight: 400; line-height: 1.05; letter-spacing: -.06em; }
.shh-discount-seal strong span { font-size: 24px; }
.shh-hero-bottom { position: relative; z-index: 2; display: flex; align-items: center; flex-wrap: wrap; gap: 9px; min-height: 32px; padding-top: 20px; border-top: 1px solid #ead0d222; color: #d9bfcd; font-size: 11px; line-height: 1.6; }
.shh-date-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--shh-orange); }
.shh-timezone { margin-left: auto; color: #c9b4c2; }
.shh.shh-hero--compact { padding: 24px 28px 20px; border-radius: 16px; }
.shh-hero--compact .shh-hero-grid { display: block; padding: 24px 0; }
.shh-hero--compact .shh-art { display: none; }
.shh.shh-hero--compact .shh-title { max-width: none; font-size: clamp(30px, 3.7vw, 44px); }
.shh-hero--compact .shh-description { max-width: 640px; margin-top: 12px; font-size: 14px; }
.shh-hero--compact .shh-timer-area { margin-top: 20px; }
.shh-hero--compact .shh-clock { width: 300px; }
.shh-hero--compact .shh-clock-unit { min-height: 74px; }
.shh-hero--compact .shh-clock-number { font-size: 30px; }
.shh-hero--compact .shh-clock-unit:not(:last-child)::after { top: 13px; }
.shh-hero--compact .shh-note { max-width: 640px; }
.shh-hero[data-shh-phase='ended'] .shh-art, .shh-hero[data-shh-phase='disabled'] .shh-art { opacity: .5; }
.shh-hero[data-shh-phase='ended'] .shh-discount-seal, .shh-hero[data-shh-phase='disabled'] .shh-discount-seal { display: none; }
.shh.shh-strip { position: relative; z-index: 12; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px 14px; min-height: 43px; width: 100%; padding: 10px 24px; background: #2c1b2d; color: #ffe9d4; border-bottom: 1px solid #a86b4580; font-size: 12px; line-height: 1.6; text-align: center; }
.shh-strip-spark { color: #ffb56d; font-size: 18px; line-height: 1; }
.shh-strip a { color: #ffca91; text-decoration: underline; text-underline-offset: 3px; font-size: 12px; font-weight: 650; white-space: nowrap; }
.shh-strip a:hover { color: #fff2df; }
.shh-decor { position: fixed; z-index: 8; inset: 0; overflow: hidden; pointer-events: none !important; user-select: none; }
.shh-decor * { pointer-events: none !important; }
.shh-decor img { position: absolute; display: block; max-width: none; height: auto; border: 0; box-shadow: none; }
.shh-decor-web { top: 44px; width: clamp(74px, 9vw, 142px); opacity: .58; filter: drop-shadow(0 1px 1px #583e4640); }
.shh-decor-web--left { left: 0; }
.shh-decor-web--right { right: 0; transform: rotate(90deg); }
.shh-decor-spider { top: 43px; right: 37px; width: 46px; opacity: .9; transform-origin: top center; }
.shh-decor-pumpkin { left: 9px; bottom: 18px; width: 67px; opacity: .88; filter: drop-shadow(0 3px 4px #30192a20); }
body.admin-bar .shh-decor-web, body.admin-bar .shh-decor-spider { top: 76px; }
body.shh-skin { background-color: #fff9f2; }
body.shh-skin :is(.site-header, #masthead) { box-shadow: 0 1px 0 #bd754329; }
body.shh-skin :is(.woocommerce ul.products li.product, .wc-block-product, .wc-block-grid__product) { border-radius: 12px; box-shadow: 0 0 0 1px #bd75431a, 0 6px 22px #652b3910; }
body.shh-skin :is(.woocommerce a.button.add_to_cart_button, .woocommerce a.button.product_type_variable, .woocommerce button.single_add_to_cart_button, .woocommerce .checkout-button, .wc-block-components-button:not(.is-link), .ecomus-addtocart-button) { background: #ffb56d; border-color: #ffb56d; color: #2c1b2d; }
body.shh-skin :is(.woocommerce span.onsale, .woocommerce ul.products .onsale) { background: #3f2643; color: #fff0df; }
body.shh-motion .shh-art-bat--one { animation: shh-bat-float 8s ease-in-out infinite; }
body.shh-motion .shh-decor-spider { animation: shh-spider-sway 7s ease-in-out infinite; }
body.shh-motion .shh-art-star--one { animation: shh-star-glow 5s ease-in-out infinite; }
.shh-sr { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; margin: -1px !important; padding: 0 !important; border: 0 !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; }
@keyframes shh-bat-float { 0%, 100% { transform: translateY(0) rotate(14deg); } 50% { transform: translateY(-8px) rotate(8deg); } }
@keyframes shh-spider-sway { 0%, 100% { transform: rotate(-4deg); } 50% { transform: rotate(4deg); } }
@keyframes shh-star-glow { 0%, 100% { opacity: .55; } 50% { opacity: 1; } }
@media (min-width: 1500px) { .shh.shh-hero .shh-title { font-size: 66px; } }
@media (max-width: 960px) { .shh-hero-grid { grid-template-columns: minmax(0, 1.2fr) minmax(180px, .8fr); gap: 12px; } .shh-art { height: 315px; } .shh-discount-seal { width: 100px; right: -3%; } .shh-discount-seal strong { font-size: 36px; } .shh-discount-seal > span { font-size: 7px; } .shh-art-pumpkin--front { bottom: 3% !important; } }
@media (max-width: 767px) {
  .shh.shh-hero { padding: 22px 24px 20px; border-radius: 18px; }
  .shh-hero-topline { padding-bottom: 17px; gap: 12px; }
  .shh-wordmark { font-size: 22px; }
  .shh-edition { font-size: 9px; letter-spacing: .12em; }
  .shh-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 13px; padding: 20px 0 25px; }
  .shh-art { grid-row: 1; justify-self: center; width: 260px; max-width: 100%; height: 207px; }
  .shh-art-orbit { width: 70%; left: 14%; top: 3%; }
  .shh-art-moon { width: 45%; top: 6%; left: 24%; }
  .shh-art .shh-art-pumpkin--back { width: 47%; bottom: 0; left: 11%; }
  .shh-art .shh-art-pumpkin--front { width: 63%; bottom: -4% !important; right: 7%; }
  .shh-art .shh-art-web { top: -25px; right: -45px; width: 100px; opacity: .4; }
  .shh-art .shh-art-bat--one { width: 40px; top: 11%; right: 3%; }
  .shh-art .shh-art-bat--two { width: 28px; left: 4%; top: 34%; }
  .shh-art-star--one { left: 15%; top: 4%; font-size: 15px; }
  .shh-art-star--two { top: 51%; right: 3%; font-size: 23px; }
  .shh-art-star--three { top: 62%; left: 4%; font-size: 12px; }
  .shh-discount-seal { width: 81px; right: 11%; top: 2%; }
  .shh-discount-seal strong { font-size: 29px; }
  .shh-discount-seal strong span { font-size: 18px; }
  .shh-discount-seal > span { font-size: 6px; letter-spacing: .08em; }
  .shh .shh-eyebrow { margin-bottom: 12px; font-size: 9px; }
  .shh.shh-hero .shh-title { max-width: 520px; font-size: clamp(35px, 8.9vw, 53px); }
  .shh .shh-description { margin-top: 16px; font-size: 14px; }
  .shh-timer-area { margin-top: 23px; }
  .shh-clock { width: 100%; max-width: 354px; gap: 13px; }
  .shh-clock-unit { min-height: 83px; border-radius: 8px; }
  .shh-clock-unit:not(:last-child)::after { right: -9px; top: 16px; }
  .shh-clock-number { font-size: 34px; }
  .shh a.shh-cta { margin-top: 23px; width: 100%; max-width: 354px; font-size: 12px; }
  .shh .shh-note { font-size: 10px; }
  .shh-hero-bottom { gap: 7px; font-size: 10px; }
  .shh-timezone { flex-basis: 100%; margin-left: 13px; }
  .shh.shh-strip { padding: 8px 18px; gap: 2px 8px; font-size: 11px; }
  .shh-strip-spark { display: none; }
  .shh-strip a { font-size: 11px; }
  .shh-decor-web { top: 56px; width: 66px; opacity: .4; }
  .shh-decor-spider { top: 56px; right: -4px; width: 20px; opacity: .65; }
  .shh-decor-pumpkin { width: 32px; left: -4px; bottom: calc(76px + env(safe-area-inset-bottom, 0px)); opacity: .72; }
  body.admin-bar .shh-decor-web, body.admin-bar .shh-decor-spider { top: 102px; }
  body.shh-motion .shh-art-bat--one { animation: none; }
  .shh.shh-hero--compact { padding: 22px; }
  .shh-hero--compact .shh-hero-grid { padding: 22px 0; }
  .shh.shh-hero--compact .shh-title { font-size: 33px; }
  .shh-hero--compact .shh-clock { max-width: 100%; }
}
@media (max-width: 359px) { .shh.shh-hero { padding-left: 18px; padding-right: 18px; } .shh-clock { gap: 10px; } .shh-clock-number { font-size: 29px; } .shh-clock-unit:not(:last-child)::after { right: -8px; } .shh.shh-hero .shh-title { font-size: 33px; } .shh-edition { font-size: 8px; } }
@media (prefers-reduced-motion: reduce) { .shh *, .shh-decor * { animation: none !important; transition: none !important; } }
@media (forced-colors: active) { .shh.shh-hero, .shh-clock-unit, .shh a.shh-cta { border: 1px solid CanvasText; } .shh-decor, .shh-art, .shh-hero-glow { display: none; } .shh-hero-grid { display: block; } }
@media print { .shh, .shh-decor { display: none !important; } body.shh-skin { background: #fff; } }
.shh-strip-clock { display: inline-block; padding: 1px 9px; border: 1px solid #ffca9138; border-radius: 5px; color: #ffca91; font-size: 11px; font-weight: 650; font-variant-numeric: tabular-nums; letter-spacing: .04em; white-space: nowrap; }
.shh-strip-clock:empty { display: none; }
@media (max-width: 767px) { .shh-strip-clock { font-size: 10px; padding: 0 7px; } }
/* The public shinkico.com theme exposes these variables. Scoped overrides let
   its own components inherit the palette, then restore automatically at expiry. */
body.shinki-v5.shh-skin {
  --sh5-ink: #422339;
  --sh5-ink-2: #60364b;
  --sh5-deep: #251928;
  --sh5-paper: #fffaf4;
  --sh5-cream: #fff1df;
  --sh5-footer: #f3e4d9;
  --sh5-line: #e6c9b5;
  --sh5-gold: #bc702f;
  --sh5-clay: #af592d;
  --sh5-text: #382b33;
}
