/* ==========================================================================
   Olverin theme: dark skin (assets/css/base-dark.css)
   Authored by Olverin Ventures. Enqueued directly by functions.php after
   base.css. Activated by the header .theme-toggle (custom/theme-select.js
   sets body.dark-theme and body[data-theme="dark"]).

   Palette: page #14161a, surface #1c1f24, elevated #23272d,
   borders rgba(255,255,255,.1), text #f1f3f5, muted rgba(241,243,245,.65).
   Primary is unchanged (or the Customizer's dark main color, written by
   olverin-core/inc/style.php as [data-theme=dark]{--theme-primary-color}).

   Strategy: base.css reads its colors from the 00-tokens.css variables, so
   most of the skin is the token block below. Every component that hard-codes
   a light value, or that paints --olv-text as a background (inverted
   buttons, tooltips, overlays), gets a targeted rule. Images are untouched;
   only UI chrome is inverted.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Tokens (parts/00-tokens.css)
   -------------------------------------------------------------------------- */
body.dark-theme,
body[data-theme="dark"] {
  --olv-page: #14161a;
  --olv-surface: #1c1f24;
  --olv-elevated: #23272d;
  --olv-inverse: #14161a;                 /* text on light (inverted) chrome */
  --olv-inverse-bg: #f1f3f5;              /* inverted chrome background */

  --olv-primary: var(--theme-primary-color, #f44c30);
  --olv-primary-rgb: var(--theme-primary-color-RGB, 244, 76, 48);
  --olv-primary-soft: rgba(var(--olv-primary-rgb), 0.16);
  --olv-text: #f1f3f5;
  --olv-text-rgb: 241, 243, 245;
  --olv-text-muted: rgba(241, 243, 245, 0.65);
  --olv-text-light: rgba(241, 243, 245, 0.5);
  --olv-bg: var(--olv-page);
  --olv-bg-gray: var(--olv-surface);
  --olv-bg-baby-light: #211d1c;
  --olv-border: rgba(255, 255, 255, 0.1);
  --olv-border-15: rgba(255, 255, 255, 0.15);
  --olv-border-strong: rgba(255, 255, 255, 0.22);
  --olv-star: #ffb400;

  --olv-input-bg: var(--olv-elevated);
  --olv-input-border: rgba(255, 255, 255, 0.14);
  --olv-layout-custom: var(--olv-surface);

  --olv-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.4);
  --olv-shadow-md: 0 4px 14px rgba(0, 0, 0, 0.45);
  --olv-shadow-lg: 0 10px 34px rgba(0, 0, 0, 0.55);

  /* consumed by the Customizer's mobile sticky-cart rule in inc/style.php */
  --color-dark700: var(--olv-elevated);

  color-scheme: dark;
  background-color: var(--olv-page);
  color: var(--olv-text);
}

/* --------------------------------------------------------------------------
   Base (parts/01-reset-typography.css)
   -------------------------------------------------------------------------- */
