/*
Theme Name:  Mi Casa El Pasa
Theme URI:   https://micasaelpasa.co.za
Description: Child theme of Storefront for Mi Casa El Pasa. Clean modern boutique -warm ivory, deep ink, restrained turquoise. Hanken Grotesk + brush-script logo.
Author:      Mi Casa El Pasa
Template:    storefront
Version:     3.28.0
Text Domain: weed-shop-child
*/

/* =====================================================================
   TOKENS
   ===================================================================== */
:root {
	--ink:       #121413;
	--ink-2:     #191d1c;
	--ink-3:     #232827;
	--ivory:     #f4f1ea;
	--ivory-2:   #ece8df;
	--teal:      #16bdb8;
	--teal-deep: #0c8f8b;
	--grey:      #6f7572;
	--line:      rgba(18,20,19,.10);
	--line-dk:   rgba(255,255,255,.10);

	--font: "Hanken Grotesk", system-ui, -apple-system, sans-serif;

	--maxw: 1200px;
	--gutter: clamp(1.25rem, 4vw, 2.5rem);
	--ease: cubic-bezier(.22,.61,.36,1);
}

/* =====================================================================
   BASE
   ===================================================================== */
body, body.woocommerce-page {
	background: var(--ivory);
	color: var(--ink);
	font-family: var(--font);
	font-size: 16.5px;
	line-height: 1.62;
	-webkit-font-smoothing: antialiased;
}
h1,h2,h3,h4 { font-family: var(--font); font-weight: 800; letter-spacing: -.025em; line-height: 1.06; color: var(--ink); }
p { margin: 0 0 1.1em; }
::selection { background: var(--teal); color: #042b29; }
a { color: var(--teal-deep); text-underline-offset: 3px; }
a:hover { color: var(--ink); }

.mc-eyebrow {
	font-weight: 700; font-size: .72rem; letter-spacing: .2em; text-transform: uppercase;
	color: var(--teal-deep); margin: 0 0 .8rem;
}

/* =====================================================================
   BUTTONS -squared, confident, minimal
   ===================================================================== */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .button, button, .mc-btn {
	font-family: var(--font); font-weight: 700; font-size: .92rem; letter-spacing: .01em;
	background: var(--ink); color: var(--ivory); border: 0; border-radius: 6px;
	padding: .8em 1.5em; text-shadow: none; cursor: pointer;
	transition: background .2s var(--ease), color .2s var(--ease), transform .2s var(--ease);
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.button:hover, button:hover, .mc-btn:hover { background: var(--teal-deep); color: #fff; }
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.woocommerce #place_order, .mc-btn--teal { background: var(--teal); color: #042b29; }
.woocommerce a.button.alt:hover, .mc-btn--teal:hover { background: var(--ink); color: var(--ivory); }
.mc-btn--ghost { background: transparent; color: var(--ivory); box-shadow: inset 0 0 0 1.5px rgba(244,241,234,.4); }
.mc-btn--ghost:hover { background: var(--ivory); color: var(--ink); box-shadow: none; }

/* =====================================================================
   HEADER
   ===================================================================== */
.site-header {
	position: sticky; top: 0; z-index: 999;
	background: rgba(244,241,234,.86) !important;
	backdrop-filter: saturate(150%) blur(12px); -webkit-backdrop-filter: saturate(150%) blur(12px);
	border-bottom: 1px solid var(--line); padding: .5rem 0 !important;
}
.site-header .col-full { display: flex; align-items: center; gap: 1.25rem; }
.site-branding { margin: 0 !important; flex-shrink: 0; }
.custom-logo { max-height: 44px; width: auto; display: block; }
.site-header .site-title, .site-header .site-description { display: none !important; }

.main-navigation { flex: 1; }
.main-navigation ul { display: flex; gap: 0; justify-content: center; flex-wrap: wrap; }
.main-navigation ul li a {
	font-weight: 600; font-size: .8rem; letter-spacing: .1em; text-transform: uppercase;
	color: var(--ink) !important; padding: .5rem .8rem !important; position: relative;
}
.main-navigation ul li a::after {
	content: ""; position: absolute; left: .8rem; right: .8rem; bottom: .3rem; height: 1.5px;
	background: var(--teal); transform: scaleX(0); transform-origin: left; transition: transform .25s var(--ease);
}
.main-navigation ul li a:hover::after, .main-navigation ul li.current-menu-item a::after { transform: scaleX(1); }
.site-header-cart .cart-contents { font-weight: 700; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ink) !important; }
.site-header-cart .amount { color: var(--teal-deep); }

/* =====================================================================
   LAYOUT
   ===================================================================== */
body.home #content, body.page-template-front-page #content,
body.mc-page-full #content { max-width: none !important; padding: 0 !important; }
/* Break the homepage AND the About/Contact pages out of Storefront's constrained .col-full */
body.home #content > .col-full,
body.page-template-front-page #content > .col-full,
body.mc-page-full #content > .col-full { max-width: none !important; padding-left: 0 !important; padding-right: 0 !important; width: 100% !important; margin: 0 !important; }
.mc-section { padding: clamp(2.75rem, 5vw, 4.5rem) var(--gutter); }
.mc-wrap { max-width: var(--maxw); margin-inline: auto; }
.mc-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1.6rem; flex-wrap: wrap; }
.mc-head h2 { font-size: clamp(1.7rem, 3.4vw, 2.5rem); }
.mc-head .mc-eyebrow { margin-bottom: .35rem; }
.mc-more { font-weight: 700; font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }

/* HERO -flat, dark, restrained */
.mc-hero {
	background: var(--ink); color: var(--ivory);
	padding: clamp(3.5rem, 8vw, 6.5rem) var(--gutter) clamp(3rem, 6vw, 5rem);
	border-bottom: 1px solid var(--line-dk);
}
.mc-hero .mc-wrap { max-width: 880px; }
.mc-hero .mc-eyebrow { color: var(--teal); }
.mc-hero h1 { color: var(--ivory); font-size: clamp(2.4rem, 6.5vw, 4.6rem); font-weight: 800; margin: 0 0 .5rem; letter-spacing: -.03em; }
.mc-hero h1 em { font-style: normal; color: var(--teal); }
.mc-hero p.lede { font-size: clamp(1rem, 1.6vw, 1.18rem); color: rgba(244,241,234,.72); max-width: 54ch; margin: 0 0 1.8rem; }
.mc-hero .mc-cta { display: flex; gap: .75rem; flex-wrap: wrap; }
.mc-hero > .mc-wrap > * { opacity: 0; transform: translateY(14px); animation: mc-rise .7s var(--ease) forwards; }
.mc-hero h1 { animation-delay: .06s; } .mc-hero p.lede { animation-delay: .14s; } .mc-hero .mc-cta { animation-delay: .22s; }
@keyframes mc-rise { to { opacity: 1; transform: none; } }

/* TRUST STRIP */
.mc-trust { background: var(--ink-2); color: var(--ivory); padding: .85rem var(--gutter); border-bottom: 1px solid var(--line-dk); }
.mc-trust .mc-wrap { display: flex; gap: 2.5rem; justify-content: center; flex-wrap: wrap; }
.mc-trust span { font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; color: rgba(244,241,234,.7); }
.mc-trust b { color: var(--teal); margin-right: .5rem; font-weight: 700; }

/* CATEGORY TILES -flat, hairline, no glow */
.mc-cats { background: var(--ivory-2); }
.mc-tile-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: .9rem; }
.mc-tile {
	position: relative; display: flex; flex-direction: column; justify-content: flex-end;
	min-height: 156px; padding: 1.15rem; border-radius: 10px;
	background: var(--ink); color: var(--ivory); text-decoration: none;
	border: 1px solid rgba(255,255,255,.08);
	transition: transform .25s var(--ease), border-color .25s var(--ease), background .25s var(--ease);
}
.mc-tile:hover { transform: translateY(-3px); border-color: var(--teal); background: var(--ink-2); color: #fff; }
.mc-tile .count { font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: var(--teal); font-weight: 700; margin-bottom: .25rem; }
.mc-tile h3 { color: var(--ivory); font-size: 1.3rem; margin: 0; letter-spacing: -.02em; }
.mc-tile .mc-arrow { position: absolute; top: 1.05rem; right: 1.05rem; width: 18px; height: 18px; color: rgba(244,241,234,.45); transition: transform .25s var(--ease), color .25s var(--ease); }
.mc-tile:hover .mc-arrow { color: var(--teal); transform: translate(2px,-2px); }

/* HOUSE BAND */
.mc-band { background: var(--ink); color: var(--ivory); text-align: center; }
.mc-band .mc-wrap { max-width: 680px; }
.mc-band h2 { color: var(--ivory); font-size: clamp(1.8rem, 4.5vw, 2.9rem); }
.mc-band h2 em { font-style: normal; color: var(--teal); }
.mc-band p { color: rgba(244,241,234,.72); font-size: 1.05rem; margin: .9rem auto 1.6rem; }

/* =====================================================================
   PRODUCT CARDS
   ===================================================================== */
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(220px,1fr)); gap: 1.1rem; margin: 0 !important; }
.woocommerce ul.products li.product {
	width: auto !important; margin: 0 !important; float: none !important;
	background: #fff; border: 1px solid var(--line); border-radius: 10px;
	padding: .7rem .7rem 1rem; display: flex; flex-direction: column;
	transition: transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s;
}
.woocommerce ul.products li.product:hover { transform: translateY(-4px); box-shadow: 0 16px 36px -24px rgba(18,20,19,.5); border-color: var(--teal); }
/* Square media box, but the photo is fitted inside it rather than cropped to
   fill: non-square product shots stay whole and centred. Card-white behind the
   thumb so cut-out PNGs sit on the card instead of on a black square. */
