@charset "UTF-8";
/* ==========================================================================
   GUN SNACKS v2 — Dark mode

   Loaded only while Customize → Gun Snacks → Look → Dark mode is on, after
   gunsnacks.css and (in October) halloween.css. Switching it off returns the
   site to the light design exactly.

   Rules of the dark version:
     page ......... --dk-bg       #1b1520  (near-black purple; was paper)
     surfaces ..... --dk-surface  #261e2c  (cards, panels, fields; were white)
     outlines ..... --dk-line     cream    (the 3px borders; black ones vanish
                                            on dark — the same idea as the
                                            designer's white-outlined logo)
     text ......... cream; muted text --dk-muted
     accents ...... --yellow (orange in October). Purple/red text is unreadable
                    on dark, so links, kickers and hovers use --yellow instead.
   Bands that were already dark or colored (hero, receipts, drop, footer,
   spotlight, page heads, buttons) are unchanged.

   Every selector starts with `html`: one element more specific than the
   light rule it replaces, so source order never decides it. The few
   !importants answer !importants in gunsnacks.css (MC4WP inline styles, Woo's
   cart table) — never added on their own.
   ========================================================================== */

:root{
  --dk-bg:#1b1520;
  --dk-surface:#261e2c;
  --dk-surface2:#30263a;
  --dk-line:#f5f0e4;
  --dk-text:#f5f0e4;
  --dk-muted:#c4b8cf;
}

/* ---- Page, nav, type ---------------------------------------------------- */
html body{background:var(--dk-bg);color:var(--dk-text);}
html nav#site-nav{background:var(--dk-bg);border-bottom-color:var(--dk-line);}
html nav#site-nav a{color:var(--dk-text);}
html nav#site-nav a:hover,html nav#site-nav a:focus-visible{color:var(--yellow);}
html nav#site-nav a.cart{background:var(--yellow);color:var(--black)!important;}
html nav#site-nav a.cart:hover{background:var(--dk-line);color:var(--black)!important;}
/* The cream page and the black footer were distinct; dark page and black
   footer are not, so the footer gets the cream rule the sections use. */
html footer{border-top:3px solid var(--dk-line);}

html .kicker{color:var(--yellow);}
html .page-head,html .page-head .kicker{color:var(--black);}
html .spotlight,html .spotlight .kicker,html .spotlight .flavor{color:var(--black);}
html .card-body .flavor,html .gs-flavor{color:var(--dk-muted);}
html .required{color:var(--yellow);}
html .price ins{color:var(--yellow);}
html a:focus-visible,html button:focus-visible,
html input:focus-visible,html textarea:focus-visible,html select:focus-visible{outline-color:var(--yellow);}

/* Muted grey (#6b6555) was tuned for cream; brighten it everywhere. */
html .wp-caption-text,html figcaption,html .post-card .meta,
html .woocommerce-breadcrumb,html .woocommerce-result-count,
html .single-product .product_meta,html .wc-block-components-checkout-step__description,
html .wc-block-cart .wc-block-components-product-metadata,
html .gs-promo-box .gs-promo-fine{color:var(--dk-muted);}
html .woocommerce-breadcrumb a,html .single-product .product_meta a{color:var(--dk-text);}

