/* mm-v9 overlay for Warehouse 4.8.2. Dedicated stylesheet after the registered assets; generated IQIT CSS stays untouched.
   Marker: mm-v9-overlay-20260915. html stays 14px (Bootstrap rem untouched); running text becomes 16px via body only.
   Palette and type from cinema-v9. No JS, no motion, no new elements. Fonts: Fraunces + Source Sans 3, SIL OFL 1.1, self-hosted. */

/* 1. Fonts (latin + latin-ext, variable wght 300..700). Absolute paths so CCC concatenation into assets/cache does not rebase them. */
@font-face { font-family: "Fraunces"; font-style: normal; font-weight: 300 700; font-display: swap;
  src: url("/shop/themes/warehouse/assets/css/mm-v9-fonts/fraunces-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Fraunces"; font-style: normal; font-weight: 300 700; font-display: swap;
  src: url("/shop/themes/warehouse/assets/css/mm-v9-fonts/fraunces-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 300 700; font-display: swap;
  src: url("/shop/themes/warehouse/assets/css/mm-v9-fonts/source-sans-3-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 300 700; font-display: swap;
  src: url("/shop/themes/warehouse/assets/css/mm-v9-fonts/source-sans-3-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
/* Metric-matched local fallbacks (same values as the v9 prototype) so text does not jump when the woff2 arrives. */
@font-face { font-family: "Fraunces ripiego"; src: local("Georgia"), local("Times New Roman"); size-adjust: 84.95%; ascent-override: 92%; descent-override: 24%; line-gap-override: 0%; }
@font-face { font-family: "Source Sans 3 ripiego"; src: local("Helvetica Neue"), local("Arial"); size-adjust: 91.8%; ascent-override: 98%; descent-override: 28%; line-gap-override: 0%; }

/* 2. Tokens (prefixed, no collision with Bootstrap --bs-*). */
:root {
  --mm-ink: #554536; --mm-olive: #484830; --mm-accent: #806330; --mm-muted: #70604e;
  --mm-paper: #ffffff; --mm-cream: #fff9e8; --mm-sand: #fffaee; --mm-stone: #f1ecdf; --mm-sage: #f0f0ea;
  --mm-line: rgba(128, 99, 48, .22); --mm-line-soft: rgba(72, 72, 48, .30);
  --mm-shadow: 0 .75rem 1.75rem rgba(85, 69, 54, .12); --mm-radius: 3px;
  --mm-serif: "Fraunces", "Fraunces ripiego", Georgia, "Times New Roman", serif;
  --mm-sans: "Source Sans 3", "Source Sans 3 ripiego", "Helvetica Neue", Arial, sans-serif;
}

/* 3. Base text, links, focus. Root font-size is NOT touched. */
body { font-family: var(--mm-sans); font-size: 16px; line-height: 1.5; color: var(--mm-ink); background: var(--mm-paper); font-optical-sizing: auto; font-synthesis-weight: none; }
#wrapper { color: var(--mm-ink); }
a { color: var(--mm-ink); }
a:hover { color: var(--mm-accent); }
:focus-visible, .btn:focus-visible, .form-control:focus-visible { outline: 2px solid var(--mm-accent); outline-offset: 2px; box-shadow: none; }
.btn:focus, .btn-primary:focus, .btn-secondary:focus, .btn-outline-secondary:focus { box-shadow: none; }
h1, h2, h3, h4, .h1, .h2, .h3, .h4, .page-title, .modal-title, .step-title { font-family: var(--mm-serif); font-weight: 400; letter-spacing: -.02em; color: var(--mm-ink); font-optical-sizing: auto; }
h2 { font-size: clamp(1.75rem, 1.1rem + 1.6vw, 2.8rem); } /* replaces the baseline global 48px/#704500 h2 */
label, .form-control-label { font-family: var(--mm-sans); color: var(--mm-ink); }

/* 4. Header, search, cart trigger (Warehouse structure and icons untouched). */
#header, #checkout-header { border-bottom: 1px solid var(--mm-line); }
#header .header-nav { color: var(--mm-muted); background: var(--mm-cream); font-family: var(--mm-sans); font-size: .8rem; letter-spacing: .06em; }
#header .header-nav a { color: var(--mm-ink); }
#header .header-nav a:hover { color: var(--mm-accent); }
.header-top { color: var(--mm-ink); }
.header-top a:not(.btn):not(.nav-link) { color: var(--mm-ink); }
.header-top a:not(.btn):not(.nav-link):hover { color: var(--mm-accent); }
.sticky-desktop-wrapper #desktop-header.stuck-header, .stuck-menu { background: var(--mm-sand); box-shadow: 0 1px 0 var(--mm-line); }
.header-top .form-search-control { background: var(--mm-paper); color: var(--mm-ink); border: 1px solid var(--mm-line); border-radius: var(--mm-radius); }
.header-top .form-search-control:focus { border-color: var(--mm-accent); box-shadow: none; }
.header-top .header-cart-default a.cart-toogle { background: var(--mm-ink); color: var(--mm-paper); border-radius: var(--mm-radius); }
.header-top .header-cart-default a.cart-toogle:hover { background: var(--mm-accent); color: var(--mm-paper); }
.header-top a.header-cart-btn:not(:hover), #sticky-cart-wrapper a.header-cart-btn:not(:hover) { color: var(--mm-ink); }
.cart-products-count-btn { background: var(--mm-olive); color: var(--mm-paper); }
#blockcart-content { background: var(--mm-paper); border: 1px solid var(--mm-line); box-shadow: var(--mm-shadow); } /* z-index rule left as is */

/* 5. Desktop mega menu. */
#iqitmegamenu-horizontal { background: var(--mm-paper); font-family: var(--mm-sans); }
.cbp-horizontal > ul > li > a, .cbp-horizontal > ul > li > a:not([href]):not([tabindex]), .cbp-horizontal > ul > li > .cbp-main-link { color: var(--mm-ink); }
.cbp-horizontal .cbp-tab-title { font-family: var(--mm-sans); font-size: clamp(.93rem, .7rem + .4vw, 1.07rem); font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.cbp-horizontal > ul > li.cbp-hropen > a, .cbp-horizontal > ul > li.cbp-hropen > a:not([href]):not([tabindex]), .cbp-horizontal > ul > li.cbp-hropen > a:hover { background: var(--mm-paper); color: var(--mm-olive); }
.cbp-hrmenu .cbp-hrsub { font-family: var(--mm-sans); }
.cbp-hrmenu .cbp-hrsub-inner, .cbp-hrmenu ul.cbp-hrsub-level2 { background: var(--mm-paper); border: 1px solid var(--mm-line); box-shadow: var(--mm-shadow); }
.cbp-hrmenu .cbp-hrsub-inner a:hover { color: var(--mm-accent) !important; } /* baseline uses !important on this exact selector */
.cbp-hrmenu .cbp-hrsub-inner .cbp-column-title, .cbp-hrmenu .cbp-hrsub-inner a.cbp-column-title:link { color: var(--mm-olive) !important; font-family: var(--mm-sans); font-size: .8rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; } /* baseline !important */
.cbp-hrmenu .tabs-links { background: var(--mm-cream); }

/* 6. Mobile header and menu. */
#mobile-header { border-bottom: 1px solid var(--mm-line); }
#mobile-header .m-nav-btn { color: var(--mm-ink); }
#mobile-header .m-nav-btn:hover { color: var(--mm-accent); }
#mobile-header .mobile-buttons-bar { background: var(--mm-cream); }
#mobile-header .col-mobile-menu-dropdown.show .m-nav-btn { color: var(--mm-ink) !important; } /* baseline !important */
#iqitmegamenu-mobile, .mobile-menu__submenu { background: var(--mm-paper); }
.mobile-menu__tab { border-bottom: 1px solid var(--mm-line); }
.mobile-menu__link, #iqitmegamenu-mobile li > ul.mobile-menu__submenu--accordion .mobile-menu__link { color: var(--mm-ink) !important; font-family: var(--mm-serif); letter-spacing: -.015em; } /* baseline !important */
#iqitmegamenu-mobile li > ul.mobile-menu__submenu--accordion .mobile-menu__link { font-size: 1.15rem; }
.mobile-menu__arrow, .mobile-menu__close, .mobile-menu__back-btn { color: var(--mm-ink); }
.mobile-menu__header-wrapper, .mobile-menu__footer { color: var(--mm-ink); background-color: var(--mm-cream); }
.mobile-menu__column-title { color: var(--mm-olive) !important; font-family: var(--mm-sans); font-size: .8rem; font-weight: 600; letter-spacing: .16em; } /* baseline !important */
.mobile-menu__column { color: var(--mm-ink); }
.mobile-menu__legend { background-color: var(--mm-olive); }

/* 7. Flat buttons; disabled hover pinned to the rest state so disabled never changes colour. */
.btn-primary, .btn-primary.disabled, .btn-primary:disabled { background: var(--mm-ink); color: var(--mm-paper); border: 1px solid var(--mm-ink); }
.btn-primary:hover, .btn-primary:focus, .btn-primary:not(:disabled):not(.disabled):active { background: var(--mm-accent); color: var(--mm-paper); border-color: var(--mm-accent); }
.btn-primary.disabled:hover, .btn-primary.disabled:focus, .btn-primary:disabled:hover, .btn-primary:disabled:focus { background: var(--mm-ink); color: var(--mm-paper); border-color: var(--mm-ink); }
.btn-secondary, .btn-secondary.disabled, .btn-secondary:disabled, .btn-outline-secondary, .btn-outline-secondary.disabled, .btn-outline-secondary:disabled { background: var(--mm-paper); color: var(--mm-ink); border: 1px solid var(--mm-line-soft); }
.btn-secondary:hover, .btn-secondary:focus, .btn-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:hover { background: var(--mm-stone); color: var(--mm-ink); border-color: var(--mm-olive); }
.btn-secondary.disabled:hover, .btn-secondary:disabled:hover, .btn-outline-secondary.disabled:hover, .btn-outline-secondary:disabled:hover { background: var(--mm-paper); color: var(--mm-ink); border-color: var(--mm-line-soft); }
.btn-product-list { background: var(--mm-ink); color: var(--mm-paper); border: 1px solid var(--mm-ink); }
.btn-product-list:hover { background: var(--mm-paper); color: var(--mm-ink); }
.btn-primary, .btn-secondary, .btn-outline-secondary, .btn-product-list { border-radius: var(--mm-radius); font-family: var(--mm-sans); font-size: .93rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }

/* 8. Forms. */
.form-control { background-color: var(--mm-paper); color: var(--mm-ink); border: 1px solid var(--mm-line-soft); border-radius: var(--mm-radius); font-family: var(--mm-sans); font-size: 16px; }
#product .product-variants select.form-control { min-height: 44px; }
.form-control:focus { color: var(--mm-ink); border-color: var(--mm-accent); box-shadow: 0 0 0 2px rgba(128, 99, 48, .15); }
.form-control::placeholder { color: var(--mm-muted); opacity: 1; }
.custom-select2, .custom-select2 option { background-color: var(--mm-paper); }
.custom-select2:after { color: var(--mm-ink); }
.bootstrap-touchspin .btn-touchspin { background-color: var(--mm-paper); color: var(--mm-ink); border: 1px solid var(--mm-line-soft); }
.custom-checkbox input[type=checkbox] + span .checkbox-checked { color: var(--mm-olive); }
.custom-radio input[type=radio]:checked + span { background-color: var(--mm-olive); }
.custom-checkbox input[type=checkbox] + span:not(.color), .custom-radio { background: var(--mm-paper); color: var(--mm-olive); border-color: var(--mm-line-soft); }

/* 9. Page, section and block titles, tabs, breadcrumb, pagination. */
#content-wrapper .page-title { color: var(--mm-ink); font-family: var(--mm-serif); font-size: clamp(1.9rem, 1.2rem + 1.6vw, 2.7rem); font-weight: 400; letter-spacing: -.028em; border-bottom: 1px solid var(--mm-line); }
#content-wrapper .page-title a:link, #content-wrapper .page-title a:visited { color: var(--mm-ink); }
#content-wrapper .section-title { color: var(--mm-ink); font-family: var(--mm-serif); font-size: 1.45rem; font-weight: 400; letter-spacing: -.02em; border-bottom: 1px solid var(--mm-line); }
#content-wrapper .section-title a:link, #content-wrapper .section-title a:visited { color: var(--mm-ink); }
.block-title, #wrapper .block-title, #footer .block-title, #checkout-footer .block-title { color: var(--mm-olive); font-family: var(--mm-sans); font-size: .78rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; border-bottom: 1px solid var(--mm-line); }
#wrapper .block-title a:link, #wrapper .block-title a:visited, #footer .block-title a:link, #footer .block-title a:visited { color: var(--mm-olive); }
#footer .block-title, #checkout-footer .block-title { border-bottom: 0; }
.nav-tabs .nav-link { color: var(--mm-muted); font-family: var(--mm-sans); font-size: 1rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.nav-tabs .nav-link.active, .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { color: var(--mm-ink); border-bottom: 2px solid var(--mm-olive); }
.iqit-accordion .nav-link:not(.collapsed) { color: var(--mm-ink); border-bottom: 2px solid var(--mm-olive); }
#wrapper .breadcrumb { color: var(--mm-muted); font-size: .8rem; letter-spacing: .04em; }
#wrapper .breadcrumb a, #wrapper .breadcrumb li:after { color: var(--mm-muted); }
.pagination .page-list li:hover, .pagination .page-list li.current { border-color: var(--mm-olive); }
.pagination .page-list li.current a { color: var(--mm-olive); }

/* 10. Product miniatures: white photo field, contained images, fine border, modest corner. Stock and semantic colours untouched. */
.product-miniature .thumbnail-container { background: var(--mm-paper); border: 1px solid var(--mm-line); border-radius: var(--mm-radius); transition: border-color .2s ease; }
.product-miniature .thumbnail-container:hover { border-color: var(--mm-accent); }
.product-miniature .thumbnail-container img { object-fit: contain; background: var(--mm-paper); border-radius: var(--mm-radius); }
.product-miniature-grid .product-title { font-family: var(--mm-serif); font-size: clamp(16px, 1.1vw, 18px); font-weight: 400; letter-spacing: -.01em; text-transform: none; line-height: 1.25; color: var(--mm-ink); }
.product-miniature-grid .product-title a:link, .product-miniature-grid .product-title a:visited { color: var(--mm-ink); }
.product-miniature-grid .product-price { font-family: var(--mm-sans); font-size: 16px; font-weight: 600; }
.product-price { color: var(--mm-accent); }
.regular-price { color: var(--mm-muted); }
.product-flags .product-flag { font-family: var(--mm-sans); font-size: .72rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; border-radius: 2px; }
.product-flags .discount, .product-flags .on-sale, .discount { background: var(--mm-accent); color: var(--mm-paper); }
.product-flags .new { background: var(--mm-olive); color: var(--mm-paper); }
.product-flags .online-only, .product-flags .pack { background: var(--mm-stone); color: var(--mm-ink); }
.product-miniature-grid .product-functional-buttons { background: var(--mm-paper); }
.swiper-button-next, .swiper-button-prev { background: var(--mm-ink); color: var(--mm-paper); }
.swiper-pagination-bullet { background: var(--mm-ink); }

/* 11. Product page. */
#product .images-container .product-cover { background: var(--mm-paper); border: 1px solid var(--mm-line); border-radius: var(--mm-radius); }
#product .product-cover img, #product .images-container .thumb-container img { object-fit: contain; background: var(--mm-paper); }
.product_header_container .product-price, .product_p_price_container .product-price { font-family: var(--mm-sans); font-size: 1.55rem; font-weight: 600; }
.images-container .swiper-button-arrow, #product .product-cover .expander > span, #product-modal .modal-body .swiper-button-arrow, #product .product-cover .expander { color: var(--mm-paper); background: var(--mm-ink); }

/* 12. Cards, cart, checkout, modals, dropdowns (z-index and visibility untouched). */
.card, .modal-content { background: var(--mm-paper); border: 1px solid var(--mm-line); border-radius: var(--mm-radius); box-shadow: none; }
.modal-backdrop { background: rgba(85, 69, 54, .5); }
.cart-grid-right .cart-summary, #js-checkout-summary { background: var(--mm-sage); }
.cart-grid-body .cart-item, .cart-items .cart-item { border-bottom: 1px solid var(--mm-line); }
.product-line-grid img, .cart-summary-products img, .product-line-image img { object-fit: contain; background: var(--mm-paper); border: 1px solid var(--mm-line); border-radius: var(--mm-radius); }
.cart-summary-line .value, .cart-summary-totals .value { color: var(--mm-ink); font-weight: 600; }
.cart-total .value { color: var(--mm-accent); }
#checkout .step-title { font-size: 1.35rem; }
#checkout-header, #checkout-footer { background: var(--mm-paper); }
.dropdown-menu, .autocomplete-suggestions { background: var(--mm-paper); border: 1px solid var(--mm-line); border-radius: var(--mm-radius); box-shadow: var(--mm-shadow); }
.dropdown-menu .dropdown-item, .autocomplete-suggestions .dropdown-item { color: var(--mm-ink) !important; border-bottom-color: var(--mm-line); } /* baseline !important */
.dropdown-menu .dropdown-item:focus, .dropdown-menu .dropdown-item:hover, .autocomplete-suggestions .dropdown-item:focus, .autocomplete-suggestions .dropdown-item:hover { background: rgba(128, 99, 48, .07); }

/* 13. Footer: cream field, stone newsletter band, olive column heads. */
#footer, #checkout-footer { background: var(--mm-cream); color: var(--mm-ink); border-top: 1px solid var(--mm-line-soft); }
#footer-container-first { background: var(--mm-stone); color: var(--mm-ink); border-top: 0; }
#footer-container-first .h5 { font-family: var(--mm-serif); font-size: 1.5rem; font-weight: 400; letter-spacing: -.02em; text-transform: none; }
#footer .ps-emailsubscription-block .newsletter-input-group, #checkout-footer .ps-emailsubscription-block .newsletter-input-group { border: 1px solid var(--mm-line-soft); background: var(--mm-paper); border-radius: var(--mm-radius); }
#footer .ps-emailsubscription-block .newsletter-input-group .input-subscription, #footer .ps-emailsubscription-block .newsletter-input-group .btn-subscribe { color: var(--mm-ink); }
#footer .ps-emailsubscription-block .newsletter-input-group .btn-subscribe:hover { color: var(--mm-accent); }
#footer-container-main, #checkout-footer { color: var(--mm-muted); }
#footer-container-main a, #checkout-footer a { color: var(--mm-ink); }
#footer-container-main a:hover, #checkout-footer a:hover { color: var(--mm-accent); }
#footer-copyrights { background: var(--mm-paper); border-top: 1px solid var(--mm-line-soft); color: var(--mm-muted); font-size: .8rem; }
#footer .social-links._footer a:not(:hover), #checkout-footer .social-links._footer a:not(:hover) { color: var(--mm-olive) !important; } /* baseline !important */

@media (prefers-reduced-motion: reduce) { .product-miniature .thumbnail-container, .header-top { transition: none; } }

/* Observed live Elementor widgets, home only. Their per-widget generated rules
   load after the theme: these scoped overrides intentionally use !important.
   No editor settings, content, columns, spacing or image cropping are rewritten. */
#index .elementor-widget-heading h2.elementor-heading-title { font-family: var(--mm-serif) !important; font-size: clamp(30px, 3.2vw, 48px) !important; font-weight: 400 !important; line-height: 1.12 !important; color: var(--mm-ink) !important; letter-spacing: -.025em; }
#index .elementor-widget-heading div.elementor-heading-title { font-family: var(--mm-sans) !important; font-size: 12px !important; font-weight: 600 !important; color: var(--mm-olive) !important; letter-spacing: .16em; text-transform: uppercase; }
#index .elementor-text-editor { font-family: var(--mm-sans) !important; font-size: 17px !important; line-height: 1.55 !important; color: var(--mm-muted) !important; }
#index .elementor-button { font-family: var(--mm-sans) !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: .12em; text-transform: uppercase; border: 1px solid var(--mm-ink) !important; border-radius: var(--mm-radius) !important; background: var(--mm-ink) !important; color: var(--mm-paper) !important; padding: 12px 22px !important; }
#index .elementor-button:hover { background: var(--mm-accent) !important; border-color: var(--mm-accent) !important; }
#index .elementor-icon-box-title { font-family: var(--mm-serif) !important; font-weight: 400 !important; color: var(--mm-ink) !important; }
#index .elementor-icon-box-description { font-family: var(--mm-sans) !important; color: var(--mm-muted) !important; }
#index .elementor-view-stacked .elementor-icon { background-color: var(--mm-olive) !important; color: var(--mm-paper) !important; }
/* end mm-v9-overlay-20260915 */