.woocommerce ul.products li.product a img { aspect-ratio: 1/1; object-fit: contain; border-radius: 7px; margin-bottom: .8rem; background: #fff; }
.woocommerce ul.products li.product img[src*="woocommerce-placeholder"],
.woocommerce div.product img[src*="woocommerce-placeholder"] {
	object-fit: contain; padding: 26%; background: var(--ink-2);
	filter: grayscale(1) brightness(1.8) opacity(.16);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-weight: 700; font-size: 1rem; line-height: 1.25; padding: .15rem 0 .25rem; color: var(--ink); }
.woocommerce ul.products li.product .price { color: var(--ink); font-weight: 800; }
.woocommerce ul.products li.product .price .amount { color: var(--teal-deep); }
.woocommerce ul.products li.product .button { margin-top: .7rem; align-self: flex-start; }
.woocommerce span.onsale { background: var(--teal); color: #042b29; border-radius: 5px; font-weight: 800; min-height: auto; min-width: auto; padding: .3em .7em; line-height: 1; top: 8px; left: 8px; }
.woocommerce .star-rating span::before, .woocommerce .star-rating::before { color: var(--teal-deep); }
.woocommerce-products-header { text-align: center; padding-top: 1.5rem; }
h1.woocommerce-products-header__title, .woocommerce-products-header__title.page-title { font-size: clamp(2rem,4.5vw,3rem); }

/* =====================================================================
   SEARCH -clean pill
   ===================================================================== */
.woocommerce-product-search, form.search-form { display: flex; gap: .5rem; align-items: stretch; max-width: 420px; }
.woocommerce-product-search .search-field, form.search-form .search-field, input[type="search"] {
	flex: 1; border: 1px solid var(--line); background: #fff; color: var(--ink);
	border-radius: 8px; padding: .7em 1em; font-family: var(--font); font-size: .95rem; outline: none;
	transition: border-color .2s, box-shadow .2s;
}
input[type="search"]:focus, .woocommerce-product-search .search-field:focus {
	border-color: var(--teal); box-shadow: 0 0 0 3px rgba(22,189,184,.18);
}
.woocommerce-product-search button[type="submit"], form.search-form button { border-radius: 8px; padding: .7em 1.2em; }
.site-search .widget_product_search { width: 100%; }

/* =====================================================================
   FOOTER -compact, branded
   ===================================================================== */
.site-footer {
	background: var(--ink) !important; color: rgba(244,241,234,.65);
	padding: clamp(2.25rem,4vw,3rem) var(--gutter) 1.5rem !important; margin-top: 0;
	border-top: 2px solid var(--teal); text-align: center;
}
.site-footer a { color: rgba(244,241,234,.65); } .site-footer a:hover { color: var(--teal); }
.mc-footer-logo { max-width: 132px; height: auto; margin: 0 auto .9rem; display: block; filter: invert(1) brightness(2); }
.site-footer .site-info { color: rgba(244,241,234,.45); font-size: .8rem; letter-spacing: .03em; }
.site-footer .storefront-handheld-footer-bar { background: var(--ink-2); border-top: 1px solid var(--line-dk); }

/* =====================================================================
   WIDER CANVAS
   ===================================================================== */
:root { --maxw: 1300px; }

/* =====================================================================
   SCROLL REVEAL
   ===================================================================== */
[data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .6s var(--ease), transform .6s var(--ease); }
[data-reveal].is-in { opacity: 1; transform: none; }
.mc-noreveal [data-reveal] { opacity: 1 !important; transform: none !important; }
.mc-noreveal #mc-preloader { display: none !important; }
@media (prefers-reduced-motion: reduce) { [data-reveal] { opacity: 1; transform: none; } }

/* =====================================================================
   PRELOADER
   ===================================================================== */
#mc-preloader { position: fixed; inset: 0; z-index: 100000; background: var(--ink); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1.2rem; transition: opacity .55s var(--ease), visibility .55s; }
#mc-preloader.mc-hide { opacity: 0; visibility: hidden; }
.mc-pre-mark { font-weight: 800; letter-spacing: .03em; font-size: clamp(1.3rem, 4vw, 2.1rem); color: var(--ivory); }
.mc-pre-mark em { font-style: normal; color: var(--teal); }
.mc-pre-bar { width: 150px; height: 3px; background: rgba(255,255,255,.14); border-radius: 3px; overflow: hidden; }
.mc-pre-bar span { display: block; height: 100%; width: 38%; background: var(--teal); border-radius: 3px; animation: mc-load 1.05s var(--ease) infinite; }
@keyframes mc-load { 0% { transform: translateX(-130%); } 100% { transform: translateX(380%); } }

/* =====================================================================
   18+ AGE GATE
   ===================================================================== */
html.mc-locked { overflow: hidden; }
.mc-age { position: fixed; inset: 0; z-index: 100001; background: rgba(9,11,10,.88); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); display: flex; align-items: center; justify-content: center; padding: 1.5rem; transition: opacity .4s var(--ease); }
.mc-age.mc-hide { opacity: 0; }
.mc-age[hidden] { display: none !important; }
.mc-age-card { background: var(--ivory); border-radius: 16px; max-width: 460px; width: 100%; padding: clamp(1.8rem,4vw,2.8rem); text-align: center; box-shadow: 0 40px 90px -30px rgba(0,0,0,.7); }
.mc-age-card h2 { font-size: clamp(1.6rem,4vw,2.2rem); margin: .15rem 0 .6rem; }
.mc-age-copy { color: var(--grey); font-size: .95rem; margin-bottom: 1.5rem; }
.mc-age-btns { display: flex; flex-direction: column; gap: .6rem; }
.mc-age-btns .mc-btn { width: 100%; }
.mc-btn--ghost-dark { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 1.5px var(--line); }
.mc-btn--ghost-dark:hover { background: var(--ink); color: var(--ivory); box-shadow: none; }

/* =====================================================================
   TOP INFO BAR
   ===================================================================== */
.mc-topbar { background: var(--ink); color: rgba(244,241,234,.7); border-bottom: 1px solid var(--line-dk); }
.mc-topbar .mc-wrap { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .5rem var(--gutter); font-size: .78rem; }
.mc-tb-item { display: inline-flex; align-items: center; gap: .45rem; color: rgba(244,241,234,.72) !important; font-weight: 500; text-decoration: none; }
.mc-tb-item:hover { color: var(--teal) !important; }
.mc-tb-item .mc-ico { width: 15px; height: 15px; }
@media (max-width: 680px) { .mc-tb-center { display: none; } }

/* =====================================================================
   HERO -full-bleed
   ===================================================================== */
.mc-hero { position: relative; min-height: clamp(440px, 74vh, 760px); display: flex; align-items: center; background-color: var(--ink); background-size: cover; background-position: center; overflow: hidden; padding: clamp(4rem,9vw,7rem) var(--gutter) clamp(5.5rem,9vw,8rem); }
.mc-hero .mc-wrap { max-width: var(--maxw); margin-inline: auto; width: 100%; }
.mc-hero h1 { max-width: 15ch; }
.mc-hero p.lede { max-width: 52ch; }
.mc-hero-divider { position: absolute; left: 0; right: 0; bottom: -1px; height: clamp(40px,6vw,80px); background: var(--ivory); clip-path: polygon(0 100%, 100% 0, 100% 100%); }

/* =====================================================================
   FEATURE ROW
   ===================================================================== */
.mc-features { background: var(--ivory); padding: clamp(1.5rem,3.5vw,3rem) var(--gutter); }
.mc-feature-grid { max-width: var(--maxw); margin-inline: auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px,1fr)); gap: 1.6rem; }
.mc-feature { display: flex; gap: 1rem; align-items: flex-start; }
.mc-feature .mc-ico { width: 28px; height: 28px; color: var(--teal-deep); flex-shrink: 0; margin-top: .15rem; }
.mc-feature h4 { font-size: 1.05rem; margin: 0 0 .15rem; }
.mc-feature p { color: var(--grey); font-size: .9rem; margin: 0; line-height: 1.5; }

/* =====================================================================
   REVIEWS
   ===================================================================== */
.mc-reviews { background: var(--ivory-2); }
.mc-review-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px,1fr)); gap: 1.1rem; }
.mc-review { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 1.6rem; margin: 0; }
.mc-stars { display: flex; gap: 2px; margin-bottom: .8rem; }
.mc-stars .mc-ico { width: 18px; height: 18px; fill: var(--teal); stroke: var(--teal); }
.mc-review blockquote { margin: 0 0 1rem; font-size: 1.05rem; line-height: 1.5; color: var(--ink); }
.mc-review figcaption { font-weight: 700; font-size: .88rem; color: var(--grey); }
.mc-review-note { text-align: center; color: var(--grey); font-size: .78rem; margin-top: 1.3rem; }

/* =====================================================================
   MAP / DIRECTIONS
   ===================================================================== */
.mc-map-sec { background: var(--ink); color: var(--ivory); }
.mc-map-grid { display: grid; grid-template-columns: 1fr 1.15fr; min-height: 440px; }
.mc-map-info { display: flex; flex-direction: column; justify-content: center; gap: .55rem; padding: clamp(2.5rem,5vw,4.5rem) var(--gutter); max-width: 600px; margin-left: auto; width: 100%; }
.mc-map-info h2 { color: var(--ivory); font-size: clamp(1.8rem,4vw,2.7rem); margin-bottom: .4rem; }
.mc-map-info p { display: flex; align-items: center; gap: .55rem; color: rgba(244,241,234,.8); margin: 0; }
.mc-map-info .mc-ico { width: 18px; height: 18px; color: var(--teal); flex-shrink: 0; }
.mc-map-info .mc-btn { margin-top: 1.1rem; align-self: flex-start; }
.mc-map-frame { position: relative; min-height: 440px; }
.mc-map-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: grayscale(.35) contrast(1.05); }
@media (max-width: 820px) { .mc-map-grid { grid-template-columns: 1fr; } .mc-map-frame { min-height: 320px; } }

/* =====================================================================
   MULTI-COLUMN FOOTER
   ===================================================================== */