/* ---- Placeholder photo blocks ------------------------------------------ */
html .photo{
  background:
    repeating-linear-gradient(45deg,rgba(245,240,228,.05) 0 14px,transparent 14px 28px),
    linear-gradient(160deg,#2b2331,#1f1925);
}

/* ---- Product cards (homepage + shop + related) -------------------------- */
html .card,html ul.products li.product{background:var(--dk-surface);border-color:var(--dk-line);}
html .card-body,html ul.products li.product .card-body,
html ul.products li.product .gs-card-cart{border-top-color:var(--dk-line);}
html .card .price,html .woocommerce ul.products li.product .price{color:var(--dk-text);}
html .gs-days-left{background:var(--dk-surface2);color:var(--dk-text);border-color:var(--dk-line);}
html .gs-days-left b{color:var(--yellow);}
html .spotlight .gs-days-left{background:var(--dk-bg);}

/* ---- Facts label --------------------------------------------------------- */
html .factslabel{background:var(--dk-surface);color:var(--dk-text);border-color:var(--dk-line);}
html .factslabel .fl-title,html .factslabel .fl-serving,
html .factslabel td,html .factslabel tr.major td{border-bottom-color:var(--dk-line);}
html .factslabel .fl-foot b{color:var(--yellow);}

/* ---- Email signup + sign-up popup --------------------------------------- */
html .email{background:var(--dk-bg);}
html .email input{background:var(--dk-surface);color:var(--dk-text);border-color:var(--dk-line);}
html .gs-email-form .mc4wp-form-fields input[type=email]{
  background:var(--dk-surface)!important;color:var(--dk-text)!important;border-color:var(--dk-line)!important;
}
html .gs-email-form .mc4wp-form-fields input[type=email]::placeholder{color:var(--dk-muted);}
html .gs-email-form .mc4wp-form-fields input[type=submit]{border-color:var(--dk-line)!important;}
html .gs-email-form .mc4wp-form-fields > p{color:var(--dk-muted)!important;}
html .gs-promo-box{background:var(--dk-surface);border-color:var(--dk-line);box-shadow:10px 10px 0 #000;}
html .gs-promo-close{color:var(--dk-text);}
html .gs-promo-close:hover{color:var(--yellow);}

/* ---- Halloween: the black spider and its thread would vanish ------------ */
html .gs-halloween #shop::before{background:var(--dk-line);}
html .gs-halloween #shop::after{filter:invert(.92) hue-rotate(180deg);}

/* ---- Editorial pages (FAQ, policies, contact…) ------------------------- */
html .entry a{color:var(--dk-text);}
html .entry a:hover,html .post-card h2 a:hover{color:var(--yellow);}
html .entry blockquote{border-left-color:var(--yellow);}
html .entry img{border-color:var(--dk-line);}
html .entry code,html .entry pre{background:var(--dk-surface);border-color:var(--dk-line);}
html .entry details{background:var(--dk-surface);border-color:var(--dk-line);}
html .entry details[open] > summary{border-bottom-color:var(--dk-line);}
html .entry summary:hover{color:var(--yellow);}
html .entry .gs-table-wrap{background:var(--dk-surface);border-color:var(--dk-line);box-shadow:10px 10px 0 #000;}
html .entry .gs-table-wrap th,html .entry .gs-table-wrap td{color:var(--dk-text);border-bottom-color:var(--dk-line);}
html .entry table{border-color:var(--dk-line);}
html .entry th,html .entry td{border-color:var(--dk-line);}
html .post-card{background:var(--dk-surface);border-color:var(--dk-line);}
html .post-card-body{border-top-color:var(--dk-line);}
html .post-card h2 a{color:var(--dk-text);}
html .gs-pagination a.page-numbers,html .woocommerce-pagination a.page-numbers{
  background:var(--dk-surface);color:var(--dk-text);border-color:var(--dk-line);
}

/* WPForms (contact, dealer price sheet). */
html .wpforms-container{
  --wpforms-field-border-color:var(--dk-line);
  --wpforms-field-background-color:var(--dk-surface);
  --wpforms-field-text-color:var(--dk-text);
  --wpforms-label-color:var(--dk-text);
  --wpforms-label-sublabel-color:var(--dk-muted);
  --wpforms-label-error-color:var(--yellow);
}
html body .wpforms-container .wpforms-form input[type=text],
html body .wpforms-container .wpforms-form input[type=email],
html body .wpforms-container .wpforms-form input[type=tel],
html body .wpforms-container .wpforms-form input[type=url],
html body .wpforms-container .wpforms-form input[type=number],
html body .wpforms-container .wpforms-form select,
html body .wpforms-container .wpforms-form textarea{
  background:var(--dk-surface);color:var(--dk-text);border-color:var(--dk-line);
}
html body .wpforms-container .wpforms-form .wpforms-field-label{color:var(--dk-text);}
html body .wpforms-container .wpforms-form .wpforms-field-sublabel,
html body .wpforms-container .wpforms-form .wpforms-field-description{color:var(--dk-muted);}
html body .wpforms-container .wpforms-form .wpforms-required-label,
html body .wpforms-container .wpforms-form label.wpforms-error,
html body .wpforms-container .wpforms-form em.wpforms-error{color:var(--yellow);}
html body .wpforms-container .wpforms-form button[type=submit],
html body .wpforms-container .wpforms-form .wpforms-submit{border-color:var(--dk-line);box-shadow:6px 6px 0 #000;}

/* ---- Shop + product page ------------------------------------------------- */
html .woocommerce-ordering select,html .gs-shop select,html .entry select{
  background:var(--dk-surface);color:var(--dk-text);border-color:var(--dk-line);
}
html .single-product .woocommerce-product-gallery{
  background:var(--dk-surface);border-color:var(--dk-line);box-shadow:10px 10px 0 #000;
}
html .single-product .flex-control-thumbs{border-top-color:var(--dk-line);}
html .single-product .flex-control-thumbs img{border-color:var(--dk-line);}
html .woocommerce div.product .summary p.price,
html .woocommerce div.product .summary span.price,
html .woocommerce div.product form.cart .single_variation .price{color:var(--dk-text);}
html .woocommerce div.product form.cart .variations label{color:var(--dk-text);}
html .woocommerce div.product form.cart .variations select{background:var(--dk-surface);color:var(--dk-text);border-color:var(--dk-line);}
html .gs-size{background:var(--dk-surface);color:var(--dk-text);border-color:var(--dk-line);}
html .gs-size[aria-checked="true"]{background:var(--yellow);color:var(--black);}
html .gs-size:hover:not([aria-checked="true"]):not(:disabled){color:var(--yellow);}
html .quantity input.qty{background:var(--dk-surface);color:var(--dk-text);border-color:var(--dk-line)!important;}
html .gs-statstrip{border-color:var(--dk-line);}
html .single-product .product_meta{border-top-color:var(--dk-line);}
html .woocommerce div.product .woocommerce-tabs ul.tabs li{background:var(--dk-surface);border-color:var(--dk-line);}
html .woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--dk-text);}
html .woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--dk-line);}
html .woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--black);}
html .woocommerce div.product .woocommerce-tabs .panel{background:var(--dk-surface);border-color:var(--dk-line);color:var(--dk-text);}
html .woocommerce div.product .woocommerce-tabs .panel table:not(.shop_attributes){border-color:var(--dk-line);}
html .woocommerce div.product .woocommerce-tabs .panel table:not(.shop_attributes) th,
html .woocommerce div.product .woocommerce-tabs .panel table:not(.shop_attributes) td{color:var(--dk-text);border-bottom-color:var(--dk-line);}
html .woocommerce-tabs table.shop_attributes th,
html .woocommerce-tabs table.shop_attributes td{color:var(--dk-text);border-bottom-color:var(--dk-line);}
html .woocommerce div.product .woocommerce-tabs .panel a{color:var(--yellow);}

