/* Terra-616 / GeneratePress. Scoped to opted-in public pages only. */
body.t616-seasonal {
 color:var(--t616-text);
 background-color:var(--t616-background);
 background-image:radial-gradient(ellipse at 0 12%,var(--t616-glow),transparent 55%),radial-gradient(ellipse at 100% 65%,var(--t616-glow),transparent 50%);
}
body.t616-seasonal .site-header,
body.t616-seasonal .site-content,
body.t616-seasonal.separate-containers .inside-article,
body.t616-seasonal.separate-containers .page-header,
body.t616-seasonal .terra616-header-search { background:transparent; color:var(--t616-text); }
body.t616-seasonal .main-navigation,
body.t616-seasonal .main-navigation ul ul,
body.t616-seasonal .footer-widgets,
body.t616-seasonal .site-info,
body.t616-seasonal .sidebar .widget { background:var(--t616-surface); color:var(--t616-text); }
body.t616-seasonal .main-navigation { border-bottom:2px solid var(--t616-accent); }
body.t616-seasonal .main-navigation .main-nav ul li a,
body.t616-seasonal .main-navigation .menu-toggle,
body.t616-seasonal .main-navigation .menu-bar-items,
body.t616-seasonal .site-info a,
body.t616-seasonal .footer-widgets a { color:var(--t616-text); }
body.t616-seasonal .main-navigation .main-nav ul li:hover > a,
body.t616-seasonal .main-navigation .main-nav ul li[class*="current-menu-"] > a,
body.t616-seasonal .main-navigation button:hover { background:var(--t616-accent); color:var(--t616-accent-text); }
body.t616-seasonal .entry-title,
body.t616-seasonal .page-title,
body.t616-seasonal .entry-content > h2,
body.t616-seasonal .entry-content > h3 { color:var(--t616-text); }
body.t616-seasonal.t616-seasonal-headings .entry-title,
body.t616-seasonal.t616-seasonal-headings .page-title,
body.t616-seasonal.t616-seasonal-headings .entry-content > h2,
body.t616-seasonal.t616-seasonal-headings .entry-content > h3 { font-family:var(--t616-heading-font); }
body.t616-seasonal .terra616-header-search .search-field { background:#fff9ef; color:#28212c; border:1px solid #b3aaba; }
body.t616-seasonal .terra616-header-search .search-field::placeholder { color:#665a69; opacity:1; }
body.t616-seasonal .terra616-header-search .search-submit,
body.t616-seasonal .woocommerce ul.products li.product a.button,
body.t616-seasonal .woocommerce div.product form.cart .single_add_to_cart_button { background:var(--t616-accent); color:var(--t616-accent-text); }
/* Do not recolor all nested content: product cards, widgets and third-party dialogs
   may intentionally use their own light surfaces. Images and logos are untouched. */
body.t616-seasonal .entry-content > p:not(.has-text-color) { color:var(--t616-text); }
body.t616-seasonal .entry-content > p:not(.has-text-color) > a,
body.t616-seasonal .woocommerce-breadcrumb a { color:var(--t616-text); text-decoration:underline; }
body.t616-seasonal .woocommerce-breadcrumb { color:var(--t616-muted); }
body.t616-seasonal .terra616-hv__title { color:var(--t616-text); }
body.t616-seasonal.t616-seasonal-headings .terra616-hv__title { font-family:var(--t616-heading-font); }
/* Opaque product surfaces keep the wallpaper out of the text background.
   Fixed paired colors also work with imported seasonal palettes. */
body.t616-seasonal ul.products li.product:not(.terra616-hv__all-card) {
 background:#fff;
 color:#222;
 padding:16px;
 box-sizing:border-box;
 border:1px solid #ded8e2;
 border-radius:12px;
}
body.t616-seasonal ul.products li.product:not(.terra616-hv__all-card) :is(.woocommerce-loop-product__link,.woocommerce-LoopProduct-link,.woocommerce-loop-product__title) { color:#222; }
body.t616-seasonal ul.products li.product:not(.terra616-hv__all-card) a:hover .woocommerce-loop-product__title { color:#703719; text-decoration:underline; }
body.t616-seasonal ul.products li.product:not(.terra616-hv__all-card) .price { color:#222; }
body.t616-seasonal ul.products li.product:not(.terra616-hv__all-card) .price del { color:#59515f; opacity:1; }
body.t616-seasonal ul.products li.product:not(.terra616-hv__all-card) .price ins { color:#222; background:transparent; font-weight:700; }
/* Stock extension emits !important colors; override only inside product cards. */
body.t616-seasonal ul.products li.product:not(.terra616-hv__all-card) :is(.stock,.woo-custom-stock-status,.ywpo_availability_date) { color:#345237 !important; }
body.t616-seasonal ul.products li.product:not(.terra616-hv__all-card) .out-of-stock { color:#9c2424 !important; }
body.t616-seasonal ul.products li.product:not(.terra616-hv__all-card) .onsale { background:#703719; color:#fff; }
body.t616-seasonal ul.products li.product:not(.terra616-hv__all-card) a.button { background:var(--t616-accent); color:var(--t616-accent-text); }
body.t616-seasonal ul.products li.product:not(.terra616-hv__all-card) a.button:hover { background:var(--t616-accent); color:var(--t616-accent-text); text-decoration:underline; }
body.t616-seasonal ul.products li.product a:focus-visible { outline:3px solid #703719; outline-offset:3px; }
body.t616-seasonal .woocommerce-result-count { color:var(--t616-text); }
body.t616-seasonal .woocommerce-ordering select { background:#fff; color:#222; }
/* Single-product copy needs an opaque surface as well as the catalog cards. */
body.t616-seasonal.single-product div.product .summary,
body.t616-seasonal.single-product div.product .woocommerce-tabs {
 background:var(--t616-surface);
 color:var(--t616-text);
 padding:clamp(16px,3vw,28px);
 border-radius:12px;
 box-sizing:border-box;
}
body.t616-seasonal.single-product div.product .summary :is(.product_title,.price,.price ins,.product_meta,.woocommerce-product-details__short-description),
body.t616-seasonal.single-product div.product .woocommerce-tabs :is(h2,h3,p,th,td) { color:var(--t616-text); }
body.t616-seasonal.single-product div.product .summary .price ins { background:transparent; font-weight:700; }
body.t616-seasonal.single-product div.product .summary .price del { color:var(--t616-muted); opacity:1; }
body.t616-seasonal.single-product div.product .summary :is(.stock,.woo-custom-stock-status,.ywpo_availability_date) { color:var(--t616-text) !important; }
body.t616-seasonal.single-product div.product .summary .product_meta a,
body.t616-seasonal.single-product div.product .woocommerce-product-details__short-description a { color:var(--t616-text); text-decoration:underline; }
body.t616-seasonal.single-product .woocommerce-breadcrumb { background:var(--t616-surface); color:var(--t616-text); padding:12px 16px; border-radius:8px; }
body.t616-seasonal.single-product div.product > .onsale { background:#703719; color:#fff; }
body.t616-seasonal.single-product div.product .summary form.cart .single_add_to_cart_button { background:var(--t616-accent); color:var(--t616-accent-text); }
/* Customer Hub uses a light panel: never inherit pale seasonal body text. */
body.t616-seasonal.single-product .t616-ch-product-share { background:#fff9e8; color:#28212c; }
body.t616-seasonal.single-product .t616-ch-product-share :is(strong,p,label) { color:#28212c; }
body.t616-seasonal.single-product .t616-ch-product-share .t616-ch-share-status { color:#176338; }
body.t616-seasonal.single-product .t616-ch-product-share .t616-ch-share-button { background:#28212c; color:#fff9e8; }
body.t616-seasonal.single-product .t616-ch-product-share .t616-ch-share-button:hover { background:#45354c; color:#fff9e8; }
body.t616-seasonal.single-product div.product .summary :is(a,button,input,select):focus-visible { outline:3px solid var(--t616-text); outline-offset:3px; }
body.t616-seasonal.single-product .t616-ch-product-share button:focus-visible { outline-color:#703719; }
body.t616-seasonal.single-product div.product .summary :is(input.qty,select,textarea) { background:#fff; color:#222; }
body.t616-seasonal.single-product div.product .summary .variations label { color:var(--t616-text); }
body.t616-seasonal :is(.terra616-header-search,.main-navigation) :is(a,button,input):focus-visible { outline:3px solid var(--t616-accent); outline-offset:3px; }
/* Absolute and pointer-transparent: no layout shift, no blocked clicks, no animation. */
.t616-seasonal-decor { position:absolute; inset:0 0 auto; height:0; pointer-events:none; z-index:2; user-select:none; }
.t616-seasonal-decor * { pointer-events:none; }
.t616-ornament { position:absolute; top:175px; font-size:28px; line-height:1; opacity:.8; color:var(--t616-accent); }
.t616-ornament-left { left:6px; transform:rotate(-12deg); }
.t616-ornament-right { right:6px; top:290px; transform:rotate(12deg); }
.t616-web { position:absolute; top:0; width:78px; height:78px; opacity:.4; color:var(--t616-accent); background:repeating-radial-gradient(circle at 0 0,transparent 0 16px,currentColor 17px,transparent 18px 20px); clip-path:polygon(0 0,100% 0,0 100%); }
.t616-web::after { content:""; position:absolute; inset:0; background:repeating-conic-gradient(from 0deg at 0 0,transparent 0deg 21deg,currentColor 22deg,transparent 23deg 30deg); }
.t616-web-left { left:0; }
.t616-web-right { right:0; transform:scaleX(-1); }
@media(max-width:768px) {
 .t616-web { width:38px; height:38px; opacity:.28; }
 .t616-ornament { font-size:16px; opacity:.55; top:185px; }
 .t616-ornament-left { left:2px; }
 .t616-ornament-right { right:2px; top:255px; }
 body.t616-seasonal .terra616-header-search .search-field { font-size:16px; }
}
@media(forced-colors:active) { .t616-seasonal-decor { display:none; } }

/* Illustration is wallpaper: no extra DOM, spacing, stacking or click targets. */
body.t616-seasonal.t616-halloween-artwork {
 background-image:linear-gradient(rgba(25,18,31,.38),rgba(25,18,31,.38)),url("halloween-corner.webp"),radial-gradient(ellipse at 0 12%,var(--t616-glow),transparent 55%),radial-gradient(ellipse at 100% 65%,var(--t616-glow),transparent 50%);
 background-size:auto,clamp(800px,100vw,1400px) auto,auto,auto;
 background-position:center,center 100px,center,center;
 background-repeat:no-repeat,repeat-y,no-repeat,no-repeat;
 background-attachment:fixed,fixed,fixed,fixed;
}
@media(hover:hover) and (pointer:fine) {
 body.t616-seasonal.t616-pumpkin-cursor { cursor:url("pumpkin-cursor.svg") 16 8,auto; }
 body.t616-seasonal.t616-pumpkin-cursor :is(a,button,summary,[role="button"],input[type="submit"],input[type="button"]) { cursor:url("pumpkin-cursor.svg") 16 8,pointer; }
 body.t616-seasonal.t616-pumpkin-cursor :is(input:not([type="submit"]):not([type="button"]),textarea,[contenteditable="true"]) { cursor:text; }
 body.t616-seasonal.t616-pumpkin-cursor :disabled { cursor:not-allowed; }
}
.t616-bat-intro { position:fixed; inset:0; overflow:hidden; pointer-events:none; z-index:9990; }
.t616-bat-intro * { pointer-events:none; }
.t616-flying-bat { position:absolute; left:0; top:var(--bat-start); width:var(--bat-size); height:calc(var(--bat-size) / 2); opacity:0; will-change:transform,opacity; animation:t616-bat-cross var(--bat-duration) var(--bat-delay) ease-in-out both; }
.t616-flying-bat svg { display:block; width:100%; height:100%; fill:#130c1a; stroke:#ffb76b; stroke-width:1.8; filter:drop-shadow(0 0 3px rgba(255,152,63,.55)); animation:t616-bat-flap .32s ease-in-out alternate infinite; transform-origin:center; }
@keyframes t616-bat-cross {
 0% { opacity:0; transform:translate3d(-80px,30px,0) rotate(-12deg); }
 8% { opacity:1; }
 48% { transform:translate3d(48vw,var(--bat-drift),0) rotate(8deg); }
 92% { opacity:1; }
 100% { opacity:0; transform:translate3d(calc(100vw + 80px),-30px,0) rotate(-8deg); }
}
@keyframes t616-bat-flap { from { transform:scaleY(.55); } to { transform:scaleY(1); } }
@media(max-width:768px) {
 body.t616-seasonal.t616-halloween-artwork {
  background-size:auto,640px auto,auto,auto;
  background-position:center,center 70px,center,center;
  background-attachment:scroll,scroll,scroll,scroll;
 }
}
@media(prefers-reduced-motion:reduce) { .t616-bat-intro { display:none; } .t616-flying-bat,.t616-flying-bat svg { animation:none; } }
@media(forced-colors:active) { .t616-bat-intro { display:none; } body.t616-seasonal.t616-halloween-artwork { background-image:none; } }