.site-footer { text-align: left; }
.mc-footer { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.1fr 1.2fr; gap: 2rem; padding-bottom: 2rem; border-bottom: 1px solid var(--line-dk); margin-bottom: 1.2rem; }
.mc-foot-brand p { color: rgba(244,241,234,.6); font-size: .9rem; margin: .6rem 0 .9rem; max-width: 36ch; }
.mc-footer-logo { max-width: 150px; height: auto; margin: 0 0 .3rem; display: block; filter: invert(1) brightness(2); }
.mc-18 { display: inline-block; font-size: .68rem; letter-spacing: .12em; font-weight: 700; color: var(--teal); border: 1px solid rgba(22,189,184,.4); border-radius: 999px; padding: .35em .85em; }
.mc-foot-col h4 { color: var(--ivory); font-size: .82rem; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 .9rem; }
.mc-foot-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .5rem; }
.mc-foot-col a { font-size: .9rem; }
.mc-foot-contact a, .mc-foot-contact span { display: flex; align-items: center; gap: .55rem; font-size: .9rem; margin-bottom: .55rem; color: rgba(244,241,234,.65); }
.mc-foot-contact .mc-ico { width: 16px; height: 16px; color: var(--teal); flex-shrink: 0; }
.site-footer .site-info { text-align: center; padding-top: .5rem; }
@media (max-width: 1100px) { .mc-footer { grid-template-columns: 1.5fr 1fr 1fr; } }
@media (max-width: 820px) { .mc-footer { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .mc-footer { grid-template-columns: 1fr; } }

/* =====================================================================
   TOP-BAR RIGHT GROUP + INSTAGRAM
   ===================================================================== */
.mc-tb-right { display: inline-flex; align-items: center; gap: 1rem; }
.mc-tb-ig .mc-ico { width: 17px; height: 17px; }
.mc-foot-ig { display: inline-flex; align-items: center; gap: .45rem; color: var(--teal) !important; font-weight: 600; font-size: .9rem; margin: .1rem 0 .9rem; }
.mc-foot-ig:hover { color: #fff !important; }
.mc-foot-ig .mc-ico { width: 17px; height: 17px; }

/* =====================================================================
   LOCATIONS
   ===================================================================== */
.mc-locs { background: var(--ivory-2); }
.mc-loc-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: .9rem; margin-bottom: 1.4rem; }
.mc-loc { display: flex; flex-direction: column; gap: .12rem; padding: 1.3rem; border-radius: 12px; background: #fff; border: 1px solid var(--line); text-decoration: none; color: var(--ink); transition: transform .22s var(--ease), border-color .22s, box-shadow .22s; }
.mc-loc:hover { transform: translateY(-4px); border-color: var(--teal); box-shadow: 0 16px 34px -24px rgba(18,20,19,.5); }
.mc-loc > .mc-ico { width: 24px; height: 24px; color: var(--teal-deep); margin-bottom: .5rem; }
.mc-loc-name { font-weight: 800; font-size: 1.15rem; letter-spacing: -.01em; }
.mc-loc-area { color: var(--grey); font-size: .85rem; }
.mc-loc-go { display: inline-flex; align-items: center; gap: .3rem; color: var(--teal-deep); font-weight: 700; font-size: .76rem; letter-spacing: .04em; text-transform: uppercase; margin-top: .8rem; }
.mc-loc-go .mc-ico { width: 14px; height: 14px; margin: 0; color: inherit; }
.mc-loc-map { border-radius: 14px; overflow: hidden; height: 380px; border: 1px solid var(--line); }
.mc-loc-map iframe { width: 100%; height: 100%; border: 0; filter: grayscale(.3) contrast(1.05); }

/* =====================================================================
   FULL-WIDTH HEADER / TOP BAR / FOOTER
   ===================================================================== */
.site-header .col-full { max-width: none !important; padding-left: var(--gutter) !important; padding-right: var(--gutter) !important; }
.mc-topbar .mc-wrap { max-width: none !important; }
.site-footer .col-full { max-width: none !important; padding: 0 !important; }
.site-footer .mc-wrap { max-width: none !important; }

/* Footer text/links must read light on the ink background */
.site-footer, .site-footer p, .site-footer span, .site-footer li, .mc-foot-col, .mc-foot-brand { color: rgba(244,241,234,.7); }
.site-footer a, .mc-foot-col a, .mc-foot-contact a, .mc-foot-contact span { color: rgba(244,241,234,.78) !important; }
.site-footer a:hover { color: var(--teal) !important; }
.mc-foot-col h4 { color: #fff; }
.mc-foot-ig { color: var(--teal) !important; }
.mc-foot-ig:hover { color: #fff !important; }

/* =====================================================================
   LOCATION CARD DETAILS
   ===================================================================== */
.mc-loc-top { display: flex; align-items: center; justify-content: space-between; gap: .5rem; width: 100%; }
.mc-loc-rating { display: inline-flex; align-items: center; gap: .22rem; font-weight: 800; font-size: .92rem; color: var(--ink); white-space: nowrap; }
.mc-loc-rating .mc-ico { width: 15px; height: 15px; fill: var(--teal); stroke: var(--teal); margin: 0; }
.mc-loc-rating small { color: var(--grey); font-weight: 600; }
.mc-loc-new { color: var(--teal-deep); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.mc-loc-addr { color: var(--grey); font-size: .8rem; line-height: 1.45; margin-top: .35rem; }
.mc-loc-phone { display: inline-flex; align-items: center; gap: .35rem; color: var(--ink); font-size: .85rem; font-weight: 600; margin-top: .4rem; }
.mc-loc-phone .mc-ico { width: 14px; height: 14px; color: var(--teal-deep); margin: 0; }

/* =====================================================================
   REVIEWS AGGREGATE
   ===================================================================== */
.mc-rev-stat { display: inline-flex; align-items: center; gap: 1.2rem; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 1.3rem 1.6rem; margin-bottom: 1.5rem; }
.mc-rev-score { font-size: 3rem; font-weight: 800; line-height: 1; color: var(--ink); letter-spacing: -.03em; }
.mc-rev-meta .mc-stars { margin-bottom: .3rem; }
.mc-rev-meta p { margin: 0; color: var(--grey); font-size: .92rem; max-width: 30ch; }
.mc-rev-meta strong { color: var(--ink); }
.mc-review figcaption span { color: var(--grey); font-weight: 600; }

/* =====================================================================
   HEADER: refine Storefront's NATIVE two-row layout, don't fight it.
   Row 1 (.site-header > .col-full): logo (left) + search (right).
   Row 2 (.storefront-primary-navigation): nav (centred) + cart (right).
   ===================================================================== */
.site-header { border-bottom: 0 !important; }
.site-header > .col-full { display: block !important; }            /* undo the flex that scrambled the logo */
.site-header > .col-full::after { content: ""; display: table; clear: both; }

.site-branding { margin: 0 !important; padding: .15rem 0 0 !important; float: left; }
.site-header .custom-logo { max-height: 52px; width: auto; display: block; }

.site-header .site-search { float: right; width: 264px; max-width: 264px; margin: .5rem 0 0 !important; padding: 0 !important; }
.site-header .site-search .woocommerce-product-search { display: flex; margin: 0; }
.site-header .site-search .search-field { width: 100%; max-width: 264px; padding: .58em .95em; font-size: .9rem; border-radius: 8px; }
.site-header .site-search button[type="submit"] { display: none; }

.storefront-primary-navigation { clear: both; margin-top: .35rem; }
.storefront-primary-navigation > .col-full { display: flex !important; align-items: center; gap: 1rem; max-width: none !important; padding-left: var(--gutter) !important; padding-right: var(--gutter) !important; }
.main-navigation { flex: 1 1 auto; margin: 0 !important; border: 0 !important; }
.main-navigation ul { justify-content: center; }
.site-header-cart { flex: 0 0 auto !important; margin: 0 0 0 auto !important; padding: 0 !important; }
.site-header-cart .cart-contents { display: inline-flex; align-items: center; gap: .45rem; white-space: nowrap; }
.site-header-cart .widget_shopping_cart { display: none !important; }

.mc-hero { border-bottom: 0 !important; }

@media (max-width: 768px) {
	.site-header .site-search { display: none; }
	.storefront-primary-navigation > .col-full { flex-wrap: wrap; }
}

/* =====================================================================
   SHOP / CATEGORY / ARCHIVE: full width, no sidebar, styled sort
   ===================================================================== */
body.woocommerce #content > .col-full,
body.woocommerce-page #content > .col-full,
body.post-type-archive-product #content > .col-full,
body.tax-product_cat #content > .col-full,
body.single-product #content > .col-full {
	max-width: none !important;
	padding-left: var(--gutter) !important;
	padding-right: var(--gutter) !important;
}
.woocommerce #primary, .woocommerce-page #primary { width: 100% !important; float: none !important; margin: 0 !important; }
.woocommerce #secondary, .woocommerce-page #secondary { display: none !important; }

/* Sort dropdown + result count */
.woocommerce .woocommerce-ordering { margin: 0 0 1.6rem; }
.woocommerce .woocommerce-ordering select,
.woocommerce select.orderby {
	font-family: var(--font); font-size: .9rem; font-weight: 600; color: var(--ink);
	background-color: #fff; border: 1px solid var(--line); border-radius: 8px;
	padding: .62em 2.4em .62em 1em; cursor: pointer; line-height: 1.2;
	-webkit-appearance: none; -moz-appearance: none; appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23121413' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right .85em center; background-size: 12px;
}
.woocommerce .woocommerce-ordering select:focus, .woocommerce select.orderby:focus {
	border-color: var(--teal); outline: none; box-shadow: 0 0 0 3px rgba(22,189,184,.18);
}
.woocommerce .woocommerce-result-count { color: var(--grey); font-size: .9rem; margin: 0; padding-top: .7em; }

/* =====================================================================
   BREADCRUMBS: removed
   ===================================================================== */
.woocommerce-breadcrumb, .storefront-breadcrumb { display: none !important; }

/* =====================================================================
   CART & CHECKOUT
   ===================================================================== */
/* Place Order: full-width primary button at the bottom of the order panel */
.woocommerce #place_order, .woocommerce-checkout #place_order {
	width: 100% !important; display: block !important; float: none !important;
	font-size: 1.05rem; font-weight: 700; padding: 1rem 1.5rem; min-width: 0; margin-top: .5rem;
}
.woocommerce-checkout #payment .place-order { padding: 1rem 0 0 !important; }
.woocommerce #place_order:disabled {
	opacity: .45 !important; cursor: not-allowed !important; box-shadow: none !important;
}
/* Update cart button hidden: quantity changes auto-apply (mc.js) */
.woocommerce-cart-form button[name="update_cart"],
.woocommerce-cart-form input[name="update_cart"] { display: none !important; }

/* Tables */
.woocommerce table.shop_table { border: 1px solid var(--line); border-radius: 12px; border-collapse: separate; border-spacing: 0; overflow: hidden; }
.woocommerce table.shop_table th { font-family: var(--font); font-weight: 700; color: var(--ink); }
.woocommerce-cart table.cart img { width: 64px; height: auto; border-radius: 8px; }
.woocommerce .cart_item .qty { padding: .45em .5em; border: 1px solid var(--line); border-radius: 6px; width: 66px; }

/* Coupon row: proper spacing + alignment */
.woocommerce-cart-form { margin-bottom: 1.4rem; }
.woocommerce .cart .actions { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; justify-content: space-between; margin-top: 1rem; }
.woocommerce .cart .actions .coupon { display: flex; gap: .5rem; align-items: center; margin: 0; }
.woocommerce .cart .actions .coupon .input-text { width: 210px; max-width: 100%; padding: .65em .9em; border: 1px solid var(--line); border-radius: 8px; margin: 0; }

/* Totals box: tidy, right-aligned card */
.woocommerce .cart-collaterals { width: 100%; }
.woocommerce .cart-collaterals .cart_totals { float: none; width: 100%; max-width: 440px; margin-left: auto; background: var(--ivory-2); border: 1px solid var(--line); border-radius: 12px; padding: 1.4rem 1.6rem; }
.woocommerce .cart-collaterals .cart_totals h2 { font-size: 1.3rem; margin-top: 0; }

/* Checkout fields + payment box */
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce-checkout .input-text,
.select2-container--default .select2-selection--single { border: 1px solid var(--line) !important; border-radius: 8px !important; padding: .6em .9em; min-height: 44px; }
.woocommerce-checkout #payment { background: var(--ivory-2); border-radius: 12px; }
.woocommerce-checkout #payment ul.payment_methods { border-bottom-color: var(--line); }

/* =====================================================================
   DESIGN SWEEP v2.5: calmer, cleaner, more premium
   ===================================================================== */
/* clean straight section transitions (drop the dated diagonal) */
.mc-hero-divider { display: none !important; }

/* Hero: centred + balanced so there's no empty void */
.mc-hero { min-height: clamp(420px, 64vh, 600px); text-align: center; padding: clamp(3.5rem,7vw,6rem) var(--gutter); }
.mc-hero .mc-wrap { max-width: 880px; margin-inline: auto; }
.mc-hero h1 { max-width: none; }
.mc-hero p.lede { max-width: 56ch; margin-left: auto; margin-right: auto; }
.mc-hero .mc-cta { justify-content: center; }

/* Feature strip: clean light band */
.mc-features { background: var(--ivory) !important; padding: clamp(2.5rem,4vw,3.75rem) var(--gutter); border-bottom: 1px solid var(--line); }
.mc-feature-grid { gap: 2.2rem; }
.mc-feature { align-items: center; }
.mc-feature .mc-ico { width: 32px; height: 32px; color: var(--teal-deep); }
.mc-feature h4 { font-size: 1.1rem; color: var(--ink); margin-bottom: .2rem; }
.mc-feature p { color: var(--grey); }

/* Product cards: refined and calm */
.woocommerce ul.products li.product { box-shadow: none; border: 1px solid var(--line); border-radius: 14px; }
.woocommerce ul.products li.product:hover { box-shadow: 0 14px 32px -22px rgba(20,23,26,.4); border-color: rgba(20,184,179,.55); }
.woocommerce ul.products li.product a img { border-radius: 10px; }

/* More breathing room */
.mc-section { padding: clamp(3.25rem, 5.5vw, 5.5rem) var(--gutter); }
.mc-head { margin-bottom: 2rem; }

/* =====================================================================
   FAQ ACCORDION
   ===================================================================== */
.mc-faq .mc-faq-wrap { max-width: 820px; }
.mc-faq-list { display: flex; flex-direction: column; gap: .7rem; }
.mc-faq-item { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 0 1.4rem; transition: border-color .2s var(--ease); }
.mc-faq-item[open] { border-color: rgba(20,184,179,.5); }
.mc-faq-item summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.15rem 0; font-weight: 700; font-size: 1.05rem; color: var(--ink); }
.mc-faq-item summary::-webkit-details-marker { display: none; }
.mc-faq-item[open] summary { color: var(--teal-deep); }
.mc-faq-ico { position: relative; width: 16px; height: 16px; flex-shrink: 0; }
.mc-faq-ico::before, .mc-faq-ico::after { content: ""; position: absolute; background: var(--teal-deep); border-radius: 2px; transition: transform .25s var(--ease); }
.mc-faq-ico::before { top: 7px; left: 0; width: 16px; height: 2px; }
.mc-faq-ico::after { left: 7px; top: 0; width: 2px; height: 16px; }
.mc-faq-item[open] .mc-faq-ico::after { transform: scaleY(0); }
.mc-faq-a { padding: 0 0 1.25rem; }
.mc-faq-a p { margin: 0; color: #4a5158; line-height: 1.62; max-width: 70ch; }

/* =====================================================================
   v2.6: header redesign, cart/checkout, notices, small fixes
   ===================================================================== */

/* ---- Top bar: email (left) · search (centre) · links (right) ---- */
.mc-topbar .mc-wrap { display: flex; align-items: center; gap: 1rem; position: relative; }
.mc-tb-email { margin-right: auto; }
.mc-tb-right { margin-left: auto; display: inline-flex; align-items: center; gap: 1.1rem; }
.mc-tb-search { position: absolute; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: .45rem; width: min(360px, 34vw); background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.16); border-radius: 7px; padding: .2rem .7rem; }
.mc-tb-search .mc-ico { width: 14px; height: 14px; color: rgba(244,241,234,.6); flex-shrink: 0; }
.mc-tb-search input[type="search"] { flex: 1; background: transparent; border: 0; color: var(--ivory); font-family: var(--font); font-size: .78rem; padding: .25em 0; outline: none; min-width: 0; }
.mc-tb-search input[type="search"]::placeholder { color: rgba(244,241,234,.5); }
@media (max-width: 980px) { .mc-tb-search { display: none; } }

/* ---- Header row 1: centred logo ---- */
.site-header > .col-full { display: block !important; text-align: center; }
.site-branding { float: none !important; display: inline-block; margin: 0 auto !important; padding: .55rem 0 .15rem !important; }
.site-header .custom-logo { max-height: 56px; margin: 0 auto; }

/* ---- Header row 2: centred nav, cart pinned right ---- */
.storefront-primary-navigation { position: relative; border-top: 1px solid var(--line); }
.storefront-primary-navigation > .col-full { display: block !important; max-width: none !important; padding: .1rem var(--gutter) !important; }
.main-navigation { width: 100%; margin: 0 !important; }
.main-navigation ul { display: flex; justify-content: center; flex-wrap: wrap; }
.site-header-cart { position: absolute; right: var(--gutter); top: 0; height: 100%; display: flex; align-items: center; margin: 0 !important; }
.site-header-cart .cart-contents { display: inline-flex; align-items: center; gap: .45rem; line-height: 1; }
.site-header-cart .cart-contents::before, .site-header-cart .cart-contents::after { line-height: 1; margin: 0; display: inline-flex; align-items: center; }
@media (max-width: 760px) { .site-header-cart { position: static; height: auto; justify-content: center; margin: .3rem 0 0 !important; } }

/* ---- Shop grid: clear floated count/ordering (fixes the left gap) ---- */
.woocommerce ul.products { clear: both; }
.woocommerce .woocommerce-result-count { margin: 0 0 1.25rem; }
.woocommerce .woocommerce-ordering { margin: 0 0 1.25rem; }
.woocommerce .woocommerce-ordering select { margin-left: .75rem; }

/* ---- Cart + Checkout + Account: constrained, not full bleed ---- */
body.woocommerce-cart #content > .col-full,
body.woocommerce-checkout #content > .col-full,
body.woocommerce-account #content > .col-full { max-width: 1140px !important; margin-inline: auto !important; }

/* ---- WooCommerce notices: brand styling (kill the default blue/green) ---- */
.woocommerce-message, .woocommerce-info, .woocommerce-noreviews {
	background: var(--ivory-2) !important; color: var(--ink) !important;
	border-top: 3px solid var(--teal) !important; border-radius: 8px;
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--teal-deep) !important; }
.woocommerce-message .button, .woocommerce-info .button { background: var(--ink); }
/* Links inside notices (e.g. "Click here to enter your code") were white/unreadable */
.woocommerce-message a:not(.button), .woocommerce-info a:not(.button), .woocommerce-info .showcoupon { color: var(--teal-deep) !important; text-decoration: underline; font-weight: 600; }

