/* Optional seasonal layer. Every rule disappears with .halloween-theme. */
.page-shell.halloween-theme {
    --ink: #f5ece3;
    --ink-soft: #dfcbbb;
    --muted: #c7b6a7;
    --paper: #171411;
    --panel: #211c18;
    --surface: #2c251f;
    --line: #4c3e32;
    --line-strong: #8d735d;
    --border: var(--line);
    --accent: #ffad67;
    --accent-hover: #ffc18e;
    --mint-deep: var(--accent);
    --mint: #47301e;
    --mint-wash: #30241b;
    --orange-wash: #39291c;
    --danger: #ffb8a9;
    --success: #b6dcb0;
    --shadow: none;
    color: var(--ink);
    background: var(--paper);
    color-scheme: dark;
    scrollbar-color: #8d735d #211c18;
}

.halloween-theme ::selection,
.halloween-theme #content .home-storefront ::selection {
    color: #21160d;
    background: #ffc18e;
}

.halloween-theme .skip-link:focus {
    color: #21160d;
    background: #ffad67;
}

.halloween-theme input,
.halloween-theme textarea {
    caret-color: var(--accent);
}

.halloween-theme .site-header {
    background: #0e0c0b;
    border-bottom-color: #6a4328;
}

.halloween-theme .site-footer {
    border-top: 1px solid #4c3e32;
    background: #0e0c0b;
}

.halloween-theme .site-header .site-nav a.active,
.halloween-theme .site-header .site-nav a:hover,
.halloween-theme .site-header .logout-form button:hover,
.halloween-theme .mobile-header-actions .mobile-cart.active,
.halloween-theme .mobile-header-actions .mobile-cart:hover,
.halloween-theme .mobile-menu a.active,
.halloween-theme .mobile-menu a:hover,
.halloween-theme .mobile-menu .logout-form button:hover,
.halloween-theme .mobile-menu-toggle:hover {
    color: #ffb375;
}

.halloween-theme .site-header .site-nav a.active:not(.nav-cart)::after {
    background: #ffad67;
}

.halloween-theme .site-header .badge {
    color: #27180c;
    background: #ffb375;
}

.halloween-theme .mobile-header-actions .mobile-cart,
.halloween-theme .mobile-menu-toggle,
.halloween-theme .mobile-menu a,
.halloween-theme .mobile-menu .logout-form button {
    color: #f5ece3;
}

.halloween-theme .mobile-menu {
    background: #15110e;
}

.halloween-theme .button {
    color: #26170b;
}

.halloween-theme .button-secondary {
    color: var(--ink);
}

.halloween-theme .button:disabled {
    color: #c5b8ab;
    background: #43382f;
}

.halloween-theme .button-secondary:hover {
    color: var(--ink);
}

.halloween-theme #content .home-storefront {
    --storefront-ink: #f5ece3;
    --storefront-muted: #c7b6a7;
    --storefront-line: #4c3e32;
    --storefront-surface: #2c251f;
}

.halloween-theme #content .home-storefront .benefit-icon,
.halloween-theme #content .home-storefront .variant-picker legend,
.halloween-theme #content .home-storefront .variant-choice {
    color: var(--ink-soft);
}

.halloween-theme #content .home-storefront .catalog-search input,
.halloween-theme #content .home-storefront .catalog-sort select,
.halloween-theme #content .home-storefront .product-card {
    color: var(--ink);
    background: var(--panel);
}

.halloween-theme #content .home-storefront .catalog-search input::placeholder {
    color: #c7b6a7;
}

.halloween-theme #content .home-storefront .variant-choice {
    background: var(--panel);
}

.halloween-theme #content .home-storefront .variant-choice.is-selected {
    color: #26170b;
    background: var(--accent);
}

.halloween-theme #content .home-storefront .variant-choice.is-selected .variant-match-label {
    color: #26170b;
}

.halloween-theme #content .home-storefront .variant-choice.is-unavailable.is-selected {
    color: #f5ece3;
    border-color: #8d735d;
    background: #514237;
}

.halloween-theme #content .home-storefront .product-card:hover {
    border-color: #bc895f;
}

.halloween-theme #content .home-storefront .button-add:disabled {
    color: #c5b8ab;
    background: #43382f;
}

.halloween-theme #content .home-storefront .product-stock {
    color: #bbe5b7;
    background: #203423;
}

.halloween-theme #content .home-storefront .product-stock::before {
    background: #9ad08e;
}

.halloween-theme #content .home-storefront .product-stock.is-sold-out {
    color: #ffc1b3;
    background: #3c2521;
}

.halloween-theme #content .home-storefront .product-stock.is-sold-out::before {
    background: #efad9c;
}

.halloween-theme .cart-toast {
    color: var(--ink);
    border-color: #8d735d;
    background: #2c251f;
}

.halloween-theme .toast-check {
    color: #b6dcb0;
}

.halloween-theme .payment-reference {
    background: var(--surface);
}

.halloween-theme .purchase-steps .is-current span {
    color: #21160d;
}

.halloween-theme .field input:focus,
.halloween-theme .field textarea:focus {
    box-shadow: 0 0 0 3px #ffad6720;
}

.halloween-theme .notice,
.halloween-theme .minimum-notice {
    color: #f5d0a4;
    border-color: #805f39;
    background: #33261b;
}

.halloween-theme .checkout-error {
    border-color: #a46554;
    background: #351f19;
}

.halloween-theme .success-notice {
    color: #d8e8cc;
    border-color: #667454;
    background: #252d20;
}
