/*
 Theme Name:   Woodmart Child
 Description:  Woodmart Child Theme
 Author:       XTemos
 Author URI:   http://xtemos.com
 Template:     woodmart
 Version:      1.0.0
 Text Domain:  woodmart
*/


/* ==========================================================================
   MMKeys — WoodMart refinements  (added by Claude, 2026-09-13)
   Everything below is scoped with mm- prefixes or WoodMart's own classes.
   Safe to remove in one block to revert.
   ========================================================================== */
:root{
  --mm-navy:#0A3161;
  --mm-line:#e6eaf0;
  --mm-muted:#6b7280;
  --mm-ink:#111827;
  --mm-check:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2.2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'12'%20cy%3D'12'%20r%3D'9.2'%2F%3E%3Cpath%20d%3D'm8.2%2012.2%202.6%202.6%205-5.4'%2F%3E%3C%2Fsvg%3E");
}

/* ---------- 1. Kill the fixed left category rail ---------- */
.wd-sticky-nav{display:none !important;}
body.wd-sticky-nav-enabled{margin-left:0 !important;}
.wd-sticky-nav-enabled .wd-page-wrapper,
.wd-sticky-nav-enabled .whb-header{margin-left:0 !important;padding-left:0 !important;}

/* ---------- 2. Header: white background + outline icons ---------- */
.whb-general-header{background-color:#fff !important;border-bottom:1px solid var(--mm-line);}

/* outline nav icons instead of the coloured PNGs */
.whb-general-header .wd-header-secondary-nav .wd-nav > li > a img{display:none !important;}
.whb-general-header .wd-header-secondary-nav .wd-nav > li > a{
  display:flex;align-items:center;gap:8px;
  font-weight:600;letter-spacing:.01em;color:#1f2937;
}
.whb-general-header .wd-header-secondary-nav .wd-nav > li > a::before{
  content:"";flex:0 0 auto;width:19px;height:19px;
  background-color:currentColor;
  -webkit-mask-size:contain;mask-size:contain;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  opacity:.9;transition:opacity .2s ease;
}
.whb-general-header .wd-header-secondary-nav .wd-nav > li > a:hover::before{opacity:1;}
.whb-general-header .wd-nav > li > a[href*="microsoft-office"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M14%203H7a2%202%200%200%200-2%202v14a2%202%200%200%200%202%202h10a2%202%200%200%200%202-2V8z'%2F%3E%3Cpath%20d%3D'M14%203v5h5'%2F%3E%3Cpath%20d%3D'M9%2013h6'%2F%3E%3Cpath%20d%3D'M9%2017h4'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M14%203H7a2%202%200%200%200-2%202v14a2%202%200%200%200%202%202h10a2%202%200%200%200%202-2V8z'%2F%3E%3Cpath%20d%3D'M14%203v5h5'%2F%3E%3Cpath%20d%3D'M9%2013h6'%2F%3E%3Cpath%20d%3D'M9%2017h4'%2F%3E%3C%2Fsvg%3E");}
.whb-general-header .wd-nav > li > a[href*="windows-11"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M4%205.6%2010.5%204.7v6.5H4z'%2F%3E%3Cpath%20d%3D'M12.3%204.5%2020%203.4v7.8h-7.7z'%2F%3E%3Cpath%20d%3D'M4%2012.8h6.5v6.5L4%2018.4z'%2F%3E%3Cpath%20d%3D'M12.3%2012.8H20v7.8l-7.7-1.1z'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M4%205.6%2010.5%204.7v6.5H4z'%2F%3E%3Cpath%20d%3D'M12.3%204.5%2020%203.4v7.8h-7.7z'%2F%3E%3Cpath%20d%3D'M4%2012.8h6.5v6.5L4%2018.4z'%2F%3E%3Cpath%20d%3D'M12.3%2012.8H20v7.8l-7.7-1.1z'%2F%3E%3C%2Fsvg%3E");}
.whb-general-header .wd-nav > li > a[href*="windows-server"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'3'%20y%3D'4'%20width%3D'18'%20height%3D'6'%20rx%3D'1.6'%2F%3E%3Crect%20x%3D'3'%20y%3D'14'%20width%3D'18'%20height%3D'6'%20rx%3D'1.6'%2F%3E%3Cpath%20d%3D'M6.8%207h.01'%2F%3E%3Cpath%20d%3D'M6.8%2017h.01'%2F%3E%3Cpath%20d%3D'M10.5%207h6'%2F%3E%3Cpath%20d%3D'M10.5%2017h6'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'3'%20y%3D'4'%20width%3D'18'%20height%3D'6'%20rx%3D'1.6'%2F%3E%3Crect%20x%3D'3'%20y%3D'14'%20width%3D'18'%20height%3D'6'%20rx%3D'1.6'%2F%3E%3Cpath%20d%3D'M6.8%207h.01'%2F%3E%3Cpath%20d%3D'M6.8%2017h.01'%2F%3E%3Cpath%20d%3D'M10.5%207h6'%2F%3E%3Cpath%20d%3D'M10.5%2017h6'%2F%3E%3C%2Fsvg%3E");}
.whb-general-header .wd-nav > li > a[href*="/blog"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M4%205.5A1.5%201.5%200%200%201%205.5%204H16a1.5%201.5%200%200%201%201.5%201.5V18a2%202%200%200%200%202%202H6a2%202%200%200%201-2-2z'%2F%3E%3Cpath%20d%3D'M17.5%208H20v10a2%202%200%200%201-2%202'%2F%3E%3Cpath%20d%3D'M7.5%208h6'%2F%3E%3Cpath%20d%3D'M7.5%2011.5h6'%2F%3E%3Cpath%20d%3D'M7.5%2015h4'%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.6'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M4%205.5A1.5%201.5%200%200%201%205.5%204H16a1.5%201.5%200%200%201%201.5%201.5V18a2%202%200%200%200%202%202H6a2%202%200%200%201-2-2z'%2F%3E%3Cpath%20d%3D'M17.5%208H20v10a2%202%200%200%201-2%202'%2F%3E%3Cpath%20d%3D'M7.5%208h6'%2F%3E%3Cpath%20d%3D'M7.5%2011.5h6'%2F%3E%3Cpath%20d%3D'M7.5%2015h4'%2F%3E%3C%2Fsvg%3E");}

/* thin separators between the nav entries, like the reference header */
.whb-general-header .wd-header-secondary-nav .wd-nav > li{position:relative;}
.whb-general-header .wd-header-secondary-nav .wd-nav > li + li::before{
  content:"";position:absolute;left:-1px;top:50%;transform:translateY(-50%);
  width:1px;height:20px;background:var(--mm-line);
}

/* ---------- 3. Product title ---------- */
.single-product-page .wd-single-title .product_title{
  font-size:24px !important;line-height:1.32 !important;margin-bottom:4px;
}
@media(max-width:1024px){.single-product-page .wd-single-title .product_title{font-size:21px !important;}}
@media(max-width:575px){.single-product-page .wd-single-title .product_title{font-size:19px !important;}}

/* ---------- 4. Price + currency switcher on one line ---------- */
.mm-price-row{
  display:flex !important;align-items:center;gap:14px;flex-wrap:wrap;
  margin:10px 0 16px !important;
}
.mm-price-row > *{margin:0 !important;}
.mm-price-row .wd-single-price,.mm-price-row .price{margin:0 !important;}
.mm-price-row .price{line-height:1.1;}
.mm-price-row .woocommerce-currency-switcher-form{margin:0 !important;}
.mm-price-row .woocommerce-currency-switcher-form p{margin:0 !important;}
/* FOX's "sd" description paragraph never belongs next to the price */
.mm-price-row .woocs_price_info,.mm-price-row small,.mm-price-row .woocs_desc{display:none !important;}

/* ---------- 5. Trust bar (full width, under the gallery) ---------- */
.mm-trustbar{
  border:1px solid var(--mm-line);border-radius:14px;background:#fff;
  margin:0 0 32px;overflow:hidden;
}
.mm-trustbar-inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));}
.mm-tb-item{
  display:flex;align-items:center;gap:13px;padding:18px 22px;position:relative;min-width:0;
}
.mm-tb-item + .mm-tb-item::before{
  content:"";position:absolute;left:0;top:20%;height:60%;width:1px;background:var(--mm-line);
}
.mm-tb-ico{
  flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
  width:42px;height:42px;border-radius:50%;
  background:rgba(10,49,97,.07);color:var(--mm-navy);
}
.mm-tb-ico svg{width:22px;height:22px;display:block;}
.mm-tb-txt{display:flex;flex-direction:column;min-width:0;line-height:1.35;}
.mm-tb-txt strong{font-size:14px;font-weight:600;color:var(--mm-ink);}
.mm-tb-txt > span{font-size:12.5px;color:var(--mm-muted);}
@media(max-width:1024px){
  .mm-trustbar-inner{grid-template-columns:repeat(2,minmax(0,1fr));}
  .mm-tb-item:nth-child(odd)::before{display:none;}
  .mm-tb-item:nth-child(n+3){border-top:1px solid var(--mm-line);}
}
@media(max-width:575px){
  .mm-trustbar-inner{grid-template-columns:1fr;}
  .mm-tb-item::before{display:none !important;}
  .mm-tb-item + .mm-tb-item{border-top:1px solid var(--mm-line);}
  .mm-tb-item{padding:14px 16px;}
}

/* ---------- 6. Tab animation ---------- */
@keyframes mmTabIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
.wd-single-tabs .woocommerce-Tabs-panel,
.wd-single-tabs .wc-tab{animation:mmTabIn .4s cubic-bezier(.22,.61,.36,1) both;}
.wd-single-tabs .wc-tabs > li{position:relative;}
.wd-single-tabs .wc-tabs > li > a{transition:color .25s ease;}
.wd-single-tabs .wc-tabs > li::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;
  background:var(--mm-navy);transform:scaleX(0);transform-origin:left center;
  transition:transform .32s cubic-bezier(.22,.61,.36,1);
}
.wd-single-tabs .wc-tabs > li.active::after,
.wd-single-tabs .wc-tabs > li:hover::after{transform:scaleX(1);}
@media(prefers-reduced-motion:reduce){
  .wd-single-tabs .woocommerce-Tabs-panel,.wd-single-tabs .wc-tab{animation:none;}
  .wd-single-tabs .wc-tabs > li::after{transition:none;}
}

/* ---------- 7. Support note under the description ---------- */
.mm-support-note{
  display:flex;align-items:flex-start;gap:12px;
  margin:20px 0 0;padding:14px 18px;
  border:1px solid var(--mm-line);border-left:3px solid var(--mm-navy);
  border-radius:10px;background:#f8fafc;
  font-size:14px;line-height:1.55;color:#374151;
}
.mm-support-ico{flex:0 0 auto;color:var(--mm-navy);}
.mm-support-ico svg{width:22px;height:22px;display:block;}
.mm-support-note a{color:var(--mm-navy);font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.mm-support-note a:hover{text-decoration:none;}

/* ---------- 8. Rating row kept compact ---------- */
.single-product-page .woocommerce-product-rating{
  display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:13px;
}
.single-product-page .woocommerce-product-rating .woocommerce-review-link{color:var(--mm-muted);}


/* ---------- 9. FOX currency switcher (ddslick) ---------- */
.mm-price-row .woocommerce-currency-switcher-form{width:auto !important;}
.mm-price-row .dd-container{width:auto !important;min-width:112px;}
.mm-price-row .dd-select{
  border:1px solid var(--mm-line) !important;border-radius:9px !important;
  background:#fff !important;height:42px;overflow:hidden;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.mm-price-row .dd-select:hover,.mm-price-row .dd-container.dd-open .dd-select{
  border-color:var(--mm-navy) !important;box-shadow:0 0 0 3px rgba(10,49,97,.08);
}
.mm-price-row .dd-selected{
  padding:0 30px 0 12px !important;margin:0 !important;height:42px;
  display:flex !important;align-items:center;gap:8px;
}
.mm-price-row .dd-selected-text{
  font-size:14px !important;font-weight:600 !important;line-height:1 !important;
  color:var(--mm-ink) !important;margin:0 !important;white-space:nowrap;
}
.mm-price-row .dd-selected-image,.mm-price-row .dd-option-image{
  max-width:20px !important;height:auto !important;margin:0 !important;
  border-radius:2px;order:-1;
}
.mm-price-row .dd-pointer{right:12px !important;border-color:#9aa4b2 transparent !important;}
.mm-price-row .dd-options{
  border:1px solid var(--mm-line) !important;border-radius:9px !important;
  box-shadow:0 12px 30px rgba(16,24,40,.14) !important;margin-top:5px !important;
  overflow:hidden;min-width:150px;
}
.mm-price-row .dd-option{
  padding:9px 12px !important;display:flex !important;align-items:center;gap:8px;
  border-bottom:1px solid #f1f4f8 !important;transition:background .18s ease;
}
.mm-price-row .dd-option:last-child{border-bottom:0 !important;}
.mm-price-row .dd-option:hover,.mm-price-row .dd-option-selected{background:#f4f7fb !important;}
.mm-price-row .dd-option-text{
  font-size:14px !important;font-weight:500 !important;line-height:1 !important;
  color:var(--mm-ink) !important;margin:0 !important;white-space:nowrap;
}
/* FOX's placeholder currency descriptions must never reach a customer */
.mm-price-row .dd-option-description,.mm-price-row .dd-desc,
.woocommerce-currency-switcher-form .dd-option-description{display:none !important;}
.woocs_display_none{display:none !important;}

/* ---------- 10. Related products ---------- */
.mm-related > .wp-block-wd-title,#wd-mm-related-t{
  font-size:18px !important;line-height:1.3;margin-bottom:16px !important;
}
.mm-related .wd-product .wd-entities-title{
  font-size:13.5px !important;line-height:1.4;font-weight:500;
}
.mm-related .wd-product .price{font-size:15px;}
.mm-related .wd-product{padding-bottom:6px;}

/* ---------- 11. Checkout (rewritten) ---------- */
.woocommerce-checkout .mm-checkout-hero{
  background:linear-gradient(135deg,#082540 0%,#0e3f6b 100%);
  color:#fff;text-align:center;border-radius:16px;
  padding:34px 24px;margin:0 0 28px;
}
.woocommerce-checkout .mm-checkout-hero h2{
  color:#fff;font-size:26px;line-height:1.25;margin:0 0 8px;font-weight:700;
}
.woocommerce-checkout .mm-checkout-hero p{color:rgba(255,255,255,.82);font-size:15px;margin:0;}
@media(max-width:767px){
  .woocommerce-checkout .mm-checkout-hero{padding:24px 16px;border-radius:12px;margin-bottom:20px;}
  .woocommerce-checkout .mm-checkout-hero h2{font-size:20px;}
  .woocommerce-checkout .mm-checkout-hero p{font-size:14px;}
}

/* form + summary sit on one elevated card */
.wd-checkout-form > .wp-block-wd-row{
  background:#fff;border:1px solid var(--mm-line);border-radius:16px;
  box-shadow:0 16px 44px rgba(16,24,40,.08);
  padding:30px 30px 34px;margin-left:0;margin-right:0;
}
@media(max-width:767px){
  .wd-checkout-form > .wp-block-wd-row{padding:18px 14px 22px;border-radius:12px;}
}

.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .wd-checkout-form h3:not(.wd-entities-title):not(.woodmart-title-container){
  font-size:13px;letter-spacing:.08em;text-transform:uppercase;
  color:#475467;font-weight:700;margin-bottom:16px;
}

/* right column = order summary panel (WoodMart renders .wd-order-table, not .woocommerce-checkout-review-order) */
.wd-checkout-form > .wp-block-wd-row > .wp-block-wd-column.wd-align-s-start{
  background:#f8fafc;border:1px solid var(--mm-line);border-radius:14px;
  padding:22px 22px 24px;align-self:flex-start;
}
@media(max-width:767px){
  .wd-checkout-form > .wp-block-wd-row > .wp-block-wd-column.wd-align-s-start{padding:16px 14px 18px;}
}
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total th,
.wd-order-table tfoot .order-total th,
.wd-order-table tfoot .order-total td,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total td{
  font-size:18px;font-weight:700;color:var(--mm-ink);
}
.woocommerce-checkout #place_order{
  width:100%;border-radius:10px;font-weight:700;letter-spacing:.02em;
  padding-top:16px;padding-bottom:16px;font-size:16px;
}
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .select2-container .select2-selection--single{
  border-radius:9px;border-color:var(--mm-line);
}

/* trust list under the order summary */
.woocommerce-checkout ul.mm-trust{
  list-style:none;margin:0;padding:0;display:grid;gap:11px;
}
.woocommerce-checkout ul.mm-trust li{
  display:flex;flex-direction:column;position:relative;
  padding-left:27px;margin:0;line-height:1.4;
}
.woocommerce-checkout ul.mm-trust li::before{
  content:"";position:absolute;left:0;top:2px;width:17px;height:17px;
  background-color:#12a150;
  -webkit-mask-image:var(--mm-check);mask-image:var(--mm-check);
  -webkit-mask-size:contain;mask-size:contain;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
}
.woocommerce-checkout ul.mm-trust li strong{font-size:13.5px;font-weight:600;color:var(--mm-ink);}
.woocommerce-checkout ul.mm-trust li span{font-size:12.5px;color:var(--mm-muted);}


/* ==========================================================================
   MMKeys DESIGN SYSTEM — one typeface, one scale, one rhythm
   Applies across WoodMart templates, WooCommerce and Elementor pages.
   Everything below is one removable block.
   ========================================================================== */

/* ---------- D1. Tokens ---------- */
:root{
  --mm-font:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;

  --mm-navy:#0A3161;
  --mm-navy-dark:#082540;
  --mm-navy-soft:rgba(10,49,97,.07);
  --mm-green:#1BA34A;
  --mm-green-dark:#158A3D;

  --mm-ink:#14181f;
  --mm-text:#3d4654;
  --mm-muted:#6b7280;
  --mm-line:#e6eaf0;
  --mm-line-soft:#f0f3f7;
  --mm-surface:#ffffff;
  --mm-surface-soft:#f8fafc;

  --mm-r-sm:8px;
  --mm-r:10px;
  --mm-r-lg:14px;
  --mm-r-xl:18px;

  --mm-sh-sm:0 1px 2px rgba(16,24,40,.05);
  --mm-sh:0 4px 14px rgba(16,24,40,.07);
  --mm-sh-lg:0 16px 44px rgba(16,24,40,.10);

  --mm-s1:4px;  --mm-s2:8px;  --mm-s3:12px; --mm-s4:16px;
  --mm-s5:24px; --mm-s6:32px; --mm-s7:48px; --mm-s8:64px; --mm-s9:88px;

  --mm-section-y:clamp(40px,4.4vw,72px);
  --mm-gutter:clamp(16px,3vw,32px);
}

/* ---------- D2. One typeface everywhere (icon fonts untouched) ---------- */
body,
button, input, select, optgroup, textarea,
h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.elementor-widget-text-editor,
.elementor-widget-container,
.elementor-button,
.wd-entities-title,
.widget-title, .widgettitle,
.price, .amount, .woocommerce-Price-amount,
.wd-nav a, .menu-item a,
.title, .wd-title-color{
  font-family:var(--mm-font) !important;
}

body{
  font-size:15px;
  line-height:1.6;
  color:var(--mm-text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

/* ---------- D3. One type scale ---------- */
h1, .h1, .elementor-widget-heading h1.elementor-heading-title{
  font-size:clamp(27px, 1.5vw + 18px, 38px) !important;
  font-weight:600 !important;
  line-height:1.16 !important;
  letter-spacing:-.022em !important;
  color:var(--mm-ink);
}
h2, .h2, .elementor-widget-heading h2.elementor-heading-title{
  font-size:clamp(23px, .8vw + 18px, 30px) !important;
  font-weight:600 !important;
  line-height:1.22 !important;
  letter-spacing:-.018em !important;
  color:var(--mm-ink);
}
h3, .h3, .elementor-widget-heading h3.elementor-heading-title{
  font-size:clamp(19px, .35vw + 17px, 22px) !important;
  font-weight:600 !important;
  line-height:1.3 !important;
  letter-spacing:-.012em !important;
  color:var(--mm-ink);
}
h4, .h4, .elementor-widget-heading h4.elementor-heading-title{
  font-size:17px !important;
  font-weight:600 !important;
  line-height:1.38 !important;
  letter-spacing:-.008em !important;
  color:var(--mm-ink);
}
h5, .h5, .elementor-widget-heading h5.elementor-heading-title{
  font-size:15px !important;
  font-weight:600 !important;
  line-height:1.45 !important;
  color:var(--mm-ink);
}
h6, .h6, .elementor-widget-heading h6.elementor-heading-title{
  font-size:12.5px !important;
  font-weight:600 !important;
  line-height:1.45 !important;
  letter-spacing:.07em !important;
  text-transform:uppercase;
  color:var(--mm-muted);
}

/* body copy — Elementor's text editor and WoodMart content align on one size */
.wd-page-content p,
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.woocommerce-Tabs-panel p,
.entry-content p{
  font-size:15px;
  line-height:1.65;
  color:var(--mm-text);
}
.wd-page-content li,
.elementor-widget-text-editor li{font-size:15px;line-height:1.65;}
small, .small{font-size:13px;line-height:1.5;}

/* ---------- D4. Small-title contexts keep their own size ---------- */
.wd-entities-title,
.wd-product .wd-entities-title,
.product_list_widget .wd-entities-title,
.wd-cart-drop .wd-entities-title,
.widget .wd-entities-title,
.wd-sub-menu .wd-entities-title,
.cart_item .product-name,
.cart_item .product-name a,
.wd-order-table .product-name,
.woocommerce-checkout-review-order-table .product-name,
.wd-nav .wd-entities-title{
  font-size:14.5px !important;
  font-weight:500 !important;
  line-height:1.45 !important;
  letter-spacing:0 !important;
}
.widget-title, .widgettitle, .wd-widget-title{
  font-size:15px !important;
  font-weight:600 !important;
  line-height:1.4 !important;
  letter-spacing:.01em !important;
  text-transform:none !important;
}

/* product page title matches the reference storefront */
.single-product-page .wd-single-title .product_title{
  font-size:26px !important;
  line-height:1.2 !important;
  letter-spacing:-.025em !important;
  margin-bottom:6px;
}
@media(max-width:575px){
  .single-product-page .wd-single-title .product_title{font-size:21px !important;}
}

/* ---------- D5. Vertical rhythm ---------- */
.wd-page-content h1,
.wd-page-content h2,
.wd-page-content h3,
.wd-page-content h4{margin-top:0;margin-bottom:var(--mm-s3);}
.wd-page-content p{margin-top:0;margin-bottom:var(--mm-s4);}
.wd-page-content p:last-child{margin-bottom:0;}
.wd-page-content ul,
.wd-page-content ol{margin-bottom:var(--mm-s4);padding-left:1.25em;}
.wd-page-content li + li{margin-top:6px;}
.wd-page-content * + h2{margin-top:var(--mm-s7);}
.wd-page-content * + h3{margin-top:var(--mm-s5);}
.wd-page-content * + h4{margin-top:var(--mm-s5);}

/* one section rhythm for Elementor pages too */
.elementor-page .elementor-top-section{
  padding-top:var(--mm-section-y);
  padding-bottom:var(--mm-section-y);
}
.elementor-page .elementor-top-section.elementor-section-height-full{padding-top:0;padding-bottom:0;}
main.wd-content-layout{
  padding-top:var(--mm-section-y);
  padding-bottom:var(--mm-section-y);
}

/* one content width across WoodMart and Elementor */
.elementor-section.elementor-section-boxed > .elementor-container{max-width:1450px;}
.elementor-widget-text-editor,
.mm-prose{max-width:76ch;}

/* ---------- D6. Links ---------- */
.wd-page-content a:not(.button):not(.btn):not(.elementor-button):not(.wd-buy-now-btn):not(.wd-entities-title):not([class*="wd-"]){
  color:var(--mm-navy);
  text-underline-offset:3px;
  text-decoration-thickness:1px;
  transition:color .18s ease;
}
.wd-page-content a:not(.button):not(.btn):not(.elementor-button):hover{color:var(--mm-navy-dark);}

/* ---------- D7. Buttons ---------- */
.btn, .button, button.button, input[type=submit],
.elementor-button, .wd-button,
.single_add_to_cart_button, .wd-add-btn > a,
#place_order, .checkout-button, .woocommerce-Button{
  font-family:var(--mm-font) !important;
  font-size:14.5px !important;
  font-weight:600 !important;
  letter-spacing:.01em !important;
  border-radius:var(--mm-r) !important;
  line-height:1.2 !important;
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .12s ease !important;
}
.btn:active, .button:active, .elementor-button:active,
.single_add_to_cart_button:active, #place_order:active{transform:translateY(1px);}

/* primary buy action */
.single_add_to_cart_button,
.wd-buy-now-btn,
#place_order,
.checkout-button,
.btn-color-primary,
.elementor-button.elementor-button-primary{
  background-color:var(--mm-green) !important;
  color:#fff !important;
  border:0 !important;
  padding:14px 28px !important;
  box-shadow:0 1px 2px rgba(16,24,40,.06) !important;
}
.single_add_to_cart_button:hover,
.wd-buy-now-btn:hover,
#place_order:hover,
.checkout-button:hover{
  background-color:var(--mm-green-dark) !important;
  box-shadow:0 6px 18px rgba(27,163,74,.24) !important;
}

/* secondary / neutral */
.btn-color-default, .button.alt-secondary, .wd-button.wd-style-bordered,
button[name="update_cart"], .woocommerce-Button--next{
  background-color:#fff !important;
  color:var(--mm-navy) !important;
  border:1px solid var(--mm-line) !important;
  padding:12px 22px !important;
}
.btn-color-default:hover, .wd-button.wd-style-bordered:hover,
button[name="update_cart"]:hover{
  border-color:var(--mm-navy) !important;
  background-color:var(--mm-surface-soft) !important;
}
button:focus-visible, a:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible{
  outline:2px solid var(--mm-navy);
  outline-offset:2px;
}

/* ---------- D8. Form fields ---------- */
input[type=text], input[type=email], input[type=tel], input[type=url],
input[type=password], input[type=number], input[type=search],
textarea, select,
.form-row input.input-text, .form-row textarea,
.select2-container .select2-selection--single,
.wpcf7 input, .wpcf7 textarea, .wpcf7 select{
  font-family:var(--mm-font) !important;
  font-size:15px !important;
  border-radius:var(--mm-r-sm) !important;
  border:1px solid var(--mm-line) !important;
  background-color:#fff !important;
  color:var(--mm-ink) !important;
  transition:border-color .18s ease,box-shadow .18s ease !important;
}
input[type=text]:focus, input[type=email]:focus, input[type=tel]:focus,
input[type=password]:focus, input[type=number]:focus, input[type=search]:focus,
textarea:focus, select:focus,
.form-row input.input-text:focus, .form-row textarea:focus{
  border-color:var(--mm-navy) !important;
  box-shadow:0 0 0 3px rgba(10,49,97,.08) !important;
  outline:none !important;
}
label, .form-row label{
  font-size:13.5px !important;
  font-weight:600 !important;
  color:var(--mm-ink) !important;
  letter-spacing:.005em;
}
::placeholder{color:#9aa4b2 !important;opacity:1;}

/* ---------- D9. Cards, panels, tables ---------- */
.mm-card,
.wd-page-content .elementor-widget-icon-box .elementor-icon-box-wrapper,
.wd-product.wd-with-bg .product-wrapper{
  border-radius:var(--mm-r-lg);
}
.shop_table, .woocommerce-table, table.wd-order-table table{
  border-radius:var(--mm-r-lg);
  overflow:hidden;
}
.shop_table thead th, .woocommerce-table thead th{
  font-size:12px !important;
  font-weight:600 !important;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--mm-muted) !important;
}
hr, .wp-block-wd-divider.wd-style-line{border-color:var(--mm-line);}

/* ---------- D10. Breadcrumbs, notices, badges ---------- */
.wd-breadcrumbs, .woocommerce-breadcrumb, .wd-el-breadcrumbs{
  font-size:13px !important;
  color:var(--mm-muted) !important;
}
.woocommerce-message, .woocommerce-info, .woocommerce-error{
  border-radius:var(--mm-r) !important;
  font-size:14.5px !important;
}
.onsale, .wd-product-labels .product-label{
  font-size:11.5px !important;
  font-weight:600 !important;
  letter-spacing:.04em;
  border-radius:999px !important;
}

/* ---------- D11. Product grid cards ---------- */
.wd-product .wd-entities-title{margin-bottom:6px;}
.wd-product .price{font-size:16px !important;font-weight:600 !important;color:var(--mm-ink) !important;letter-spacing:-.01em;}
.wd-product .price del{font-weight:400 !important;color:var(--mm-muted) !important;}

/* ---------- D12. Footer ---------- */
.wd-footer h3, .wd-footer h4, .wd-footer .widget-title{
  font-size:13px !important;
  font-weight:600 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}
.wd-footer, .wd-footer p, .wd-footer li, .wd-footer a{font-size:14px;line-height:1.7;}

/* ---------- D13. Mobile rhythm ---------- */
@media(max-width:767px){
  .wd-page-content * + h2{margin-top:var(--mm-s6);}
  .single_add_to_cart_button, #place_order, .checkout-button{padding:14px 20px !important;}
}
@media(prefers-reduced-motion:reduce){
  .btn, .button, .elementor-button, .single_add_to_cart_button, #place_order{transition:none !important;}
}


/* ==========================================================================
   MMKeys CONTENT PAGES — FAQ / About components
   ========================================================================== */

/* the rebuilt pages carry their own H1, so the theme title bar keeps only
   the breadcrumb trail (one H1 per page) */
.page-id-65 .wd-page-title .entry-title,
.page-id-30 .wd-page-title .entry-title{display:none;}
.page-id-65 .wd-page-title,
.page-id-30 .wd-page-title{padding-top:18px;padding-bottom:0;min-height:0;}

/* shared shells */
.mm-lede, .mm-faq-intro{
  max-width:68ch;margin-left:auto;margin-right:auto;
  font-size:16.5px !important;line-height:1.7 !important;color:var(--mm-muted) !important;
}
.mm-btn-primary, .mm-btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;
  font-size:14.5px;font-weight:600;letter-spacing:.01em;
  padding:13px 26px;border-radius:var(--mm-r);
  text-decoration:none !important;white-space:nowrap;
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .12s ease;
}
.mm-btn-primary{background:var(--mm-green);color:#fff !important;border:1px solid var(--mm-green);}
.mm-btn-primary:hover{background:var(--mm-green-dark);border-color:var(--mm-green-dark);box-shadow:0 6px 18px rgba(27,163,74,.24);color:#fff !important;}
.mm-btn-ghost{background:transparent;color:#fff !important;border:1px solid rgba(255,255,255,.45);}
.mm-btn-ghost:hover{background:rgba(255,255,255,.1);border-color:#fff;color:#fff !important;}
.mm-btn-primary:active,.mm-btn-ghost:active{transform:translateY(1px);}

/* ---------- FAQ ---------- */
.wd-accordion .wd-accordion-item{
  border:1px solid var(--mm-line) !important;
  border-radius:var(--mm-r-lg);
  background:#fff;
  margin-bottom:10px;
  overflow:hidden;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.wd-accordion .wd-accordion-item:hover{border-color:#d5dce6 !important;}
.wd-accordion .wd-accordion-title{
  padding:17px 20px !important;
  gap:16px;
  cursor:pointer;
}
.wd-accordion .wd-accordion-title-text span{
  font-size:15.5px !important;
  font-weight:600 !important;
  line-height:1.45 !important;
  letter-spacing:-.008em;
  color:var(--mm-ink) !important;
}
.wd-accordion .wd-accordion-opener{color:var(--mm-muted);transition:color .18s ease,transform .25s ease;}
.wd-accordion .wd-accordion-content{padding:0 20px !important;}
.wd-accordion .wd-accordion-content p{
  font-size:15px !important;line-height:1.7 !important;color:var(--mm-text) !important;
  padding-bottom:18px;margin:0;
}
@media(max-width:575px){
  .wd-accordion .wd-accordion-title{padding:15px 16px !important;}
  .wd-accordion .wd-accordion-content{padding:0 16px !important;}
  .wd-accordion .wd-accordion-title-text span{font-size:15px !important;}
}

.mm-faq-cta{
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  padding:26px 30px;border-radius:var(--mm-r-lg);
  background:var(--mm-surface-soft);border:1px solid var(--mm-line);
}
.mm-faq-cta h3{margin:0 0 4px;font-size:19px !important;}
.mm-faq-cta p{margin:0;font-size:14.5px;color:var(--mm-muted);}
@media(max-width:575px){.mm-faq-cta{padding:20px;flex-direction:column;align-items:flex-start;}}

/* ---------- About: promise cards ---------- */
.mm-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.mm-feature{
  padding:26px 24px;border:1px solid var(--mm-line);border-radius:var(--mm-r-lg);
  background:#fff;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.mm-feature:hover{border-color:#d5dce6;box-shadow:var(--mm-sh);transform:translateY(-2px);}
.mm-feature-ico{
  display:inline-flex;align-items:center;justify-content:center;
  width:46px;height:46px;border-radius:12px;
  background:var(--mm-navy-soft);color:var(--mm-navy);margin-bottom:16px;
}
.mm-feature-ico svg{width:23px;height:23px;display:block;}
.mm-feature h3{margin:0 0 8px;font-size:18px !important;}
.mm-feature p{margin:0;font-size:14.5px;line-height:1.65;color:var(--mm-muted);}
@media(max-width:1024px){.mm-grid-3{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.mm-grid-3{grid-template-columns:1fr;}}

/* ---------- About: prose grid ---------- */
.mm-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 44px;}
.mm-prose-item h3{margin:0 0 8px;font-size:18px !important;}
.mm-prose-item p{margin:0;font-size:15px;line-height:1.72;color:var(--mm-text);}
@media(max-width:860px){.mm-grid-2{grid-template-columns:1fr;gap:26px;}}

/* ---------- About: steps ---------- */
.mm-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;counter-reset:mm;}
.mm-step{
  position:relative;padding:24px 22px 22px;
  border:1px solid var(--mm-line);border-radius:var(--mm-r-lg);background:#fff;
}
.mm-step-num{
  display:inline-block;font-size:12px;font-weight:700;letter-spacing:.12em;
  color:var(--mm-navy);background:var(--mm-navy-soft);
  padding:4px 10px;border-radius:999px;margin-bottom:14px;
}
.mm-step h3{margin:0 0 6px;font-size:17px !important;}
.mm-step p{margin:0;font-size:14px;line-height:1.6;color:var(--mm-muted);}
@media(max-width:1024px){.mm-steps{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:520px){.mm-steps{grid-template-columns:1fr;}}

/* ---------- About: company details ---------- */
.mm-company{
  padding:30px 32px;border:1px solid var(--mm-line);border-radius:var(--mm-r-lg);
  background:var(--mm-surface-soft);
}
.mm-company > h3{margin:0 0 18px;font-size:13px !important;font-weight:600 !important;
  letter-spacing:.08em !important;text-transform:uppercase;color:var(--mm-muted) !important;}
.mm-company-dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 40px;}
.mm-company-dl > div{display:flex;flex-direction:column;gap:2px;}
.mm-company-dl dt{font-size:12.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--mm-muted);}
.mm-company-dl dd{margin:0;font-size:15px;color:var(--mm-ink);line-height:1.55;}
.mm-company-dl a{color:var(--mm-navy);text-underline-offset:3px;}
.mm-disclaimer{
  margin:22px 0 0;padding-top:18px;border-top:1px solid var(--mm-line);
  font-size:13px !important;line-height:1.6 !important;color:var(--mm-muted) !important;
}
@media(max-width:767px){
  .mm-company{padding:22px 18px;}
  .mm-company-dl{grid-template-columns:1fr;gap:14px;}
}

/* ---------- About: closing band ---------- */
.mm-cta-band{
  text-align:center;padding:clamp(36px,5vw,60px) 24px;
  border-radius:var(--mm-r-xl);
  background:linear-gradient(135deg,var(--mm-navy-dark) 0%,#0e3f6b 100%);
  color:#fff;
}
.mm-cta-band h2{color:#fff !important;margin:0 0 8px;}
.mm-cta-band p{margin:0 0 24px;color:rgba(255,255,255,.8);font-size:16px;}
.mm-cta-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}


/* ---------- FAQ / About: no sidebar, centred hero ---------- */
.page-id-65 .wd-sidebar, .page-id-30 .wd-sidebar,
.page-id-65 .wd-sidebar-opener, .page-id-30 .wd-sidebar-opener{display:none !important;}
.page-id-65 .wd-content-area, .page-id-30 .wd-content-area{width:100% !important;}

h1.wp-block-wd-title{text-align:center;}
.mm-lede, .mm-faq-intro{
  text-align:center !important;
  margin-left:auto !important;margin-right:auto !important;
  margin-bottom:0 !important;
}
.page-id-65 .wp-block-wd-section:first-of-type,
.page-id-30 .wp-block-wd-section:first-of-type{margin-bottom:var(--mm-s7);}


/* ---------- Elementor widget internals also follow the site font ---------- */
.elementor-widget *:not(i):not(svg):not(use):not(path):not(g):not([class*="eicon"]):not([class*="fa-"]):not([class*="wd-icon"]):not([class*="woodmart-font"]){
  font-family:var(--mm-font) !important;
}
.elementor-icon-box-title, .elementor-image-box-title{font-size:17px !important;font-weight:600 !important;}
.elementor-icon-box-description, .elementor-image-box-description,
.elementor-icon-list-text{font-size:14.5px !important;line-height:1.6 !important;}


/* ---------- Catch-all: one font across theme chrome, WooCommerce and widgets ----------
   Icon carriers are excluded by tag and class; icon pseudo-elements keep their own
   font-family because this selector never matches ::before / ::after. */
.wd-page-wrapper *:not(i):not(svg):not(use):not(path):not(g):not(defs):not(title):not([class*="eicon"]):not([class*="fa-"]):not([class*="wd-icon"]):not([class*="woodmart-font"]):not(.dashicons):not([class*="dashicons-"]){
  font-family:var(--mm-font) !important;
}
/* WooCommerce / WoodMart chrome sizes */
.wd-checkout-steps li span, .wd-checkout-steps-wrapp li{font-size:15px !important;font-weight:500 !important;}
.shop_table th, .cart-totals th, .wd-order-table th{letter-spacing:.06em;}


/* ---------- Accordion open state (WoodMart puts .wd-active on the title/content) ---------- */
.wd-accordion .wd-accordion-title.wd-active .wd-accordion-title-text span{color:var(--mm-navy) !important;}
.wd-accordion .wd-accordion-title.wd-active .wd-accordion-opener{color:var(--mm-navy);}
.wd-accordion .wd-accordion-item:has(.wd-accordion-title.wd-active){
  border-color:var(--mm-navy) !important;
  box-shadow:0 6px 20px rgba(16,24,40,.06);
}