/* ---- Cart table tidy ---- */
.woocommerce-cart table.cart td.product-thumbnail img { width: 60px; border-radius: 8px; }
.woocommerce-cart table.cart td, .woocommerce-cart table.cart th { vertical-align: middle; }

/* ---- Coupon row: clean, no weird box ---- */
.woocommerce .cart .actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; background: transparent; padding: 1.3rem 0 0; }
.woocommerce .cart .actions .coupon { display: flex; gap: .5rem; align-items: center; margin: 0; border: 0; padding: 0; }
.woocommerce .cart .actions .coupon .input-text { width: 220px; max-width: 60vw; padding: .7em 1em; border: 1px solid var(--line); border-radius: 8px; margin: 0; }

/* ---- Home: tighten gap between map and reviews ---- */
.mc-locs { padding-bottom: clamp(2rem, 3vw, 2.75rem); }
.mc-reviews { padding-top: clamp(2rem, 3vw, 2.75rem); }

/* ---- Contact page store list ---- */
.mc-store { margin-bottom: 1.5rem; }
.mc-store h4 { margin: 0 0 .3rem; font-size: 1.1rem; }
.mc-store-addr { margin: 0 0 .35rem; }
.mc-store-tel { margin: 0; }
.mc-store-hours { color: var(--grey); margin-top: 1.5rem; }

/* =====================================================================
   v2.6.1 CORRECTIONS
   ===================================================================== */
/* Kill the ugly focus ring on mouse click; keep it for keyboard a11y */
:focus:not(:focus-visible) { outline: none !important; box-shadow: none; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, .button:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--teal); outline-offset: 2px; }

/* Product grid: Storefront's clearfix pseudos were eating the first grid cell */
.woocommerce ul.products::before, .woocommerce ul.products::after { content: none !important; display: none !important; }

