/* Shared Christmas visual language. No price, stock, delivery or form behaviour changes. */
body.mm-storefront {
  --mm-navy: #171c3e;
  --mm-gold: #b87c3c;
  --mm-warm: #e7bd8a;
  --mm-cream: #f7f3eb;
  --mm-border: #ddd5c8;
  --mm-muted: #55596a;
  color: var(--mm-navy);
  background: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.65;
}
body.mm-storefront :is(button,input,select,textarea) { font-family: Arial, Helvetica, sans-serif; }
body.mm-storefront p { font-family: Arial, Helvetica, sans-serif; }
body.mm-storefront :is(h1,h2,h3,h4,h5,h6,.elementor-heading-title) {
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 400;
  color: var(--mm-navy);
  line-height: 1.15;
}
body.mm-storefront h1 { font-size: clamp(36px,4vw,52px); }
body.mm-storefront h2 { font-size: clamp(28px,3vw,38px); }
body.mm-storefront h3 { font-size: 25px; }
body.mm-storefront .mm-xmas h1 { line-height: 1.06; }
body.mm-storefront a { color: var(--mm-navy); text-underline-offset: 4px; }
body.mm-storefront a:hover { color: #7b4b1b; }
body.mm-storefront :is(a,button,input,select,textarea):focus-visible {
  outline: 3px solid var(--mm-gold) !important;
  outline-offset: 4px;
}
body.mm-storefront #content { max-width: 1200px; width: 100%; margin: 0 auto; padding: 40px 32px 64px; box-sizing: border-box; }
body.mm-storefront #primary { width: 100%; float: none; margin: 0; padding: 0; }
body.mm-storefront .woo-page { margin: 0; padding: 0; width: 100%; }
body.mm-storefront .entry-content { margin-top: 0; }
body.mm-storefront .entry-header { margin: 0 0 30px; }
body.mm-storefront .entry-title { margin-top: 0; }
body.mm-storefront .entry-title a { font-weight: 400; }

/* Keep the original logo asset, without the tiny mobile scaling. */
body.mm-storefront header.site-header { background: #fff; border-bottom: 1px solid var(--mm-border); }
body.mm-storefront .all-header { height: auto; line-height: 0; overflow: hidden; padding: 14px 0; }
body.mm-storefront img.header-image { display: block; width: 100%; height: 156px; object-fit: contain; object-position: center; }
body.mm-storefront .all-header .site-branding { padding: 0; }
body.mm-storefront #site-navigation { padding: 0; background: var(--mm-navy); box-shadow: none; justify-content: center; }
body.mm-storefront #site-navigation #primary-menu { margin: 0; }
body.mm-storefront #primary-menu > li > a { color: #fff; padding: 18px 11px; font: 700 12px/1.4 Arial, sans-serif; letter-spacing: .025em; }
body.mm-storefront #primary-menu > li > a:hover,
body.mm-storefront #primary-menu > li > a:focus-visible,
body.mm-storefront #primary-menu > .current-menu-item > a { background: #242a51; color: var(--mm-warm); }
body.mm-storefront #primary-menu > #menu-item-9771 > a { color: var(--mm-warm); }
body.mm-storefront #primary-menu ul { background: var(--mm-navy); border: 1px solid #393e5b; }
body.mm-storefront #primary-menu ul a { color: #fff; padding: 13px 18px; font: 400 14px/1.4 Arial, sans-serif; }
body.mm-storefront #primary-menu li:focus-within > ul { display: block; left: auto; }
body.mm-storefront #primary-menu ul a:hover { color: var(--mm-warm); background: #242a51; }

/* Catalogue cards: visible titles, consistent imagery, real product actions. */
body.mm-storefront .woocommerce ul.products,
body.mm-storefront.woocommerce ul.products { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; margin: 28px 0 40px; padding: 0; }
body.mm-storefront :is(.woocommerce ul.products,.products)::before,
body.mm-storefront :is(.woocommerce ul.products,.products)::after { display: none; }
body.mm-storefront .woocommerce ul.products li.product,
body.mm-storefront.woocommerce ul.products li.product { display: flex; flex-direction: column; float: none; width: auto !important; margin: 0 !important; padding: 0; background: #fff; border: 1px solid var(--mm-border); border-radius: 0; overflow: hidden; text-align: left; }
body.mm-storefront ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex: 1; text-decoration: none; }
body.mm-storefront ul.products li.product a img { width: 100%; aspect-ratio: 1; object-fit: cover; margin: 0; border-radius: 0; }
body.mm-storefront .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.mm-storefront.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.mm-storefront .woocommerce ul.products li.product a:hover .woocommerce-loop-product__title,
body.mm-storefront.woocommerce ul.products li.product a:hover .woocommerce-loop-product__title {
  position: static; display: block; width: auto; height: auto; margin: 0 !important; padding: 22px 22px 8px;
  color: var(--mm-navy) !important; background: transparent; border: 0; font: 400 25px/1.2 Georgia,serif;
  text-transform: none; text-align: left;
}
body.mm-storefront ul.products li.product .price { color: var(--mm-navy); padding: 0 22px 22px !important; margin: auto 0 0 !important; text-align: left !important; font: 700 17px/1.5 Arial,sans-serif !important; }
body.mm-storefront .woocommerce-Price-amount { color: inherit; }
body.mm-storefront .woocommerce-Price-amount bdi { font-family: inherit; font-style: normal; }
body.mm-storefront :is(.woocommerce,div.product) :is(td,th,dt,dd),
body.mm-storefront.woocommerce :is(td,th,dt,dd),
body.mm-storefront .woocommerce-tabs ul.tabs a { font-family: Arial,Helvetica,sans-serif; }
body.mm-storefront div.product .stock.in-stock { color: #326343; }
body.mm-storefront ul.products li.product :is(.button,.product_type_simple) {
  background: var(--mm-navy) !important; color: #fff !important; padding: 14px 16px !important; margin: 0 !important;
  min-height: 48px; border: 0 !important; font: 700 14px/1.4 Arial,sans-serif !important; text-transform: none !important;
}
body.mm-storefront ul.products li.product .button:hover { background: #303759 !important; }
body.mm-storefront ul.products li.product .wc-forward { display: inline-block !important; padding: 12px 22px; }
body.mm-storefront .woocommerce-result-count { color: var(--mm-muted); font-size: 15px; }
body.mm-storefront .woocommerce-products-header { padding: 36px; background: var(--mm-navy); border-top: 4px solid var(--mm-gold); margin-bottom: 28px; }
body.mm-storefront .woocommerce-products-header :is(h1,p) { color: #fff; margin: 0; }
body.mm-storefront .woocommerce-products-header p { margin-top: 16px; }
body.mm-storefront .woocommerce-products-header a { color: var(--mm-warm); }
body.mm-storefront.woocommerce.archive #main article > .page-title { padding: 32px 36px; background: var(--mm-navy); color: #fff; border-top: 4px solid var(--mm-gold); margin: 0 0 28px; }

/* Homepage categories retain their ordering and photography. */
body.mm-storefront.home .elementor-widget-wc-categories ul.products { margin-top: 0; }
body.mm-storefront.home ul.products li.product-category { border-bottom: 4px solid var(--mm-gold); }
body.mm-storefront.home ul.products li.product-category h2 {
  color: var(--mm-navy) !important; font: 400 28px/1.2 Georgia,serif !important; padding: 22px !important; margin: 0 !important; text-align: left;
}
body.mm-storefront.home ul.products li.product-category h2 mark { background: none; color: var(--mm-muted); font: 400 14px Arial,sans-serif; }
body.mm-storefront.home .elementor-element-a693354,
body.mm-storefront.home .elementor-element-5c0177e,
body.mm-storefront.home .elementor-element-3b05daa,
body.mm-storefront.home .elementor-element-caf0eaf { margin: 0; }
body.mm-storefront .elementor-social-icon { background: var(--mm-navy); border-radius: 0; }
body.mm-storefront .elementor-social-icon:hover { background: #303759; }
body.mm-storefront.home .elementor-element-f16f454 { background: var(--mm-cream); border-top: 4px solid var(--mm-gold); padding: 30px 16px; margin-top: 30px; }
body.mm-storefront .mm-newsletter-embed { height: 620px !important; padding-top: 0 !important; }
body.mm-storefront .mm-newsletter-mobile { display: none; }
body.mm-storefront .mm-newsletter-mobile h2 { margin-top: 0; }
body.mm-storefront .mm-newsletter-mobile a { display: inline-block; background: var(--mm-navy); color: #fff; padding: 14px 18px; font: 700 15px/1.4 Arial,sans-serif; text-decoration: none; }
body.mm-storefront .mm-newsletter-mobile .mm-newsletter-hint { font-size: 13px; margin: 14px 0 0; }

/* Product detail and embedded gift-card product. */
body.mm-storefront .woocommerce div.product div.summary,
body.mm-storefront.woocommerce div.product div.summary { background: var(--mm-cream); padding: 28px; box-sizing: border-box; }
body.mm-storefront .woocommerce div.product .product_title,
body.mm-storefront.woocommerce div.product .product_title { font: 400 clamp(30px,3vw,42px)/1.15 Georgia,serif; color: var(--mm-navy); margin-bottom: 20px; }
body.mm-storefront .woocommerce div.product :is(p.price,span.price),
body.mm-storefront.woocommerce div.product :is(p.price,span.price) { color: var(--mm-navy); font: 700 25px/1.4 Arial,sans-serif; margin-bottom: 22px; }
body.mm-storefront .woocommerce-product-details__short-description { font: 400 16px/1.65 Arial,sans-serif; }
body.mm-storefront .woocommerce-product-details__short-description p { margin-bottom: 12px; }
body.mm-storefront .product_meta { font: 400 13px/1.7 Arial,sans-serif; border-top: 1px solid var(--mm-border); padding-top: 20px; }
body.mm-storefront .woocommerce div.product form.cart .variations th,
body.mm-storefront .woocommerce div.product form.cart .variations td,
body.mm-storefront.woocommerce div.product form.cart .variations th,
body.mm-storefront.woocommerce div.product form.cart .variations td { display: block; width: 100%; padding: 0 0 10px; text-align: left; }
body.mm-storefront div.product form.cart .variations select { width: 100%; max-width: 100%; }
body.mm-storefront .quantity .qty { min-height: 48px; width: 72px; }
body.mm-storefront .woocommerce-tabs { clear: both; padding-top: 32px; }
body.mm-storefront .woocommerce-tabs .panel { background: #fff; padding: 24px 0; line-height: 1.7; }
body.mm-storefront .woocommerce-tabs ul.tabs li { border-radius: 0 !important; background: var(--mm-cream) !important; }
body.mm-storefront .woocommerce-tabs ul.tabs li.active { background: #fff !important; border-top: 3px solid var(--mm-gold) !important; }

/* Shared accessible controls. Preserve checkboxes, radios and payment iframes. */
body.mm-storefront :is(input[type=text],input[type=email],input[type=tel],input[type=password],input[type=search],input[type=number],textarea,select) {
  color: var(--mm-navy); background: #fff; border: 1px solid #9b9da8; border-radius: 0; min-height: 48px; padding: 10px 12px; font-size: 16px; line-height: 1.4; max-width: 100%; box-sizing: border-box;
}
body.mm-storefront textarea { min-height: 130px; }
body.mm-storefront .select2-container .select2-selection--single { height: 48px; border: 1px solid #9b9da8; border-radius: 0; }
body.mm-storefront .select2-container .select2-selection--single .select2-selection__rendered { line-height: 46px; color: var(--mm-navy); }
body.mm-storefront .select2-container .select2-selection--single .select2-selection__arrow { height: 46px; }
body.mm-storefront :is(.woocommerce,.woocommerce-page) :is(a.button,button.button,input.button),
body.mm-storefront.woocommerce :is(a.button,button.button,input.button),
body.mm-storefront .elementor-button,
body.mm-storefront input[type=submit],
body.mm-storefront .read-more {
  background: var(--mm-navy); color: #fff; border: 1px solid var(--mm-navy); border-radius: 0; min-height: 48px; padding: 14px 22px; font: 700 15px/1.3 Arial,sans-serif; text-transform: none; box-shadow: none; text-decoration: none;
}
body.mm-storefront a.myButt { display: inline-block; background: var(--mm-navy); color: #fff; border: 0; padding: 14px 22px; min-height: 48px; font: 700 14px/1.4 Arial,sans-serif; text-decoration: none; }
body.mm-storefront a.myButt:hover { color: #fff; background: #303759; }
body.mm-storefront :is(.woocommerce,.woocommerce-page) :is(a.button,button.button,input.button):hover,
body.mm-storefront.woocommerce :is(a.button,button.button,input.button):hover,
body.mm-storefront input[type=submit]:hover { background: #303759; color: #fff; }
body.mm-storefront :is(button:disabled,.button.disabled) { background: var(--mm-navy) !important; color: #fff !important; opacity: .55 !important; cursor: not-allowed; }
body.mm-storefront .woocommerce form .form-row { margin-bottom: 18px; }
body.mm-storefront .woocommerce form .form-row label { font-weight: 700; font-size: 14px; margin-bottom: 6px; }
body.mm-storefront .woocommerce form :is(.form-row-first,.form-row-last) { width: 48%; }
body.mm-storefront .woocommerce form :is(.input-checkbox,input[type=checkbox],input[type=radio]) { accent-color: var(--mm-navy); }
body.mm-storefront .woocommerce form :is(.required,abbr.required) { color: #9a2727; }
body.mm-storefront .woocommerce :is(form.login,form.register,form.checkout_coupon) { border: 1px solid var(--mm-border); border-top: 4px solid var(--mm-gold); border-radius: 0; padding: 32px; background: var(--mm-cream); }
body.mm-storefront.woocommerce-account .woocommerce-form-login { max-width: 640px; }
body.mm-storefront :is(.woocommerce-info,.woocommerce-message) { background: var(--mm-cream); color: var(--mm-navy); border-top-color: var(--mm-gold); font: 400 16px/1.6 Arial,sans-serif; }
body.mm-storefront :is(.woocommerce-info,.woocommerce-message)::before { color: #7b4b1b; }
body.mm-storefront .woocommerce-error { background: #fff4f4; color: #782020; border-top-color: #a23030; font: 400 16px/1.6 Arial,sans-serif; }
body.mm-storefront .woocommerce table.shop_table { border: 1px solid var(--mm-border); border-radius: 0; background: #fff; }
body.mm-storefront .woocommerce table.shop_table :is(td,th) { padding: 16px; line-height: 1.5; }
body.mm-storefront .woocommerce table.shop_table thead { background: var(--mm-cream); }
body.mm-storefront .woocommerce table.cart td.actions #coupon_code { width: 180px; }
body.mm-storefront .woocommerce .cart-collaterals .cart_totals { padding: 24px; background: var(--mm-cream); box-sizing: border-box; }
body.mm-storefront #add_payment_method #payment,
body.mm-storefront .woocommerce-checkout #payment { background: var(--mm-cream); border: 1px solid var(--mm-border); border-radius: 0; }
body.mm-storefront .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; border: 1px solid var(--mm-border); }
body.mm-storefront .woocommerce-MyAccount-navigation a { display: block; padding: 14px 20px; border-bottom: 1px solid var(--mm-border); }
body.mm-storefront .woocommerce-MyAccount-navigation .is-active a { background: var(--mm-navy); color: #fff; }

/* Existing editorial layouts: retain text and images, improve hierarchy. */
body.mm-storefront.mm-editorial .entry-content > .elementor > .elementor-section:first-child { background: var(--mm-navy); border-top: 4px solid var(--mm-gold); padding: 30px 28px; margin-bottom: 32px; }
body.mm-storefront.mm-editorial .entry-content > .elementor > .elementor-section:first-child .elementor-heading-title { color: #fff; font: 400 clamp(32px,4vw,48px)/1.15 Georgia,serif; text-align: left; }
body.mm-storefront.mm-editorial .elementor-widget-text-editor { font: 400 17px/1.75 Arial,sans-serif; color: var(--mm-navy); text-align: left; }
body.mm-storefront.mm-editorial .elementor-widget-text-editor p { margin-bottom: 20px; }
body.mm-storefront.mm-editorial .elementor-widget-text-editor a { text-decoration: underline; }
body.mm-storefront.mm-editorial .elementor-widget-text-editor li { margin-bottom: 14px; }
body.mm-storefront.mm-information .entry-content > .elementor > .elementor-section:not(:first-child) { max-width: 860px; margin: 0 auto 28px; }
body.mm-storefront.mm-information .elementor-widget-text-editor ul { padding-left: 24px; margin-left: 0; }
body.mm-storefront.blog article,
body.mm-storefront.archive:not(.woocommerce) article { border-bottom: 1px solid var(--mm-border); padding: 0 0 36px; margin-bottom: 36px; }
body.mm-storefront .entry-summary { font-family: Arial,sans-serif; line-height: 1.7; }
body.mm-storefront :is(.entry-meta,.entry-footer) { font: 400 13px/1.6 Arial,sans-serif; color: var(--mm-muted); }

/* Footer keeps existing navigation and search. */
body.mm-storefront #colophon { background: var(--mm-navy); color: #fff; padding: 32px; border-top: 4px solid var(--mm-gold); }
body.mm-storefront #colophon .footer-center { max-width: 1136px; margin: 0 auto; display: grid; grid-template-columns: repeat(3,1fr) 1.4fr; gap: 24px; background: transparent; }
body.mm-storefront #colophon .footer-widgets { width: auto; float: none; margin: 0; padding: 0; }
body.mm-storefront #colophon :is(a,h2) { color: #fff; font: 700 15px/1.5 Arial,sans-serif; }
body.mm-storefront #colophon a { display: inline-block; padding: 12px 0; }
body.mm-storefront #colophon a:hover { color: var(--mm-warm); }
body.mm-storefront #colophon ul { margin: 0; padding: 0; }
body.mm-storefront #colophon input[type=search] { width: 100%; }
body.mm-storefront .site-info { color: #d8d9e0; }
body.mm-storefront #colophon .site-info { background: transparent; }

@media (min-width:1101px) {
  body.mm-storefront #site-navigation { display: flex !important; }
  body.mm-storefront #primary-menu { display: flex; flex-wrap: wrap; justify-content: center; }
  body.mm-storefront #s-button-menu { display: none; }
}
@media (max-width:1100px) {
  body.mm-storefront #s-button-menu { display: block; width: 58px; min-height: 52px; padding: 12px 10px; background: var(--mm-navy); margin: 0; border-radius: 0; }
  body.mm-storefront #s-button-menu img { width: 30px; height: 27px; object-fit: contain; }
  body.mm-storefront #site-navigation { display: none !important; position: static; width: 100%; height: auto !important; overflow: visible !important; padding: 0; }
  body.mm-storefront #site-navigation.mm-menu-open { display: block !important; }
  body.mm-storefront #site-navigation .menu-menu-1-container { width: 100%; }
  body.mm-storefront #primary-menu { display: block; width: 100%; }
  body.mm-storefront #primary-menu li { float: none; width: 100%; text-align: left; }
  body.mm-storefront #primary-menu > li > a { padding: 14px 22px !important; font-size: 14px; border-top: 1px solid #393e5b; }
  body.mm-storefront #primary-menu ul { display: block; position: static; width: auto; min-width: 0; margin: 0 0 0 22px; border: 0; }
  body.mm-storefront #primary-menu ul a { padding: 12px 22px !important; min-height: 44px; }
  body.mm-storefront #primary-menu .menu-item-has-children > a::after { display: none; }
  body.mm-storefront .main-navigation .menu-toggle { display: none; }
}
@media (max-width:767px) {
  body.mm-storefront #content { padding: 24px 20px 40px; }
  body.mm-storefront img.header-image { height: 110px; object-fit: cover; }
  body.mm-storefront .woocommerce ul.products,
  body.mm-storefront.woocommerce ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
  body.mm-storefront.home .woocommerce ul.products { grid-template-columns: 1fr; }
  body.mm-storefront .woocommerce-products-header { padding: 26px; }
  body.mm-storefront .woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.mm-storefront.woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.mm-storefront.woocommerce ul.products li.product a:hover .woocommerce-loop-product__title { font-size: 21px; padding: 16px 14px 8px; }
  body.mm-storefront ul.products li.product .price { padding: 0 14px 16px !important; font-size: 15px !important; }
  body.mm-storefront .woocommerce div.product div.summary,
  body.mm-storefront.woocommerce div.product div.summary { padding: 24px; }
  body.mm-storefront.mm-editorial .entry-content > .elementor > .elementor-section:first-child { padding: 22px 16px; }
  body.mm-storefront .woocommerce form :is(.form-row-first,.form-row-last) { width: 100%; float: none; }
  body.mm-storefront .woocommerce :is(form.login,form.register,form.checkout_coupon) { padding: 20px; }
  body.mm-storefront #colophon { padding: 24px 20px; }
  body.mm-storefront #colophon .footer-center { grid-template-columns: repeat(3,1fr); gap: 16px; }
  body.mm-storefront #colophon .footer-widgets:last-child { grid-column: 1/-1; }
  body.mm-storefront .woocommerce table.shop_table td { overflow-wrap: anywhere; }
  body.mm-storefront .woocommerce table.cart td.actions .coupon { display: flex; gap: 8px; float: none; }
  body.mm-storefront .woocommerce table.cart td.actions .coupon #coupon_code { width: 50%; margin: 0; }
  body.mm-storefront .woocommerce table.cart td.actions .coupon button { width: 50%; padding: 12px; font-size: 14px; }
}
@media (max-width:420px) {
  body.mm-storefront .woocommerce ul.products,
  body.mm-storefront.woocommerce ul.products { grid-template-columns: 1fr; }
}
@media (max-width:640px) {
  body.mm-storefront .mm-newsletter-embed { display: none; }
  body.mm-storefront .mm-newsletter-mobile { display: block; text-align: left; padding: 12px 0; }
}
@media (prefers-reduced-motion:reduce) {
  body.mm-storefront *,body.mm-storefront *::before,body.mm-storefront *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
