/* Definitive dark palette, shared by the local site and WordPress.
   Load after the layout, store and typography styles; the logo and photos keep their own colours. */
body.dm-dark {
  --paper: #080908;
  --ink: #f7f4ee;
  --muted: #c3c1ba;
  --honey: #e4b641;
  --line: #343830;
  --light: #171a15;
  --dm-surface: #171a15;
  --dm-raised: #20241d;
  --dm-button-ink: #201906;
  background: var(--paper);
  color: var(--ink);
  color-scheme: dark;
}

body.dm-dark main,
body.dm-dark.dm-shop-page,
body.dm-dark.post-type-archive-product main,
body.dm-dark.tax-product_cat main,
body.dm-dark .story,
body.dm-dark .farm { background: var(--paper); }

body.dm-dark .dm-masthead { background: #000; }
body.dm-dark .dm-primary { border-color: #272b24; }
body.dm-dark .dm-primary > a:hover,
body.dm-dark .dm-primary .dm-menu a:hover,
body.dm-dark .nav-drop > summary:hover,
body.dm-dark .dm-primary [aria-current="page"] { color: var(--honey); }
body.dm-dark .nav-drop > div,
body.dm-dark .dm-primary .sub-menu {
  background: #11140f;
  border-color: #3e4338;
  box-shadow: 0 12px 30px #0005;
}
body.dm-dark .selection-count { background: var(--honey); color: var(--dm-button-ink); }
body.dm-dark .skip-link { background: var(--honey); color: var(--dm-button-ink); }
body.dm-dark :focus-visible { outline: 3px solid var(--honey); outline-offset: 5px; }
body.dm-dark ::selection { background: var(--honey); color: var(--dm-button-ink); }

/* Quiet surfaces and readable copy on the information pages. */
body.dm-dark .dm-simple > .eyebrow,
body.dm-dark .story .eyebrow,
body.dm-dark .farm .eyebrow { color: var(--honey); }
body.dm-dark .dm-simple > p,
body.dm-dark .dm-feature-grid p,
body.dm-dark .entry-content,
body.dm-dark .story-copy > p:not(.eyebrow),
body.dm-dark .farm > div > p:not(.eyebrow) { color: #d4d2ca; }
body.dm-dark .dm-simple h1,
body.dm-dark .dm-simple h2,
body.dm-dark .entry-content h1,
body.dm-dark .entry-content h2,
body.dm-dark .entry-content h3 { color: var(--ink); }
body.dm-dark .dm-simple p a:not(.dm-cta):not(.button):not(.wp-element-button):not(.wp-block-button__link),
body.dm-dark .entry-content p a:not(.dm-cta):not(.button):not(.wp-element-button):not(.wp-block-button__link) {
  color: #e9c571;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-color: #8d7445;
}
body.dm-dark .dm-simple p a:not(.dm-cta):not(.button):not(.wp-element-button):not(.wp-block-button__link):hover,
body.dm-dark .entry-content p a:not(.dm-cta):not(.button):not(.wp-element-button):not(.wp-block-button__link):hover { color: #f5dca2; }
body.dm-dark .dm-feature-grid article,
body.dm-dark .dm-type-option {
  background: var(--dm-surface);
  border-color: var(--line);
  border-top-color: var(--honey);
}
body.dm-dark .dm-page-note { border-color: var(--line); }
body.dm-dark .dm-home-intro p { color: var(--muted); }
body.dm-dark .dm-home-intro a { color: #e9c571; }
body.dm-dark .catalog-help { background: var(--dm-raised); border-left: 2px solid var(--honey); }
body.dm-dark .shop-intro h1 em { color: var(--honey); }

/* Ochre is reserved for primary actions. Outline actions retain a quieter hierarchy. */
body.dm-dark .dm-cta,
body.dm-dark .dm-add,
body.dm-dark .button.dark,
body.dm-dark .wp-element-button,
body.dm-dark .wp-block-button__link,
body.dm-dark .woocommerce a.button,
body.dm-dark .woocommerce button.button,
body.dm-dark .woocommerce input.button,
body.dm-dark .woocommerce #respond input#submit,
body.dm-dark .dm-honey-shop ul.products li.product .button {
  background: var(--honey);
  color: var(--dm-button-ink);
  border-color: var(--honey);
}
body.dm-dark .dm-cta:hover,
body.dm-dark .dm-add:hover,
body.dm-dark .button.dark:hover,
body.dm-dark .wp-element-button:hover,
body.dm-dark .wp-block-button__link:hover,
body.dm-dark .woocommerce a.button:hover,
body.dm-dark .woocommerce button.button:hover,
body.dm-dark .woocommerce input.button:hover,
body.dm-dark .dm-honey-shop ul.products li.product .button:hover {
  background: #f0c862;
  color: var(--dm-button-ink);
  border-color: #f0c862;
}
body.dm-dark .button.outline { color: var(--ink); border-color: #777c70; background: transparent; }
body.dm-dark .button.outline:hover { background: var(--dm-raised); border-color: var(--honey); }
body.dm-dark .dm-add:disabled,
body.dm-dark .woocommerce .button:disabled,
body.dm-dark .woocommerce .button.disabled { opacity: .55; }

/* Product cards remain compact; photographic backgrounds remain neutral. */
body.dm-dark .dm-honey-card,
body.dm-dark .dm-honey-shop ul.products li.product {
  background: var(--dm-surface);
  color: var(--ink);
  border: 1px solid #30362a;
  box-shadow: 0 8px 24px #0003;
}
body.dm-dark .dm-honey-card h2,
body.dm-dark .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.dm-dark .woocommerce ul.products li.product .price,
body.dm-dark .woocommerce div.product p.price,
body.dm-dark .woocommerce div.product span.price { color: var(--ink); }
body.dm-dark .dm-variety,
body.dm-dark .dm-loop-format,
body.dm-dark .dm-price small,
body.dm-dark .dm-preview-note,
body.dm-dark .dm-format,
body.dm-dark .dm-format-filter,
body.dm-dark .woocommerce .woocommerce-breadcrumb,
body.dm-dark .woocommerce .woocommerce-breadcrumb a { color: var(--muted); }
body.dm-dark .dm-honey-shop ul.products li.product a img,
body.dm-dark .woocommerce div.product div.images .woocommerce-product-gallery__image {
  background: #f5f2e9;
  border-radius: 10px;
}
body.dm-dark .dm-offer {
  background: #211e13;
  border-left-color: var(--honey);
  color: #eee8d9;
}
body.dm-dark .dm-offer strong { color: #edc868; }
body.dm-dark .dm-offer small { color: #c9c1ad; }
body.dm-dark .woocommerce span.onsale,
body.dm-dark .woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--honey);
  color: var(--dm-button-ink);
}
body.dm-dark .woocommerce .star-rating { color: var(--honey); }
body.dm-dark .woocommerce div.product .stock { color: #b8d496; }
body.dm-dark .woocommerce div.product .out-of-stock { color: #f0aaa0; }

/* Shared native fields and WooCommerce's classic checkout. */
body.dm-dark :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], input[type="search"], input[type="url"], textarea, select),
body.dm-dark .woocommerce form .form-row input.input-text,
body.dm-dark .woocommerce form .form-row textarea,
body.dm-dark .woocommerce .quantity .qty,
body.dm-dark .woocommerce .variations select,
body.dm-dark .woocommerce .woocommerce-ordering select {
  background: var(--dm-surface);
  color: var(--ink);
  border: 1px solid #727969;
  accent-color: var(--honey);
}
body.dm-dark input::placeholder,
body.dm-dark textarea::placeholder { color: #b9bdb1; opacity: 1; }
body.dm-dark input[type="checkbox"],
body.dm-dark input[type="radio"] { accent-color: var(--honey); }
body.dm-dark option { background: var(--dm-surface); color: var(--ink); }
body.dm-dark .woocommerce-error,
body.dm-dark .woocommerce-info,
body.dm-dark .woocommerce-message {
  background: #20251b;
  color: var(--ink);
  border-top-color: var(--honey);
}
body.dm-dark .woocommerce-error { border-top-color: #e39a8e; }
body.dm-dark .woocommerce-error::before { color: #e39a8e; }
body.dm-dark .woocommerce-info::before,
body.dm-dark .woocommerce-message::before { color: var(--honey); }
body.dm-dark .woocommerce table.shop_table,
body.dm-dark .woocommerce table.shop_table th,
body.dm-dark .woocommerce table.shop_table td,
body.dm-dark .woocommerce form.login,
body.dm-dark .woocommerce form.register,
body.dm-dark .woocommerce form.checkout_coupon,
body.dm-dark .woocommerce div.product .woocommerce-tabs ul.tabs::before,
body.dm-dark .woocommerce div.product .woocommerce-tabs ul.tabs li { border-color: var(--line); }
body.dm-dark .woocommerce table.shop_table tbody th,
body.dm-dark .woocommerce table.shop_table tfoot th,
body.dm-dark .woocommerce table.shop_table tfoot td { border-color: var(--line); }
body.dm-dark .woocommerce table.shop_table_responsive tr:nth-child(2n) td { background: #171a15; }
body.dm-dark .woocommerce table.shop_table a.remove { color: #f0aaa0 !important; }
body.dm-dark .woocommerce table.shop_table a.remove:hover { background: #5b2d27; color: #fff !important; }
body.dm-dark .woocommerce div.product .woocommerce-tabs ul.tabs li { background: var(--dm-surface); color: var(--muted); }
body.dm-dark .woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--paper); color: var(--ink); border-bottom-color: var(--paper); }
body.dm-dark .woocommerce div.product .woocommerce-tabs ul.tabs li a { color: inherit; }
body.dm-dark .woocommerce-checkout #payment { background: var(--dm-surface); border: 1px solid var(--line); }
body.dm-dark .woocommerce-checkout #payment ul.payment_methods { border-color: var(--line); }
body.dm-dark .woocommerce-checkout #payment div.payment_box { background: #2a3023; color: var(--ink); }
body.dm-dark .woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #2a3023; }
body.dm-dark .woocommerce .woocommerce-invalid label,
body.dm-dark .woocommerce form .form-row .required { color: #f0aaa0; }
body.dm-dark .woocommerce-terms-and-conditions { background: var(--paper); border-color: var(--line); }

/* Enhanced country/address selectors and optional WooCommerce blocks. */
body.dm-dark .select2-dropdown,
body.dm-dark .select2-container--default .select2-selection--single,
body.dm-dark .select2-container--default .select2-search--dropdown .select2-search__field {
  background: var(--dm-surface);
  color: var(--ink);
  border-color: #727969;
}
body.dm-dark .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--ink); }
body.dm-dark .select2-container--default .select2-results__option[aria-selected="true"] { background: var(--dm-raised); }
body.dm-dark .select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--honey); color: var(--dm-button-ink); }
body.dm-dark .wc-block-components-text-input input,
body.dm-dark .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
body.dm-dark .wc-block-components-textarea,
body.dm-dark .wc-block-components-form .wc-block-components-text-input input,
body.dm-dark .wc-block-components-address-form select {
  background: var(--dm-surface);
  color: var(--ink);
  border-color: #727969;
}
body.dm-dark .wc-block-components-text-input label,
body.dm-dark .wc-block-components-form .wc-block-components-text-input label,
body.dm-dark .wc-block-components-select label { color: var(--muted); }
body.dm-dark .wc-block-components-radio-control-accordion-content,
body.dm-dark .wc-block-components-radio-control .wc-block-components-radio-control__option { background: var(--dm-surface); color: var(--ink); }
body.dm-dark .wc-block-components-notice-banner { background: var(--dm-raised); color: var(--ink); }
body.dm-dark .wc-block-components-checkout-step__description { color: var(--muted); }

/* The local product selection is a true dark dialog, including quantity controls. */
body.dm-dark .selection-dialog {
  background: #141810;
  color: var(--ink);
  border: 1px solid #464d3e;
  border-radius: 16px;
  box-shadow: 0 24px 90px #0009;
}
body.dm-dark .selection-dialog::backdrop { background: #000b; }
body.dm-dark .selection-dialog .dialog-close { background: var(--dm-raised); color: var(--ink); }
body.dm-dark .selection-dialog > p { color: var(--muted); }
body.dm-dark .dm-selection-row,
body.dm-dark .selection-item { border-color: var(--line); }
body.dm-dark .dm-selection-row button {
  background: var(--dm-raised);
  border-color: #737b67;
  color: var(--ink);
}
body.dm-dark .dm-selection-row button:hover { background: #37412d; border-color: var(--honey); }
body.dm-dark .toast { background: #e4b641; color: var(--dm-button-ink); box-shadow: 0 6px 25px #0006; }
body.dm-dark.iv-modal-open .wa-chat { visibility: hidden; }

/* The dark footer belongs to the same visual system as the masthead. */
body.dm-dark footer.dm-site-footer { background: #090b09; border-top: 1px solid #4c432b; }
body.dm-dark .dm-site-footer .dm-footer-base { background: #12160f; border-color: #30362a; }
body.dm-dark .dm-site-footer .dm-footer-identity p,
body.dm-dark .dm-site-footer address,
body.dm-dark .dm-site-footer .dm-footer-base-inner { color: var(--muted); }
body.dm-dark .dm-site-footer .dm-footer-links a { color: #e0c28b; }

@media(max-width:850px) {
  body.dm-dark .nav-drop > div,
  body.dm-dark .dm-primary .sub-menu { box-shadow: none; }
}