/* Search bar below the nav line */
.mc-navsearch { padding: .6rem var(--gutter) .8rem; }
.mc-navsearch-form { max-width: 520px; margin: 0 auto; display: flex; align-items: center; gap: .55rem; background: #fff; border: 1px solid var(--line); border-radius: 9px; padding: .55rem .95rem; }
.mc-navsearch-form .mc-ico { width: 16px; height: 16px; color: var(--grey); flex-shrink: 0; }
.mc-navsearch-form input[type="search"] { flex: 1; border: 0; background: transparent; font-family: var(--font); font-size: .92rem; color: var(--ink); outline: none; min-width: 0; }

/* Clip any horizontal bleed (gallery/related overflow at viewport edges) */
html, body { overflow-x: hidden; }
.single-product .woocommerce-product-gallery, .single-product .woocommerce-product-gallery__wrapper { overflow: hidden; max-width: 100%; }

/* Single product: constrained, sane gallery, no edge overflow */
body.single-product #content > .col-full { max-width: 1140px !important; margin-inline: auto !important; }
.single-product div.product { overflow: hidden; }
.single-product div.product .woocommerce-product-gallery { width: 46% !important; margin-bottom: 2rem; }
.single-product div.product .summary { width: 50% !important; }
.single-product div.product .woocommerce-product-gallery__wrapper img { border-radius: 12px; }
.single-product .related.products, .single-product .up-sells { clear: both; }

/* ---- CART overhaul ---- */
.woocommerce-cart .woocommerce-cart-form, .woocommerce-cart .cart-collaterals { float: none !important; width: 100% !important; }
.woocommerce-cart table.cart.shop_table { table-layout: fixed; border: 0 !important; border-radius: 0 !important; }
.woocommerce-cart table.cart thead th { border-bottom: 2px solid var(--line); background: transparent; }
.woocommerce-cart table.cart tbody td { border-top: 1px solid var(--line); }
.woocommerce-cart table.cart .product-remove { width: 46px; text-align: center; }
.woocommerce-cart table.cart .product-thumbnail { width: 92px; }
.woocommerce-cart table.cart .product-name { width: auto; text-align: left; }
.woocommerce-cart table.cart .product-price,
.woocommerce-cart table.cart .product-quantity,
.woocommerce-cart table.cart .product-subtotal { width: 120px; }
.woocommerce-cart table.cart td.actions { padding: 1.4rem 0 0 !important; background: transparent !important; border: 0 !important; }
.woocommerce-cart .cart-collaterals .cart_totals { float: none !important; width: 100% !important; max-width: 420px; margin: 1.75rem 0 0 auto; }

/* =====================================================================
   v3.0: CLEAN MINIMAL WHITE OVERHAUL
   white canvas · ink text · turquoise accents · dark sections for punch
   ===================================================================== */
:root { --ivory: #ffffff; --ivory-2: #f6f6f4; --line: rgba(20,24,27,.12); }
body, body.woocommerce-page { background: #ffffff; color: #1c2024; }

/* Top bar: light utility strip (was dark) */
.mc-topbar { background: #f3f3f0 !important; color: var(--ink) !important; border-bottom: 1px solid var(--line); }
.mc-tb-item { color: #4a4f54 !important; }
.mc-tb-item:hover { color: var(--teal-deep) !important; }
.mc-tb-item .mc-ico { color: #7a7f84; }

/* Header on white */
.site-header { background: rgba(255,255,255,.92) !important; border-bottom: 0 !important; }
.storefront-primary-navigation { border-top: 1px solid var(--line); }

/* Below-nav search: clean pill, clearly visible on white */
.mc-navsearch { background: #ffffff; }
.mc-navsearch-form { background: #f6f6f4; border: 1px solid var(--line); border-radius: 999px; }
.mc-navsearch-form .mc-ico { color: var(--teal-deep); }
.mc-navsearch-form input[type="search"] { color: var(--ink); }
.mc-navsearch-form input[type="search"]::placeholder { color: #8b9094; }

/* HERO -> light, ink type */
.mc-hero { background: #f6f6f4 !important; color: var(--ink) !important; border-bottom: 1px solid var(--line); min-height: clamp(360px, 54vh, 500px); }
.mc-hero .mc-eyebrow { color: var(--teal-deep) !important; }
.mc-hero h1 { color: var(--ink) !important; }
.mc-hero h1 em { color: var(--teal) !important; }
.mc-hero p.lede { color: #51585e !important; }
.mc-hero .mc-btn--ghost { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 1.5px rgba(20,24,27,.28); }
.mc-hero .mc-btn--ghost:hover { background: var(--ink); color: #fff; box-shadow: none; }

/* Features on white */
.mc-features { background: #ffffff !important; border-bottom: 1px solid var(--line); }

/* Product cards: subtle definition on white */
.woocommerce ul.products li.product { box-shadow: 0 1px 3px rgba(20,24,27,.05); }
.woocommerce ul.products li.product:hover { box-shadow: 0 16px 34px -22px rgba(20,24,27,.35); }

/* Single product: top-aligned summary, real flex layout */
.single-product div.product { display: flex; align-items: flex-start; flex-wrap: wrap; column-gap: 4%; }
.single-product div.product .woocommerce-product-gallery { width: 46% !important; float: none !important; margin: 0 0 1.5rem !important; }
.single-product div.product .summary { width: 50% !important; float: none !important; margin: 0 !important; }
.single-product div.product .woocommerce-tabs,
.single-product div.product .related,
.single-product div.product .up-sells { width: 100%; }

/* =====================================================================
   v3.1: tweaks
   ===================================================================== */
/* Bring back the diagonal hero shape (transitions into the white section) */
.mc-hero { position: relative; overflow: hidden; }
.mc-hero-divider { display: block !important; background: #ffffff; }

/* Search bar: flat + squared so it matches everything else (no rounded 3d pill) */
.mc-navsearch-form { border-radius: 8px !important; box-shadow: none !important; background: #ffffff !important; border: 1px solid var(--line) !important; }
/* No search on cart / checkout (not needed there) */
body.woocommerce-cart .mc-navsearch, body.woocommerce-checkout .mc-navsearch { display: none !important; }

/* Cart: "Apply coupon" button sized normally */
.woocommerce .cart .actions .coupon .button { white-space: nowrap; width: auto; min-width: 0; padding: .8em 1.5em; }

/* Cart totals: pull up tight under the cart (no big empty gap) */
.woocommerce-cart .woocommerce-cart-form { margin-bottom: 1rem !important; }
.woocommerce-cart .cart-collaterals { margin-top: 0 !important; }
.woocommerce-cart .cart-collaterals .cart_totals { margin: .5rem 0 0 auto !important; }

/* Single product: force gallery visible, clip flexslider clone bleed, keep summary beside */
.single-product .woocommerce-product-gallery { opacity: 1 !important; overflow: hidden !important; }
.single-product .woocommerce-product-gallery .flex-viewport { overflow: hidden !important; }
.single-product div.product { justify-content: space-between; }
.single-product div.product .woocommerce-product-gallery { width: 46% !important; }
.single-product div.product .summary { width: 48% !important; }

/* =====================================================================
   v3.2: tighter vertical rhythm (~20% less)
   ===================================================================== */
.mc-section { padding-top: clamp(2.4rem, 4.4vw, 4.25rem) !important; padding-bottom: clamp(2.4rem, 4.4vw, 4.25rem) !important; }
.mc-head { margin-bottom: 1.5rem !important; }
.mc-features { padding-top: clamp(1.7rem, 3vw, 2.5rem) !important; padding-bottom: clamp(1.7rem, 3vw, 2.5rem) !important; }
.mc-hero { padding-top: clamp(2.6rem, 5.5vw, 4.2rem) !important; padding-bottom: clamp(3rem, 6vw, 4.6rem) !important; min-height: clamp(300px, 44vh, 420px) !important; }
.mc-locs { padding-bottom: clamp(1.6rem, 2.5vw, 2.2rem) !important; }
.mc-reviews { padding-top: clamp(1.8rem, 3vw, 2.4rem) !important; }

/* =====================================================================
   v3.3: shop width, sort spacing, contextual search
   ===================================================================== */
/* Shop / category / product: constrained column (was too wide full-bleed) */
body.woocommerce #content > .col-full,
body.woocommerce-page #content > .col-full,
body.post-type-archive-product #content > .col-full,
body.tax-product_cat #content > .col-full,
body.single-product #content > .col-full { max-width: 1240px !important; margin-inline: auto !important; }

/* Sort vs results: opposite ends, clear gap */
.woocommerce .woocommerce-result-count { float: left; margin: 0 0 1.5rem; }
.woocommerce .woocommerce-ordering { float: right; margin: 0 0 1.5rem; }
.woocommerce ul.products { clear: both; }

/* Search only where it makes sense (products). Hide on account/cart/checkout/info pages */
body.woocommerce-account .mc-navsearch,
body.woocommerce-cart .mc-navsearch,
body.woocommerce-checkout .mc-navsearch,
body.page:not(.home):not(.woocommerce-page) .mc-navsearch { display: none !important; }

/* =====================================================================
   v3.4: dark hero, simple search, product grid, cart 2-col
   ===================================================================== */
/* Hero: the dark angled shape (the version you liked) on the white site */
.mc-hero { background: var(--ink) !important; color: var(--ivory) !important; border-bottom: 0 !important; }
.mc-hero .mc-eyebrow { color: var(--teal) !important; }
.mc-hero h1 { color: var(--ivory) !important; }
.mc-hero h1 em { color: var(--teal) !important; }
.mc-hero p.lede { color: rgba(244,241,234,.78) !important; }
.mc-hero .mc-btn--ghost { background: transparent; color: var(--ivory); box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.45); }
.mc-hero .mc-btn--ghost:hover { background: var(--ivory); color: var(--ink); box-shadow: none; }
.mc-hero-divider { display: block !important; background: #ffffff; }

/* Search: just a clean input + icon (no box-in-box) */
.mc-navsearch { background: transparent !important; padding: .3rem var(--gutter) .9rem !important; }
.mc-navsearch-form { max-width: 440px; margin: 0 auto; display: flex; align-items: center; gap: .5rem; background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: .5rem .85rem; box-shadow: none; }
.mc-navsearch-form .mc-ico { width: 16px; height: 16px; color: var(--grey); }
.mc-navsearch-form input[type="search"] { flex: 1; border: 0; background: transparent; outline: none; font-size: .92rem; color: var(--ink); }

/* Single product: clean grid, gallery left, summary right, top-aligned */
.single-product div.product { display: grid !important; grid-template-columns: 46% 1fr; column-gap: 5%; align-items: start; }
/* Storefront's clearfix ::before/::after become grid items and steal a cell
   (pushing the gallery right + summary down). Remove them in grid context. */
.single-product div.product::before, .single-product div.product::after { content: none !important; display: none !important; }
/* Kill Storefront's prev/next product nav: it pins placeholder-image tabs to the
   viewport edges (the dark "Mi Casa" slivers). Not wanted. */
.storefront-product-pagination { display: none !important; }
.single-product div.product .woocommerce-product-gallery { width: 100% !important; float: none !important; margin: 0 !important; opacity: 1 !important; }
.single-product div.product .summary { width: 100% !important; float: none !important; margin: 0 !important; }
.single-product div.product .woocommerce-tabs,
.single-product div.product .related,
.single-product div.product .up-sells { grid-column: 1 / -1; }
@media (max-width: 768px) { .single-product div.product { grid-template-columns: 1fr; } }

/* Cart: 2-column so the totals sit up beside the table/coupon */
.woocommerce-cart .woocommerce-cart-form { float: left !important; width: 62% !important; margin: 0 !important; }
.woocommerce-cart .cart-collaterals { float: right !important; width: 35% !important; margin: 0 !important; }
.woocommerce-cart .cart-collaterals .cart_totals { width: 100% !important; max-width: none !important; margin: 0 !important; }
/* Proceed-to-checkout: normal-sized button, not the giant Storefront default */
.woocommerce .wc-proceed-to-checkout a.checkout-button { font-size: .95rem !important; padding: .85rem 1.4rem !important; font-weight: 600 !important; line-height: 1.2 !important; }

/* =====================================================================
   v3.5: hero balance, plain search, centred heads, shop toolbar,
          icon add-to-cart + toast
   ===================================================================== */
/* Hero: more breathing room under the CTAs so the bottom matches the top */
.mc-hero { padding-bottom: clamp(5rem, 10vw, 8.5rem) !important; }

/* Search: no container box, a single clean underlined input */
.mc-navsearch-form { max-width: 460px; background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--line) !important; border-radius: 0 !important; box-shadow: none !important; padding: .5rem .2rem !important; }
.mc-navsearch-form input[type="search"] { font-size: .98rem; box-shadow: none !important; -webkit-appearance: none; appearance: none; border-radius: 0 !important; }

/* Section headings: centred */
.mc-head { flex-direction: column !important; align-items: center !important; justify-content: center !important; text-align: center !important; }
.mc-head .mc-more { margin-top: .15rem; }

/* Shop toolbar: result count left, pagination + sorting right, all vertically centred */
.storefront-sorting { display: flex !important; align-items: center !important; flex-wrap: wrap; gap: .8rem 1rem; }
.storefront-sorting .woocommerce-result-count { float: none !important; margin: 0 auto 0 0 !important; padding: 0 !important; order: 0; }
.storefront-sorting .woocommerce-pagination { float: none !important; margin: 0 !important; order: 1; width: auto !important; }
.storefront-sorting .woocommerce-pagination ul { margin: 0 !important; border: 0 !important; }
.storefront-sorting .woocommerce-ordering { float: none !important; margin: 0 !important; order: 2; }

/* Loop add-to-cart: full-width button pinned to the card bottom (so every card
   lines up), cart icon + label, ink → teal lift on hover. Hide 'View cart'. */
.woocommerce ul.products li.product .price { margin-bottom: .9rem; }
.woocommerce ul.products li.product .button.add_to_cart_button,
.woocommerce ul.products li.product .button.product_type_variable,
.woocommerce ul.products li.product a.button {
	margin-top: auto !important; align-self: stretch !important; width: 100%;
	display: inline-flex !important; align-items: center; justify-content: center; gap: .5rem;
	font-size: .85rem !important; font-weight: 700 !important; letter-spacing: .01em;
	color: #fff !important; background-color: var(--ink) !important;
	padding: .72rem 1rem !important; border: 0 !important; border-radius: 10px;
	line-height: 1.1 !important; box-shadow: none !important;
	transition: background-color .2s var(--ease), transform .15s var(--ease), box-shadow .2s var(--ease);
}
.woocommerce ul.products li.product .button.add_to_cart_button::before {
	content: ""; width: 17px; height: 17px; flex-shrink: 0; background-color: #fff;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.woocommerce ul.products li.product .button.add_to_cart_button:hover,
.woocommerce ul.products li.product a.button:hover { background-color: var(--teal-deep) !important; transform: translateY(-2px); box-shadow: 0 10px 22px -8px rgba(12,143,138,.55) !important; }
.woocommerce ul.products li.product .button.add_to_cart_button.loading { opacity: .6; }
.woocommerce ul.products li.product .button.add_to_cart_button.loading::after { display: none !important; }
.woocommerce ul.products li.product .button.add_to_cart_button.added { background-color: var(--teal-deep) !important; }
.woocommerce a.added_to_cart { display: none !important; }

/* "Log in to buy": replaces add-to-cart for logged-out visitors. Inherits the
   loop button shape via a.button; add a padlock so it reads as a login gate. */
.mc-login-to-buy { gap: .5rem; }
.mc-login-to-buy::before {
	content: ""; width: 15px; height: 15px; flex-shrink: 0; background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E") center / contain no-repeat;
}
/* Single-product variant: inline-flex pill, full width on mobile like the real button. */
.single-product .mc-login-to-buy--single { display: inline-flex !important; align-items: center; margin-top: .4rem; }

/* ---------------------------------------------------------------------
 * Social proof: hero rating strip + Google review testimonials
 * ------------------------------------------------------------------- */
.mc-stars { --rating: 5; display: inline-block; position: relative; font-size: 1rem; line-height: 1; white-space: nowrap; font-family: Arial, Helvetica, sans-serif; }
.mc-stars::before { content: "\2605\2605\2605\2605\2605"; letter-spacing: 2px; color: rgba(255,255,255,.26); }
.mc-stars::after { content: "\2605\2605\2605\2605\2605"; letter-spacing: 2px; color: #f4b42c; position: absolute; left: 0; top: 0; width: calc(var(--rating) / 5 * 100%); overflow: hidden; }

.mc-hero-rating { display: inline-flex; align-items: center; gap: .55rem; margin-top: 1.5rem; text-decoration: none; color: var(--ivory); font-size: .92rem; transition: color .2s var(--ease); }
.mc-hero-rating:hover { color: #fff; }
.mc-hero-rating .mc-hero-rating-txt strong { color: #fff; font-weight: 800; }
.mc-hero-rating .mc-stars { position: relative; top: 6px; } /* glyphs sit high; nudge to baseline of the text */
@media (max-width: 600px) { .mc-rt-stores { display: none; } }

.mc-review-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.1rem; }
.mc-review-card { margin: 0; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 1.5rem 1.4rem; display: flex; flex-direction: column; gap: .85rem; box-shadow: 0 1px 2px rgba(18,20,19,.04); }
.mc-review-card .mc-stars { font-size: .92rem; }
.mc-review-card .mc-stars::before { color: rgba(18,20,19,.15); }
.mc-review-card blockquote { margin: 0; flex: 1; font-size: .94rem; line-height: 1.55; color: var(--ink); }
.mc-review-card figcaption { display: flex; flex-direction: column; gap: .12rem; }
.mc-review-card figcaption strong { font-weight: 700; color: var(--ink); }
.mc-review-card figcaption span { font-size: .78rem; color: #6b6f6e; }
@media (max-width: 980px) { .mc-review-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .mc-review-grid { grid-template-columns: 1fr; } }

/* Related products: clear separation from the gallery + centred heading, 5-up */
.single-product .related.products, .single-product .up-sells { margin-top: clamp(2.75rem, 5vw, 4.25rem) !important; padding-top: clamp(1.75rem, 3vw, 2.75rem); border-top: 1px solid var(--line); }
.single-product .related.products > h2, .single-product .up-sells > h2 { text-align: center; font-size: clamp(1.5rem, 3vw, 2rem); margin-bottom: 1.6rem; }

/* Keep money amounts on one line (no 'R 1' / '120,00' wrap in the cart) */
.woocommerce .woocommerce-Price-amount { white-space: nowrap; }
.woocommerce-cart table.cart td.product-price, .woocommerce-cart table.cart td.product-subtotal { white-space: nowrap; }

/* Toast (add-to-cart confirmation) */
.mc-toast { position: fixed; left: 50%; bottom: 26px; transform: translateX(-50%) translateY(18px); background: var(--ink); color: #fff; padding: .8rem 1.25rem; border-radius: 11px; font-weight: 600; font-size: .92rem; box-shadow: 0 14px 36px rgba(0,0,0,.28); z-index: 100000; display: inline-flex; align-items: center; gap: .55rem; opacity: 0; pointer-events: none; transition: opacity .25s ease, transform .25s ease; }
.mc-toast.mc-show { opacity: 1; transform: translateX(-50%) translateY(0); }
.mc-toast svg { width: 18px; height: 18px; stroke: var(--teal); }

/* =====================================================================
   MISC
   ===================================================================== */
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: var(--ivory-2); }
::-webkit-scrollbar-thumb { background: var(--ink); border-radius: 8px; border: 3px solid var(--ivory-2); }
@media (max-width: 768px) {
	.mc-trust .mc-wrap { gap: 1.1rem; }
	.main-navigation ul { justify-content: flex-start; }
}

/* =====================================================================
   v3.6: MOBILE / RESPONSIVE SWEEP
   ===================================================================== */
@media (max-width: 768px) {
	/* Never allow sideways scroll */
	html, body { overflow-x: hidden !important; max-width: 100% !important; }

	/* ---- Header: app bar, logo LEFT, burger + cart icons TOP-RIGHT ---- */
	.site-header { position: relative; }
	.site-header > .col-full { display: flex !important; align-items: center; text-align: left; min-height: 54px; padding: .4rem var(--gutter) !important; }
	.site-branding { float: none !important; display: inline-flex !important; align-items: center; margin: 0 !important; padding: 0 !important; }
	.site-header .custom-logo { height: auto !important; width: auto !important; max-height: 38px !important; } /* preserve aspect: no squash */

	/* Cart ICON, top-right */
	.site-header-cart { position: absolute !important; top: 0; right: var(--gutter) !important; height: 54px; display: flex !important; align-items: center; margin: 0 !important; padding: 0 !important; z-index: 6; }
	.site-header-cart .cart-contents {
		font-size: 0 !important; line-height: 0 !important; width: 28px; height: 28px; padding: 0 !important; display: block !important;
		background-color: var(--ink);
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") center / contain no-repeat;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") center / contain no-repeat;
	}
	.site-header-cart .cart-contents::before, .site-header-cart .cart-contents::after { display: none !important; content: none !important; }

	/* Burger ICON, top-right (left of cart) */
	.storefront-primary-navigation { position: static; clear: none; margin: 0 !important; border-top: 0 !important; }
	.storefront-primary-navigation > .col-full { padding: 0 !important; display: block !important; }
	.main-navigation { width: 100%; }
	.main-navigation .menu-toggle {
		position: absolute !important; top: 0; right: calc(var(--gutter) + 44px) !important;
		height: 54px; width: 40px; padding: 0 !important; margin: 0 !important;
		display: flex !important; align-items: center; justify-content: center;
		background: none !important; border: 0 !important; box-shadow: none !important; color: var(--ink) !important; z-index: 6; float: none !important;
	}
	.main-navigation .menu-toggle span { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); } /* sr-only "Menu" label */
	#site-navigation .menu-toggle::before {
		content: "\2630" !important; background: none !important; -webkit-mask: none !important; mask: none !important;
		position: static !important; left: auto !important; right: auto !important; top: auto !important; transform: none !important;
		width: auto !important; height: auto !important; font-size: 1.65rem; line-height: 1; color: var(--ink) !important; margin: 0 !important; padding: 0 !important;
	}
	#site-navigation .menu-toggle::after { content: none !important; display: none !important; }
	#site-navigation .menu-toggle span::before { content: none !important; display: none !important; }

	/* Dropdown menu: animated slide-down, full width below the bar */
	#site-navigation .primary-navigation {
		display: block !important; width: 100%; overflow: hidden;
		max-height: 0; opacity: 0;
		transition: max-height .32s var(--ease), opacity .25s var(--ease);
	}
	#site-navigation.mc-nav-open .primary-navigation,
	#site-navigation.toggled-on .primary-navigation,
	#site-navigation.toggled .primary-navigation,
	#site-navigation .menu-toggle[aria-expanded="true"] ~ .primary-navigation { max-height: 85vh; opacity: 1; }
	/* Force a vertical flex column so items can NEVER render side-by-side, even
	   for a frame mid-transition (was flashing horizontal on close). */
	#site-navigation .primary-navigation ul#menu-main { display: flex !important; flex-direction: column !important; flex-wrap: nowrap !important; align-items: stretch !important; width: 100%; padding: .2rem 0 .5rem; }
	#site-navigation .primary-navigation ul#menu-main li { display: block !important; width: 100% !important; float: none !important; }
	#site-navigation .primary-navigation ul#menu-main li a { display: block; text-align: center; padding: .85rem 1rem !important; font-size: .95rem; border-top: 1px solid var(--line); }
	#site-navigation .primary-navigation ul#menu-main li a::after { display: none !important; }

	/* Search row full width */
	.mc-navsearch-form { max-width: none !important; }

	/* Content wrappers: side gutters on mobile so content never touches/overflows the edge */
	body.woocommerce-cart #content > .col-full,
	body.woocommerce-checkout #content > .col-full,
	body.woocommerce-account #content > .col-full,
	body.single-product #content > .col-full,
	body.woocommerce-page #content > .col-full,
	body.post-type-archive #content > .col-full,
	body.tax-product_cat #content > .col-full { padding-left: var(--gutter) !important; padding-right: var(--gutter) !important; max-width: 100% !important; box-sizing: border-box !important; }

	/* ---- Hero: fit nicely, no crowding ---- */
	.mc-hero { min-height: auto !important; padding: clamp(2.4rem,9vw,3.4rem) var(--gutter) clamp(3.4rem,12vw,5rem) !important; }
	.mc-hero h1 { font-size: clamp(2rem, 8.5vw, 2.7rem) !important; max-width: none !important; }
	.mc-hero p.lede { font-size: 1rem !important; }
	.mc-hero .mc-cta { justify-content: center; }

	/* ---- Product grid: 2-up on phones ---- */
	.woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: .75rem !important; }
	.woocommerce ul.products li.product { padding: .55rem .55rem .75rem; }
	.woocommerce ul.products li.product .button.add_to_cart_button { font-size: .76rem !important; padding: .62rem .4rem !important; gap: .35rem; }

	/* ---- Shop toolbar: centred, stacked ---- */
	.storefront-sorting { justify-content: center !important; }
	.storefront-sorting .woocommerce-result-count { margin: 0 auto !important; width: 100%; text-align: center; }
	.storefront-sorting .woocommerce-ordering select { width: 100%; }

	/* ---- CART page: stack table + totals (was a squished 2-col) ---- */
	.woocommerce-cart .woocommerce-cart-form,
	.woocommerce-cart .cart-collaterals { float: none !important; width: 100% !important; }
	.woocommerce-cart .cart-collaterals { margin-top: 1.5rem !important; }
	.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { width: 100%; }
	.woocommerce-cart table.cart td.actions .coupon { display: flex; gap: .5rem; }
	.woocommerce-cart table.cart td.actions .coupon .input-text { flex: 1; min-width: 0; }

	/* ---- CHECKOUT: stack columns ---- */
	.woocommerce-checkout #customer_details .col-1,
	.woocommerce-checkout #customer_details .col-2 { float: none !important; width: 100% !important; }

	/* ---- Single product: tighter + full-width add-to-cart ---- */
	.single-product div.product .summary { margin-top: 1.25rem !important; }
	.single-product .related.products ul.products { grid-template-columns: repeat(2, 1fr) !important; }
	.single-product form.cart { display: flex !important; flex-wrap: wrap; gap: .6rem; align-items: stretch; }
	.single-product form.cart .quantity { width: 100%; }
	.single-product form.cart .quantity .qty { width: 100%; height: 48px; text-align: center; }
	.single-product form.cart .single_add_to_cart_button { width: 100% !important; padding: .95rem 1rem !important; }

	/* ---- Loop add-to-cart: full width on mobile ---- */
	.woocommerce ul.products li.product .button.add_to_cart_button { width: 100% !important; }

	/* ---- CART items: clean card layout (not the clunky stacked label rows) ---- */
	.woocommerce-cart table.cart thead { display: none !important; }
	.woocommerce-cart table.cart,
	.woocommerce-cart table.cart tbody { display: block !important; width: 100% !important; }
	.woocommerce-cart table.cart tr.cart_item {
		display: grid !important;
		grid-template-columns: 64px 1fr auto;
		grid-template-areas: "thumb name remove" "thumb price qty" "thumb subtotal subtotal";
		gap: .3rem .7rem; align-items: center;
		border: 1px solid var(--line); border-radius: 12px; padding: .7rem .8rem; margin: 0 0 .7rem !important;
	}
	.woocommerce-cart table.cart tr.cart_item td { display: block !important; border: 0 !important; padding: 0 !important; text-align: left !important; width: auto !important; }
	.woocommerce-cart table.cart tr.cart_item td::before { content: none !important; }
	.cart_item .product-thumbnail { grid-area: thumb; }
	.cart_item .product-thumbnail img { width: 64px !important; height: 64px !important; object-fit: cover; border-radius: 8px; }
	.cart_item .product-name { grid-area: name; font-weight: 700; line-height: 1.25; }
	.cart_item .product-price { grid-area: price; color: var(--grey); font-size: .9rem; }
	.cart_item .product-quantity { grid-area: qty; justify-self: end; }
	.cart_item .product-quantity .qty { width: 64px; height: 38px; text-align: center; }
	.cart_item .product-subtotal { grid-area: subtotal; font-weight: 800; color: var(--teal-deep); }
	.cart_item .product-remove { grid-area: remove; justify-self: end; }
	.cart_item .product-remove a { font-size: 1.1rem; }
	.woocommerce-cart table.cart tr.actions { display: block !important; }
	.woocommerce-cart table.cart td.actions { display: block !important; padding: .4rem 0 0 !important; }
}

/* ---- Mobile bottom nav bar: not wanted, remove entirely ---- */
.storefront-handheld-footer-bar { display: none !important; }

/* =====================================================================
   v3.7: DESKTOP refinements
   ===================================================================== */
@media (min-width: 769px) {
	/* 3-column grid: [spacer | centred nav | cart]. Equal outer columns keep the nav
	   truly centred; the cart lives in its own column so overlap is impossible. */
	.storefront-primary-navigation > .col-full { display: grid !important; grid-template-columns: 1fr auto 1fr; align-items: center; position: relative; }
	.main-navigation { grid-column: 2; justify-self: center; width: auto !important; max-width: none !important; margin: 0 !important; min-width: 0; }
	#site-navigation .primary-navigation { width: auto !important; display: block !important; }
	#site-navigation ul#menu-main { display: flex !important; justify-content: center !important; flex-wrap: wrap; width: auto !important; margin: 0 !important; }
	/* width:auto kills Storefront's 21.74% column width, which collapsed the
	   cart to ~24px on medium screens and pushed its content off-frame right. */
	.site-header-cart { grid-column: 3; justify-self: end; position: static !important; transform: none !important; right: auto !important; top: auto !important; height: auto !important; margin: 0 !important; width: auto !important; }

	/* Tiny breathing room under the logo */
	.site-branding { padding-bottom: .35rem !important; }

	/* Cart totals nudged down a touch */
	.woocommerce-cart .cart-collaterals { margin-top: 2.4rem !important; }

	/* Cart table fills its 62% column with FIXED layout so the 6 columns fit
	   (auto layout overflowed the form and overlapped the totals; width:auto let
	   it shrink and stack the name per-letter). */
	.woocommerce-cart table.cart,
	.woocommerce-cart table.cart.shop_table { width: 100% !important; table-layout: fixed !important; }
	.woocommerce-cart table.cart .product-name { width: auto !important; }
	.woocommerce-cart table.cart .product-price,
	.woocommerce-cart table.cart .product-quantity,
	.woocommerce-cart table.cart .product-subtotal { width: 116px !important; }
	.woocommerce-cart table.cart thead th { white-space: nowrap; }
	.woocommerce-cart table.cart td.product-name a { white-space: normal; }
}

/* A little space above page titles (Shop, Cart, page headings) */
.woocommerce-products-header { padding-top: 2.25rem !important; }
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-account .entry-title,
body.page .entry-header .entry-title,
body.page h1.entry-title { padding-top: 1.5rem; }

/* =====================================================================
   v3.7: Contact / About (regular pages) match the constrained layout
   ===================================================================== */
body.page:not(.woocommerce-page):not(.home):not(.mc-page-full) #content > .col-full { max-width: 1140px !important; margin-inline: auto !important; padding-left: var(--gutter) !important; padding-right: var(--gutter) !important; box-sizing: border-box; }
body.page:not(.woocommerce-page):not(.home):not(.mc-page-full) .entry-content { max-width: 820px; }
body.page:not(.woocommerce-page):not(.home):not(.mc-page-full) .entry-content h2 { font-size: clamp(1.5rem, 3vw, 2.1rem); margin: 2rem 0 .6rem; }
body.page:not(.woocommerce-page):not(.home):not(.mc-page-full) .entry-content h3 { font-size: 1.2rem; margin: 1.8rem 0 .5rem; }
/* Store blocks on the Contact page → tidy cards */
.mc-store { border: 1px solid var(--line); border-radius: 10px; padding: 1rem 1.15rem; margin: 0 0 .9rem; }
.mc-store h4 { margin: 0 0 .35rem; font-size: 1.05rem; }
.mc-store .mc-store-addr { margin: 0 0 .5rem; }
.mc-store .mc-store-tel { margin: 0; }
.mc-store-hours { color: var(--grey); font-size: .92rem; margin-top: 1.25rem; }

/* =====================================================================
   v3.8: PDP meta hidden, logo bottom padding
   ===================================================================== */
/* Hide SKU + Category line under the short description on product pages */
.single-product .product_meta { display: none !important; }
/* 5px breathing room under the header logo */
.site-header .site-branding .custom-logo,
.site-header .custom-logo { margin-bottom: 5px !important; }

/* =====================================================================
   v3.9: Leaflet store map + checkout dropdowns
   ===================================================================== */
.mc-loc-map #mc-map { width: 100%; height: 100%; }
.leaflet-container { background: #e9e9e7; font-family: var(--font); }
.leaflet-popup-content-wrapper { border-radius: 10px; }
.leaflet-popup-content { font-size: .9rem; }
.leaflet-popup-content a { color: var(--teal-deep); font-weight: 600; }

/* Checkout country/province dropdowns: match the form inputs */
.woocommerce form .select2-container .select2-selection--single { height: 52px; border: 1px solid var(--line) !important; border-radius: 10px; background: #f6f6f4; }
.woocommerce form .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 52px; padding-left: 14px; color: var(--ink); font-size: .95rem; }
.woocommerce form .select2-container--default .select2-selection--single .select2-selection__arrow { height: 50px; right: 10px; }
.woocommerce form .select2-container--default.select2-container--open .select2-selection--single,
.woocommerce form .select2-container--focus .select2-selection--single { border-color: var(--teal) !important; box-shadow: 0 0 0 3px rgba(22,189,184,.18); }
.select2-dropdown { border: 1px solid var(--line); border-radius: 10px; overflow: hidden; box-shadow: 0 12px 30px rgba(0,0,0,.12); }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--teal-deep); }
.select2-search--dropdown .select2-search__field { border: 1px solid var(--line); border-radius: 8px; padding: .5em .7em; }
.woocommerce-checkout .form-row select, .woocommerce form .form-row select {
	height: 52px; border: 1px solid var(--line); border-radius: 10px; padding: 0 40px 0 14px; background-color: #f6f6f4; font-size: .95rem; color: var(--ink);
	-webkit-appearance: none; -moz-appearance: none; appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23121413' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 14px center; background-size: 12px;
}

/* v3.9.1: unify select2 arrow (country/province) with the native chevron */
.woocommerce form .select2-container--default .select2-selection--single .select2-selection__arrow { display: none !important; }
.woocommerce form .select2-container--default .select2-selection--single {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23121413' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 14px center; background-size: 12px;
}
.woocommerce form .select2-container--default .select2-selection--single .select2-selection__rendered { padding-right: 38px; }

/* v3.9.2: category tiles with photo backgrounds + legibility overlay */
.mc-tile--img { background-size: cover !important; background-position: center !important; overflow: hidden; }
.mc-tile--img::after { content: ""; position: absolute; inset: 0; z-index: 0; background: rgba(10,11,13,.10); }
.mc-tile--img > * { position: relative; z-index: 1; }
.mc-tile--img h3 { text-shadow: 0 1px 8px rgba(0,0,0,.5); }

/* v3.9.3: normalise select2 (country/province) so text indent is identical */
.woocommerce form .select2-container--default .select2-selection--single { padding: 0 !important; }
.woocommerce form .select2-container--default .select2-selection--single .select2-selection__rendered { margin: 0 !important; padding: 0 38px 0 14px !important; }
.woocommerce form .select2-container--default .select2-selection--single .select2-selection__placeholder { padding: 0 !important; margin: 0 !important; color: #8b9094; }

/* v3.9.5: login/register popup (reuses age-gate modal) */
.mc-auth .mc-age-btns { gap: .6rem; }
.mc-auth .mc-age-btns .mc-btn { flex: 1; }

/* =====================================================================
   v4.0: Primary nav: Categories dropdown + cart-overlap hardening
   The nav is now Home · Shop · Categories ▾ · About · Contact. Collapsing
   the long category list into one dropdown also shrinks the nav, which on its
   own cures the cart icon being shoved off the right edge on narrow desktops;
   the grid change below is belt-and-braces so it can never recur.
   ===================================================================== */
.mc-has-dropdown > .mc-cat-link { display: inline-flex; align-items: center; gap: .34rem; }
.mc-caret { display: inline-block; width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid currentColor; opacity: .75; transition: transform .2s var(--ease); }
.mc-dd-count { font-size: .72rem; font-weight: 600; color: var(--grey); }

@media (min-width: 769px) {
	/* Cart-overlap fix: the centre (nav) track can shrink to 0 so a wide nav
	   WRAPS, but the cart column floors at max-content: minmax(0,1fr) there let
	   it collapse (Storefront also sets width:21.74% on the ul; overridden below)
	   and the cart's nowrap content spilled past the viewport on medium widths. */
	.storefront-primary-navigation > .col-full { grid-template-columns: minmax(0,1fr) minmax(0,auto) minmax(max-content,1fr); }

	/* Scoped under #site-navigation with !important so Storefront's higher-specificity
	   sub-menu rules (left:-999em / left:auto / text-align:left) can't fight us. */
	#site-navigation .mc-has-dropdown { position: relative; }
	#site-navigation .mc-sub-toggle { display: none; }
	#site-navigation .mc-has-dropdown:hover > .mc-cat-link .mc-caret,
	#site-navigation .mc-has-dropdown:focus-within > .mc-cat-link .mc-caret { transform: rotate(180deg); }

	/* Invisible hover bridge so the gap under the label doesn't drop the dropdown */
	#site-navigation .mc-has-dropdown::after { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 14px; }

	#site-navigation .mc-dropdown {
		position: absolute !important; top: 100% !important; left: 50% !important; right: auto !important;
		transform: translateX(-50%) translateY(10px) !important;
		width: max-content; min-width: 190px; max-width: 280px; margin: 0 !important; padding: .4rem !important;
		list-style: none; background: #fff; float: none !important;
		border: 1px solid var(--line); border-radius: 14px;
		box-shadow: 0 18px 42px rgba(18,20,19,.16);
		opacity: 0; visibility: hidden; pointer-events: none; z-index: 60;
		transition: opacity .18s var(--ease), transform .18s var(--ease), visibility .18s;
	}
	#site-navigation .mc-has-dropdown:hover > .mc-dropdown,
	#site-navigation .mc-has-dropdown:focus-within > .mc-dropdown { opacity: 1 !important; visibility: visible !important; pointer-events: auto; transform: translateX(-50%) translateY(2px) !important; }
	#site-navigation .mc-dropdown li { display: block !important; width: 100% !important; float: none !important; margin: 0 !important; }
	#site-navigation .mc-dropdown li a {
		display: block !important; text-align: center !important;
		padding: .6rem 1rem !important; border-radius: 9px; white-space: nowrap;
		font-size: .8rem; letter-spacing: .05em; text-transform: uppercase; font-weight: 600;
	}
	#site-navigation .mc-dropdown li a::after { display: none !important; }
	#site-navigation .mc-dropdown li a:hover { background: var(--ivory-2) !important; color: var(--teal-deep) !important; }
}

@media (max-width: 768px) {
	/* Categories row inside the slide-down menu: caret toggle reveals the
	   sub-list (collapsed by default: JS adds .mc-open). */
	#site-navigation .mc-has-dropdown { position: relative; }
	#site-navigation .mc-caret { display: none; }
	#site-navigation .mc-sub-toggle {
		position: absolute; top: 0; right: var(--gutter); height: 48px; width: 48px;
		background: none; border: 0; padding: 0; cursor: pointer; z-index: 2;
	}
	#site-navigation .mc-sub-toggle::before {
		content: ""; display: block; width: 9px; height: 9px; margin: 0 auto;
		border-right: 2px solid var(--ink); border-bottom: 2px solid var(--ink);
		transform: rotate(45deg); transition: transform .2s var(--ease);
	}
	#site-navigation .mc-has-dropdown.mc-open .mc-sub-toggle::before { transform: rotate(-135deg); }
	#site-navigation .mc-dropdown { display: none; list-style: none; margin: 0; padding: 0; background: var(--ivory-2); }
	#site-navigation .mc-has-dropdown.mc-open .mc-dropdown { display: block; }
	#site-navigation .mc-dropdown li { width: 100%; }
	#site-navigation .mc-dropdown li a { justify-content: center; gap: .5rem; font-size: .88rem !important; padding: .7rem 1rem !important; color: var(--grey); }
}

/* =====================================================================
   v4.1: Membership modal: login / register forms (AJAX)
   ===================================================================== */
.mc-auth-card { max-width: 460px; position: relative; text-align: left; }
.mc-auth-card .mc-eyebrow, .mc-auth-title { text-align: center; }
.mc-auth-title { font-size: clamp(1.5rem,4vw,2rem); margin: .1rem 0 .5rem; }
.mc-auth-sub { text-align: center; margin-bottom: 1.2rem; }

.mc-auth-close { position: absolute; top: .7rem; right: .9rem; background: none; border: 0; font-size: 1.7rem; line-height: 1; color: var(--grey); cursor: pointer; padding: .1rem .4rem; border-radius: 8px; transition: color .2s var(--ease); }
.mc-auth-close:hover { color: var(--ink); }

.mc-auth-tabs { display: flex; gap: .25rem; background: var(--ivory-2); border: 1px solid var(--line); border-radius: 8px; padding: .25rem; margin-bottom: 1.1rem; }
.mc-auth-tab { flex: 1; border: 0; background: none; padding: .6rem 1rem; border-radius: 6px; font-family: var(--font); font-weight: 700; font-size: .85rem; color: var(--grey); cursor: pointer; transition: background .2s var(--ease), color .2s var(--ease); }
.mc-auth-tab.is-active { background: #fff; color: var(--ink); box-shadow: 0 1px 4px rgba(0,0,0,.08); }

.mc-auth-msg { margin: 0 0 .9rem; padding: .7rem .9rem; border-radius: 10px; font-size: .86rem; line-height: 1.4; }
.mc-auth-msg[hidden] { display: none; }
.mc-auth-msg.is-err { background: #fdecea; color: #a3271a; border: 1px solid #f3c6c0; }
.mc-auth-msg.is-ok { background: #e7f6f4; color: #0a5e5a; border: 1px solid #b8e3df; }

.mc-auth-form { display: none; flex-direction: column; gap: .65rem; }
/* Swapping between Join / Log in: the incoming form fades + rises in. The
   animation re-runs every time .is-active is (re)applied by the tab JS. */
.mc-auth-form.is-active { display: flex; animation: mc-auth-swap .34s var(--ease) both; }
@keyframes mc-auth-swap { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
	.mc-auth-form.is-active { animation: none; }
}
.mc-auth-row { display: flex; gap: .65rem; }
.mc-auth-row > input { flex: 1; min-width: 0; }
.mc-auth-form input[type="text"],
.mc-auth-form input[type="email"],
.mc-auth-form input[type="tel"],
.mc-auth-form input[type="password"] {
	width: 100%; padding: .8rem .95rem; font-family: var(--font); font-size: .95rem; color: var(--ink);
	background: #f6f6f4; border: 1px solid var(--line); border-radius: 10px; outline: none;
	transition: border-color .2s var(--ease), box-shadow .2s var(--ease); -webkit-appearance: none; appearance: none;
}
.mc-auth-form input::placeholder { color: #8b9094; }
.mc-auth-form input:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(22,189,184,.18); background: #fff; }
.mc-auth-form .mc-auth-submit { width: 100%; margin-top: .3rem; }
.mc-auth-submit.is-loading { opacity: .65; pointer-events: none; }

.mc-auth-remember { display: flex; align-items: center; gap: .5rem; font-size: .85rem; color: var(--grey); margin: -.1rem 0 .1rem; }
.mc-auth-remember input { width: auto; }
.mc-auth-fine { font-size: .78rem; color: var(--grey); text-align: center; margin: .55rem 0 0; line-height: 1.5; }
.mc-auth-lost { display: block; text-align: center; font-size: .82rem; color: var(--teal-deep); margin-top: .2rem; }
.mc-auth-skip { display: block; margin: 1rem auto 0; text-align: center; background: none; border: 0; color: #8b9094; font-size: .85rem; cursor: pointer; text-decoration: underline; }
.mc-auth-skip:hover { color: var(--ink); }

/* v3.9.6: free-delivery announcement bar */
.mc-announce { background: var(--teal-deep); color: #ffffff; text-align: center; padding: .5rem 1rem; font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }

/* =====================================================================
   v3.12: About & Contact pages
   ===================================================================== */
/* Page hero (shorter, darker sibling of the home hero) */
.mc-phero { position: relative; background: var(--ink); color: var(--ivory); text-align: center; padding: clamp(3rem,7vw,5.5rem) var(--gutter) clamp(4rem,8vw,6rem); overflow: hidden; }
.mc-phero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(120% 90% at 50% -10%, rgba(22,189,184,.18), transparent 60%); pointer-events: none; }
.mc-phero--short { padding-bottom: clamp(3.4rem,6vw,5rem); }
.mc-phero .mc-wrap { position: relative; max-width: 760px; margin-inline: auto; }
.mc-phero .mc-eyebrow { color: var(--teal); }
.mc-phero h1 { color: #fff; font-size: clamp(2.3rem,6vw,3.8rem); margin: 0 0 1rem; }
.mc-phero h1 em { color: var(--teal); font-style: normal; }
.mc-phero .lede { color: rgba(244,241,234,.78); font-size: clamp(1rem,2.2vw,1.18rem); max-width: 56ch; margin: 0 auto 1.6rem; }
.mc-phero .mc-cta { display: flex; gap: .8rem; justify-content: center; flex-wrap: wrap; }

/* Diagonal divider at the foot of the About/Contact hero: identical to the
   homepage hero divider (white, blends into the light section below). */
.mc-phero .mc-hero-divider { display: block; height: clamp(40px, 6vw, 80px); background: #ffffff; }

/* Hero content rises in on page load, matching the homepage hero. */
.mc-phero > .mc-wrap > * { opacity: 0; transform: translateY(16px); animation: mc-rise .75s var(--ease) forwards; }
.mc-phero .mc-eyebrow { animation-delay: .04s; }
.mc-phero h1         { animation-delay: .12s; }
.mc-phero .lede      { animation-delay: .20s; }
.mc-phero .mc-cta    { animation-delay: .28s; }
.mc-noreveal .mc-phero > .mc-wrap > * { opacity: 1; transform: none; animation: none; }
@media (prefers-reduced-motion: reduce) {
	.mc-phero > .mc-wrap > * { opacity: 1; transform: none; animation: none; }
}

.mc-section-tight { padding-top: clamp(2rem,4vw,3rem) !important; }

/* About: story split + stat card */
.mc-about-split { display: grid; grid-template-columns: 1.4fr .9fr; gap: clamp(2rem,5vw,4rem); align-items: start; }
.mc-about-copy h2 { font-size: clamp(1.8rem,4vw,2.6rem); margin: 0 0 1rem; }
.mc-about-copy p { color: #2c302e; max-width: 56ch; }
.mc-statcard { background: var(--ivory-2); border: 1px solid var(--line); border-radius: 16px; padding: clamp(1.5rem,3vw,2rem); position: sticky; top: 1.5rem; }
.mc-statcard-rating { display: flex; flex-direction: column; gap: .5rem; padding-bottom: 1.1rem; margin-bottom: 1.1rem; border-bottom: 1px solid var(--line); }
.mc-statcard-rating p { margin: 0; color: var(--grey); font-size: .95rem; }
.mc-statcard-rating strong { color: var(--ink); }
.mc-statcard-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1rem; }
.mc-statcard-list li { display: flex; align-items: baseline; gap: .7rem; font-size: .95rem; color: var(--grey); line-height: 1.3; }
.mc-statcard-list li span { font-size: 1.5rem; font-weight: 800; color: var(--teal-deep); letter-spacing: -.02em; min-width: 3.2rem; }

/* 4-up feature grid (About values) */
.mc-feature-grid--4 { grid-template-columns: repeat(4, 1fr); }

/* Stats strip */
.mc-statstrip { background: var(--ink); color: var(--ivory); padding: clamp(2.2rem,5vw,3.4rem) 0; }
.mc-statstrip-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; text-align: center; }
.mc-stat { display: flex; flex-direction: column; gap: .3rem; }
.mc-stat-n { font-size: clamp(2rem,5vw,3rem); font-weight: 800; letter-spacing: -.03em; color: #fff; line-height: 1; }
.mc-stat-l { font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(244,241,234,.6); }

/* Contact: method cards */
.mc-method-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.mc-method { display: flex; flex-direction: column; gap: .45rem; padding: 1.4rem; background: #fff; border: 1px solid var(--line); border-radius: 14px; color: var(--ink) !important; text-decoration: none; transition: transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease); }
.mc-method:not(.mc-method--static):hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(18,20,19,.10); border-color: var(--teal); }
.mc-method .mc-ico { width: 24px; height: 24px; color: var(--teal-deep); }
.mc-method-l { font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: var(--grey); font-weight: 700; }
.mc-method-v { font-weight: 700; font-size: 1.02rem; word-break: break-word; user-select: text; -webkit-user-select: text; }
/* Email / phone VALUE is the clickable link (so the text is easy to select &
   copy, and obviously tappable on mobile to mail/call). */
a.mc-method-v { color: var(--teal-deep) !important; text-decoration: none; cursor: pointer; }
a.mc-method-v:hover { text-decoration: underline; }
.mc-method--static { cursor: default; }
/* Trading-hours value stacks three lines: lighter + tighter so the card stays tidy. */
.mc-method-hours { font-weight: 600; font-size: .9rem; line-height: 1.55; }

/* Contact: form + aside */
.mc-contact-cols { display: grid; grid-template-columns: 1.3fr .85fr; gap: clamp(1.5rem,4vw,3rem); align-items: start; }
.mc-contact-formwrap h2 { font-size: clamp(1.7rem,3.5vw,2.3rem); margin: 0 0 .6rem; }
.mc-contact-intro { color: var(--grey); max-width: 50ch; margin-bottom: 1.6rem; }
.mc-contact-form { display: flex; flex-direction: column; gap: 1rem; }
.mc-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.mc-contact-form label { display: flex; flex-direction: column; gap: .4rem; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 700; color: var(--grey); }
.mc-contact-form .mc-opt { text-transform: none; letter-spacing: 0; font-weight: 500; color: var(--grey); }
.mc-contact-form input, .mc-contact-form textarea {
	font-family: var(--font); font-size: .98rem; font-weight: 400; letter-spacing: normal; text-transform: none; color: var(--ink);
	background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: .85rem 1rem; outline: none; width: 100%;
	transition: border-color .2s var(--ease), box-shadow .2s var(--ease);
}
.mc-contact-form textarea { resize: vertical; min-height: 130px; }
.mc-contact-form input:focus, .mc-contact-form textarea:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(22,189,184,.18); }
.mc-contact-form .mc-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.mc-contact-submit { align-self: flex-start; padding: .95rem 2rem !important; }
.mc-contact-submit.is-loading { opacity: .65; pointer-events: none; }
.mc-form-fine { font-size: .8rem; color: var(--grey); margin: 0; }
.mc-contact-msg { padding: .8rem 1rem; border-radius: 10px; font-size: .9rem; }
.mc-contact-msg[hidden] { display: none; }
.mc-contact-msg.is-ok { background: #e7f6f4; color: #0a5e5a; border: 1px solid #b8e3df; }
.mc-contact-msg.is-err { background: #fdecea; color: #a3271a; border: 1px solid #f3c6c0; }

.mc-contact-aside { background: var(--ivory-2); border: 1px solid var(--line); border-radius: 16px; padding: clamp(1.5rem,3vw,2rem); }
.mc-contact-aside h3 { font-size: 1.25rem; margin: 0 0 1rem; }
.mc-aside-row { display: flex; align-items: center; gap: .7rem; padding: .6rem 0; color: var(--ink) !important; text-decoration: none; font-weight: 600; border-bottom: 1px solid var(--line); }
.mc-aside-row:last-of-type { border-bottom: 0; }
.mc-aside-row .mc-ico { width: 19px; height: 19px; color: var(--teal-deep); flex-shrink: 0; }
.mc-aside-row:hover { color: var(--teal-deep) !important; }
.mc-aside-note { margin-top: 1.2rem; padding-top: 1.2rem; border-top: 1px solid var(--line); }
.mc-aside-note strong { display: block; color: var(--ink); margin-bottom: .25rem; }
.mc-aside-note p { margin: 0; color: var(--grey); font-size: .92rem; }

@media (max-width: 900px) {
	.mc-about-split, .mc-contact-cols { grid-template-columns: 1fr; }
	.mc-statcard { position: static; }
	.mc-feature-grid--4 { grid-template-columns: repeat(2, 1fr); }
	.mc-method-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.mc-statstrip-grid { grid-template-columns: repeat(2, 1fr); gap: 1.6rem 1rem; }
	.mc-form-row { grid-template-columns: 1fr; }
	.mc-feature-grid--4 { grid-template-columns: 1fr; }
	.mc-method-grid { grid-template-columns: 1fr; }
}

/* =====================================================================
   LEGAL PAGES + CLOSE ACCOUNT
   ===================================================================== */
/* Long-form policy pages: readable measure, clear hierarchy. */
.page-template-default .entry-content > h2 { margin: 2.4rem 0 .7rem; font-size: 1.35rem; line-height: 1.3; }
.page-template-default .entry-content > h3 { margin: 1.6rem 0 .5rem; font-size: 1.06rem; color: var(--ink); }
.page-template-default .entry-content > p,
.page-template-default .entry-content > ul,
.page-template-default .entry-content > ol { max-width: 68ch; line-height: 1.7; }
.page-template-default .entry-content > ul,
.page-template-default .entry-content > ol { padding-left: 1.15rem; }
.page-template-default .entry-content li { margin-bottom: .4rem; }
.page-template-default .entry-content table { width: 100%; max-width: 68ch; border-collapse: collapse; margin: 1rem 0 1.6rem; font-size: .93rem; }
.page-template-default .entry-content th,
.page-template-default .entry-content td { text-align: left; padding: .6rem .8rem; border: 1px solid var(--line); vertical-align: top; }
.page-template-default .entry-content th { background: var(--ivory-2); font-weight: 700; }

/* "Close account": deliberately sober, not a fun red button to mash. */
.mc-danger { border: 1px solid rgba(210,59,39,.35); border-radius: 10px; padding: 1.4rem 1.5rem; background: #fdf7f6; }
.mc-danger h3 { margin: 0 0 .6rem; font-size: 1.15rem; color: #8a1c0c; }
.mc-danger p { max-width: 62ch; line-height: 1.65; }
.mc-danger-form { margin-top: 1.3rem; padding-top: 1.2rem; border-top: 1px solid rgba(210,59,39,.25); }
.mc-danger-form label { display: block; font-weight: 700; font-size: .9rem; margin-bottom: .35rem; }
.mc-danger-form input[type="password"] { width: 100%; max-width: 22rem; }
.mc-danger-check label { display: flex; align-items: flex-start; gap: .55rem; font-weight: 400; font-size: .93rem; line-height: 1.5; }
.mc-danger-check input { margin-top: .25rem; flex: none; }
.mc-btn--danger { background: #b3230f; color: #fff; }
.mc-btn--danger:hover { background: #8a1c0c; color: #fff; }
.mc-danger-alt { margin-top: 1.2rem; font-size: .9rem; color: var(--grey); }