/* ---- Cart & checkout (Woo blocks) --------------------------------------- */
html .wc-block-cart,html .wc-block-checkout{color:var(--dk-text);}
/* Step titles, "Cart totals", "Order summary" were set black in gunsnacks.css. */
html .wc-block-components-title,html .wc-block-checkout__form h2,
html .wc-block-components-checkout-step__title,
html body .wc-block-cart .wc-block-cart__totals-title,
html body .wc-block-checkout .wc-block-components-checkout-order-summary__title-text{color:var(--dk-text);}
/* Floating field labels: Woo's own rule is three classes deep. */
html body .wc-block-components-form .wc-block-components-text-input label,
html body .wc-block-components-text-input label{color:var(--dk-muted);}
/* A saved address shown as a card instead of fields. */
html body .wc-block-checkout .wc-block-components-address-card{background:var(--dk-surface);border-color:var(--dk-line);}
html body .wc-block-checkout .wc-block-components-address-card,
html body .wc-block-checkout .wc-block-components-address-card *{color:var(--dk-text);}
html .wc-block-cart a,html .wc-block-checkout a{color:var(--dk-text);}
/* ...except the big button, which keeps the light theme's colors. */
html body .wc-block-cart a.wc-block-cart__submit-button{color:var(--black);}
html body .wc-block-cart a.wc-block-cart__submit-button:hover{color:var(--paper);}
html body .wc-block-cart table.wc-block-cart-items{background:var(--dk-surface)!important;border-color:var(--dk-line);}
html body .wc-block-cart .wc-block-cart-items td{border-top-color:var(--dk-line);}
html .wc-block-cart-item__image img,html body .wc-block-checkout .wc-block-components-order-summary-item__image img{border-color:var(--dk-line);}
html body .wc-block-cart .wc-block-components-product-name,
html body .wc-block-checkout .wc-block-components-product-name{color:var(--dk-text);}
html body .wc-block-cart a.wc-block-components-product-name:hover{color:var(--yellow);}
html body .wc-block-cart .wc-block-components-quantity-selector{background:var(--dk-surface);border-color:var(--dk-line);}
html body .wc-block-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input,
html body .wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button{color:var(--dk-text);}
html body .wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover:not(:disabled){color:var(--yellow);}
html .wc-block-cart .wc-block-cart-item__remove-link{color:var(--dk-text);}
html .wc-block-cart .wc-block-cart-item__remove-link:hover{color:var(--yellow);}
html body .wc-block-components-totals-wrapper,html body .wc-block-components-totals-item{border-color:rgba(245,240,228,.25);}
html body .wc-block-components-panel .wc-block-components-panel__button{color:var(--dk-text);}
/* Fields */
html body .wc-block-checkout .wc-block-components-form .wc-block-components-text-input input,
html body .wc-block-checkout .wc-block-components-text-input input,
html body .wc-block-components-totals-coupon .wc-block-components-text-input input{
  background:var(--dk-surface);color:var(--dk-text);border-color:var(--dk-line);
}
html body .wc-block-checkout .wc-block-components-text-input input:focus,
html body .wc-block-components-totals-coupon .wc-block-components-text-input input:focus{border-color:var(--dk-line);}
html body .wc-block-components-text-input label{color:var(--dk-muted);}
html body .wc-block-checkout .wc-blocks-components-select .wc-blocks-components-select__select{
  background:var(--dk-surface);color:var(--dk-text);border-color:var(--dk-line);
}
html body .wc-block-checkout .wc-blocks-components-select .wc-blocks-components-select__label{color:var(--dk-muted);}
html body .wc-block-checkout .wc-blocks-components-select .wc-blocks-components-select__expand{fill:var(--dk-text);}
html body .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]{background:var(--dk-surface);border-color:var(--dk-line);}
html body .wc-block-components-checkbox .wc-block-components-checkbox__mark{fill:var(--dk-text);}
html body .wc-block-checkout .wc-block-components-address-form__address_2-toggle,
html body .wc-block-checkout .wc-block-components-checkbox__label{color:var(--dk-text);}
/* Shipping / payment option boxes */
html body .wc-block-checkout .wc-block-components-radio-control{background:var(--dk-surface);}
html body .wc-block-checkout .wc-block-components-radio-control--highlight-checked::after{border-color:var(--dk-line);}
html body .wc-block-checkout .wc-block-components-radio-control__input{background:var(--dk-surface);border-color:var(--dk-line);}
html body .wc-block-checkout .wc-block-components-radio-control__input:checked::before{background:var(--dk-text);}
html body .wc-block-checkout .wc-block-components-radio-control__label,
html body .wc-block-checkout .wc-block-components-radio-control__secondary-label,
html body .wc-block-checkout .wc-block-components-radio-control__description{color:var(--dk-text);}
/* Authorize.net card row */
html body .wc-block-checkout .wc-block-authnet-gateway-container > div > div{background:var(--dk-surface);border-color:var(--dk-line);}
html body .wc-block-checkout .wc-block-authnet-gateway-container input[type]{color:var(--dk-text);}
html body .wc-block-checkout .wc-block-authnet-gateway-container input[type]::placeholder{color:var(--dk-muted);}
html body .wc-block-checkout .wc-block-authnet-gateway-container svg{filter:invert(.9);}
/* Order summary */
html body .wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block{
  background:var(--dk-surface);border-color:var(--dk-line);box-shadow:6px 6px 0 #000;
}
html body .wc-block-checkout .wc-block-components-order-summary-item .wc-block-components-product-metadata{color:var(--dk-muted);}
html body .wc-block-checkout .wc-block-components-order-summary-item__quantity{border-color:var(--dk-line);}
html .wc-block-checkout .wc-block-checkout__terms,html .wc-block-checkout .wc-block-checkout__terms a{color:var(--dk-muted);}

