/* Preserve sticky positioning without creating a body scroll container. */
body.home { overflow-x:clip!important; overflow-y:visible!important; }
/* Catalog controls need separate rows on phones. */
#page #content .ast-shop-toolbar-container { gap:16px!important; flex-wrap:wrap!important; }
#page #content .woocommerce-result-count { color:#c2cde0!important; font-size:14px!important; line-height:1.5!important; margin-right:16px!important; }
@media(max-width:600px) {
 #page #content .ast-shop-toolbar-container { display:flex!important; flex-direction:column!important; align-items:stretch!important; gap:10px!important; margin:0 0 22px!important; }
 #page #content .woocommerce-result-count { box-sizing:border-box; display:block!important; float:none!important; width:100%!important; margin:0 0 10px!important; }
 #page #content .woocommerce-ordering { box-sizing:border-box; float:none!important; width:100%!important; min-width:0!important; margin:0 0 18px!important; }
 #page #content .woocommerce-ordering select { box-sizing:border-box!important; width:100%!important; max-width:100%!important; min-width:0!important; min-height:48px!important; font-size:16px!important; padding:11px 36px 11px 13px!important; }
}
.shc-holiday-banner { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:6px 22px; padding:8px 16px; background:#21372f; color:#eee8d8; font-size:12px; line-height:1.5; }
.shc-holiday-banner a { color:#ffdda4!important; font-weight:700; text-decoration:none; }
body.home #page #content .entry-content { padding:0!important; }
.shc-holiday-container,.shc-holiday-container .elementor-widget-shortcode,.shc-holiday-container .elementor-widget-container { width:100%!important; max-width:none!important; overflow:visible!important; padding:0!important; }
.shc-holiday-story { --shc-gift-progress:0; position:relative; height:180svh; min-height:1000px; background:#0b111d; color:#fff; }
.shc-holiday-sticky { box-sizing:border-box; position:sticky; top:0; height:100svh; min-height:650px; display:flex; align-items:center; overflow:hidden; background:radial-gradient(ellipse at 80% 65%,#3b1d2c88 0%,#172b2666 30%,#0b111d 65%); }
.shc-holiday-inner { box-sizing:border-box; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:36px; align-items:center; width:100%; max-width:1200px; margin:0 auto; padding:24px 28px; }
#page .shc-holiday-copy .shc-holiday-eyebrow { color:#d8c497!important; font-size:12px!important; line-height:1.5!important; font-weight:700; letter-spacing:.15em; margin:0 0 18px!important; }
#page .shc-holiday-copy h1 { color:#fff!important; font-size:clamp(36px,4.3vw,56px)!important; line-height:1.08!important; letter-spacing:-.035em!important; font-weight:750!important; margin:0 0 22px!important; text-shadow:none!important; }
#page .shc-holiday-copy h1 span { color:#f1d6a5!important; }
#page .shc-holiday-description { color:#c6d1df!important; font-size:17px!important; line-height:1.65!important; max-width:440px; margin:0 0 24px!important; }
#page .shc-holiday-cta { display:inline-flex; gap:18px; align-items:center; justify-content:center; min-height:48px; padding:13px 22px; border:1px solid #f44a6a; border-radius:10px; background:#df1e46; color:#fff!important; font-size:16px; font-weight:650; text-decoration:none; box-shadow:none; }
#page .shc-holiday-cta:hover { background:#f02b55; }
#page .shc-holiday-note { color:#9cacc2!important; font-size:12px!important; line-height:1.5!important; margin:16px 0 0!important; letter-spacing:.06em; }
.shc-holiday-visual { width:100%; max-width:530px; margin:0 auto; }
.shc-gift-scene { position:relative; width:100%; aspect-ratio:600 / 720; isolation:isolate; background:radial-gradient(ellipse at 53% 79%,#eab96122 0%,transparent 54%); }
.shc-gift-bag-mask { position:absolute; inset:0; z-index:2; clip-path:inset(0 0 50% 0); }
.shc-gift-bag { position:absolute; z-index:2; left:29%; top:0; width:37.3333%; aspect-ratio:224 / 315; transform:translate3d(0,calc(var(--shc-gift-progress)*78%),0) rotate(calc(-7deg + var(--shc-gift-progress)*7deg)); transform-origin:50% 60%; will-change:transform; }
.shc-gift-bag img { position:absolute!important; width:142.857%!important; max-width:none!important; height:auto!important; left:-21.43%; top:-15.87%; border:0!important; border-radius:0!important; clip-path:polygon(18% 13%,85% 15%,84% 88%,15% 88%); }
.shc-gift-stocking { position:absolute!important; z-index:3; left:14%; top:40%; width:72%!important; height:auto!important; max-width:none!important; pointer-events:none; filter:drop-shadow(0 14px 20px #0006); }
.shc-gift-star { position:absolute; z-index:1; color:#e9c784; opacity:.6; font-size:19px; }
.shc-star-one { left:13%; top:20%; transform:rotate(20deg); }.shc-star-two { right:9%; top:12%; font-size:13px; }.shc-star-three { right:6%; top:51%; font-size:25px; opacity:.35; }
#page .shc-holiday-scroll-hint { color:#b9c6d9!important; font-size:12px!important; line-height:1.5!important; text-align:center; margin:4px 0 0!important; }
/* A native agenda replaces the third-party month grid. */
body.page-id-4816 #page #content .entry-content { padding:22px 20px 48px!important; }
.shc-show-agenda { max-width:940px; margin:0 auto; }
#page .shc-show-intro { margin-bottom:26px; }
#page .shc-show-eyebrow { color:#ff8da4!important; font-size:12px!important; font-weight:700; letter-spacing:.14em; margin:0 0 10px!important; }
#page .shc-show-intro h2 { color:#f4f7fd!important; font-size:clamp(28px,4vw,38px)!important; line-height:1.2!important; margin:0 0 12px!important; }
#page .shc-show-intro>p:last-child { color:#bcc9dd!important; font-size:16px!important; line-height:1.6!important; margin:0!important; }
#page .shc-show-list { display:grid; gap:16px; padding:0!important; margin:0 0 24px!important; list-style:none!important; }
#page .shc-show-card { box-sizing:border-box; display:grid; grid-template-columns:76px minmax(0,1fr); gap:22px; align-items:start; padding:24px!important; margin:0!important; background:#0f1a2c; border:1px solid #30405a; border-radius:15px; }
.shc-show-date { box-sizing:border-box; padding:12px 8px; background:#2a1b2d; border:1px solid #653045; border-radius:10px; text-align:center; }
#page .shc-show-date span { display:block; color:#ff96aa!important; text-transform:uppercase; letter-spacing:.1em; font-size:12px!important; line-height:1.5!important; }
#page .shc-show-date strong { display:block; color:#fff!important; font-size:32px!important; line-height:1.1!important; }
#page .shc-show-when { color:#aebfd8!important; font-size:13px!important; line-height:1.5!important; margin:0 0 5px!important; }
#page .shc-show-detail h3 { color:#fff!important; font-size:22px!important; line-height:1.35!important; margin:0 0 8px!important; }
#page .shc-show-location { color:#c6d2e6!important; font-size:15px!important; line-height:1.55!important; margin:0 0 8px!important; }
#page .shc-show-time { display:inline-block; color:#d1dfed!important; background:#1c3040; padding:3px 9px; border-radius:6px; font-size:12px!important; margin:0!important; }
.shc-show-actions { display:flex; flex-wrap:wrap; gap:14px 22px; align-items:center; }
#page .shc-show-calendar-link { display:inline-flex; align-items:center; gap:12px; padding:12px 18px; min-height:46px; border:1px solid #ed496b; border-radius:9px; background:#d81e43; color:#fff!important; font-size:14px; font-weight:600; text-decoration:none; }
#page .shc-show-subscribe { color:#ff9db0!important; font-size:14px; text-decoration:underline; text-underline-offset:3px; }
#page .shc-show-footnote { color:#91a4c1!important; font-size:12px!important; line-height:1.6!important; margin:18px 0 0!important; }
#page .shc-show-empty { background:#101a2c; border:1px solid #30405a; border-radius:14px; padding:24px; margin:0 0 24px; }
#page .shc-show-empty h3 { color:#fff!important; font-size:22px!important; margin:0 0 10px!important; }#page .shc-show-empty p,#page .shc-calendar-note { color:#bdcbe0!important; font-size:14px!important; line-height:1.6!important; }
body.page-id-4816 .sharedaddy,body.page-id-4816 .jetpack-likes-widget-wrapper { display:none!important; }
@media(max-width:767px) {
 .shc-holiday-inner { display:flex; flex-direction:column; gap:4px; padding:20px 18px; }
 .shc-holiday-copy { width:100%; max-width:520px; }
 #page .shc-holiday-copy .shc-holiday-eyebrow { font-size:10px!important; margin-bottom:10px!important; }
 #page .shc-holiday-copy h1 { font-size:clamp(30px,8vw,38px)!important; margin-bottom:12px!important; }
 #page .shc-holiday-description { font-size:14px!important; line-height:1.5!important; max-width:400px; margin-bottom:14px!important; }
 #page .shc-holiday-cta { min-height:44px; font-size:14px; padding:10px 16px; }
 #page .shc-holiday-note { font-size:10px!important; margin-top:10px!important; }
 .shc-holiday-visual { width:min(100%,350px); }
 .shc-holiday-sticky { min-height:0; }
 .shc-holiday-story { min-height:0; }
 #page .shc-show-card { grid-template-columns:60px minmax(0,1fr); gap:15px; padding:18px!important; }
 #page .shc-show-detail h3 { font-size:20px!important; }
}
@media(max-height:650px) {
 .shc-holiday-story { height:auto; min-height:0; }
 .shc-holiday-sticky { position:relative; height:auto; min-height:0; }
 .shc-holiday-visual { max-width:360px; }
}
@media(prefers-reduced-motion:reduce) {
 .shc-holiday-story { height:auto; min-height:0; --shc-gift-progress:.92!important; }
 .shc-holiday-sticky { position:relative; height:auto; min-height:0; }
 .shc-gift-bag { will-change:auto; }
 #page .shc-holiday-scroll-hint { display:none; }
}

@media(max-width:767px) and (min-height:651px) { .shc-holiday-visual { width:min(100%,350px,45svh); } }

/* A warm gift-guide treatment carries Christmas into the product section. */
#page .shc-holiday-gift-title::before { content:'CHRISTMAS GIFT GUIDE'; display:block; margin:0 0 12px; color:#d8c497; font-size:11px; line-height:1.5; font-weight:700; letter-spacing:.16em; text-align:center; }
#page .shc-holiday-gift-title .elementor-heading-title { color:#f1d6a5!important; }
#page .shc-holiday-gift-copy { max-width:680px; margin-left:auto; margin-right:auto; }
#page .shc-show-refresh { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:12px 18px; border:1px solid #51627c; border-radius:9px; background:#152238; color:#edf3fd; font:inherit; font-size:14px; font-weight:600; cursor:pointer; }
#page .shc-show-refresh:hover { background:#20334f; }
#page .shc-show-refresh:focus-visible { outline:2px solid #ff9db0; outline-offset:3px; }
#page .shc-show-refresh:disabled { opacity:.6; cursor:wait; }
#page .shc-show-sync-status { color:#b8c8df!important; font-size:13px!important; line-height:1.5!important; margin:10px 0 0!important; }
#page .shc-show-sync-status:empty { display:none; }
