/* ============================================================
   Möble Hani – v1.2 upgrade layer
   Loaded AFTER every theme stylesheet so it can safely override.
   Contents:
     1) responsive/typography hardening
     2) search (submit icon + results page)
     3) header category fly-out (always includes empty categories)
     4) product table frames (short description etc.)
     5) dark mode
   ============================================================ */

/* ---------- 1) base hardening & fluid typography ---------- */
img, video, iframe, embed, object { max-width: 100%; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { font-size: 15px; line-height: 1.85; }
p, li, dd, blockquote { overflow-wrap: break-word; }
h1, h2, h3, h4, h5, h6 { line-height: 1.6; overflow-wrap: break-word; }
.entry-content, .woocommerce-product-details__short-description,
.woocommerce-Tabs-panel .panel, .woocommerce-tabs .panel,
.mh-comment-content, .comment-content { min-width: 0; overflow-wrap: break-word; }
.entry-content { font-size: 15px; }
.entry-content p { margin: 0 0 14px; }

/* fluid hero + section headings */
.hero h1 { font-size: clamp(26px, 4vw, 38px); }
.hero p { font-size: clamp(14px, 1.15vw, 16.5px); }
.section-heading h2 { font-size: clamp(18px, 2vw, 23px); }
.woocommerce div.product .product_title, .product-info h1 { font-size: clamp(21px, 2.4vw, 27px); }
.mh-shop-head h1, .page-hero h1 { font-size: clamp(21px, 2.6vw, 27px); }
.entry-title { font-size: clamp(20px, 2.6vw, 27px); }
.newsletter h2, .service-dialog-title h2 { font-size: clamp(18px, 2.2vw, 23px); }

/* price rows may shrink but never force the page wider */
.price-row { flex-wrap: wrap; }
.price { white-space: normal; }
.woocommerce div.product p.price, .woocommerce div.product span.price { font-size: clamp(18px, 2.2vw, 23px); }

/* ---------- 1b) wish button now lives INSIDE .product-card (valid HTML) ---------- */
.product-card { position: relative; min-width: 0; }
.product-card .wish { top: 18px; left: 18px; z-index: 3; }
.product-card .wish.liked { color: #b62c3e; }
.woocommerce ul.products li.product { min-width: 0; }

/* ---------- 2) search ---------- */
.search { min-width: 0; }
.search-submit { border: 0; background: transparent; padding: 0; color: var(--gold-dark); font-size: 19px; line-height: 1; flex: 0 0 auto; }
.search-submit:hover { color: var(--gold); }
.mh-search-page { padding: 18px 0 60px; }
.mh-search-head h1 { margin: 0 0 4px; }
.mh-search-head mark { background: none; color: var(--gold-dark); font-weight: 800; }
.mh-search-count { color: var(--muted); font-size: 12px; margin: 0 0 18px; }
.mh-search-products { margin-top: 6px; }
.mh-search-list { max-width: 860px; margin: 0 auto; }
.mh-search-item { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 16px 18px; margin-bottom: 14px; }
.mh-search-item h2 { margin: 0 0 6px; font-size: 17px; }
.mh-search-item h2 a:hover { color: var(--gold-dark); }
.mh-search-item p { margin: 0; color: var(--muted); font-size: 13px; }
.mh-search-empty { text-align: center; padding: 40px 26px; }
.mh-search-empty-mark { display: inline-block; font-size: 44px; color: var(--gold); margin-bottom: 8px; }
.mh-search-empty h2 { font-size: clamp(17px, 2.4vw, 22px); margin: 0 0 10px; }
.mh-search-empty p { color: var(--muted); font-size: 13px; }
.mh-search-empty .mh-search-cats { justify-content: center; margin: 10px auto 6px; }
.mh-search-cats .category { flex: 0 0 118px; background: var(--cream); }
.mh-search-again { margin-top: 18px; }
.mh-search-form { display: flex; gap: 8px; max-width: 520px; margin: 0 auto; background: #fff; }
.mh-search-form input { border: 0; background: transparent; }

/* ---------- 3) header category fly-out ---------- */
.cat-nav { position: relative; }
.cat-nav .category-trigger { display: inline-flex; align-items: center; gap: 7px; }
.cat-flyout {
  display: none;
  position: absolute; top: calc(100% + 10px); right: 0; z-index: 60;
  width: 268px; padding: 9px;
  background: var(--paper, #fffdf8); border: 1px solid var(--line);
  border-radius: 14px; box-shadow: var(--shadow);
  max-height: min(480px, calc(100vh - 140px)); overflow-y: auto;
}
.cat-nav:hover .cat-flyout, .cat-nav.open .cat-flyout, .cat-nav:focus-within .cat-flyout { display: block; }
.cat-flyout a { display: flex; align-items: center; gap: 9px; padding: 9px 10px; border-radius: 10px; font-weight: 600; font-size: 13px; }
.cat-flyout a:hover { background: var(--cream); color: var(--gold-dark); }
.cat-flyout .cat-flyout-icon { width: 26px; height: 26px; flex: 0 0 26px; display: grid; place-items: center; color: var(--gold); font-size: 17px; }
.cat-flyout .cat-flyout-icon img { width: 24px; height: 24px; object-fit: contain; display: block; }
.cat-flyout b { flex: 1; text-align: right; font-weight: 700; }
.cat-flyout i { font-style: normal; font-size: 10px; color: var(--muted); background: var(--cream); padding: 2px 7px; border-radius: 20px; }
.cat-flyout .cat-flyout-all { border-bottom: 1px solid var(--line); border-radius: 0; margin-bottom: 6px; padding-bottom: 10px; }

/* ---------- 4) product / rich-text table frames ---------- */
.mh-table-scroll {
  max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch;
  margin: 16px 0; border: 1px solid var(--line); border-radius: 12px;
  background: #fff;
}
.mh-table-scroll::-webkit-scrollbar { height: 8px; }
.mh-table-scroll::-webkit-scrollbar-thumb { background: var(--gold-soft); border-radius: 8px; }
.mh-table-scroll table { width: 100%; min-width: 460px; border-collapse: collapse; margin: 0 !important; }
.mh-table-scroll th, .mh-table-scroll td {
  border: 1px solid var(--line); padding: 9px 12px; text-align: right;
  font-size: 13px; line-height: 1.9; vertical-align: top;
}
.mh-table-scroll th { background: var(--cream); font-weight: 800; color: var(--ink); }
.mh-table-scroll td { background: #fff; color: inherit; }
.mh-table-scroll tr:nth-child(even) td { background: #fdfbf6; }
.mh-table-scroll img { border-radius: 8px; }

.woocommerce div.product .woocommerce-product-details__short-description { font-size: 14px; line-height: 2.05; }
.woocommerce div.product .woocommerce-product-details__short-description p { margin: 0 0 10px; }
.woocommerce div.product .woocommerce-product-details__short-description ul,
.woocommerce div.product .woocommerce-product-details__short-description ol { padding-right: 20px; margin: 6px 0 12px; }

/* small screens: keep tables usable inside their frame, tighten article text */
@media (max-width: 600px) {
  .mh-table-scroll th, .mh-table-scroll td { padding: 7px 9px; font-size: 12px; }
  .woocommerce div.product .woocommerce-product-details__short-description { font-size: 13.5px; }
}

/* ---------- theme toggle (header + drawer) ---------- */
.theme-toggle {
  display: inline-grid; place-items: center;
  min-width: 38px; height: 38px; border: 0; border-radius: 10px;
  background: var(--cream); color: var(--ink); font-size: 18px; line-height: 1;
  transition: .2s;
}
.theme-toggle:hover { background: var(--gold-soft); }
.theme-toggle .theme-toggle-sun { display: none; }
.theme-toggle .theme-toggle-moon { display: inline-block; }
html[data-theme="dark"] .theme-toggle-sun { display: inline-block; }
html[data-theme="dark"] .theme-toggle-moon { display: none; }
.mobile-drawer-head { display: flex; align-items: center; gap: 8px; }
.mobile-drawer-head .mobile-drawer-brand { margin-inline-end: auto; }
.mobile-drawer-head .drawer-close { background: var(--cream); }
@media (max-width: 600px) {
  .header-actions .theme-toggle { min-width: 34px; height: 34px; font-size: 16px; }
}

/* ============================================================
   5) DARK MODE
   Toggle is driven by <html data-theme="dark"> set in <head>
   (no flash), persisted in localStorage, respects the OS
   preference on first visit. Sun/moon button lives in the
   header and in the mobile drawer.
   ============================================================ */
html[data-theme="dark"] {
  --gold: #d6ab53;
  --gold-dark: #e5c477;
  --gold-soft: #c8a24e;
  --ink: #ece4d2;
  --muted: #a49a87;
  --cream: #12100d;
  --paper: #1b1813;
  --line: #322d24;
  --success: #62c193;
  --shadow: 0 14px 36px rgba(0,0,0,.55);
  color-scheme: dark;
}
html[data-theme="dark"] body { background: var(--cream); color: var(--ink); }

/* dark "neutral" surfaces that used --ink as a background colour */
html[data-theme="dark"] .topbar,
html[data-theme="dark"] .tag,
html[data-theme="dark"] .social-fab-toggle,
html[data-theme="dark"] .toast,
html[data-theme="dark"] .woocommerce div.product .images:after { background: #17140f; color: #fff; }

/* text kept readable wherever it sat on paper-white */
html[data-theme="dark"] .product-title,
html[data-theme="dark"] .category,
html[data-theme="dark"] .category b,
html[data-theme="dark"] .main-nav,
html[data-theme="dark"] .mobile-drawer-nav a,
html[data-theme="dark"] .story,
html[data-theme="dark"] .footer-brand p,
html[data-theme="dark"] .price-row .price { color: var(--ink); }

/* generic surface swaps: whites -> warm near-black */
html[data-theme="dark"] .site-header,
html[data-theme="dark"] .stories,
html[data-theme="dark"] .features,
html[data-theme="dark"] .page-hero,
html[data-theme="dark"] .search,
html[data-theme="dark"] .entry-content,
html[data-theme="dark"] .entry-content .mh-search-item,
html[data-theme="dark"] .mh-search-item,
html[data-theme="dark"] .search:not(.mh-search-form) { background: var(--paper); border-color: var(--line); }
html[data-theme="dark"] .category,
html[data-theme="dark"] .product-card,
html[data-theme="dark"] .article-card,
html[data-theme="dark"] .promo,
html[data-theme="dark"] .service-dialog,
html[data-theme="dark"] .mobile-drawer,
html[data-theme="dark"] .woocommerce div.product,
html[data-theme="dark"] .woocommerce table.shop_table,
html[data-theme="dark"] .woocommerce table.shop_attributes,
html[data-theme="dark"] .woocommerce table.shop_table th, html[data-theme="dark"] .woocommerce table.shop_table td,
html[data-theme="dark"] .woocommerce table.shop_attributes td, html[data-theme="dark"] .woocommerce table.shop_attributes th,
html[data-theme="dark"] .checkout-card,
html[data-theme="dark"] .woocommerce-checkout #customer_details,
html[data-theme="dark"] .woocommerce-checkout #order_review,
html[data-theme="dark"] .woocommerce-order,
html[data-theme="dark"] .woocommerce .cart-collaterals .cart_totals,
html[data-theme="dark"] .mh-comment-list .comment-body,
html[data-theme="dark"] .mh-comments .comment-respond,
html[data-theme="dark"] .mh-review-form-card,
html[data-theme="dark"] .mh-reviews .comment_container,
html[data-theme="dark"] .service-info-grid article,
html[data-theme="dark"] .cat-flyout { background: var(--paper); border-color: var(--line); }

html[data-theme="dark"] .product-image,
html[data-theme="dark"] .gallery-main,
html[data-theme="dark"] .woocommerce div.product div.images img,
html[data-theme="dark"] .woocommerce div.product .images .mh-gallery-main,
html[data-theme="dark"] .thumb,
html[data-theme="dark"] .mh-gallery-thumb,
html[data-theme="dark"] .article-image { background: #221e17; }

html[data-theme="dark"] .site-footer,
html[data-theme="dark"] .newsletter-box,
html[data-theme="dark"] .story-dialog { background: #0e0c0a; }
html[data-theme="dark"] .promo:before, html[data-theme="dark"] .hero-card:before { background: linear-gradient(90deg, rgba(8,7,5,.55) 25%, rgba(8,7,5,.78)); }
html[data-theme="dark"] .promo.second { background: #1a130a; }

/* form controls */
html[data-theme="dark"] input, html[data-theme="dark"] select, html[data-theme="dark"] textarea,
html[data-theme="dark"] .newsletter input,
html[data-theme="dark"] .qty button, html[data-theme="dark"] .qty input,
html[data-theme="dark"] .drawer-socials a,
html[data-theme="dark"] .social-fab-links a,
html[data-theme="dark"] .wish,
html[data-theme="dark"] .service-close,
html[data-theme="dark"] .service-form input, html[data-theme="dark"] .service-form select, html[data-theme="dark"] .service-form textarea,
html[data-theme="dark"] .mh-review-form-card input, html[data-theme="dark"] .mh-review-form-card select, html[data-theme="dark"] .mh-review-form-card textarea,
html[data-theme="dark"] .mh-comments input, html[data-theme="dark"] .mh-comments textarea,
html[data-theme="dark"] .field input, html[data-theme="dark"] .field select, html[data-theme="dark"] .field textarea,
html[data-theme="dark"] .woocommerce form .form-row input.input-text, html[data-theme="dark"] .woocommerce form .form-row select, html[data-theme="dark"] .woocommerce form .form-row textarea,
html[data-theme="dark"] .payment-option,
html[data-theme="dark"] .woocommerce .quantity .qty,
html[data-theme="dark"] .woocommerce-ordering select { background: #221e16; border-color: #3a342a; color: var(--ink); }
html[data-theme="dark"] input::placeholder, html[data-theme="dark"] textarea::placeholder { color: #8d8370; }

html[data-theme="dark"] .mh-table-scroll { background: var(--paper); }
html[data-theme="dark"] .mh-table-scroll th { background: #26211a; color: var(--ink); }
html[data-theme="dark"] .mh-table-scroll td { background: transparent; }
html[data-theme="dark"] .mh-table-scroll tr:nth-child(even) td { background: rgba(255,255,255,.03); }
html[data-theme="dark"] .mh-table-scroll img { filter: brightness(.92); }

/* gold accents used as small backgrounds stay warm */
html[data-theme="dark"] .payment-option:has(input:checked),
html[data-theme="dark"] .service-upload,
html[data-theme="dark"] .mh-average-rating,
html[data-theme="dark"] .mh-verification-required,
html[data-theme="dark"] .footer-logo-shell { background: #262012; border-color: #5c4a22; color: var(--ink); }
html[data-theme="dark"] .mh-average-rating b { color: var(--gold-dark); }
html[data-theme="dark"] .service-upload small, html[data-theme="dark"] .mh-average-rating small { color: var(--muted); }

/* light buttons keep dark text for contrast on gold */
html[data-theme="dark"] .btn, html[data-theme="dark"] .add, html[data-theme="dark"] .category-trigger,
html[data-theme="dark"] .woocommerce button.button.alt, html[data-theme="dark"] .pagination .current,
html[data-theme="dark"] .woocommerce-pagination .current, html[data-theme="dark"] .cart .button { color: #171310; }
html[data-theme="dark"] .btn:hover, html[data-theme="dark"] .add:hover, html[data-theme="dark"] .category-trigger:hover { color: #171310; background: #e2bb67; }
html[data-theme="dark"] .btn-light { background: var(--ink); color: var(--cream); }
html[data-theme="dark"] .btn-outline { color: var(--gold-dark); border-color: var(--gold); }
html[data-theme="dark"] .add { background: var(--cream); color: var(--gold-dark); }
html[data-theme="dark"] .story-product-link { background: #e2bb67; color: #171310; }
html[data-theme="dark"] .wish { background: rgba(30,26,19,.9); }

/* misc text/lines */
html[data-theme="dark"] .product-info .summary,
html[data-theme="dark"] .woocommerce div.product .woocommerce-product-details__short-description { color: #cfc6b4; }
html[data-theme="dark"] .mh-reviews .description p,
html[data-theme="dark"] .mh-comment-list .comment-content { color: #d3cbbb; }
html[data-theme="dark"] .old-price { color: #8a8071; }
html[data-theme="dark"] .main-nav .sub-menu { background: var(--paper); }
html[data-theme="dark"] .feature { border-color: var(--line); }
html[data-theme="dark"] .story-ring img, html[data-theme="dark"] .story:first-child .story-ring img { border-color: #1d1913; }
html[data-theme="dark"] .feature-icon, html[data-theme="dark"] .newsletter .btn { color: var(--ink); }
html[data-theme="dark"] .cart-count { color: #fff; }
html[data-theme="dark"] .entry-content, html[data-theme="dark"] .mh-search-item { color: var(--ink); }

/* floating bottom bar */
html[data-theme="dark"] .floating-menu { background: rgba(27,24,19,.97); border-color: rgba(214,171,83,.45); }
html[data-theme="dark"] .floating-menu a, html[data-theme="dark"] .floating-menu button { color: var(--ink); }
html[data-theme="dark"] .floating-menu a:hover, html[data-theme="dark"] .floating-menu button:hover { background: #262119; color: var(--gold-dark); }
html[data-theme="dark"] .social-labels a { border-color: #5a5142; }
html[data-theme="dark"] .footer-logo-shell img { background: transparent !important; }
html[data-theme="dark"] .service-fab { color: #171310; }

/* smooth theme transition (avoid on huge areas for perf) */
html[data-theme="dark"] body, body, .site-header, .category, .product-card,
.article-card, .search, .entry-content, .mobile-drawer, .floating-menu {
  transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}

/* ============================================================
   6) responsive refinements (mid + small screens)
   ============================================================ */
@media (max-width: 1100px) {
  .header-main { grid-template-columns: 150px minmax(180px, 1fr) auto; gap: 14px; }
}

@media (max-width: 900px) {
  .menu-row .container { flex-wrap: wrap; }
  .main-nav { flex: 0 0 auto; max-width: 100%; overflow-x: auto; scrollbar-width: none; }
  .main-nav::-webkit-scrollbar { display: none; }
  .hero-card { min-height: 320px; }
  .hero-content { padding: 40px 34px; }
}

@media (max-width: 600px) {
  body { font-size: 14px; }
  .container { padding-inline: 14px; }
  .site-header { top: 0; }
  .topbar .container { gap: 8px; }
  .topbar-notice { font-size: 10.5px; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 92vw; }
  .header-main { grid-template-columns: auto 1fr auto; }
  .hero-card { min-height: 300px; }
  .hero-content { padding: 26px 18px 60px; max-width: 100%; }
  .hero h1 { font-size: clamp(21px, 6.4vw, 27px); }
  .hero p { font-size: 13px; }
  .hero-pills { bottom: 14px; left: 14px; }
  .btn { padding: 10px 14px; }
  .product-grid, .woocommerce ul.products, .woocommerce-page ul.products { gap: 9px; }
  .product-card .wish { top: 10px; left: 10px; }
  .product-title { line-height: 1.8; }
  .article-grid { gap: 10px; }
  .woocommerce div.product { margin-inline: 8px; }
  .promo { padding: 20px 17px; }
  .promo h2 { font-size: 18px; }
  .footer-grid { row-gap: 24px; }
  .search input { font-size: 14px; }
  .toast { bottom: 86px; }
  /* WooCommerce cart table scrolls inside its own box instead of breaking the layout */
  .woocommerce-cart-form, .woocommerce-cart .cart-collaterals { overflow-x: auto; }
  .woocommerce-cart table.shop_table { min-width: 560px; }
}

@media (max-width: 380px) {
  .header-actions { gap: 4px; }
  .icon-btn { min-width: 34px; height: 34px; }
  .hero-card { min-height: 280px; }
  .hero h1 { font-size: 20px; }
  .section-heading h2 { font-size: 16px; }
  .brand img { width: 88px; height: 48px; }
}

/* force whole-site one-column product layout on ultra-narrow screens */
@media (max-width: 359px) {
  .product-grid { grid-template-columns: 1fr !important; }
}



/* ============================================================
   7) v1.3 catalogue, search and product-detail reliability
   ============================================================ */
.mh-search-head { margin-bottom: 18px; }
.mh-search-list { margin-top: 24px; }
.mh-search-item { display: grid; grid-template-columns: 126px minmax(0, 1fr); gap: 16px; align-items: center; }
.mh-search-item.no-thumb { grid-template-columns: 1fr; }
.mh-search-thumb { display: block; width: 126px; height: 96px; overflow: hidden; border-radius: 10px; background: var(--cream); }
.mh-search-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mh-search-form { height: 50px; padding: 4px 5px 4px 12px; border: 1px solid var(--line); }
.mh-search-form .btn { flex: 0 0 auto; height: 40px; padding-inline: 20px; }

/* Bigger catalogue photography on desktop: three deliberate columns, not four cramped cards. */
@media (min-width: 901px) {
  .product-grid,
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .woocommerce ul.products.columns-2,
  .woocommerce ul.products.columns-3,
  .woocommerce ul.products.columns-4,
  .woocommerce ul.products.columns-5,
  .woocommerce ul.products.columns-6 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 22px !important;
  }
  .product-card { padding: 12px; border-radius: 18px; }
  .product-image { aspect-ratio: 1 / .78; }
  .product-title { font-size: 15px; min-height: 54px; }
  .product-card .wish { top: 21px; left: 21px; }
  .woocommerce div.product { max-width: 1280px; padding: 26px; }
  .woocommerce div.product .product-main { grid-template-columns: minmax(0, 1.3fr) minmax(340px, .7fr); gap: 52px; }
  .woocommerce div.product .images .mh-gallery-main { aspect-ratio: 1 / .86; }
  .woocommerce div.product .images .mh-gallery-main img { object-fit: cover; }
  .mh-gallery-thumb { width: 82px; height: 68px; flex-basis: 82px; }
}

/* Description/specification tables are visibly framed even before JS wraps them. */
.woocommerce-product-details__short-description table,
.woocommerce-Tabs-panel table,
.woocommerce-tabs .panel table,
.entry-content table {
  width: 100%; border: 1px solid var(--line) !important; border-spacing: 0;
  border-collapse: separate; border-radius: 12px; overflow: hidden;
  background: var(--paper, #fff);
}
.woocommerce-product-details__short-description table th,
.woocommerce-product-details__short-description table td,
.woocommerce-Tabs-panel table th, .woocommerce-Tabs-panel table td,
.woocommerce-tabs .panel table th, .woocommerce-tabs .panel table td,
.entry-content table th, .entry-content table td,
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td {
  padding: 11px 13px !important; border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  border-left: 1px solid var(--line) !important;
  text-align: right; vertical-align: top; line-height: 1.9;
}
.woocommerce-product-details__short-description table tr:last-child > *,
.woocommerce-Tabs-panel table tr:last-child > *,
.woocommerce-tabs .panel table tr:last-child > *,
.entry-content table tr:last-child > *,
.woocommerce table.shop_attributes tr:last-child > * { border-bottom: 0 !important; }
.woocommerce-product-details__short-description table tr > *:last-child,
.woocommerce-Tabs-panel table tr > *:last-child,
.woocommerce-tabs .panel table tr > *:last-child,
.entry-content table tr > *:last-child,
.woocommerce table.shop_attributes tr > *:last-child { border-left: 0 !important; }
.woocommerce-product-details__short-description table th,
.woocommerce-Tabs-panel table th, .woocommerce-tabs .panel table th,
.entry-content table th, .woocommerce table.shop_attributes th { background: var(--cream) !important; font-weight: 800; }

html[data-theme="dark"] .mh-search-form,
html[data-theme="dark"] .woocommerce-product-details__short-description table,
html[data-theme="dark"] .woocommerce-Tabs-panel table,
html[data-theme="dark"] .woocommerce-tabs .panel table,
html[data-theme="dark"] .entry-content table { background: var(--paper); }

@media (max-width: 600px) {
  .mh-search-item { grid-template-columns: 86px minmax(0, 1fr); gap: 10px; padding: 11px; }
  .mh-search-thumb { width: 86px; height: 76px; }
  .mh-search-item h2 { font-size: 14px; }
  .mh-search-item p { font-size: 11px; }
  .mh-search-form { height: 46px; }
  .mh-search-form .btn { height: 36px; padding-inline: 13px; font-size: 12px; }
}


/* ============================================================
   8) v1.4 single-product containment and responsive rebuild
   ============================================================ */
body.single-product { overflow-x: clip; }
.single-product .site-content,
.single-product .site-main,
.single-product .woocommerce,
.single-product .woocommerce-notices-wrapper { width: 100%; max-width: 100%; min-width: 0; }

.woocommerce div.product.mh-single-product {
  width: min(1280px, calc(100% - 40px)); max-width: 1280px; min-width: 0;
  margin: 28px auto 56px; padding: clamp(16px, 2.2vw, 28px);
  overflow: hidden; isolation: isolate;
}
.woocommerce div.product.mh-single-product::before,
.woocommerce div.product.mh-single-product::after { content: none !important; display: none !important; }
.woocommerce div.product .mh-product-overview {
  display: grid; grid-template-columns: minmax(0, 1.16fr) minmax(330px, .84fr);
  gap: clamp(24px, 4vw, 54px); align-items: start; width: 100%; min-width: 0;
}
.woocommerce div.product .mh-product-media,
.woocommerce div.product .mh-product-summary,
.woocommerce div.product .mh-product-details,
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce div.product .woocommerce-Tabs-panel,
.woocommerce div.product .related { width: 100% !important; max-width: 100%; min-width: 0; float: none !important; clear: both; }

/* Product media: no intrinsic image size may enlarge the grid or crop furniture. */
.woocommerce div.product .mh-product-media { position: relative; margin: 0 !important; overflow: hidden; }
.woocommerce div.product .mh-product-media .mh-gallery-main {
  width: 100%; max-width: 100%; aspect-ratio: 4 / 3; min-height: 0;
  display: grid; place-items: center; overflow: hidden; border-radius: 16px;
  background: linear-gradient(145deg, #faf8f2, #f1ece2);
}
.woocommerce div.product .mh-product-media .mh-gallery-current,
.woocommerce div.product .mh-product-media img,
.woocommerce div.product .woocommerce-product-gallery img {
  display: block; width: 100% !important; max-width: 100% !important;
  height: 100% !important; max-height: min(72vh, 720px); object-fit: contain !important;
  margin: 0; border-radius: 0; box-shadow: none;
}
.woocommerce div.product .mh-gallery-thumbs {
  width: 100%; max-width: 100%; display: flex; gap: 10px; overflow-x: auto;
  overscroll-behavior-inline: contain; scrollbar-width: thin; padding: 10px 2px 4px;
}
.woocommerce div.product .mh-gallery-thumb { flex: 0 0 82px; width: 82px; height: 68px; }
.woocommerce div.product .mh-gallery-thumb img { width: 100% !important; height: 100% !important; object-fit: cover !important; }

/* Buying summary: every plugin-injected child stays inside its column. */
.woocommerce div.product .mh-product-summary { margin: 0 !important; overflow-wrap: anywhere; }
.woocommerce div.product .mh-product-summary > * { max-width: 100%; }
.woocommerce div.product .mh-product-summary .product_title { margin-top: 0; }
.woocommerce div.product .mh-product-summary form.cart {
  width: 100%; max-width: 100%; display: flex; flex-wrap: wrap; gap: 10px;
  padding: 14px 0 0; margin: 16px 0 0; border-top: 1px solid var(--line);
}
.woocommerce div.product .mh-product-summary form.cart .variations { width: 100%; table-layout: fixed; }
.woocommerce div.product .mh-product-summary form.cart .variations td,
.woocommerce div.product .mh-product-summary form.cart .variations th { display: block; width: 100%; padding: 5px 0; }
.woocommerce div.product .mh-product-summary form.cart select { width: 100%; max-width: 100%; }
.woocommerce div.product .mh-product-summary form.cart .single_add_to_cart_button { flex: 1 1 220px; min-height: 44px; }
.woocommerce div.product .mh-product-summary .quantity { flex: 0 0 auto; }
.woocommerce div.product .product-promise { width: 100%; }

/* Details become their own calm, correctly bounded section. */
.woocommerce div.product .mh-product-details {
  margin-top: clamp(28px, 4vw, 48px); padding-top: clamp(20px, 3vw, 32px);
  border-top: 1px solid var(--line); overflow: hidden;
}
.woocommerce div.product .woocommerce-tabs { margin: 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex; width: 100%; max-width: 100%; gap: 4px; overflow-x: auto;
  white-space: nowrap; scrollbar-width: thin; padding: 0 0 1px !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li { flex: 0 0 auto; }
.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce div.product .woocommerce-Tabs-panel {
  margin: 0 !important; padding: clamp(16px, 2.4vw, 26px) !important;
  border: 1px solid var(--line); border-radius: 14px; background: var(--paper, #fff);
  color: inherit; font-size: 14px; line-height: 2.05; overflow-wrap: anywhere;
}
.woocommerce div.product .woocommerce-tabs .panel > :first-child { margin-top: 0; }
.woocommerce div.product .woocommerce-tabs .panel > :last-child { margin-bottom: 0; }
.woocommerce div.product .woocommerce-tabs .panel img,
.woocommerce div.product .woocommerce-Tabs-panel img,
.woocommerce div.product .mh-product-details img {
  display: block; width: auto; max-width: 100% !important; height: auto !important;
  margin-inline: auto; object-fit: contain;
}

/* Wide specification tables scroll only inside a framed region, never the page. */
.woocommerce div.product .mh-table-scroll {
  display: block; width: 100%; max-width: 100%; min-width: 0;
  overflow-x: auto; overflow-y: hidden; contain: inline-size;
  border: 1px solid var(--line); border-radius: 12px; background: var(--paper, #fff);
}
.woocommerce div.product .mh-table-scroll table,
.woocommerce div.product table.shop_attributes {
  width: 100% !important; max-width: none; min-width: 520px; margin: 0 !important;
  table-layout: auto; border: 0 !important; border-radius: 0;
}
.woocommerce div.product .mh-table-scroll th,
.woocommerce div.product .mh-table-scroll td,
.woocommerce div.product table.shop_attributes th,
.woocommerce div.product table.shop_attributes td {
  min-width: 0; white-space: normal; overflow-wrap: anywhere; word-break: normal;
  padding: 11px 14px !important; vertical-align: top;
}
.woocommerce div.product table.shop_attributes th { width: 30%; min-width: 150px; }
.woocommerce div.product table.shop_attributes p { margin: 0; padding: 0; }

/* Related products must not inherit widths/floats from WooCommerce. */
.woocommerce div.product .mh-product-details .related { overflow: visible; }
.woocommerce div.product .mh-product-details .related .product-grid,
.woocommerce div.product .mh-product-details .related ul.products { width: 100%; max-width: 100%; }

html[data-theme="dark"] .woocommerce div.product .mh-product-media .mh-gallery-main {
  background: linear-gradient(145deg, #242019, #181510);
}
html[data-theme="dark"] .woocommerce div.product .woocommerce-tabs .panel,
html[data-theme="dark"] .woocommerce div.product .woocommerce-Tabs-panel,
html[data-theme="dark"] .woocommerce div.product .mh-table-scroll { background: var(--paper); border-color: var(--line); }

@media (max-width: 900px) {
  .woocommerce div.product.mh-single-product { width: min(100% - 28px, 760px); margin-top: 20px; }
  .woocommerce div.product .mh-product-overview { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .woocommerce div.product .mh-product-media .mh-gallery-main { aspect-ratio: 4 / 3; }
}

@media (max-width: 600px) {
  .woocommerce div.product.mh-single-product {
    width: calc(100% - 20px); margin: 12px auto 34px; padding: 10px;
    border-radius: 14px;
  }
  .woocommerce div.product .mh-product-overview { gap: 18px; }
  .woocommerce div.product .mh-product-media .mh-gallery-main { aspect-ratio: 1 / .82; border-radius: 11px; }
  .woocommerce div.product .mh-gallery-thumb { flex-basis: 66px; width: 66px; height: 56px; }
  .woocommerce div.product .mh-product-summary .product_title { font-size: 20px; line-height: 1.65; }
  .woocommerce div.product .mh-product-summary form.cart { align-items: stretch; }
  .woocommerce div.product .mh-product-summary form.cart .single_add_to_cart_button { flex-basis: calc(100% - 90px); }
  .woocommerce div.product .product-promise { grid-template-columns: 1fr; }
  .woocommerce div.product .product-promise > div:last-child { grid-column: auto; }
  .woocommerce div.product .mh-product-details { margin-top: 24px; padding-top: 18px; }
  .woocommerce div.product .woocommerce-tabs .panel,
  .woocommerce div.product .woocommerce-Tabs-panel { padding: 13px !important; border-radius: 11px; font-size: 13px; }
  .woocommerce div.product .mh-table-scroll table,
  .woocommerce div.product table.shop_attributes { min-width: 440px; }
  .woocommerce div.product .mh-table-scroll th,
  .woocommerce div.product .mh-table-scroll td,
  .woocommerce div.product table.shop_attributes th,
  .woocommerce div.product table.shop_attributes td { padding: 9px 10px !important; font-size: 12px; }
}

@media (max-width: 380px) {
  .woocommerce div.product.mh-single-product { width: calc(100% - 12px); padding: 8px; }
  .woocommerce div.product .mh-product-summary form.cart .quantity,
  .woocommerce div.product .mh-product-summary form.cart .single_add_to_cart_button { flex: 1 1 100%; width: 100%; }
  .woocommerce div.product .mh-product-summary form.cart .quantity .qty { width: 100%; }
}

/* ============================================================
   9) v1.5 purchase price row + manually browsable gallery
   ============================================================ */
.woocommerce div.product .mh-original-price { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.woocommerce div.product .mh-product-summary form.cart,
.woocommerce div.product .woocommerce-variation-add-to-cart {
  display: flex !important; align-items: stretch !important; flex-wrap: wrap; gap: 10px;
}
.woocommerce div.product .woocommerce-variation-add-to-cart { width: 100%; }
.woocommerce div.product .mh-buy-price {
  flex: 1 1 150px; min-width: 130px; min-height: 44px;
  display: flex; align-items: center; justify-content: center;
  padding: 8px 12px; border: 1px solid var(--gold-soft); border-radius: 10px;
  background: #fff9ec; color: var(--gold-dark); font-size: clamp(15px, 1.6vw, 19px);
  font-weight: 900; line-height: 1.5; text-align: center; white-space: normal;
}
.woocommerce div.product .mh-buy-price del { display: block; margin-inline-end: 7px; color: var(--muted); font-size: 11px; font-weight: 500; }
.woocommerce div.product .mh-buy-price ins { text-decoration: none; }
.woocommerce div.product .mh-product-summary form.cart .single_add_to_cart_button,
.woocommerce div.product .woocommerce-variation-add-to-cart .single_add_to_cart_button {
  flex: 1 1 190px; min-width: 170px; margin: 0 !important;
}

.woocommerce div.product .mh-gallery-main { touch-action: pan-y; user-select: none; }
.woocommerce div.product .mh-gallery-current { transition: opacity .16s ease, transform .2s ease; }
.woocommerce div.product .mh-gallery-current.is-changing { opacity: .55; transform: scale(.985); }
.woocommerce div.product .mh-gallery-arrow {
  position: absolute; top: 50%; z-index: 4; transform: translateY(-50%);
  width: 44px; height: 44px; display: grid; place-items: center;
  padding: 0; border: 1px solid rgba(180,134,47,.35); border-radius: 50%;
  background: rgba(255,255,255,.9); color: var(--ink); box-shadow: 0 8px 22px rgba(25,18,8,.16);
  font-size: 31px; line-height: 1; backdrop-filter: blur(5px); transition: .2s;
}
.woocommerce div.product .mh-gallery-arrow:hover { background: var(--gold); color: #fff; transform: translateY(-50%) scale(1.06); }
.woocommerce div.product .mh-gallery-prev { right: 14px; }
.woocommerce div.product .mh-gallery-next { left: 14px; }
.woocommerce div.product .mh-gallery-counter {
  position: absolute; z-index: 4; left: 50%; bottom: 12px; transform: translateX(-50%);
  padding: 4px 10px; border-radius: 20px; background: rgba(20,17,13,.72); color: #fff;
  direction: ltr; font-size: 11px; line-height: 1.4; pointer-events: none;
}
html[data-theme="dark"] .woocommerce div.product .mh-buy-price { background: #292113; border-color: #5c4a22; color: var(--gold-dark); }
html[data-theme="dark"] .woocommerce div.product .mh-gallery-arrow { background: rgba(30,26,20,.9); color: var(--ink); border-color: #5c4a22; }

@media (max-width: 600px) {
  .woocommerce div.product .mh-product-summary form.cart,
  .woocommerce div.product .woocommerce-variation-add-to-cart { gap: 8px; }
  .woocommerce div.product .mh-product-summary form.cart .quantity,
  .woocommerce div.product .woocommerce-variation-add-to-cart .quantity { flex: 0 0 62px; width: 62px; }
  .woocommerce div.product .mh-buy-price { flex: 1 1 105px; min-width: 100px; padding: 7px 8px; font-size: 14px; }
  .woocommerce div.product .mh-product-summary form.cart .single_add_to_cart_button,
  .woocommerce div.product .woocommerce-variation-add-to-cart .single_add_to_cart_button { flex: 1 1 145px; min-width: 135px; font-size: 12px; padding-inline: 8px; }
  .woocommerce div.product .mh-gallery-arrow { width: 38px; height: 38px; font-size: 27px; }
  .woocommerce div.product .mh-gallery-prev { right: 8px; }
  .woocommerce div.product .mh-gallery-next { left: 8px; }
  .woocommerce div.product .mh-gallery-counter { bottom: 8px; }
}

@media (max-width: 390px) {
  .woocommerce div.product .mh-product-summary form.cart .quantity,
  .woocommerce div.product .woocommerce-variation-add-to-cart .quantity { flex-basis: 54px; width: 54px; }
  .woocommerce div.product .mh-buy-price { min-width: 96px; font-size: 13px; }
  .woocommerce div.product .mh-product-summary form.cart .single_add_to_cart_button,
  .woocommerce div.product .woocommerce-variation-add-to-cart .single_add_to_cart_button { min-width: 125px; }
}

@media (max-width: 380px) {
  .woocommerce div.product .mh-product-summary form.cart .quantity,
  .woocommerce div.product .woocommerce-variation-add-to-cart .quantity { flex: 0 0 54px; width: 54px; }
  .woocommerce div.product .mh-product-summary form.cart .single_add_to_cart_button,
  .woocommerce div.product .woocommerce-variation-add-to-cart .single_add_to_cart_button { flex: 1 1 125px; width: auto; }
}

/* ============================================================
   10) v1.6 directional drag feedback and true image-overlay arrows
   ============================================================ */
.woocommerce div.product .mh-product-media .mh-gallery-main {
  position: relative !important; isolation: isolate; overflow: hidden !important;
}
.woocommerce div.product .mh-gallery-main.is-dragging { cursor: grabbing; }
.woocommerce div.product .mh-gallery-main.is-dragging .mh-gallery-current { transition: none !important; will-change: transform, opacity; }
.woocommerce div.product .mh-gallery-current { will-change: transform, opacity; backface-visibility: hidden; }
.woocommerce div.product .mh-gallery-arrow {
  position: absolute !important; z-index: 8 !important;
  top: 50% !important; bottom: auto !important; margin: 0 !important;
  transform: translateY(-50%) !important; display: grid !important;
  align-items: center; justify-items: center; visibility: visible !important; opacity: 1 !important;
}
.woocommerce div.product .mh-gallery-arrow:hover,
.woocommerce div.product .mh-gallery-arrow:focus-visible { transform: translateY(-50%) scale(1.07) !important; }
.woocommerce div.product .mh-gallery-prev { right: 14px !important; left: auto !important; }
.woocommerce div.product .mh-gallery-next { left: 14px !important; right: auto !important; }
@media (max-width: 600px) {
  .woocommerce div.product .mh-gallery-prev { right: 8px !important; left: auto !important; }
  .woocommerce div.product .mh-gallery-next { left: 8px !important; right: auto !important; }
  .woocommerce div.product .mh-gallery-arrow { top: 50% !important; bottom: auto !important; }
}
@media (prefers-reduced-motion: reduce) {
  .woocommerce div.product .mh-gallery-current { transition: none !important; }
}

/* ============================================================
   11) v1.7 medium product imagery + bright blurred lightbox
   ============================================================ */
.woocommerce div.product .mh-product-media { max-width: 960px; margin-inline: auto !important; }
.woocommerce div.product .mh-gallery-current { cursor: zoom-in; }
.woocommerce div.product .mh-gallery-current:focus-visible { outline: 3px solid var(--gold); outline-offset: -4px; }
.woocommerce div.product .woocommerce-tabs .panel img,
.woocommerce div.product .woocommerce-Tabs-panel img,
.woocommerce div.product .mh-product-details img { max-width: min(100%, 960px) !important; }
body.mh-lightbox-open { overflow: hidden !important; }
.mh-lightbox {
  position: fixed; z-index: 10000; inset: 0; display: grid; place-items: center;
  padding: clamp(12px, 3vw, 34px); opacity: 0; visibility: hidden;
  transition: opacity .2s ease, visibility .2s ease;
}
.mh-lightbox.is-open { opacity: 1; visibility: visible; }
.mh-lightbox.is-closing { opacity: 0; }
.mh-lightbox-backdrop {
  position: absolute; inset: 0; width: 100%; height: 100%; border: 0; border-radius: 0;
  background: rgba(246, 241, 231, .78); backdrop-filter: blur(14px) saturate(.85);
  -webkit-backdrop-filter: blur(14px) saturate(.85); cursor: zoom-out;
}
.mh-lightbox-dialog {
  position: relative; z-index: 1; width: min(1180px, 96vw); height: min(850px, 92vh);
  display: grid; place-items: center; transform: scale(.965) translateY(8px);
  transition: transform .24s cubic-bezier(.2,.8,.2,1);
}
.mh-lightbox.is-open .mh-lightbox-dialog { transform: none; }
.mh-lightbox-stage {
  position: relative; isolation: isolate; width: 100%; height: 100%; min-width: 0;
  display: grid; place-items: center; overflow: hidden; touch-action: pan-y;
  border: 1px solid rgba(180,134,47,.3); border-radius: 20px;
  background: rgba(255,255,255,.86); box-shadow: 0 24px 70px rgba(63,47,22,.2);
}
.mh-lightbox-image {
  display: block; width: auto; height: auto; max-width: calc(100% - 38px); max-height: calc(100% - 38px);
  object-fit: contain; user-select: none; -webkit-user-drag: none; will-change: transform, opacity;
  backface-visibility: hidden;
}
.mh-lightbox-stage.is-dragging .mh-lightbox-image { transition: none !important; }
.mh-lightbox-close {
  position: absolute; z-index: 5; top: 13px; right: 13px; width: 42px; height: 42px;
  display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%;
  background: rgba(255,255,255,.94); color: var(--ink); box-shadow: 0 7px 20px rgba(40,30,16,.14);
  font-size: 27px; line-height: 1;
}
.mh-lightbox-arrow {
  position: absolute; z-index: 4; top: 50%; transform: translateY(-50%);
  width: 48px; height: 48px; display: grid; place-items: center;
  padding: 0; border: 1px solid rgba(180,134,47,.42); border-radius: 50%;
  background: rgba(255,255,255,.94); color: var(--ink); box-shadow: 0 8px 24px rgba(40,30,16,.15);
  font-size: 34px; line-height: 1;
}
.mh-lightbox-prev { right: 16px; }
.mh-lightbox-next { left: 16px; }
.mh-lightbox-arrow:hover, .mh-lightbox-close:hover { background: var(--gold); color: #fff; }
.mh-lightbox-count {
  position: absolute; z-index: 4; bottom: 14px; left: 50%; transform: translateX(-50%);
  padding: 5px 12px; border: 1px solid rgba(180,134,47,.3); border-radius: 20px;
  background: rgba(255,255,255,.92); color: var(--ink); direction: ltr; font-size: 12px;
}
.mh-lightbox.single-image .mh-lightbox-arrow { display: none; }

/* Keep the lightbox warm and visible in dark mode too; never turn the page black. */
html[data-theme="dark"] .mh-lightbox-backdrop { background: rgba(222, 211, 188, .7); }
html[data-theme="dark"] .mh-lightbox-stage { background: rgba(31,27,21,.9); border-color: rgba(214,171,83,.45); }
html[data-theme="dark"] .mh-lightbox-close,
html[data-theme="dark"] .mh-lightbox-arrow,
html[data-theme="dark"] .mh-lightbox-count { background: rgba(250,247,241,.94); color: #211b13; }

@media (max-width: 600px) {
  .mh-lightbox { padding: 8px; }
  .mh-lightbox-dialog { width: 100%; height: min(82vh, 720px); }
  .mh-lightbox-stage { border-radius: 15px; }
  .mh-lightbox-image { max-width: calc(100% - 18px); max-height: calc(100% - 18px); }
  .mh-lightbox-arrow { width: 42px; height: 42px; font-size: 30px; }
  .mh-lightbox-prev { right: 8px; }
  .mh-lightbox-next { left: 8px; }
  .mh-lightbox-close { top: 9px; right: 9px; width: 39px; height: 39px; }
  .mh-lightbox-count { bottom: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  .mh-lightbox, .mh-lightbox-dialog, .mh-lightbox-image { transition: none !important; }
}

/* ============================================================
   12) v1.8 viewport-safe image viewer rebuild
   ============================================================ */
html.mh-lightbox-locked { overflow: hidden !important; overscroll-behavior: none; }
body.mh-lightbox-open { overflow: hidden !important; touch-action: none; }
.mh-lightbox-v2 {
  position: fixed !important; z-index: 2147483000 !important;
  inset: 0 !important; width: 100vw !important; height: 100vh !important; height: 100dvh !important;
  max-width: none !important; max-height: none !important; margin: 0 !important; padding: 8px !important;
  display: grid !important; place-items: center; overflow: hidden !important;
  direction: rtl; opacity: 0; visibility: hidden; transition: opacity .18s ease, visibility .18s ease;
}
.mh-lightbox-v2.is-open { opacity: 1; visibility: visible; }
.mh-lightbox-v2.is-closing { opacity: 0; }
.mh-lb-backdrop {
  position: absolute !important; z-index: 0; inset: 0 !important; width: 100% !important; height: 100% !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important;
  background: rgba(245,239,226,.91) !important;
  -webkit-backdrop-filter: blur(12px) saturate(.82); backdrop-filter: blur(12px) saturate(.82);
}
.mh-lb-panel {
  position: relative; z-index: 1; width: min(1180px, calc(100vw - 16px));
  height: calc(100vh - 16px); height: calc(100dvh - 16px); max-height: 900px;
  min-width: 0; min-height: 0; margin: 0; padding: 0;
  display: grid; grid-template-rows: 52px minmax(0,1fr) 34px; overflow: hidden;
  border: 1px solid rgba(180,134,47,.3); border-radius: 18px;
  background: rgba(255,253,249,.96); box-shadow: 0 24px 70px rgba(64,48,23,.18);
  transform: scale(.975); transition: transform .2s cubic-bezier(.2,.8,.2,1);
}
.mh-lightbox-v2.is-open .mh-lb-panel { transform: none; }
.mh-lb-toolbar {
  min-width: 0; display: grid; grid-template-columns: 80px 1fr 44px; align-items: center;
  gap: 8px; padding: 5px 10px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.7);
}
.mh-lb-title { overflow: hidden; text-align: center; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; font-weight: 800; }
.mh-lb-count { direction: ltr; text-align: right; color: var(--muted); font-size: 12px; }
.mh-lb-count b { color: var(--gold-dark); font-size: 15px; }
.mh-lb-close {
  width: 40px; height: 40px; margin: 0; padding: 0; display: grid; place-items: center;
  border: 1px solid var(--line); border-radius: 50%; background: #fff; color: var(--ink);
  font-size: 25px; line-height: 1; box-shadow: 0 5px 15px rgba(40,30,15,.1);
}
.mh-lb-viewport {
  position: relative; isolation: isolate; min-width: 0; min-height: 0; width: 100%; height: 100%;
  overflow: hidden !important; display: grid; place-items: center; touch-action: pan-y; background: #faf8f3;
}
.mh-lb-canvas {
  position: absolute; inset: 0; min-width: 0; min-height: 0; padding: clamp(8px,2vw,22px);
  display: grid; place-items: center; overflow: hidden;
}
.mh-lb-image {
  display: block !important; width: auto !important; height: auto !important;
  max-width: 100% !important; max-height: 100% !important; min-width: 0 !important; min-height: 0 !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important;
  object-fit: contain !important; object-position: center !important; box-shadow: none !important;
  user-select: none; -webkit-user-drag: none; backface-visibility: hidden; will-change: transform,opacity;
}
.mh-lb-viewport.is-dragging .mh-lb-image { transition: none !important; }
.mh-lb-arrow {
  position: absolute !important; z-index: 5; top: 50% !important; bottom: auto !important;
  width: 46px; height: 46px; margin: 0 !important; padding: 0 !important;
  display: grid !important; place-items: center; transform: translateY(-50%) !important;
  border: 1px solid rgba(180,134,47,.44) !important; border-radius: 50% !important;
  background: rgba(255,255,255,.94) !important; color: #231d15 !important;
  box-shadow: 0 8px 22px rgba(45,33,16,.14); font-size: 33px; line-height: 1;
}
.mh-lb-prev { right: 12px !important; left: auto !important; }
.mh-lb-next { left: 12px !important; right: auto !important; }
.mh-lb-arrow:hover,.mh-lb-arrow:focus-visible,.mh-lb-close:hover,.mh-lb-close:focus-visible { background: var(--gold) !important; color: #fff !important; }
.mh-lb-help {
  display: grid; place-items: center; min-width: 0; padding: 4px 12px;
  border-top: 1px solid var(--line); color: var(--muted); background: rgba(255,255,255,.7);
  text-align: center; font-size: 10px; line-height: 1.4; overflow: hidden;
}
.mh-lightbox-v2.is-single .mh-lb-arrow,.mh-lightbox-v2.is-single .mh-lb-help { display: none !important; }
.mh-lightbox-v2.is-single .mh-lb-panel { grid-template-rows: 52px minmax(0,1fr); }
/* Explicitly warm in both themes: the viewer never becomes a black screen. */
html[data-theme="dark"] .mh-lb-backdrop { background: rgba(224,214,193,.88) !important; }
html[data-theme="dark"] .mh-lb-panel { background: rgba(34,29,22,.97); border-color: rgba(214,171,83,.45); }
html[data-theme="dark"] .mh-lb-viewport { background: #242019; }
html[data-theme="dark"] .mh-lb-toolbar,html[data-theme="dark"] .mh-lb-help { background: rgba(31,27,21,.86); }

@media (max-width:600px) {
  .mh-lightbox-v2 { padding: 0 !important; }
  .mh-lb-panel {
    width: 100vw; height: 100vh; height: 100dvh; max-height: none;
    border: 0; border-radius: 0; grid-template-rows: calc(48px + env(safe-area-inset-top)) minmax(0,1fr) calc(30px + env(safe-area-inset-bottom));
  }
  .mh-lb-toolbar { padding: calc(4px + env(safe-area-inset-top)) 8px 4px; grid-template-columns: 68px 1fr 40px; }
  .mh-lb-close { width: 37px; height: 37px; }
  .mh-lb-canvas { padding: 6px; }
  .mh-lb-arrow { width: 40px; height: 40px; font-size: 29px; }
  .mh-lb-prev { right: 7px !important; }
  .mh-lb-next { left: 7px !important; }
  .mh-lb-help { padding-bottom: calc(4px + env(safe-area-inset-bottom)); }
  .mh-lightbox-v2.is-single .mh-lb-panel { grid-template-rows: calc(48px + env(safe-area-inset-top)) minmax(0,1fr); }
}
@media (orientation:landscape) and (max-height:500px) {
  .mh-lb-panel { grid-template-rows: 44px minmax(0,1fr); }
  .mh-lb-help { display:none; }
  .mh-lb-toolbar { padding-block:2px; }
  .mh-lb-close { width:36px;height:36px; }
}

/* ============================================================
   13) v1.8.1 stable CLOSED gallery — no vertical jumping
   Applies only to the product-page gallery before lightbox opens.
   ============================================================ */
.woocommerce div.product .mh-product-media {
  width: 100% !important; min-width: 0; contain: layout;
}
.woocommerce div.product .mh-product-media .mh-gallery-main {
  position: relative !important; display: block !important;
  width: 100% !important; height: auto !important;
  min-height: 0 !important; max-height: none !important;
  aspect-ratio: 773 / 766 !important;
  overflow: hidden !important; background: #f5f1e9;
}
.woocommerce div.product .mh-product-media .mh-gallery-main > .mh-gallery-current {
  position: absolute !important; inset: 0 !important;
  display: block !important; width: 100% !important; height: 100% !important;
  min-width: 0 !important; min-height: 0 !important;
  max-width: none !important; max-height: none !important;
  margin: 0 !important; padding: 0 !important;
  object-fit: contain !important; object-position: center !important;
}
.woocommerce div.product .mh-product-media .mh-gallery-thumbs {
  width: 100% !important; height: 76px; min-height: 76px; max-height: 76px;
  display: flex; align-items: center; overflow-x: auto; overflow-y: hidden !important;
  scroll-behavior: smooth; overscroll-behavior-inline: contain;
}
.woocommerce div.product .mh-product-media .mh-gallery-thumb {
  flex: 0 0 64px !important; width: 64px !important; height: 64px !important;
  min-width: 64px; min-height: 64px; max-width: 64px; max-height: 64px;
}
.woocommerce div.product .mh-product-media .mh-gallery-thumb img {
  width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important;
  object-fit: cover !important;
}
/* Arrow/counter positions are anchored to the fixed frame, never document flow. */
.woocommerce div.product .mh-product-media .mh-gallery-arrow,
.woocommerce div.product .mh-product-media .mh-gallery-counter { position: absolute !important; }
html[data-theme="dark"] .woocommerce div.product .mh-product-media .mh-gallery-main { background: #242019; }
@media (max-width: 600px) {
  .woocommerce div.product .mh-product-media .mh-gallery-main {
    width: 100% !important; height: auto !important; aspect-ratio: 773 / 766 !important;
  }
  .woocommerce div.product .mh-product-media .mh-gallery-thumbs {
    height: 66px; min-height: 66px; max-height: 66px;
  }
  .woocommerce div.product .mh-product-media .mh-gallery-thumb {
    flex-basis: 56px !important; width: 56px !important; height: 56px !important;
    min-width: 56px; min-height: 56px; max-width: 56px; max-height: 56px;
  }
}

/* ============================================================
   14) v1.8.2 desktop-only product composition
   Mobile/tablet structure is intentionally untouched.
   ============================================================ */
@media (min-width: 1024px) {
  .woocommerce div.product.mh-single-product {
    width: min(1320px, calc(100% - 48px)); max-width: 1320px;
  }
  .woocommerce div.product .mh-product-overview {
    direction: ltr !important;
    display: grid !important;
    grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr) !important;
    grid-template-rows: auto;
    gap: clamp(32px, 4vw, 58px) !important;
    align-items: start;
  }
  /* Physical placement: information on the left, images on the right. */
  .woocommerce div.product .mh-product-summary {
    direction: rtl; grid-column: 1 !important; grid-row: 1 !important;
    width: 100% !important; max-width: none !important; min-width: 0;
    padding: clamp(18px, 2vw, 26px);
    border: 1px solid var(--line); border-radius: 16px;
    background: var(--paper, #fff); overflow: hidden;
  }
  .woocommerce div.product .mh-product-media {
    direction: rtl; grid-column: 2 !important; grid-row: 1 !important;
    width: 100% !important; max-width: none !important; min-width: 0;
    align-self: start;
  }
  .woocommerce div.product .mh-product-summary .woocommerce-product-details__short-description {
    width: 100%; max-width: 100%; min-width: 0;
    margin-top: 15px; padding-top: 15px;
  }
  .woocommerce div.product .mh-product-summary .mh-table-scroll,
  .woocommerce div.product .mh-product-summary table {
    width: 100% !important; max-width: 100%; min-width: 0;
  }
  /* Purchase controls remain below the information/description area. */
  .woocommerce div.product .mh-product-summary form.cart,
  .woocommerce div.product .mh-product-summary .woocommerce-variation-add-to-cart {
    width: 100%; max-width: 100%; clear: both;
    margin-top: 18px !important; padding-top: 16px !important;
    border-top: 1px solid var(--line);
  }
  .woocommerce div.product .mh-product-summary .mh-buy-price,
  .woocommerce div.product .mh-product-summary .single_add_to_cart_button {
    min-height: 48px;
  }
  html[data-theme="dark"] .woocommerce div.product .mh-product-summary {
    background: var(--paper); border-color: var(--line);
  }
}

/* Gallery arrows are overlaid on the photo on every screen size. */
.woocommerce div.product .mh-product-media .mh-gallery-main { position: relative !important; isolation: isolate; }
.woocommerce div.product .mh-product-media .mh-gallery-arrow {
  position: absolute !important; z-index: 12 !important;
  top: 50% !important; bottom: auto !important; margin: 0 !important;
  transform: translateY(-50%) !important;
  opacity: .68; visibility: visible !important;
  background: rgba(255,255,255,.78) !important;
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  transition: opacity .2s ease, background-color .2s ease, transform .2s ease !important;
}
.woocommerce div.product .mh-product-media .mh-gallery-prev { right: 12px !important; left: auto !important; }
.woocommerce div.product .mh-product-media .mh-gallery-next { left: 12px !important; right: auto !important; }
.woocommerce div.product .mh-product-media .mh-gallery-arrow:hover,
.woocommerce div.product .mh-product-media .mh-gallery-arrow:focus-visible {
  opacity: 1; background: rgba(180,134,47,.92) !important; color: #fff !important;
  transform: translateY(-50%) scale(1.06) !important;
}
.woocommerce div.product .mh-product-media .mh-gallery-current {
  transition: opacity .2s ease, transform .24s cubic-bezier(.2,.8,.2,1) !important;
}
@media (max-width: 600px) {
  .woocommerce div.product .mh-product-media .mh-gallery-prev { right: 7px !important; }
  .woocommerce div.product .mh-product-media .mh-gallery-next { left: 7px !important; }
  .woocommerce div.product .mh-product-media .mh-gallery-arrow { top: 50% !important; bottom: auto !important; opacity: .72; }
}

/* ============================================================
   15) v1.8.3 true desktop composition
   The actual WooCommerce information tabs move into the left column.
   ============================================================ */
@media (min-width: 1024px) {
  .woocommerce div.product.mh-desktop-composed .mh-product-summary {
    display: flex; flex-direction: column; align-self: stretch;
  }
  .woocommerce div.product.mh-desktop-composed .mh-product-summary .mh-tabs-in-summary {
    order: 20; width: 100% !important; max-width: 100%; min-width: 0;
    margin: 18px 0 0 !important; padding-top: 16px;
    border-top: 1px solid var(--line);
  }
  .woocommerce div.product.mh-desktop-composed .mh-product-summary .mh-tabs-in-summary ul.tabs {
    width: 100%; max-width: 100%; margin-bottom: 10px !important;
  }
  .woocommerce div.product.mh-desktop-composed .mh-product-summary .mh-tabs-in-summary .panel {
    width: 100% !important; max-width: 100%; min-width: 0;
    max-height: 430px; overflow: auto !important;
    padding: 16px !important; border: 1px solid var(--line);
    border-radius: 12px; background: var(--paper,#fff);
  }
  .woocommerce div.product.mh-desktop-composed .mh-product-summary .mh-tabs-in-summary .mh-table-scroll {
    width: 100%; max-width: 100%; overflow-x: auto;
  }
  .woocommerce div.product.mh-desktop-composed .mh-product-summary .mh-tabs-in-summary table {
    width: 100% !important; min-width: 420px; max-width: none;
  }
  /* The cart is physically after the moved table in DOM, so it appears below it. */
  .woocommerce div.product.mh-desktop-composed .mh-product-summary form.cart {
    order: 30; margin-top: 16px !important; flex: 0 0 auto;
  }
  .woocommerce div.product.mh-desktop-composed .mh-product-summary .product_meta { order: 40; }
  .woocommerce div.product.mh-desktop-composed .mh-product-summary .product-promise { order: 50; }
  .woocommerce div.product.mh-desktop-composed .mh-product-details {
    margin-top: 32px; padding-top: 20px;
  }
  .woocommerce div.product.mh-desktop-composed .mh-product-details:empty {
    display: none;
  }
}

/* ============================================================
   16) v1.8.4 final desktop order based on supplied reference
   LEFT: gallery | RIGHT: information; long description below.
   ============================================================ */
@media (min-width: 1024px) {
  .woocommerce div.product.mh-single-product {
    width: min(1320px, calc(100% - 48px)); max-width: 1320px;
  }
  .woocommerce div.product .mh-product-overview {
    display: grid !important; direction: ltr !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr) !important;
    grid-template-rows: auto !important;
    gap: clamp(32px, 4vw, 60px) !important;
    align-items: start !important;
  }
  /* The gallery is physically in the LEFT desktop column. */
  .woocommerce div.product .mh-product-media {
    grid-column: 1 !important; grid-row: 1 !important;
    direction: rtl; width: 100% !important; max-width: none !important;
    min-width: 0; align-self: start;
  }
  /* Product information/table is physically in the RIGHT desktop column. */
  .woocommerce div.product .mh-product-summary {
    grid-column: 2 !important; grid-row: 1 !important;
    direction: rtl; width: 100% !important; max-width: none !important;
    min-width: 0; align-self: start; display: block !important;
    padding: clamp(18px, 2vw, 26px);
    border: 1px solid var(--line); border-radius: 16px;
    background: var(--paper,#fff); overflow: hidden;
  }
  .woocommerce div.product .mh-product-summary .woocommerce-product-details__short-description {
    width: 100%; max-width: 100%; min-width: 0;
    margin: 14px 0 0; padding: 15px 0 0;
    border-top: 1px solid var(--line);
  }
  .woocommerce div.product .mh-product-summary .mh-table-scroll {
    width: 100%; max-width: 100%; min-width: 0; overflow-x: auto;
  }
  .woocommerce div.product .mh-product-summary table {
    width: 100% !important; max-width: none; min-width: 420px;
  }
  /* Price + add-to-cart follow the information block in normal DOM order. */
  .woocommerce div.product .mh-product-summary form.cart,
  .woocommerce div.product .mh-product-summary .woocommerce-variation-add-to-cart {
    display: flex !important; width: 100%; max-width: 100%;
    margin: 18px 0 0 !important; padding: 16px 0 0 !important;
    border-top: 1px solid var(--line); clear: both;
  }
  .woocommerce div.product .mh-product-summary .mh-buy-price,
  .woocommerce div.product .mh-product-summary .single_add_to_cart_button {
    min-height: 48px;
  }
  /* Full description/reviews remain BELOW both desktop columns. */
  .woocommerce div.product .mh-product-details {
    display: block !important; width: 100% !important; max-width: 100%;
    margin-top: 36px !important; padding-top: 26px !important;
    border-top: 1px solid var(--line); clear: both;
  }
  .woocommerce div.product .mh-product-details .woocommerce-tabs {
    width: 100% !important; max-width: 100%; margin: 0 !important;
  }
  .woocommerce div.product .mh-product-details .woocommerce-tabs .panel {
    width: 100% !important; max-width: 100%; max-height: none;
    overflow: visible !important;
  }
  html[data-theme="dark"] .woocommerce div.product .mh-product-summary {
    background: var(--paper); border-color: var(--line);
  }
}
/* Keep image navigation centered over the image on desktop and phone. */
.woocommerce div.product .mh-product-media .mh-gallery-arrow {
  position: absolute !important; z-index: 15 !important;
  top: 50% !important; bottom: auto !important;
  transform: translateY(-50%) !important;
}
.woocommerce div.product .mh-product-media .mh-gallery-prev { right: 10px !important; left: auto !important; }
.woocommerce div.product .mh-product-media .mh-gallery-next { left: 10px !important; right: auto !important; }

/* ============================================================
   17) v1.8.5 — requested three-column desktop structure
   LEFT purchase | CENTER information | RIGHT images
   Built only on the supplied v1.8.4 reference package.
   ============================================================ */
.mh-purchase-panel { min-width:0; }
@media (min-width:1024px) {
  .woocommerce div.product.mh-single-product {
    width:min(1480px,calc(100% - 32px)); max-width:1480px;
    margin:20px auto 56px; padding:0 !important;
    overflow:visible; border:1px solid var(--line); border-radius:16px;
    background:var(--paper,#fff);
  }
  .woocommerce div.product .mh-product-overview {
    display:grid !important; direction:ltr !important;
    grid-template-columns:minmax(270px,.82fr) minmax(360px,1.08fr) minmax(420px,1.18fr) !important;
    grid-template-rows:minmax(620px,auto) !important;
    gap:0 !important; width:100%; min-width:0;
    align-items:stretch !important;
  }
  /* LEFT — direct purchase card */
  .woocommerce div.product .mh-product-overview>.mh-purchase-panel {
    grid-column:1 !important; grid-row:1 !important; direction:rtl;
    display:flex !important; visibility:visible !important; opacity:1 !important;
    flex-direction:column; width:100%; min-width:0; min-height:620px; height:100%;
    align-self:stretch; margin:0 !important; padding:24px 20px;
    border:0 !important; border-right:1px solid #e2e2e2 !important;
    border-radius:0; background:#fafafa; box-shadow:none;
  }
  /* CENTER — title, short description and information table */
  .woocommerce div.product .mh-product-overview>.mh-product-summary {
    grid-column:2 !important; grid-row:1 !important; direction:rtl;
    display:block !important; width:100% !important; max-width:none !important;
    min-width:0; min-height:620px; height:100%; align-self:stretch;
    margin:0 !important; padding:28px 26px !important;
    border:0 !important; border-right:1px solid #e2e2e2 !important;
    border-radius:0; background:var(--paper,#fff); overflow:hidden;
  }
  /* RIGHT — fixed, non-jumping image gallery */
  .woocommerce div.product .mh-product-overview>.mh-product-media {
    grid-column:3 !important; grid-row:1 !important; direction:rtl;
    display:block !important; width:100% !important; max-width:none !important;
    min-width:0; min-height:620px; height:100%; align-self:stretch;
    margin:0 !important; padding:24px 24px 18px !important;
    border:0 !important; border-radius:0 16px 0 0;
    background:var(--paper,#fff); overflow:hidden;
  }
  .woocommerce div.product .mh-product-overview .mh-gallery-main {
    position:relative !important; width:100% !important; height:auto !important;
    min-height:0 !important; max-height:none !important;
    aspect-ratio:773/766 !important; overflow:hidden !important;
    margin:0 !important; border:1px solid var(--line); border-radius:14px;
  }
  .woocommerce div.product .mh-product-overview .mh-gallery-current {
    position:absolute !important; inset:0 !important;
    width:100% !important; height:100% !important;
    max-width:none !important; max-height:none !important;
    object-fit:contain !important; object-position:center !important;
  }
  .woocommerce div.product .mh-product-overview .mh-gallery-thumbs {
    width:100%; height:78px; min-height:78px; max-height:78px;
    margin:0; padding:12px 0 0; overflow-x:auto; overflow-y:hidden !important;
  }
  .woocommerce div.product .mh-product-overview .mh-gallery-thumb {
    flex:0 0 62px !important; width:62px !important; height:62px !important;
    min-width:62px; min-height:62px; max-width:62px; max-height:62px;
  }
  /* Full description starts after all three equal-height columns. */
  .woocommerce div.product .mh-product-details {
    display:block !important; width:100% !important; max-width:100%;
    margin:0 !important; padding:34px 24px 28px !important;
    border-top:1px solid #e2e2e2; clear:both;
    background:var(--paper,#fff); overflow:visible;
  }
  .woocommerce div.product .mh-product-details .woocommerce-tabs,
  .woocommerce div.product .mh-product-details .woocommerce-tabs .panel {
    width:100% !important; max-width:100%;
  }
  .woocommerce div.product .mh-product-details .woocommerce-tabs .panel {
    max-height:none !important; overflow:visible !important;
  }
}
/* Permanent purchase-card internals. */
.mh-seller-head{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.mh-seller-icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:10px;background:#fff;color:var(--gold-dark);font-size:20px}
.mh-seller-head small,.mh-seller-head b{display:block}.mh-seller-head small{color:var(--muted);font-size:10px}.mh-seller-head b{font-size:14px}
.mh-seller-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px 0;border-bottom:1px solid var(--line)}
.mh-seller-stats span+span{border-right:1px solid var(--line);padding-right:9px}.mh-seller-stats b,.mh-seller-stats small{display:block}.mh-seller-stats b{color:var(--success);font-size:11px}.mh-seller-stats small{color:var(--muted);font-size:9px}
.mh-delivery-row{display:flex;gap:9px;padding:15px 0;border-bottom:1px solid var(--line)}.mh-delivery-row b,.mh-delivery-row small{display:block}.mh-delivery-row b{font-size:12px}.mh-delivery-row small{color:var(--muted);font-size:9px}
.mh-panel-price{margin-top:auto;padding:18px 0 9px}.woocommerce div.product .mh-panel-price p.price{margin:0;color:var(--ink);font-size:22px;font-weight:900}.mh-call-price{display:block;color:var(--gold-dark);font-size:13px;line-height:1.9}
.mh-panel-cart,.mh-panel-cart form.cart{width:100%;margin:0!important}.mh-panel-cart form.cart{display:flex!important;flex-wrap:wrap;gap:8px}.mh-panel-cart .quantity{flex:0 0 64px}.mh-panel-cart .quantity .qty{width:64px!important;height:46px!important}.woocommerce div.product .mh-panel-cart .single_add_to_cart_button{flex:1 1 150px;min-height:46px;margin:0!important;border-radius:9px;background:var(--gold)}
.mh-consult-buy{display:flex;width:100%;min-height:46px;align-items:center;justify-content:center;padding:10px;border-radius:9px;background:var(--gold);color:#fff!important;font-weight:800;font-size:12px}
.mh-panel-guarantees{display:grid;gap:9px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.mh-panel-guarantees a{color:var(--gold-dark);font-weight:800}
/* Arrows remain centered over the image on every screen. */
.woocommerce div.product .mh-product-media .mh-gallery-arrow{position:absolute!important;z-index:20!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important}
.woocommerce div.product .mh-product-media .mh-gallery-prev{right:9px!important;left:auto!important}.woocommerce div.product .mh-product-media .mh-gallery-next{left:9px!important;right:auto!important}
/* Tablet/mobile: images, information, purchase card, then full description. */
@media (max-width:1023px) {
  .woocommerce div.product .mh-product-overview{display:flex!important;direction:rtl;flex-direction:column;width:100%;min-width:0;gap:18px}
  .woocommerce div.product .mh-product-overview>.mh-product-media{order:1;width:100%!important;min-height:0;height:auto}
  .woocommerce div.product .mh-product-overview>.mh-product-summary{order:2;width:100%!important;min-height:0;height:auto}
  .woocommerce div.product .mh-product-overview>.mh-purchase-panel{order:3;display:flex!important;visibility:visible!important;width:100%;min-height:0;height:auto;position:static!important;padding:16px;border:1px solid var(--line);border-radius:13px;background:var(--paper,#fff)}
  .mh-panel-price{margin-top:14px}
  .woocommerce div.product .mh-product-details{order:4;width:100%;max-width:100%}
}

/* v3.5 story action and dedicated search empty state. */
.story-overlay{pointer-events:none}
.story-top,.story-bottom{position:relative;z-index:5;pointer-events:auto}
.story-hit{z-index:2}
.story-product-link{position:relative;z-index:8;pointer-events:auto!important}
.mh-search-empty{max-width:920px;margin:24px auto 50px;padding:38px 24px;text-align:center;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:var(--shadow)}
.mh-search-empty-mark{display:grid;width:66px;height:66px;margin:0 auto 12px;place-items:center;border-radius:50%;background:var(--cream);color:var(--gold-dark);font-size:32px}
.mh-search-empty h2{margin:5px 0;font-size:24px}.mh-search-empty>p{color:var(--muted)}
.mh-search-empty .mh-search-form{display:flex;max-width:620px;height:auto;margin:20px auto;padding:6px;background:var(--cream)}
.mh-search-empty .mh-search-form input{min-width:0;min-height:43px}.mh-search-empty .mh-search-form .btn{flex:0 0 auto}
.mh-search-empty-categories{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.mh-search-empty-categories h3{font-size:16px}.mh-back-shop{margin-top:22px}
@media(max-width:600px){.mh-search-empty{margin:12px 0 30px;padding:25px 12px}.mh-search-empty h2{font-size:21px}.mh-search-empty .mh-search-form{display:grid;height:auto}.mh-search-empty .mh-search-form .btn{width:100%}.mh-search-empty .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v3.8 dedicated missing-product page. */
.mh-missing-page{padding:38px 20px 65px}.mh-missing-card{max-width:760px;margin:auto;padding:42px 26px;text-align:center;border:1px solid var(--line);border-radius:20px;background:var(--paper);box-shadow:var(--shadow)}
.mh-missing-icon{display:grid;width:78px;height:78px;margin:0 auto 16px;place-items:center;border-radius:50%;background:var(--cream);color:var(--gold-dark);font-size:28px;font-weight:900}
.mh-missing-card h1{margin:0 0 8px;font-size:27px}.mh-missing-card>p{max-width:600px;margin:0 auto 20px;color:var(--muted)}
.mh-missing-search{display:flex;max-width:590px;height:auto;margin:18px auto;padding:6px;background:var(--cream)}
.mh-missing-search input{min-width:0;min-height:43px}.mh-missing-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:16px}
@media(max-width:600px){.mh-missing-page{padding:16px 9px 40px}.mh-missing-card{padding:30px 13px}.mh-missing-card h1{font-size:22px}.mh-missing-search{display:grid}.mh-missing-search .btn{width:100%}.mh-missing-actions{display:grid}.mh-missing-actions .btn{width:100%}}

/* ============================================================
   v3.9 — manageable slider, visual categories, contact and notes
   ============================================================ */
.mh-slider-stage{position:relative;min-height:360px;border-radius:24px;overflow:hidden;background:var(--ink)}
.mh-slider-stage .mh-slide{position:absolute;inset:0;z-index:1;width:100%;min-height:360px;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(3%);transition:opacity .55s ease,transform .65s cubic-bezier(.2,.8,.2,1),visibility .55s}
.mh-slider-stage .mh-slide.is-active{position:relative;z-index:2;opacity:1;visibility:visible;pointer-events:auto;transform:none}
.hero .mh-slide h2{font-size:35px;line-height:1.45;margin:10px 0;font-weight:800;color:#fff}
.mh-slider-arrow{position:absolute;z-index:6;top:50%;width:44px;height:44px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(20,17,13,.55);color:#fff;font-size:29px;line-height:1;transform:translateY(-50%);backdrop-filter:blur(7px)}
.mh-slider-prev{right:15px}.mh-slider-next{left:15px}.mh-slider-stage .hero-pills{z-index:7}
.mh-custom-category .category-visual{width:100%;height:92px;border-radius:10px;overflow:hidden;background:var(--cream)}
.mh-custom-category .category-visual img{width:100%;height:100%;object-fit:cover;display:block}
.mh-featured-products .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.brand,.mobile-drawer-brand{padding:4px 8px;border:1px solid transparent;border-radius:11px;background:#fff;transition:background .25s,border-color .25s}
html[data-theme="dark"] .brand,html[data-theme="dark"] .mobile-drawer-brand,html[data-theme="dark"] .footer-logo-shell{background:#28231c!important;border-color:var(--line)!important}
html[data-theme="dark"] .brand img,html[data-theme="dark"] .mobile-drawer-brand img,html[data-theme="dark"] .footer-logo-shell img{filter:drop-shadow(0 2px 8px rgba(214,171,83,.2))}
.mh-contact-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:28px;padding-bottom:60px}
.mh-contact-card{display:flex;min-height:210px;flex-direction:column;align-items:center;justify-content:center;padding:25px;text-align:center;border:1px solid var(--line);border-radius:17px;background:var(--paper);box-shadow:var(--shadow)}
.mh-contact-card h2{margin:8px 0;font-size:18px}.mh-contact-card>a{direction:ltr;color:var(--gold-dark);font-size:17px;font-weight:800}.mh-contact-card p{margin:5px;color:var(--muted)}
.mh-contact-icon{display:grid;width:52px;height:52px;place-items:center;border-radius:50%;background:var(--cream);color:var(--gold-dark);font-size:23px}
.mh-contact-socials{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.mh-contact-socials a{padding:8px 15px;border:1px solid var(--line);border-radius:9px;background:var(--cream);color:var(--gold-dark);font-weight:700}
.mh-cart-note-row td{padding:18px!important;background:var(--cream)!important}.mh-cart-note-row label{display:grid;gap:2px;margin-bottom:8px}.mh-cart-note-row label b{font-size:14px}.mh-cart-note-row label span{color:var(--muted);font-size:11px}
#mh-cart-order-note{display:block;width:100%;min-height:105px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);resize:vertical;outline:0}#mh-cart-order-note:focus{border-color:var(--gold)}
.mh-note-save-status{display:block;min-height:20px;padding-top:5px;color:var(--success);font-size:10px}
.mh-managed-specs{width:100%;margin-top:14px}.mh-managed-specs h2{font-size:16px;margin:0 0 10px}
@media(max-width:800px){.mh-featured-products .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mh-contact-layout{grid-template-columns:1fr}.mh-slider-stage,.mh-slider-stage .mh-slide{min-height:440px}.hero .mh-slide h2{font-size:26px}.mh-slider-arrow{width:38px;height:38px}.mh-custom-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.mh-featured-products .product-grid{grid-template-columns:1fr}.mh-slider-stage,.mh-slider-stage .mh-slide{min-height:400px}.mh-slider-stage .hero-content{padding:48px 30px}.mh-custom-category .category-visual{height:82px}}

/* v4 dynamic slider: each dashboard slide occupies the same managed stage. */
.mh-dynamic-slider .mh-slide{background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important}
.mh-dynamic-slider .mh-slide.is-before{z-index:1}
.mh-dynamic-slider .mh-slider-arrow:hover{background:var(--gold);border-color:var(--gold);transform:translateY(-50%) scale(1.06)}
.mh-dynamic-slider .hero-pills button{transition:width .25s,opacity .25s,background .25s}
@media(prefers-reduced-motion:reduce){.mh-dynamic-slider .mh-slide{transition:none!important}}

/* v4.0.3 — full-cover category cards below the homepage slider. */
.mh-home .categories .category{
 display:flex!important;flex-direction:column!important;align-items:stretch!important;
 min-width:0;padding:0!important;overflow:hidden!important;text-align:center;
 border:1px solid var(--line)!important;border-radius:14px!important;background:var(--paper)!important
}
.mh-home .categories .category .category-visual{
 position:relative;display:block!important;width:100%!important;height:auto!important;
 aspect-ratio:4/3;margin:0!important;padding:0!important;overflow:hidden!important;
 border:0!important;border-radius:0!important;background:var(--cream)!important;color:var(--gold)
}
.mh-home .categories .category .category-visual img,
.mh-home .categories .category .category-visual .mh-category-cover{
 position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;
 max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;
 object-fit:cover!important;object-position:center!important;transition:transform .35s ease
}
.mh-home .categories .category:hover .category-visual img{transform:scale(1.045)}
.mh-home .categories .category>b{
 display:flex!important;width:100%;min-height:48px;align-items:center;justify-content:center;
 margin:0!important;padding:10px 8px!important;border-top:1px solid var(--line);
 background:var(--paper)!important;color:var(--ink)!important;font-size:12px;line-height:1.6
}
@media(max-width:600px){
 .mh-home .categories .category .category-visual{aspect-ratio:1/1}
 .mh-home .categories .category>b{min-height:44px;padding:8px 5px!important;font-size:11px}
}

/* ============================================================
   v4.1 — larger photographic category cards + adaptive logo art
   ============================================================ */
.mh-home .categories .category-grid{
 grid-template-columns:repeat(auto-fill,minmax(205px,1fr))!important;
 gap:18px!important
}
.mh-home .categories .category{
 min-height:218px!important;border-radius:17px!important;
 box-shadow:0 8px 22px rgba(30,24,14,.07)!important
}
.mh-home .categories .category .category-visual{aspect-ratio:16/11!important}
.mh-home .categories .category>b{min-height:54px!important;padding:12px 10px!important;font-size:13px!important}
.mh-home .categories .category:hover{box-shadow:var(--shadow)!important}
.mh-logo-dark{display:none!important}
.brand,.mobile-drawer-brand,.footer-logo-shell{
 background:transparent!important;border:0!important;box-shadow:none!important
}
.brand,.mobile-drawer-brand{padding:0!important}
.brand .mh-logo-light,.brand .mh-logo-dark,
.mobile-drawer-brand .mh-logo-light,.mobile-drawer-brand .mh-logo-dark,
.footer-logo-shell .mh-logo-light,.footer-logo-shell .mh-logo-dark{
 width:100%;height:100%;object-fit:contain;background:transparent!important
}
html[data-theme="dark"] .mh-logo-light{display:none!important}
html[data-theme="dark"] .mh-logo-dark{display:block!important}
html[data-theme="dark"] .brand,html[data-theme="dark"] .mobile-drawer-brand,html[data-theme="dark"] .footer-logo-shell{
 background:transparent!important;border:0!important
}
html[data-theme="dark"] .brand img,html[data-theme="dark"] .mobile-drawer-brand img,html[data-theme="dark"] .footer-logo-shell img{
 filter:none!important
}
@media(max-width:900px){.mh-home .categories .category-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}}
@media(max-width:600px){.mh-home .categories .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.mh-home .categories .category{min-height:176px!important}.mh-home .categories .category .category-visual{aspect-ratio:1/1!important}.mh-home .categories .category>b{min-height:46px!important;font-size:11px!important}}

/* v4.2 exact user-supplied light/dark logo pair. */
.brand .mh-logo-light,.brand .mh-logo-dark,
.mobile-drawer-brand .mh-logo-light,.mobile-drawer-brand .mh-logo-dark,
.footer-logo-shell .mh-logo-light,.footer-logo-shell .mh-logo-dark{
 width:100%!important;height:100%!important;object-fit:contain!important;
 object-position:center!important;border-radius:8px;background:transparent!important
}
.mh-logo-light{display:block!important}
.mh-logo-dark{display:none!important}
html[data-theme="dark"] .mh-logo-light{display:none!important}
html[data-theme="dark"] .mh-logo-dark{display:block!important}

/* v4.3 query-aware empty search with six smart product suggestions. */
.mh-search-page .mh-search-empty{max-width:1180px!important;padding:34px 22px!important}
.mh-smart-suggestions{margin:28px 0 12px;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--cream);text-align:right}
.mh-suggestion-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:17px}
.mh-suggestion-heading small{color:var(--gold-dark);font-weight:800}.mh-suggestion-heading h3{margin:2px 0;font-size:20px}.mh-suggestion-heading>span{color:var(--muted);font-size:11px}
.mh-suggestion-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
.mh-suggestion-card{min-width:0;text-align:right}.mh-suggestion-card .product-title{min-height:52px}.mh-view-suggestion{width:100%;margin-top:11px;padding:8px!important}
.mh-search-retry{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.mh-search-retry h3{margin:0 0 8px}
@media(max-width:800px){.mh-suggestion-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.mh-suggestion-heading{display:block}.mh-suggestion-heading>span{display:block;margin-top:4px}}
@media(max-width:480px){.mh-search-page .mh-search-empty{padding:24px 10px!important}.mh-smart-suggestions{padding:12px}.mh-suggestion-grid{grid-template-columns:1fr!important}.mh-suggestion-heading h3{font-size:17px}}

/* v4.3.2 — stable catalogue/search card placement. */
.mh-catalog-page{padding:24px 0 60px}
.mh-catalog-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 18px;padding:22px 24px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}
.mh-catalog-head small{color:var(--gold-dark);font-weight:800}.mh-catalog-head h1{margin:2px 0 0!important;font-size:25px!important}.mh-catalog-head p{max-width:520px;margin:0;color:var(--muted);text-align:left}
.mh-catalog-page .mh-shop-toolbar{display:flex!important;min-height:54px;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.mh-catalog-page .mh-shop-toolbar .woocommerce-result-count,.mh-catalog-page .mh-shop-toolbar .woocommerce-ordering{float:none!important;margin:0!important}
.mh-catalog-page .mh-shop-toolbar .woocommerce-ordering select{min-width:220px;background:var(--paper);color:var(--ink)}
.mh-archive-product-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important;align-items:stretch}
.mh-catalog-card{display:flex!important;height:100%;min-width:0;flex-direction:column;margin:0!important;padding:12px!important}
.mh-catalog-card .product-image{flex:0 0 auto;width:100%;aspect-ratio:1/.78;overflow:hidden}
.mh-catalog-card .product-image img{width:100%;height:100%;object-fit:cover}
.mh-catalog-card .product-body{display:flex;min-width:0;flex:1;flex-direction:column;padding:11px 5px 3px}
.mh-catalog-card .product-category{display:-webkit-box;min-height:22px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1;color:var(--muted)}
.mh-catalog-card .product-title{display:-webkit-box;min-height:56px;max-height:56px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;margin:4px 0 9px}
.mh-catalog-card .price-row{min-height:32px;margin-top:auto}.mh-catalog-card .price{white-space:normal!important;line-height:1.7}
.mh-catalog-card .mh-catalog-action{display:flex!important;min-height:43px;align-items:center;justify-content:center;margin-top:10px!important;text-align:center}
.mh-catalog-pagination{margin-top:26px}.mh-catalog-pagination:empty{display:none}
@media(max-width:900px){.mh-catalog-head{display:block}.mh-catalog-head p{margin-top:7px;text-align:right}.mh-archive-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:13px!important}}
@media(max-width:600px){.mh-catalog-page{padding:10px 0 40px}.mh-catalog-head{padding:15px 13px}.mh-catalog-head h1{font-size:20px!important}.mh-catalog-page .mh-shop-toolbar{align-items:stretch;flex-direction:column}.mh-catalog-page .mh-shop-toolbar .woocommerce-ordering,.mh-catalog-page .mh-shop-toolbar .woocommerce-ordering select{width:100%;min-width:0}.mh-archive-product-grid{gap:10px!important}.mh-catalog-card{padding:8px!important}.mh-catalog-card .product-title{min-height:48px;max-height:48px;font-size:12px}.mh-catalog-card .product-category{font-size:9px}.mh-catalog-card .price{font-size:12px}.mh-catalog-card .mh-catalog-action{min-height:39px;padding:7px!important;font-size:11px}}
@media(max-width:360px){.mh-archive-product-grid{grid-template-columns:1fr!important}}

/* v4.4.4 anchor target for the header story shortcut. */
#stories{scroll-margin-top:150px}

/* v4.4.6 — hierarchical dining-table menu: hover on desktop, tap on touch. */
.cat-flyout>.cat-flyout-item{position:relative;display:block;width:100%}
.cat-flyout>.cat-flyout-item>.cat-flyout-parent{width:100%}
.cat-flyout .cat-child-arrow{display:grid;width:22px;height:22px;flex:0 0 22px;place-items:center;border-radius:50%;background:var(--cream);color:var(--gold-dark);font-size:15px;transition:transform .2s}
.cat-flyout .cat-child-menu{display:none;margin:1px 9px 7px;padding:5px;border-right:2px solid var(--gold-soft);border-radius:0 0 9px 9px;background:var(--cream)}
.cat-flyout .cat-child-menu a{min-height:37px;padding:6px 8px;font-size:11px}
.cat-flyout .cat-child-menu a>span{color:var(--gold-dark)}
.cat-flyout .cat-child-menu a>b{font-size:11px}
.cat-flyout .cat-child-menu a>i{margin-right:auto;background:var(--paper)}
@media(hover:hover) and (pointer:fine){.cat-flyout-item.has-children:hover>.cat-child-menu{display:block}.cat-flyout-item.has-children:hover>.cat-flyout-parent .cat-child-arrow{transform:rotate(180deg)}}
.cat-flyout-item.has-children.open>.cat-child-menu{display:block!important}
.cat-flyout-item.has-children.open>.cat-flyout-parent .cat-child-arrow{transform:rotate(180deg)}
html[data-theme="dark"] .cat-flyout .cat-child-menu{background:#221e17;border-color:var(--gold-soft)}

/* v4.4.7 — homepage category cards reveal real Woo child categories. */
.category-grid>.mh-category-parent-card{position:relative!important;min-width:0!important;padding:0!important;overflow:hidden!important;isolation:isolate}
.mh-category-parent-card>.mh-category-main{display:flex;width:100%;height:100%;min-height:inherit;flex-direction:column;align-items:stretch;color:inherit}
.mh-category-parent-card>.mh-category-main>.category-visual{flex:1 1 auto}
.mh-category-parent-card>.mh-category-main>b{display:flex;width:100%;min-height:54px;align-items:center;justify-content:center;padding:11px 8px;border-top:1px solid var(--line);background:var(--paper);font-size:13px;line-height:1.6}
.mh-category-has-children{position:absolute;z-index:2;top:9px;left:9px;padding:3px 8px;border-radius:20px;background:rgba(20,17,13,.8);color:#fff;font-size:9px;font-style:normal;line-height:1.7;backdrop-filter:blur(4px)}
.mh-category-children{position:absolute;z-index:5;inset:7px;display:flex;visibility:hidden;opacity:0;overflow:auto;flex-direction:column;gap:5px;padding:12px;border:1px solid rgba(229,206,134,.55);border-radius:12px;background:rgba(25,21,16,.96);color:#fff;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s;pointer-events:none}
.mh-category-children>strong{margin-bottom:3px;padding-bottom:7px;border-bottom:1px solid rgba(255,255,255,.18);color:var(--gold-soft);font-size:12px}
.mh-category-children>a{display:flex;min-height:35px;align-items:center;gap:7px;padding:7px 8px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(255,255,255,.07);color:#fff!important;font-size:10px;text-align:right}
.mh-category-children>a:hover{border-color:var(--gold-soft);background:rgba(180,134,47,.3)}
.mh-category-children>a>span{color:var(--gold-soft)}.mh-category-children>a>b{font-weight:700}
.mh-category-children .mh-category-all-link{border-color:rgba(229,206,134,.45);color:var(--gold-soft)!important}
@media(hover:hover) and (pointer:fine){.mh-category-parent-card.has-children:hover>.mh-category-children{visibility:visible;opacity:1;transform:none;pointer-events:auto}}
.mh-category-parent-card.has-children.open>.mh-category-children{visibility:visible!important;opacity:1!important;transform:none!important;pointer-events:auto!important}
@media(max-width:600px){.mh-category-parent-card>.mh-category-main>b{min-height:46px;padding:8px 5px;font-size:11px}.mh-category-has-children{top:6px;left:6px;font-size:8px}.mh-category-children{inset:4px;padding:8px;gap:4px}.mh-category-children>strong{font-size:10px}.mh-category-children>a{min-height:31px;padding:5px 6px;font-size:9px}}

/* v4.4.8 — dining children injected directly below the header menu item. */
.main-nav .mh-dining-menu-item>a:after,.mobile-drawer-nav .mh-dining-menu-item>a:after{content:'⌄';display:inline-block;margin-right:6px;color:var(--gold-dark);font-size:12px;transition:transform .2s}
.main-nav .mh-dining-menu-item:hover>a:after,.main-nav .mh-dining-menu-item.open>a:after,.mobile-drawer-nav .mh-dining-menu-item.open>a:after{transform:rotate(180deg)}
.main-nav .mh-dining-menu-item>.sub-menu{min-width:235px;padding:8px!important}
.main-nav .mh-dining-menu-item>.sub-menu .mh-dining-child-item>a{display:block;padding:8px 10px;border-radius:7px;font-size:12px}
.main-nav .mh-dining-menu-item>.sub-menu .mh-dining-child-item>a:hover{background:var(--cream);color:var(--gold-dark)}
.main-nav li.menu-item-has-children.open>.sub-menu{display:block!important}
.mobile-drawer-nav li.menu-item-has-children>.sub-menu{display:none;margin:0 10px 7px;padding:5px!important;border-right:2px solid var(--gold-soft);background:var(--cream);border-radius:8px;list-style:none}
.mobile-drawer-nav li.menu-item-has-children.open>.sub-menu{display:block!important}
.mobile-drawer-nav .mh-dining-child-item>a{padding:7px 9px;font-size:11px}
.main-nav .sub-menu .mh-dining-menu-item>.sub-menu{top:0!important;right:100%!important;margin-top:0!important;margin-right:8px!important}

/* v4.5.0 — runtime submenu safety net remains visible on hover. */
.main-nav li.mh-dining-menu-item:hover>ul.sub-menu,.main-nav li.mh-dining-menu-item.open>ul.sub-menu{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
.main-nav ul.sub-menu.mh-dining-runtime-submenu{z-index:90!important}
.mobile-drawer-nav li.mh-dining-menu-item.open>ul.sub-menu{display:block!important;visibility:visible!important;opacity:1!important}