/* Empty cart's "New in store" grid */
html .wp-block-woocommerce-empty-cart-block .wc-block-grid__product{background:var(--dk-surface);border-color:var(--dk-line);}
html .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image{border-bottom-color:var(--dk-line);}
html .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link,
html .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title,
html .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price{color:var(--dk-text);}
html .wp-block-woocommerce-empty-cart-block .wc-block-grid__product .wp-block-button__link{box-shadow:4px 4px 0 #000;}

/* Classic Woo tables/forms (order received, account) */
html .woocommerce table.shop_table{background:var(--dk-surface);border-color:var(--dk-line);}
html .woocommerce table.shop_table td{border-top-color:var(--dk-line);}
html .woocommerce table.shop_table td.product-name a{color:var(--dk-text);}
html .cart_totals table.shop_table th{background:var(--dk-surface2);color:var(--dk-text);border-top-color:var(--dk-line);}
html .woocommerce form .form-row input.input-text,
html .woocommerce form .form-row textarea,
html .woocommerce form .form-row select,
html .woocommerce-page input[type="text"],html .woocommerce-page input[type="email"],
html .woocommerce-page input[type="tel"],html .woocommerce-page input[type="password"],
html .woocommerce-page input[type="search"],html .woocommerce-page textarea{
  background:var(--dk-surface);color:var(--dk-text);border-color:var(--dk-line);
}
html .select2-container .select2-selection--single{background:var(--dk-surface);border-color:var(--dk-line)!important;}
html .select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--dk-text);}
html .woocommerce-MyAccount-navigation ul{background:var(--dk-surface);border-color:var(--dk-line);}
html .woocommerce-MyAccount-navigation li{border-bottom-color:var(--dk-line);}
html .woocommerce-MyAccount-navigation a{color:var(--dk-text);}
html .woocommerce-MyAccount-navigation li.is-active a,
html .woocommerce-MyAccount-navigation a:hover{background:var(--dk-line);color:var(--black);}
html .woocommerce-account form.login,html .woocommerce-account form.register,
html .woocommerce form.checkout_coupon,html .woocommerce form.lost_reset_password{
  background:var(--dk-surface);border-color:var(--dk-line);box-shadow:6px 6px 0 #000;
}
html .woocommerce form .form-row label{color:var(--dk-text);}