body.dark-theme ::selection { background-color: var(--olv-primary); color: #fff; }
body.dark-theme .site-loading { background-color: var(--olv-page); }
body.dark-theme .screen-reader-text:focus { background-color: var(--olv-elevated); }
body.dark-theme .site-scroll-top,
body.dark-theme .scroll-to-top,
body.dark-theme .back-to-top { background-color: var(--olv-elevated); }
body.dark-theme .site-brand .dark-logo:has(~ .light-logo) { opacity: 0; }
body.dark-theme .site-brand .light-logo { opacity: 1; }

/* Inverted chrome: base.css paints these with --olv-text as background and
   white text. In the dark skin --olv-text is light, so the text goes dark. */
body.dark-theme .button:hover,
body.dark-theme button.button:hover,
body.dark-theme input[type="submit"]:hover,
body.dark-theme .wp-block-button__link:hover,
body.dark-theme .button.alt:hover,
body.dark-theme .button.primary:hover,
body.dark-theme .button.secondary:hover,
body.dark-theme .button.gray:hover,
body.dark-theme .button.light:hover,
body.dark-theme .button.wc-backward:hover,
body.dark-theme .woocommerce-message .button.wc-forward:hover,
body.dark-theme .button.dark,
body.dark-theme .button.black,
body.dark-theme .button.success:hover,
body.dark-theme .button.green:hover,
body.dark-theme .single_add_to_cart_button.button.alt:hover,
body.dark-theme .button.danger:hover,
body.dark-theme .button.info:hover,
body.dark-theme .button.outline:hover,
body.dark-theme .wp-block-button.is-style-outline .wp-block-button__link:hover,
body.dark-theme .btn.primary:hover,
body.dark-theme .btn.secondary:hover,
body.dark-theme .btn.black,
body.dark-theme .btn.dark,
body.dark-theme .btn.blue:hover,
body.dark-theme .btn.green:hover,
body.dark-theme .btn.success:hover,
body.dark-theme .btn.red:hover,
body.dark-theme .btn.black.outline:hover,
body.dark-theme .btn.dark.outline:hover,
body.dark-theme .btn.default.outline:hover,
body.dark-theme .badge.dark,
body.dark-theme .badge.black,
body.dark-theme .tooltip .tooltip-inner,
body.dark-theme [data-title]::after,
body.dark-theme a.page-numbers:hover,
body.dark-theme .woocommerce-pagination ul.page-numbers li a:hover,
body.dark-theme .header-search-form .search-form > button:hover,
body.dark-theme .header-search-results .search-keywords.tag-style a:hover,
body.dark-theme .klb-mobile-search .search-keywords a:hover,
body.dark-theme .custom-button-menu > a:hover,
body.dark-theme .fl-mini-cart-content .woocommerce-mini-cart__buttons .button:hover,
body.dark-theme .fl-mini-cart-content .woocommerce-mini-cart__buttons .button.checkout:hover,
body.dark-theme .klb-authentication-modal .woocommerce-form-login__submit:hover,
body.dark-theme .klb-authentication-modal .woocommerce-form-register__submit:hover,
body.dark-theme .widget_price_filter .price_slider_bottom .button,
body.dark-theme .widget .wp-block-search__button,
body.dark-theme .widget_social_media .site-social.for-widget li a,
body.dark-theme .site-social.for-widget .social-icon,
body.dark-theme .widget_shopping_cart .woocommerce-mini-cart__buttons .button.checkout,
body.dark-theme .widget_shopping_cart .woocommerce-mini-cart__buttons .button:hover,
body.dark-theme .product-wrapper .thumbnail-buttons > *:hover,
body.dark-theme .mfp-wrap .klb-quickview-popup button.mfp-close:hover,
body.dark-theme .mfp-wrap .klb-quickview-product button.mfp-close:hover,
body.dark-theme .woocommerce-product-gallery__trigger:hover,
body.dark-theme .product-gallery .product-video-button a:hover,
body.dark-theme .product-gallery .klb-product360-btn a:hover,
body.dark-theme .single-product form.cart .buy_now_button:hover,
body.dark-theme .woocommerce-Reviews .woocommerce-pagination .current,
body.dark-theme .woocommerce-Reviews .comment-form .submit,
body.dark-theme .woocommerce table.shop_table a.remove:hover,
body.dark-theme .woocommerce-cart-form__contents .coupon .button:hover,
body.dark-theme .cart-empty-page .return-to-shop .button:hover,
body.dark-theme .woocommerce form.checkout_coupon .form-row-last .button:hover,
body.dark-theme .klb-readmore.button:hover,
body.dark-theme .site-pagination a.page-numbers:hover,
body.dark-theme .single-post .entry-footer a:hover,
body.dark-theme .single-post .entry-tags-list a:hover,
body.dark-theme .post-comments .comment-form .submit:hover,
body.dark-theme .klb-slider.arrows-dark .slick-arrow,
body.dark-theme .module-iconbox.dark-style,
body.dark-theme .module-iconbox.dark-style .iconbox-icon,
body.dark-theme .klb-countdown.filled .count-item,
body.dark-theme .sale-stamp.background-secondary,
body.dark-theme .module-header-tab .tab-item.active .tab-link,
body.dark-theme .klb-brand-section__nav a:hover,
body.dark-theme .newsletter-form .btn,
body.dark-theme .newsletter-form button[type="submit"],
body.dark-theme .newsletter-form input[type="submit"],
body.dark-theme .klb-site-newsletter-form .btn,
body.dark-theme .klb-site-newsletter-form button[type="submit"],
body.dark-theme .wpcf7-form .wpcf7-submit:hover,
body.dark-theme .woocommerce-form-track-order .button:hover { color: var(--olv-inverse); }

/* Dark-on-dark hover targets that need a lift instead of an inversion */
body.dark-theme .button.dark:hover,
body.dark-theme .button.black:hover,
body.dark-theme .btn.black:hover,
body.dark-theme .btn.dark:hover { background-color: #fff; color: var(--olv-inverse); }
body.dark-theme .button.secondary,
body.dark-theme .button.gray,
body.dark-theme .button.light,
body.dark-theme .button.wc-backward,
body.dark-theme .woocommerce-message .button.wc-forward,
body.dark-theme .button.empty-cart-button,
body.dark-theme .btn.secondary,
body.dark-theme .btn.default,
body.dark-theme .cart-empty-page .return-to-shop .button,
body.dark-theme .woocommerce form.checkout_coupon .form-row-last .button,
body.dark-theme .klb-readmore.button,
body.dark-theme .klb-banner .entry-subtitle.background-secondary { background-color: var(--olv-elevated); color: var(--olv-text); }
body.dark-theme .button.white,
body.dark-theme .btn.white { background-color: #fff; color: var(--olv-inverse); }
body.dark-theme .button.loading::after,
body.dark-theme .btn.loading::after { border-color: rgba(255, 255, 255, 0.35); border-top-color: transparent; }

/* --------------------------------------------------------------------------
   Forms (parts/02-buttons-forms.css, contact.css, newsletter.css)
   -------------------------------------------------------------------------- */
body.dark-theme input[type="text"],
body.dark-theme input[type="email"],
body.dark-theme input[type="url"],
body.dark-theme input[type="password"],
body.dark-theme input[type="search"],
body.dark-theme input[type="number"],
body.dark-theme input[type="tel"],
body.dark-theme input[type="date"],
body.dark-theme textarea,
body.dark-theme select,
body.dark-theme .form-control,
body.dark-theme .input-text,
body.dark-theme .search-form.form-style-primary .form-control,
body.dark-theme .select2-container--default .select2-search--dropdown .select2-search__field,
body.dark-theme .header-search-form .search-form .search-input,
body.dark-theme .header-search-form .form-style-gray .search-input,
body.dark-theme .klb-mobile-search .search-form .search-input,
body.dark-theme .klb-authentication-modal .form-row .input-text,
body.dark-theme .klb-contact-form .wpcf7-form-control:not(.wpcf7-submit),
body.dark-theme .wpcf7-form .wpcf7-text,
body.dark-theme .wpcf7-form .wpcf7-email,
body.dark-theme .wpcf7-form .wpcf7-tel,
body.dark-theme .wpcf7-form .wpcf7-url,
body.dark-theme .wpcf7-form .wpcf7-number,
body.dark-theme .wpcf7-form .wpcf7-textarea,
body.dark-theme .wpcf7-form .wpcf7-select,
body.dark-theme .post-comments .comment-form > p > input[type="text"],
body.dark-theme .post-comments .comment-form > p > input[type="email"],
body.dark-theme .post-comments .comment-form > p > input[type="url"],
body.dark-theme .post-comments .comment-form textarea,
body.dark-theme .newsletter-form input[type="email"],
body.dark-theme .newsletter-form input[type="text"] {
  border-color: var(--olv-input-border);
  background-color: var(--olv-input-bg);
  color: var(--olv-text);
}
body.dark-theme input[type="text"]:focus,
body.dark-theme input[type="email"]:focus,
body.dark-theme input[type="url"]:focus,
body.dark-theme input[type="password"]:focus,
body.dark-theme input[type="search"]:focus,
body.dark-theme input[type="number"]:focus,
body.dark-theme input[type="tel"]:focus,
body.dark-theme textarea:focus,
body.dark-theme select:focus,
body.dark-theme .form-control:focus,
body.dark-theme .header-search-form .search-form .search-input:focus,
body.dark-theme .header-search-form .form-style-light .search-input,
body.dark-theme .header-search-overlay.is-searchable .search-form .search-input,
body.dark-theme .header-search-overlay.search-focused .search-form .search-input,
body.dark-theme .klb-authentication-modal .form-row .input-text:focus,
body.dark-theme .klb-contact-form .wpcf7-form-control:not(.wpcf7-submit):focus {
  border-color: rgba(255, 255, 255, 0.3);
  background-color: #262b31;
  color: var(--olv-text);
}
body.dark-theme input[readonly].form-control { background-color: var(--olv-surface); }
body.dark-theme select,
body.dark-theme .select2-container--default .select2-selection--single .select2-selection__arrow b {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f1f3f5' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6l6-6'/%3E%3C/svg%3E");
}
body.dark-theme select option { background-color: var(--olv-elevated); color: var(--olv-text); }
body.dark-theme .select2-container--default .select2-selection--single,
body.dark-theme .select2-container--default .select2-selection--multiple { border-color: var(--olv-input-border); background-color: var(--olv-input-bg); }
body.dark-theme .select2-container--default .select2-selection--multiple .select2-selection__choice { border-color: var(--olv-border); background-color: var(--olv-surface); }
body.dark-theme .select2-dropdown { border-color: var(--olv-border); background-color: var(--olv-elevated); }
body.dark-theme .select2-container--default .select2-results__option[aria-selected="true"],
body.dark-theme .select2-container--default .select2-results__option--selected { background-color: rgba(255, 255, 255, 0.06); }
body.dark-theme input[type="checkbox"]::after,
body.dark-theme input[type="radio"]::after { background-color: var(--olv-elevated); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18); }
body.dark-theme input[type="checkbox"]:hover::after,
body.dark-theme input[type="radio"]:hover::after { box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4); }
body.dark-theme .quantity,
body.dark-theme .single-product form.cart .quantity,
body.dark-theme .product-wrapper .quantity.ajax-quantity { border-color: var(--olv-border-15); background-color: var(--olv-elevated); box-shadow: none; }
body.dark-theme .wpcf7 form .wpcf7-response-output,
body.dark-theme .wpcf7-form .wpcf7-response-output,
body.dark-theme .klb-contact-form .wpcf7-response-output { border-color: var(--olv-border-15); }
body.dark-theme .header-search-form .input-search-addon { border-right-color: var(--olv-border-15); }

/* --------------------------------------------------------------------------
   Utilities: layouts, notices, badges, pagination, modals (parts/03-utilities-layout.css)
   -------------------------------------------------------------------------- */
body.dark-theme .color-layout-white { background-color: var(--olv-page); }
body.dark-theme .color-layout-light-gray,
body.dark-theme .color-layout-light { background-color: var(--olv-surface); }
body.dark-theme .color-layout-baby-light { background-color: var(--olv-bg-baby-light); }
body.dark-theme .color-layout-dark { background-color: #0e1013; }
body.dark-theme .color-layout-black { background-color: #000; }
body.dark-theme .color-layout-custom { background-color: var(--olv-layout-custom); }
body.dark-theme .color-scheme-dark { color: var(--olv-text); }
body.dark-theme .color-black { color: var(--olv-text); }
body.dark-theme .border-theme-10,
body.dark-theme .border-theme-10 > .container > * { border-color: var(--olv-border); }
body.dark-theme .border-theme-15,
body.dark-theme .border-theme-15 > .container > * { border-color: var(--olv-border-15); }
body.dark-theme .border-theme-20,
body.dark-theme .border-theme-20 > .container > * { border-color: var(--olv-border-strong); }
body.dark-theme .woocommerce-message,
body.dark-theme .woocommerce-info,
body.dark-theme .woocommerce-error,
body.dark-theme .woocommerce-notice,
body.dark-theme .wc-block-components-notice-banner { border-color: var(--olv-border-15); background-color: var(--olv-surface); color: var(--olv-text); }
body.dark-theme .klb-ajax-notices .woocommerce-message,
body.dark-theme .klb-ajax-notices .woocommerce-error,
body.dark-theme .klb-ajax-notices .woocommerce-info { background-color: var(--olv-elevated); color: var(--olv-text); }
body.dark-theme .star-rating::before,
body.dark-theme .star-rating > span::before,
body.dark-theme .stars a,
body.dark-theme .stars a:hover ~ a,
body.dark-theme .stars.selected a.active ~ a { background-color: rgba(255, 255, 255, 0.18); }
body.dark-theme .product-rating .star-rating,
body.dark-theme .klb-quickview-product .star-rating,
body.dark-theme .klbwl-list .star-rating,
body.dark-theme .klbcp_table .star-rating { color: rgba(255, 255, 255, 0.2); }
body.dark-theme .badge.white { background-color: #fff; color: var(--olv-inverse); }
body.dark-theme .page-numbers:not(ul),
body.dark-theme .nav-links .page-numbers,
body.dark-theme .pagination .page-numbers,
body.dark-theme .woocommerce-pagination ul.page-numbers li a,
body.dark-theme .woocommerce-pagination ul.page-numbers li span,
body.dark-theme .woocommerce-pagination .page-numbers a,
body.dark-theme .woocommerce-pagination .page-numbers span,
body.dark-theme .page-numbers.prev:hover,
body.dark-theme .page-numbers.next:hover,
body.dark-theme .woocommerce-pagination ul.page-numbers li a.prev:hover,
body.dark-theme .woocommerce-pagination ul.page-numbers li a.next:hover { background-color: var(--olv-elevated); color: var(--olv-text); }
body.dark-theme .woocommerce-pagination .page-numbers a:hover { background-color: rgba(255, 255, 255, 0.16); }
body.dark-theme .page-numbers.current,
body.dark-theme .woocommerce-pagination ul.page-numbers li span.current,
body.dark-theme .woocommerce-pagination .page-numbers span.current { background-color: var(--olv-primary); color: #fff; }
body.dark-theme .klb-modal-overlay,
body.dark-theme .site-overlay,
body.dark-theme .drawer-overlay,
body.dark-theme .mobile-filter-overlay,
body.dark-theme .header-search-overlay::before { background-color: #000; }
body.dark-theme .klb-modal-inner { background-color: var(--olv-surface); color: var(--olv-text); }
body.dark-theme .tooltip .tooltip-inner,
body.dark-theme [data-title]::after { background-color: var(--olv-inverse-bg); }
body.dark-theme ul.social-color li a::before,
body.dark-theme .social-color li a::before { background-color: var(--olv-elevated); }
body.dark-theme ul.social-color li a.twitter::before,
body.dark-theme ul.social-color li a.x::before,
body.dark-theme .social-color-twitter::before { background-color: #000; }
body.dark-theme .site-social.for-widget .social-icon,
body.dark-theme .widget_social_media .site-social.for-widget li a { background-color: var(--olv-inverse-bg); }
body.dark-theme .divider { background-color: var(--olv-border); }

/* --------------------------------------------------------------------------
   Header (parts/10-header.css: includes/header/header-type*.php)
   -------------------------------------------------------------------------- */
body.dark-theme .header-row.color-layout-white,
body.dark-theme .header-row.background-white,
body.dark-theme .header-row.color-layout-light { background-color: var(--olv-page); }
body.dark-theme .header-row.color-layout-gray { background-color: var(--olv-surface); }
body.dark-theme .header-row.color-layout-black,
body.dark-theme .header-row.color-layout-dark,
body.dark-theme .header-row.background-black { background-color: #0e1013; }
body.dark-theme .header-row.border-theme-10 { border-color: var(--olv-border); }
body.dark-theme .header-row.border-theme-15 { border-color: var(--olv-border-15); }
body.dark-theme .theme-toggle .header-light-background { background-color: var(--olv-primary); color: #fff; }
body.dark-theme .header-action.custom-toggle .action-link { background-color: var(--olv-elevated); }
body.dark-theme .header-search-form .search-form > button:hover { background-color: var(--olv-inverse-bg); }
body.dark-theme .header-search-overlay .search-form::before { background-color: var(--olv-surface); }
body.dark-theme .header-search-form .header-search-results { background-color: var(--olv-elevated); color: var(--olv-text); }
body.dark-theme .header-search-results .search-keywords.tag-style a,
body.dark-theme .klb-mobile-search .search-keywords a { border-color: var(--olv-border-15); }
body.dark-theme .header-search-results .search-keywords.tag-style a:hover,
body.dark-theme .klb-mobile-search .search-keywords a:hover { border-color: var(--olv-inverse-bg); background-color: var(--olv-inverse-bg); }
body.dark-theme .klb-count-notification .filled .count-item { background-color: rgba(255, 255, 255, 0.1); }
body.dark-theme .site-header.sticky-header .header-main,
body.dark-theme .site-header.is-sticky .header-main,
body.dark-theme .site-header.header-transparent-desktop.sticky-header .header-main { background-color: var(--olv-surface); color: var(--olv-text); }
body.dark-theme .klb-mobile-bottom { border-top-color: var(--olv-border); background-color: var(--olv-surface); color: var(--olv-text); box-shadow: 0 0 10px -4px rgba(0, 0, 0, 0.6); }
body.dark-theme .custom-button-menu > a:hover { background-color: var(--olv-inverse-bg); }

/* --------------------------------------------------------------------------
   Menus (parts/11-menus.css: includes/header/models/*, walker sub-menus)
   -------------------------------------------------------------------------- */
body.dark-theme .klb-menu-nav.horizontal .sub-menu,
body.dark-theme .custom-button-menu > .sub-menu.mega-menu,
body.dark-theme .dropdown-categories .dropdown-menu,
body.dark-theme .dropdown-categories .dropdown-menu .sub-menu { border-color: var(--olv-border); background-color: var(--olv-elevated); color: var(--olv-text); }
body.dark-theme .klb-menu-nav.border-gray .sub-menu { border-color: var(--olv-border); }
body.dark-theme .klb-menu-nav.sub-shadow-md .sub-menu { box-shadow: var(--olv-shadow-lg); }
body.dark-theme .klb-menu-nav.triangle-enable > .klb-menu > li > .sub-menu::before { background-color: var(--olv-border-strong); }
body.dark-theme .klb-menu-nav.triangle-enable > .klb-menu > li > .sub-menu::after { background-color: var(--olv-elevated); }
body.dark-theme .dropdown-categories > .dropdown-toggle.gray { color: var(--olv-text); }
body.dark-theme .dropdown-categories > .dropdown-toggle.gray::before { border-color: var(--olv-border); background-color: var(--olv-surface); }
body.dark-theme .dropdown-categories .dropdown-menu.style-1 li > a:hover { background-color: rgba(255, 255, 255, 0.06); }

/* --------------------------------------------------------------------------
   Drawers, mobile search, cart dropdown, login modal (parts/12-drawers-overlays.css)
   -------------------------------------------------------------------------- */
body.dark-theme .site-drawer,
body.dark-theme .klb-mobile-search { background-color: var(--olv-surface); color: var(--olv-text); }
body.dark-theme .klb-mobile-search .searh-caption { border-bottom-color: var(--olv-border); }
body.dark-theme .custom-dropdown-body { border-color: var(--olv-border); background-color: var(--olv-elevated); color: var(--olv-text); box-shadow: var(--olv-shadow-lg); }
body.dark-theme .custom-dropdown-body::before { background-color: var(--olv-border-strong); }
body.dark-theme .custom-dropdown-body::after { background-color: var(--olv-elevated); }
body.dark-theme .custom-dropdown .cart-discount,
body.dark-theme .fl-mini-cart-content .woocommerce-mini-cart__total,
body.dark-theme .klb-authentication-tab { border-top-color: var(--olv-border); }
body.dark-theme .fl-mini-cart-content .woocommerce-mini-cart__buttons .button:hover,
body.dark-theme .fl-mini-cart-content .woocommerce-mini-cart__buttons .button.checkout:hover { background-color: var(--olv-inverse-bg); }
body.dark-theme .fl-mini-cart-content .klb-free-shipping,
body.dark-theme .cart-wrapper .klb-free-shipping.warning { border-color: rgba(229, 62, 62, 0.4); background-color: rgba(229, 62, 62, 0.12); }
body.dark-theme .fl-mini-cart-content .shipping-progress,
body.dark-theme .cart-wrapper .shipping-progress { background-color: rgba(229, 62, 62, 0.25); }
body.dark-theme .fl-mini-cart-content .klb-free-shipping.success { background-color: rgba(47, 158, 68, 0.14); }
body.dark-theme .fl-mini-cart-content .klb-free-shipping.success .shipping-progress { background-color: rgba(47, 158, 68, 0.3); }
body.dark-theme .klb-authentication-modal .woocommerce-form-login__submit:hover,
body.dark-theme .klb-authentication-modal .woocommerce-form-register__submit:hover { background-color: var(--olv-inverse-bg); }

/* --------------------------------------------------------------------------
   Footer & widgets (parts/20-footer.css, parts/21-widgets.css)
   -------------------------------------------------------------------------- */
body.dark-theme .site-footer .footer-row.color-layout-white { background-color: var(--olv-page); }
body.dark-theme .site-footer .footer-row.color-layout-light-gray { background-color: var(--olv-surface); }
body.dark-theme .site-footer .footer-row.color-layout-baby-light,
body.dark-theme .site-footer .footer-row.color-layout-image { background-color: var(--olv-bg-baby-light); }
body.dark-theme .site-footer .footer-row.color-layout-black { background-color: #0e1013; color: var(--olv-text); }
body.dark-theme .widget-checkbox-list ul li a input[type="checkbox"] { border-color: var(--olv-border-strong); background-color: var(--olv-elevated); }
body.dark-theme .widget_layered_nav a[href*="filter_color="]::before { border-color: var(--olv-border-strong); }
body.dark-theme .widget_layered_nav a[href*="filter_color=black"]::before { background-color: #000; }
body.dark-theme .widget_price_filter .price_slider { background-color: rgba(255, 255, 255, 0.15); }
body.dark-theme .widget_price_filter .price_slider .ui-slider-handle { background-color: #fff; }
body.dark-theme .widget_price_filter .price_slider_bottom .button,
body.dark-theme .widget .wp-block-search__button { border-color: var(--olv-inverse-bg); background-color: var(--olv-inverse-bg); }
body.dark-theme .widget_shopping_cart .woocommerce-mini-cart__buttons .button { border-color: var(--olv-border-strong); background-color: var(--olv-elevated); color: var(--olv-text); }
body.dark-theme .widget_shopping_cart .woocommerce-mini-cart__buttons .button:hover,
body.dark-theme .widget_shopping_cart .woocommerce-mini-cart__buttons .button.checkout { border-color: var(--olv-inverse-bg); background-color: var(--olv-inverse-bg); }

/* --------------------------------------------------------------------------
   Product cards & quick view (parts/30-product-card.css: includes/product-box/*)
   -------------------------------------------------------------------------- */
body.dark-theme .product-wrapper.image-gray .thumbnail-wrapper > a { background-color: var(--olv-surface); }
body.dark-theme .product-wrapper.background-white,
body.dark-theme .custom-product-block { background-color: var(--olv-surface); }
body.dark-theme .product-wrapper .thumbnail-buttons > * { border-color: var(--olv-border-15); background-color: var(--olv-elevated); color: var(--olv-text); box-shadow: var(--olv-shadow-sm); }
body.dark-theme .product-wrapper .thumbnail-buttons > *:hover { border-color: var(--olv-inverse-bg); background-color: var(--olv-inverse-bg); }
body.dark-theme .product-wrapper .hover-slider-dots span { background-color: rgba(255, 255, 255, 0.4); }
body.dark-theme .product-wrapper .hover-slider-dots span.active { background-color: #fff; }
body.dark-theme .product-wrapper .product-buttons .button,
body.dark-theme .product-wrapper .product-buttons .quickview-button.outline { border-color: var(--olv-border-15); background-color: var(--olv-elevated); color: var(--olv-text); }
body.dark-theme .product-wrapper .product-buttons .button:hover,
body.dark-theme .product-wrapper .product-buttons.primary-button .button { border-color: var(--olv-primary); background-color: var(--olv-primary); color: #fff; }
body.dark-theme .product-wrapper.with-content-fade .product-content-fade { background: linear-gradient(to bottom, rgba(20, 22, 26, 0), var(--olv-page)); }
body.dark-theme .product-progressbar { background-color: rgba(255, 255, 255, 0.12); }
body.dark-theme .klb-quickview-product { background-color: var(--olv-surface); }
body.dark-theme .klb-quickview-product .mfp-close,
body.dark-theme .mfp-wrap .klb-quickview-popup button.mfp-close,
body.dark-theme .mfp-wrap .klb-quickview-product button.mfp-close { border-color: var(--olv-border); background-color: var(--olv-elevated); color: var(--olv-text); }
body.dark-theme .mfp-wrap .klb-quickview-popup button.mfp-close:hover,
body.dark-theme .mfp-wrap .klb-quickview-product button.mfp-close:hover { background-color: var(--olv-inverse-bg); }

/* --------------------------------------------------------------------------
   Shop toolbar, sidebar, pagination (parts/31-shop.css: woocommerce/archive-product.php)
   -------------------------------------------------------------------------- */
body.dark-theme .before-shop-loop .product-views-buttons a:hover,
body.dark-theme .before-shop-loop .product-views-buttons a.active { background-color: var(--olv-elevated); }
body.dark-theme .before-shop-loop .filters-wide-button .filter-holder { border-color: var(--olv-border); background-color: var(--olv-surface); }
body.dark-theme .sidebar-column.filtered-sidebar { background-color: var(--olv-surface); }
body.dark-theme .empty-content .fill-slate-100 { fill: var(--olv-elevated); }
body.dark-theme .empty-content .fill-slate-50 { fill: var(--olv-surface); }
body.dark-theme .empty-content .stroke-slate-300 { stroke: var(--olv-border-strong); }
body.dark-theme .pjax-loading .primary-column::after,
body.dark-theme .primary-column.loading::after { border-color: rgba(255, 255, 255, 0.15); border-top-color: var(--olv-primary); }

/* --------------------------------------------------------------------------
   Single product (parts/32-single-product.css, parts/32b-single-product-content.css)
   -------------------------------------------------------------------------- */
body.dark-theme .woocommerce-product-gallery__trigger,
body.dark-theme .product-gallery .product-video-button a,
body.dark-theme .product-gallery .klb-product360-btn a,
body.dark-theme .klb-flexslider-thumbnail .slick-nav { background-color: var(--olv-elevated); color: var(--olv-text); }
body.dark-theme .woocommerce-product-gallery__trigger:hover,
body.dark-theme .product-gallery .product-video-button a:hover,
body.dark-theme .product-gallery .klb-product360-btn a:hover,
body.dark-theme .single-product form.cart .buy_now_button:hover { background-color: var(--olv-inverse-bg); }
body.dark-theme .flex-control-thumbs li img { border-color: var(--olv-border-15); }
body.dark-theme .flex-control-thumbs li img:hover,
body.dark-theme .flex-control-thumbs li img.flex-active { border-color: var(--olv-text); }
body.dark-theme .single-product-wrapper .product-meta.top,
body.dark-theme .woocommerce-tabs .wc-tabs { border-bottom-color: var(--olv-border); }
body.dark-theme .single-product-wrapper .product-meta.top > * + *::before { background-color: var(--olv-border-15); }
body.dark-theme .product-detail-inner .product-checklist,
body.dark-theme .single-product-wrapper .product-meta.bottom { border-top-color: var(--olv-border); }
body.dark-theme .single-product form.cart .variations select { background-color: var(--olv-input-bg); }
body.dark-theme .woocommerce-product-attributes th { background-color: var(--olv-surface); }
body.dark-theme .woocommerce-Reviews .woocommerce-pagination .current,
body.dark-theme .woocommerce-Reviews .comment-form .submit { background-color: var(--olv-inverse-bg); }
body.dark-theme .woocommerce-Reviews .comment-form .submit:hover { background-color: var(--olv-primary); color: #fff; }

/* --------------------------------------------------------------------------
   Cart, checkout, account, wishlist, compare (parts/33-woocommerce-pages.css)
   -------------------------------------------------------------------------- */
body.dark-theme .woocommerce table.shop_table a.remove:hover,
body.dark-theme .woocommerce table.shop_table .klbwl-item--remove span:hover,
body.dark-theme .woocommerce-cart-form__contents .coupon .button:hover,
body.dark-theme .cart-empty-page .return-to-shop .button:hover,
body.dark-theme .woocommerce form.checkout_coupon .form-row-last .button:hover { background-color: var(--olv-inverse-bg); }
body.dark-theme .cart-collaterals .cart_totals,
body.dark-theme .woocommerce-form-coupon-toggle,
body.dark-theme .woocommerce-form-login-toggle,
body.dark-theme .woocommerce-checkout-payment .payment_box,
body.dark-theme .woocommerce-customer-details address,
body.dark-theme .woocommerce-Address address,
body.dark-theme .woocommerce-MyAccount-navigation,
body.dark-theme .klbwl-list .klbwl-actions ul a,
body.dark-theme .klbcp-list table.klbcp_table td.td-label,
body.dark-theme .klbcp-list .td-placeholder { background-color: var(--olv-surface); }
body.dark-theme .woocommerce-checkout-payment .payment_box::before { background-color: var(--olv-surface); }
body.dark-theme .woocommerce-checkout .blockUI.blockOverlay { background-color: rgba(20, 22, 26, 0.6); }
body.dark-theme .klbcp-list table.klbcp_table tr.product-even td { background-color: rgba(255, 255, 255, 0.03); }
body.dark-theme .klbcp-list table.klbcp_table tr.product-even td.td-label { background-color: var(--olv-elevated); }
body.dark-theme .woocommerce-MyAccount-navigation .user-avatar { color: #fff; }

/* --------------------------------------------------------------------------
   Blog (parts/40-blog.css, blog-single.css)
   -------------------------------------------------------------------------- */
body.dark-theme .klb-readmore.button:hover,
body.dark-theme .site-pagination a.page-numbers:hover,
body.dark-theme .single-post .entry-footer a:hover,
body.dark-theme .single-post .entry-tags-list a:hover,
body.dark-theme .post-comments .comment-form .submit:hover { border-color: var(--olv-inverse-bg); background-color: var(--olv-inverse-bg); }
body.dark-theme .klb-article .blog-gallery .slick-arrow { background-color: var(--olv-elevated); color: var(--olv-text); }
body.dark-theme .klb-post thead th,
body.dark-theme .post-comments .bypostauthor > .comment-body .klb-comment-body { background-color: var(--olv-surface); }
body.dark-theme .post-comments,
body.dark-theme .post-comments .comment-list + .post-comments-form,
body.dark-theme .post-comments .comment-navigation + .post-comments-form { border-top-color: var(--olv-border); }

/* --------------------------------------------------------------------------
   Elementor content (parts/50-elementor-content.css, parts/51-elementor-products.css,
   storebox.css: olverin-core/elementor/widgets/*)
   -------------------------------------------------------------------------- */
body.dark-theme .elementor-widget-social-icons .elementor-social-icon { background-color: var(--olv-elevated); }
body.dark-theme .elementor-accordion .elementor-accordion-item { border-color: var(--olv-border); background-color: var(--olv-surface); }
body.dark-theme .elementor-accordion .elementor-tab-content { border-top-color: var(--olv-border); }
body.dark-theme .elementor-accordion .elementor-tab-title,
body.dark-theme .elementor-accordion .elementor-tab-title a,
body.dark-theme .elementor-accordion .elementor-tab-content,
body.dark-theme .elementor-toggle .elementor-tab-title,
body.dark-theme .elementor-toggle .elementor-tab-content { color: var(--olv-text); }
body.dark-theme .klb-slider .slick-arrow { border-color: var(--olv-border-15); background-color: var(--olv-elevated); color: var(--olv-text); }
body.dark-theme .klb-slider .slick-arrow:hover { border-color: var(--olv-primary); background-color: var(--olv-primary); color: #fff; }
body.dark-theme .klb-slider.arrows-dark .slick-arrow { border-color: var(--olv-inverse-bg); background-color: var(--olv-inverse-bg); }
body.dark-theme .klb-slider .slick-dots li button { background-color: rgba(255, 255, 255, 0.25); }
body.dark-theme .klb-slider .slick-dots li.slick-active button { background-color: var(--olv-primary); }
body.dark-theme .klb-slider.full-width .slick-dots { background-color: rgba(0, 0, 0, 0.4); }
body.dark-theme .klb-banner.dark { color: var(--olv-inverse); }
body.dark-theme .klb-banner.dark.color-layout-white,
body.dark-theme .klb-banner.dark.color-layout-light,
body.dark-theme .klb-banner.dark.color-layout-light-gray,
body.dark-theme .klb-banner.dark.color-layout-baby-light,
body.dark-theme .text-block.color-layout-white,
body.dark-theme .text-block.color-layout-light { color: var(--olv-text); }
body.dark-theme .klb-coupon-banner .klb-coupon-inner,
body.dark-theme .klb-banner-box,
body.dark-theme .klb-custom-form,
body.dark-theme .klb-category-block.style-8,
body.dark-theme .klb-storebox .product-count,
body.dark-theme .klb-storebox .store-avatar,
body.dark-theme .klb-storebox .product-item,
body.dark-theme .klb-storebox.style-3 { background-color: var(--olv-surface); color: var(--olv-text); }
body.dark-theme .klb-coupon-banner.red-light .klb-coupon-inner { background-color: rgba(229, 62, 62, 0.14); color: #ff9a8f; }
body.dark-theme .klb-coupon-banner.red-light p { color: #ff9a8f; }
body.dark-theme .klb-video-box,
body.dark-theme .klb-promo-box,
body.dark-theme .klb-coupon-modal,
body.dark-theme .klb-storebox,
body.dark-theme .klb-storebox.style-3 .product-item,
body.dark-theme .klb-category-block.style-5 .entry-title { background-color: var(--olv-surface); }
body.dark-theme .klb-storebox .product-price { background-color: var(--olv-elevated); }
body.dark-theme .klb-category-block.style-5 .entry-title { border-color: var(--olv-border-strong); color: var(--olv-text); }
body.dark-theme .elementor-widget-blonwe-page-banner .page-header { background-color: var(--olv-surface); }
body.dark-theme .text-gradiend-dark,
body.dark-theme .text-gradiend-gray { background-image: linear-gradient(90deg, var(--olv-text) 0%, rgba(255, 255, 255, 0.6) 100%); }
body.dark-theme .module-iconbox.dark-style,
body.dark-theme .klb-countdown.filled .count-item,
body.dark-theme .sale-stamp.background-secondary,
body.dark-theme .module-header-tab .tab-item.active .tab-link,
body.dark-theme .klb-brand-section__nav a:hover,
body.dark-theme .newsletter-form .btn,
body.dark-theme .newsletter-form button[type="submit"],
body.dark-theme .newsletter-form input[type="submit"],
body.dark-theme .klb-site-newsletter-form .btn,
body.dark-theme .klb-site-newsletter-form button[type="submit"],
body.dark-theme .wpcf7-form .wpcf7-submit:hover,
body.dark-theme .woocommerce-form-track-order .button:hover { border-color: var(--olv-inverse-bg); background-color: var(--olv-inverse-bg); }
body.dark-theme .module-header-tab .tab-link { border-color: var(--olv-border-15); }
body.dark-theme .klb-countdown.filled .count-item { background-color: rgba(255, 255, 255, 0.1); color: var(--olv-text); }
body.dark-theme .custom-color-row.custom-gradient-green { background: linear-gradient(120deg, #1a2b20 0%, #16241b 100%); }
body.dark-theme .klb-audio-player .mejs-container.klb-player,
body.dark-theme .klb-audio-player .mejs-container.klb-player .mejs-controls { background: var(--olv-elevated); }
body.dark-theme .product-tick button.circle { border-color: var(--olv-surface); }

/* --------------------------------------------------------------------------
   Customizer inline CSS (olverin-core/inc/style.php) that must be beaten.
   The sticky header colors are written with !important there, so these are
   the only !important rules in the skin. The mobile sticky cart rule there
   is plain and is out-specified normally.
   -------------------------------------------------------------------------- */
body.dark-theme .site-header.sticky-header .header-main,
body.dark-theme .site-header.header-type5.sticky-header .header-main { background-color: var(--olv-surface) !important; color: var(--olv-text) !important; }
body.dark-theme .site-header.header-type5.sticky-header .header-main a { color: var(--olv-text) !important; }
@media (max-width: 64rem) {
  body.dark-theme header.sticky-header .header-mobile { border-bottom-color: var(--olv-border); }
  body.dark-theme.single .product-type-simple form.cart,
  body.dark-theme.single .woocommerce-variation-add-to-cart { background: var(--olv-elevated); box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.5); }
}
