/* Montelaire styles on top of Blocksy. Palette and typography live in the Blocksy customizer. */
:root { --mt-green: #243328; --mt-cream: #F6F3EE; --theme-form-field-border-radius: 0px; }

/* Footer */
.mt-footer { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.3fr; gap: 30px; color: #fff; font-size: 15px; line-height: 1.6; text-align: left; width: 100%; }
.mt-footer p { margin: 0 0 6px; }
.mt-footer a { color: #fff; text-decoration: none; }
.mt-footer a:hover { text-decoration: underline; }
.mt-footer__logo { display: inline-block; font-family: 'Playfair Display', serif; font-size: 24px; margin-bottom: 14px; }
.mt-footer__title { color: #fff; font-family: 'Playfair Display', serif; font-size: 20px; font-weight: 400; margin: 0 0 14px; }
.mt-footer__links { list-style: none; margin: 0; padding: 0; }
.mt-footer__links li { margin-bottom: 8px; }
.mt-newsletter { display: flex; border: 1px solid rgba(255,255,255,.44); }
.mt-newsletter input { flex: 1; background: transparent; border: 0; color: #fff; padding: 12px 14px; font-size: 15px; outline: none; }
.mt-newsletter input::placeholder { color: rgba(255,255,255,.7); }
.mt-newsletter button { background: transparent; border: 0; color: #fff; padding: 0 14px; cursor: pointer; }
.mt-footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; width: 100%; font-size: 13px; color: #fff; }
.mt-footer-bottom__policies { list-style: none; display: flex; flex-wrap: wrap; gap: 16px; margin: 0; padding: 0; }
.mt-footer-bottom a { color: #fff; }
.mt-footer-bottom__copy { margin: 0; }
/* Footer rows use Blocksy fluid containers: pin them to the header container grid */
.ct-footer .ct-container-fluid { width: var(--theme-container-width); max-width: var(--theme-normal-container-max-width); margin-inline: auto; padding-inline: 0; }
@media (max-width: 999px) { .mt-footer { grid-template-columns: 1fr 1fr; } }
@media (max-width: 689px) { .mt-footer { grid-template-columns: 1fr; gap: 36px; } .mt-footer-bottom { flex-direction: column; align-items: flex-start; } }

/* ---------- Homepage ---------- */
.home .entry-content > * { margin-block-start: 0; margin-block-end: 0; }
.mt-section { padding: 50px 40px; }
.mt-eyebrow { font-family: 'Lato', sans-serif; font-size: 14px; margin: 0 0 12px; }
.mt-hero .wp-block-cover__inner-container { max-width: 1400px; padding: 0 40px; color: #fff; }
.mt-hero__title { color: #fff; font-size: clamp(40px, 6vw, 72px); line-height: 1.1; max-width: 520px; margin: 0 0 18px; }
.mt-hero__sub { font-family: 'Playfair Display', serif; font-weight: 700; font-size: 18px; line-height: 1.5; margin: 0 0 28px; }
.mt-hero__perks { display: flex; gap: 28px; font-size: 14px; margin-top: 22px; }
.mt-hero__perks span::before { content: '✓'; display: inline-block; margin-right: 8px; border: 1px solid #fff; border-radius: 50%; width: 16px; height: 16px; font-size: 10px; line-height: 15px; text-align: center; }
.mt-hero .wp-block-button__link { padding: 14px 24px; font-size: 15px; }

.mt-tiles { gap: 20px; }
.mt-tile { border-radius: 0; }
.mt-tile .wp-block-cover__inner-container { padding: 20px; }
.mt-tile__title { color: #fff; line-height: 1.1; margin: 0 0 10px; }
.mt-tile__sub { color: #fff; font-size: 32px; line-height: 1.2; margin: 0 0 18px; }
.mt-btn-outline-light .wp-block-button__link { background: transparent; border: 1px solid #fff; color: #fff; width: 100%; }
.mt-btn-outline-light .wp-block-button__link:hover { background: #fff; color: var(--mt-green); }

.mt-philosophy { padding: 60px 20px; color: #fff; }
.mt-philosophy h2, .mt-philosophy p { color: #fff; }
.mt-philosophy h2 { margin: 12px 0 20px; }

.mt-feature { padding: 60px 40px; }
.mt-bg-cream { background: var(--mt-cream); }
.mt-bg-white { background: #fff; }
.mt-feature__cols { gap: 30px; }
.mt-feature__img img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.mt-feature h2 { margin: 0 0 10px; }
.mt-feature h3 { margin: 0 0 20px; }
.mt-feature .wp-block-buttons { margin-top: 40px; }

.mt-newsletter-section { padding: 100px 20px; }
.mt-newsletter-section h3 { margin-bottom: 14px; }
.mt-newsletter--light { max-width: 420px; margin: 24px auto 0; border-color: var(--mt-green); }
.mt-newsletter--light input { color: var(--mt-green); }
.mt-newsletter--light input::placeholder { color: rgba(36,51,40,.6); }
.mt-newsletter--light button { color: var(--mt-green); }

/* ---------- Product carousels (home) ---------- */
.mt-carousel-head { margin-bottom: 30px; align-items: center; }
.mt-carousel-head h2 { margin: 0; }
.mt-btn-small .wp-block-button__link { padding: 8px 14px; font-size: 13px; border-radius: 0; }
.mt-carousel { position: relative; }
.mt-carousel ul.products { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 16px; scrollbar-width: none; --shop-columns: none; }
.mt-carousel ul.products::-webkit-scrollbar { display: none; }
.mt-carousel ul.products > li { flex: 0 0 calc((100% - 48px) / 4); scroll-snap-align: start; margin: 0 !important; }
@media (max-width: 999px) { .mt-carousel ul.products > li { flex-basis: calc((100% - 16px) / 2.5); } }
@media (max-width: 689px) { .mt-carousel ul.products > li { flex-basis: 55%; } .mt-section, .mt-feature { padding-left: 16px; padding-right: 16px; } .mt-tile__sub { font-size: 24px; } }
.mt-carousel__arrow { position: absolute; top: 40%; z-index: 2; width: 40px; height: 40px; border-radius: 50%; border: 0; background: #fff; color: var(--mt-green); box-shadow: 0 2px 10px rgba(0,0,0,.12); cursor: pointer; display: flex; align-items: center; justify-content: center; }
.mt-carousel__arrow--prev { left: -12px; }
.mt-carousel__arrow--next { right: -12px; }

/* ---------- Header (Shopify: logo + menu left, menu wraps on 2 lines when needed) ---------- */
.ct-header [data-row*="middle"] { height: auto; }
.ct-header [data-row*="middle"] > .ct-container { min-height: var(--height, 66px); padding-block: 8px; }
.ct-header [data-column="start"] { flex: 1 1 auto; min-width: 0; }
.ct-header [data-column="start"] > [data-items] { flex-wrap: nowrap; min-width: 0; }
.ct-header [data-id="logo"] { flex-shrink: 0; }
.ct-header [data-id="menu"] { flex: 1 1 auto; min-width: 0; }
.ct-header [data-id="menu"] > ul { flex-wrap: wrap; row-gap: 2px; }
.ct-header [data-id="menu"] > ul > li > a { height: 30px; }
.ct-header-text p { margin: 0; }

/* ---------- Product page ---------- */
.single-product form.cart .quantity { display: none !important; }
.single-product form.cart .single_add_to_cart_button { width: 100%; flex: 1 1 100%; }
.single-product .ct-cart-actions { flex-wrap: wrap; }
.single-product .product_title { margin-bottom: 14px; }
.mt-price-badge { display: inline-block; background: var(--mt-green); color: #fff; font-size: 13px; font-weight: 700; padding: 3px 8px; margin-left: 8px; vertical-align: middle; }
.single-product .summary .price del { color: rgba(36,51,40,.6); font-size: 14px; }
.single-product .summary .price ins { text-decoration: none; }
.single-product table.variations, .single-product table.variations tbody, .single-product table.variations tr, .single-product table.variations th, .single-product table.variations td { display: block; width: 100%; }
.single-product table.variations th.label { padding: 0 0 6px; font-weight: 400; }
.single-product table.variations th.label label::after { content: ' :'; }
.single-product table.variations td.value { padding: 0 0 15px; }
.single-product table.variations select { width: 100%; height: 48px; border: 1px solid #d8d8d8; border-radius: 0; background-color: #fff; padding: 0 14px; }
.single-product .reset_variations { display: none !important; }
.mt-product-extras { margin: 14px 0 0; font-size: 14px; }
.mt-delivery { margin: 0 0 10px; }
.mt-perks { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 10px; font-weight: 500; }
.mt-ico { display: inline-block; width: 22px; }
.single-product .onsale { top: 12px !important; right: 12px !important; left: auto !important; font-size: 12px; border: 1px solid rgba(0,0,0,.06); border-radius: 0; }
.single-product .ct-accordion-tab { border-bottom: 1px solid #ededed; }
.single-product .woocommerce-tabs .ct-accordion-heading { font-family: 'Lato', sans-serif; font-size: 16px; font-weight: 500; text-transform: none; }
.ct-stacked-gallery-container > *:first-child { grid-column: 1 / -1; }
/* Shopify price order: current price, then compare-at price, then badge */
.price { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 6px; }
.price ins { order: 1; text-decoration: none; }
.price del { order: 2; opacity: .6; font-size: .9em; }
.price .mt-price-badge { order: 3; }
.price .screen-reader-text { position: absolute; }

/* ---------- Collection ---------- */
.tax-product_cat .hero-section, .tax-product_cat .entry-header { text-align: left; }
.mt-filters { display: flex; gap: 24px; align-items: center; float: left; margin-bottom: 30px; }
.woocommerce-ordering { float: right; margin-bottom: 30px; }
.woocommerce-ordering select { border: 0; background-color: transparent; font-size: 14px; }
ul.products { clear: both; }
.mt-filter { position: relative; font-size: 14px; }
.mt-filter summary { cursor: pointer; list-style: none; }
.mt-filter summary::after { content: ' ⌄'; }
.mt-filter summary::-webkit-details-marker { display: none; }
.mt-filter__panel { position: absolute; z-index: 20; top: 28px; left: 0; min-width: 240px; background: #fff; border: 1px solid #ededed; padding: 16px; box-shadow: 0 8px 24px rgba(0,0,0,.08); }
.mt-filter__price { display: flex; align-items: center; gap: 6px; margin-bottom: 12px; }
.mt-filter__price input { width: 80px; height: 38px; border: 1px solid #d8d8d8; }
.mt-collection-content { clear: both; max-width: 900px; margin: 60px auto 0; text-align: left; }
.mt-collection-content table { display: block; max-width: 100%; overflow-x: auto; }
.mt-collection-content h2 { font-size: 32px; margin: 36px 0 12px; }
.mt-collection-content h3 { font-size: 22px; margin: 24px 0 8px; }
/* Product card title: one rule. Two reserved lines keep prices aligned across a row */
ul.products .woocommerce-loop-product__title, .ct-woo-card-title { font-family: 'Lato', sans-serif !important; font-weight: 500; font-size: 14px !important; line-height: 1.35; min-height: 2.7em; margin-bottom: 6px !important; }

/* ---------- UX pass: variation swatches as a compact grid ---------- */
.variations th.label label, .variations .label label { font-size: 13px; letter-spacing: .04em; text-transform: uppercase; font-weight: 700; }
.single-product .summary .single_add_to_cart_button { width: 100%; min-height: 52px; font-size: 15px; letter-spacing: .04em; }
@media (max-width: 689px) {
	.single-product .product_title { margin-bottom: 6px; }
	.mt-product-extras { font-size: 14px; }
}

/* Mobile product gallery: swipeable carousel (scroll-snap) instead of a long stacked column. */
@media (max-width: 689px) {
	.ct-stacked-gallery-container { display: flex !important; grid-template-columns: none !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 0 !important; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
	.ct-stacked-gallery-container::-webkit-scrollbar { display: none; }
	.ct-stacked-gallery-container > * { flex: 0 0 100%; scroll-snap-align: center; grid-column: auto !important; }
	.mt-gallery-dots { display: flex; justify-content: center; gap: 6px; margin: 10px 0 4px; }
	.mt-gallery-dots span { width: 6px; height: 6px; border-radius: 50%; background: #D6D3CD; transition: background .2s, width .2s; }
	.mt-gallery-dots span.is-active { background: #243328; width: 18px; border-radius: 3px; }
}
@media (min-width: 690px) { .mt-gallery-dots { display: none; } }

/* ---------- Scale down: tighter, more refined desktop sizing ---------- */
:root { --theme-font-size: 15px; }
body { font-size: 15px; }
h1, .h1 { font-size: clamp(32px, 3.2vw, 46px) !important; line-height: 1.15; }
h2, .h2 { font-size: clamp(26px, 2.4vw, 34px) !important; line-height: 1.2; }
h3, .h3 { font-size: clamp(20px, 1.7vw, 24px) !important; }
h4, .h4 { font-size: 18px !important; }
.single-product .product_title { font-size: clamp(28px, 2.6vw, 38px) !important; line-height: 1.15; margin-bottom: 10px; }
.single-product .summary .price { font-size: 16px; }
.single-product .summary { --product-element-spacing: 18px; }
/* Header */
[data-row="top"] { font-size: 12px; letter-spacing: .04em; }
[data-row="top"] .ct-container { min-height: 34px; }
[data-row="middle"] .ct-container { min-height: 68px; }
.ct-header .site-logo-container img { height: 24px !important; width: auto !important; max-height: none !important; max-width: none !important; }
.ct-header .site-logo-container { flex-shrink: 0; min-width: 108px; }
.ct-header .menu > li > a { font-size: 12.5px !important; letter-spacing: .06em; padding-left: 10px !important; padding-right: 10px !important; }
.ct-header [data-id="search"] svg, .ct-header [data-id="account"] svg, .ct-header [data-id="cart"] svg { width: 18px; height: 18px; }
/* Product options */
.variations .label label, .variations th.label label { font-size: 12px; }
.single-product .summary .single_add_to_cart_button { min-height: 46px; font-size: 14px; }
/* Collections + home */
.mt-hero h1, .wp-block-cover h1 { font-size: clamp(34px, 4vw, 56px) !important; }
@media (max-width: 689px) {
	.single-product .product_title { font-size: 28px !important; }
}
.variations .label label::after { content: none !important; }

/* ---------- Thin, quiet header ---------- */
.ct-header [data-row*="middle"] { --height: 54px !important; border-bottom: 1px solid rgba(36,51,40,.08); }
.ct-header [data-row*="middle"] .ct-container { min-height: 54px !important; padding-top: 0 !important; padding-bottom: 0 !important; }
.ct-header [data-row*="top"] { --height: 30px !important; }
.ct-header [data-row*="top"] .ct-container { min-height: 30px !important; }
.ct-header .menu > li > a { --menu-item-height: 100%; font-size: 12px !important; letter-spacing: .08em; font-weight: 400; }
.ct-header .site-logo-container img { height: 20px !important; }
.ct-header [data-id="search"] svg, .ct-header [data-id="account"] svg, .ct-header [data-id="cart"] svg { width: 17px; height: 17px; }
@media (max-width: 999px) { .ct-header [data-row*="middle"] { --height: 54px !important; } }

/* ---------- Under the buy button ---------- */
.single-product .ct-payment-methods { display: none !important; }
.mt-product-extras { margin-top: 14px; display: grid; gap: 14px; }
.mt-pay-icons { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.mt-pay { font-size: 0; width: 38px; height: 24px; border: 1px solid #E5E2DC; border-radius: 3px; background: #fff center / 70% auto no-repeat; }
.mt-pay--visa { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 16'%3E%3Ctext x='24' y='13' font-family='Arial' font-weight='900' font-style='italic' font-size='14' fill='%231A1F71' text-anchor='middle'%3EVISA%3C/text%3E%3C/svg%3E"); }
.mt-pay--mastercard { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 20'%3E%3Ccircle cx='12' cy='10' r='7' fill='%23EB001B'/%3E%3Ccircle cx='20' cy='10' r='7' fill='%23F79E1B' fill-opacity='.85'/%3E%3C/svg%3E"); }
.mt-pay--amex { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 16'%3E%3Crect width='48' height='16' rx='2' fill='%232E77BC'/%3E%3Ctext x='24' y='12' font-family='Arial' font-weight='700' font-size='10' fill='%23fff' text-anchor='middle'%3EAMEX%3C/text%3E%3C/svg%3E"); background-size: 80% auto; }
.mt-pay--discover { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 16'%3E%3Ctext x='30' y='12' font-family='Arial' font-weight='700' font-size='10' fill='%23231F20' text-anchor='middle'%3EDISCOVER%3C/text%3E%3C/svg%3E"); background-size: 88% auto; }
.mt-pay--applepay { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 16'%3E%3Ctext x='24' y='12' font-family='Arial' font-weight='600' font-size='11' fill='%23000' text-anchor='middle'%3E%EF%A3%BF Pay%3C/text%3E%3C/svg%3E"); }
.mt-pay--googlepay { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 16'%3E%3Ctext x='24' y='12' font-family='Arial' font-weight='600' font-size='11' fill='%235F6368' text-anchor='middle'%3EG Pay%3C/text%3E%3C/svg%3E"); }
.mt-delivery { margin: 0; text-align: center; font-size: 13px; color: #4b5563; }
.mt-delivery strong { color: #243328; font-weight: 700; }
.mt-trust { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid #E5E2DC; }
.mt-trust__item { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 16px 8px; text-align: center; font-size: 12.5px; line-height: 1.35; color: #243328; }
.mt-trust__item + .mt-trust__item { border-left: 1px solid #E5E2DC; }
.mt-trust__item svg { width: 22px; height: 22px; fill: none; stroke: #243328; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.mt-perks, .mt-ico { display: none; }
.ct-header [data-id="logo"], .ct-header .site-logo-container { align-self: center; display: flex; align-items: center; line-height: 0; }

/* Pairs well with */
.mt-pairs { margin-top: 22px; }
.mt-pairs__title { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; margin: 0 0 10px; color: #243328; }
.mt-pairs__item { display: grid; grid-template-columns: 64px 1fr auto; gap: 14px; align-items: center; padding: 10px 0; border-top: 1px solid #ECE9E3; }
.mt-pairs__item:last-child { border-bottom: 1px solid #ECE9E3; }
.mt-pairs__img img { width: 64px; height: 80px; object-fit: cover; display: block; }
.mt-pairs__info { display: grid; gap: 4px; min-width: 0; }
.mt-pairs__name { font-size: 13px; color: #243328; text-decoration: none; line-height: 1.3; }
.mt-pairs__name:hover { text-decoration: underline; }
.mt-pairs__price { font-size: 13px; }
.mt-pairs__price del { color: #9ca3af; margin-left: 6px; }
.mt-pairs__price ins { text-decoration: none; }
.mt-pairs__price .mt-price-badge { display: none; }
.mt-pairs__add { font-size: 12px; letter-spacing: .04em; padding: 8px 14px; background: #243328; color: #fff !important; text-decoration: none; white-space: nowrap; }
.mt-pairs__add:hover { background: #34473A; }
.mt-pairs__add.added { display: none; }
.mt-pairs .added_to_cart { font-size: 12px; color: #243328; }

/* Added-to-cart confirmation bar */
.woocommerce-message.mt-added { display: flex; align-items: center; gap: 10px 12px; flex-wrap: wrap; background: #F6F3EE; border: 1px solid #E5E2DC; border-radius: 0; color: #243328; font-size: 14px; line-height: 1.5; padding: 12px 16px; }
.woocommerce-message.mt-added::before, .woocommerce-message.mt-added::after, .woocommerce-message.mt-added svg { display: none; }
.woocommerce-message.mt-added .button { order: 2; float: none !important; margin: 0 !important; min-height: 40px; padding: 0 18px; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 400; background: #fff; color: #243328; border: 1px solid #243328; border-radius: 0; }
.woocommerce-message.mt-added a.wc-forward { margin-left: auto !important; }
.woocommerce-message.mt-added .mt-added__checkout { order: 3; background: #243328; color: #fff; }
@media (max-width: 689px) { .woocommerce-message.mt-added { flex-direction: row; } .woocommerce-message.mt-added .button { flex: 1 1 0; } .woocommerce-message.mt-added a.wc-forward { margin-left: 0 !important; } }

/* Size guide */
.mt-sg-open { display: inline-flex; align-items: center; gap: 6px; background: none; border: 0; padding: 0; margin: 0 0 10px; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: #243328; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.mt-sg-open svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.4; }
.mt-sg { border: 0; padding: 0; width: min(560px, calc(100vw - 32px)); max-height: 86vh; background: #fff; color: #243328; }
.mt-sg::backdrop { background: rgba(20, 28, 22, .45); }
.mt-sg__inner { position: relative; padding: 32px 28px 26px; }
.mt-sg__close { position: absolute; top: 10px; right: 14px; background: none; border: 0; font-size: 26px; line-height: 1; color: #243328; cursor: pointer; }
.mt-sg__eyebrow { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; margin: 0 0 6px; color: #6b7280; }
.mt-sg__title { font-family: 'Playfair Display', Georgia, serif; font-weight: 400; font-size: 26px !important; margin: 0 0 10px; }
.mt-sg__intro, .mt-sg__tip, .mt-sg__help { font-size: 13.5px; line-height: 1.6; margin: 0 0 14px; }
.mt-sg__help { color: #4b5563; margin: 14px 0 0; padding-top: 14px; border-top: 1px solid #ECE9E3; }
.mt-sg__table { width: 100%; border-collapse: collapse; margin: 6px 0 16px; font-size: 13.5px; }
.mt-sg__table th { background: #F6F3EE; font-weight: 700; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.mt-sg__table th, .mt-sg__table td { padding: 9px 10px; text-align: center; border-bottom: 1px solid #ECE9E3; }
.mt-sg__table tbody tr:hover td { background: #FBFAF7; }
.variations .mt-has-sg { display: flex !important; align-items: baseline; justify-content: space-between; gap: 12px; }
.variations .mt-has-sg .mt-sg-open { margin: 0; }

/* ================= Brand pages: About, FAQ, Contact ================= */
.mt-page { --g: #243328; --gh: #34473A; --cream: #F6F3EE; --line: #E5E2DC; color: var(--g); }
.mt-page .mt-eyebrow { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: #6b7280; margin: 0 0 12px; }
.mt-page h1 { font-family: 'Playfair Display', Georgia, serif; font-weight: 400; margin: 0 0 16px; }
.mt-page h2 { font-family: 'Playfair Display', Georgia, serif; font-weight: 400; font-size: clamp(24px, 2.2vw, 32px) !important; margin: 0 0 14px; }
.mt-page h3 { font-family: 'Lato', sans-serif; font-size: 14px !important; letter-spacing: .08em; text-transform: uppercase; font-weight: 700; margin: 0 0 8px; }
.mt-page p { font-size: 15.5px; line-height: 1.75; }
.mt-page .mt-lead { font-size: 17px; line-height: 1.75; color: #3f4a42; max-width: 680px; margin-left: auto; margin-right: auto; }
.mt-center { text-align: center; }
.mt-page .mt-section { max-width: 1180px; margin: 0 auto; padding: 72px 24px; }
.mt-page .mt-narrow { max-width: 760px; }
.mt-btn { display: inline-block; background: var(--g); color: #fff !important; border: 1px solid var(--g); padding: 13px 30px; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; cursor: pointer; transition: background .2s; }
.mt-btn:hover { background: var(--gh); }
.mt-btn--ghost { background: transparent; color: var(--g) !important; }
.mt-btn--ghost:hover { background: var(--g); color: #fff !important; }
/* Hero band (About) */
.mt-hero-band { position: relative; min-height: 460px; background: center / cover no-repeat; display: flex; align-items: flex-end; }
.mt-hero-band::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,28,22,.05) 30%, rgba(20,28,22,.6)); }
.mt-hero-band__inner { position: relative; max-width: 1180px; width: 100%; margin: 0 auto; padding: 56px 24px; color: #fff; }
.mt-hero-band .mt-eyebrow { color: rgba(255,255,255,.85); }
.mt-hero-band h1 { color: #fff; font-size: clamp(32px, 4vw, 52px) !important; line-height: 1.15; }
/* Split image + text */
.mt-split { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.mt-split--reverse .mt-split__media { order: 2; }
.mt-split__media img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; }
/* Values */
.mt-values { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding-top: 0; padding-bottom: 0; }
.mt-value { padding: 44px 28px; text-align: center; }
.mt-value + .mt-value { border-left: 1px solid var(--line); }
.mt-value svg, .mt-ccard svg { width: 28px; height: 28px; fill: none; stroke: var(--g); stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; margin-bottom: 16px; }
.mt-value p { font-size: 14px; color: #4b5563; margin: 0; }
/* Quote */
.mt-quote { text-align: center; max-width: 860px; }
.mt-quote blockquote { font-family: 'Playfair Display', Georgia, serif; font-size: clamp(22px, 2.4vw, 30px); line-height: 1.45; font-style: italic; margin: 0 0 18px; border: 0; padding: 0; color: var(--g); }
/* CTA band */
.mt-cta-band { background: var(--cream); text-align: center; max-width: none; }
.mt-cta-band p { margin: 0 0 24px; color: #4b5563; }
.mt-cta-band__btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
/* Page head (FAQ, Contact) */
.mt-page-head { max-width: 860px; margin: 0 auto; padding: 64px 24px 40px; }
.mt-page-head h1 { font-size: clamp(32px, 3.4vw, 46px) !important; }
/* FAQ */
.mt-faq__topics { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin-top: 22px; }
.mt-faq__topics span { font-size: 12px; letter-spacing: .06em; border: 1px solid var(--line); padding: 7px 14px; }
.mt-faq__list { max-width: 820px; margin: 0 auto; padding: 8px 24px 64px; }
.mt-faq__group { margin-top: 40px; }
.mt-faq__group h2 { font-size: 22px !important; padding-bottom: 12px; border-bottom: 1px solid var(--g); margin-bottom: 0; }
.mt-faq__item { border-bottom: 1px solid var(--line); }
.mt-faq__item summary { list-style: none; cursor: pointer; padding: 18px 36px 18px 0; position: relative; font-size: 15.5px; font-weight: 700; }
.mt-faq__item summary::-webkit-details-marker { display: none; }
.mt-faq__item summary::after { content: "+"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); font-size: 22px; font-weight: 300; transition: transform .2s; }
.mt-faq__item[open] summary::after { content: "\2212"; }
.mt-faq__a p { margin: 0 0 18px; color: #3f4a42; }
/* Contact */
.mt-contact__cards { max-width: 1080px; margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.mt-ccard { border: 1px solid var(--line); padding: 30px 24px; text-align: center; text-decoration: none; color: var(--g); transition: border-color .2s, background .2s; }
.mt-ccard:hover { border-color: var(--g); background: #FBFAF7; }
.mt-ccard p { margin: 0 0 4px; font-size: 15px; }
.mt-ccard span { font-size: 12.5px; color: #6b7280; }
.mt-contact__main { max-width: 1080px; margin: 0 auto; padding: 64px 24px 80px; display: grid; grid-template-columns: 1.5fr 1fr; gap: 56px; }
.mt-contact__info { background: var(--cream); padding: 32px 28px; display: grid; gap: 28px; align-content: start; }
.mt-hours, .mt-links { list-style: none; margin: 0; padding: 0; font-size: 14px; }
.mt-hours li { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-bottom: 1px solid var(--line); }
.mt-links li { padding: 5px 0; }
.mt-links a { color: var(--g); }
.mt-company { font-size: 14px !important; line-height: 1.6 !important; margin: 0 0 10px; }
.mt-form { display: grid; gap: 16px; margin-top: 18px; }
.mt-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.mt-form label { display: grid; gap: 6px; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; font-weight: 700; }
.mt-form label span { text-transform: none; font-weight: 400; color: #6b7280; letter-spacing: 0; }
.mt-form input, .mt-form select, .mt-form textarea { width: 100%; border: 1px solid var(--line); border-radius: 0; padding: 12px 14px; font: 400 15px 'Lato', sans-serif; color: var(--g); background: #fff; letter-spacing: 0; text-transform: none; }
.mt-form input:focus, .mt-form select:focus, .mt-form textarea:focus { outline: none; border-color: var(--g); }
.mt-form__hp { position: absolute !important; left: -9999px; }
.mt-form .mt-btn { justify-self: start; }
.mt-form__note { font-size: 12.5px !important; color: #6b7280; margin: 0; }
.mt-form__ok { background: var(--cream); border-left: 3px solid var(--g); padding: 14px 18px; margin-top: 16px; font-size: 14.5px; }
@media (max-width: 860px) {
	.mt-page .mt-section { padding: 48px 20px; }
	.mt-split, .mt-contact__main { grid-template-columns: 1fr; gap: 28px; }
	.mt-split--reverse .mt-split__media { order: 0; }
	.mt-values { grid-template-columns: 1fr 1fr; }
	.mt-value:nth-child(3) { border-left: 0; }
	.mt-value:nth-child(n+3) { border-top: 1px solid var(--line); }
	.mt-contact__cards, .mt-form__row { grid-template-columns: 1fr; }
	.mt-hero-band { min-height: 340px; }
}

/* ================= Home hero (old-money.com inspired) ================= */
.mt-hero2 { position: relative; height: min(calc(100vh - 84px), 760px); min-height: 480px; overflow: hidden; display: flex; align-items: center; justify-content: center; text-align: center; color: #fff; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.mt-hero2__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }
.mt-hero2::after { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at center, rgba(15,20,16,.42) 0%, rgba(15,20,16,.18) 60%, rgba(15,20,16,.28) 100%); }
.mt-hero2__content { position: relative; z-index: 1; padding: 0 24px; max-width: 860px; }
.mt-hero2__eyebrow { font-size: 11px; letter-spacing: .32em; text-transform: uppercase; margin: 0 0 18px; color: rgba(255,255,255,.9); }
.mt-hero2__title { font-family: 'Playfair Display', Georgia, serif; font-weight: 400 !important; font-size: clamp(34px, 4.6vw, 64px) !important; line-height: 1.1; letter-spacing: .04em; text-transform: uppercase; color: #fff !important; margin: 0 0 16px; text-shadow: 0 1px 24px rgba(0,0,0,.25); }
.mt-hero2__sub { font-size: 16px; letter-spacing: .02em; margin: 0 auto 30px; color: rgba(255,255,255,.92); max-width: 520px; }
.mt-hero2__btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.mt-hero2__btns a { min-width: 170px; padding: 14px 28px; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; text-decoration: none; color: #243328; background: #fff; border: 1px solid #fff; transition: background .25s, color .25s; }
.mt-hero2__btns a + a { background: transparent; color: #fff; }
.mt-hero2__btns a:hover { background: #243328; border-color: #243328; color: #fff; }
.mt-marquee { overflow: hidden; border-bottom: 1px solid #E5E2DC; background: #fff; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.mt-marquee__track { display: flex; width: max-content; animation: mt-marquee 38s linear infinite; }
.mt-marquee:hover .mt-marquee__track { animation-play-state: paused; }
.mt-marquee a { padding: 15px 30px; font-size: 11.5px; letter-spacing: .18em; text-transform: uppercase; color: #243328; text-decoration: none; white-space: nowrap; }
.mt-marquee a:hover { text-decoration: underline; text-underline-offset: 4px; }
@keyframes mt-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .mt-marquee__track { animation: none; } }
@media (max-width: 689px) { .mt-hero2 { height: 72vh; min-height: 440px; } .mt-hero2__img { object-position: 62% center; } .mt-hero2__btns a { min-width: 0; flex: 1; padding: 13px 10px; } }

/* ================= Full-bleed homepage hero and marquee ================= */
.entry-content > .mt-hero2, .entry-content > .mt-marquee { max-width: none !important; width: 100vw; margin-left: calc(50% - 50vw) !important; margin-right: 0 !important; margin-top: 0 !important; margin-bottom: 0 !important; }


/* ================= Breadcrumbs: same grid as the header container (single source of truth) ================= */
.mt-breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; width: var(--theme-container-width); max-width: var(--theme-normal-container-max-width); margin: 0 auto 18px !important; padding: 16px 0 0 !important; box-sizing: border-box; font-size: 12px; letter-spacing: .02em; color: #6b7280; }
.mt-breadcrumbs a { color: inherit; text-decoration: none; }
.mt-breadcrumbs a:hover { color: #243328; text-decoration: underline; }
.mt-breadcrumbs span[aria-current] { color: #243328; }

/* ================= Variation swatches (buttons): auto width, never clipped ================= */
.ct-variation-swatches[data-swatches-type="button"] { display: flex !important; flex-wrap: wrap; gap: 8px; }
.ct-variation-swatches[data-swatches-type="button"] .ct-swatch-container { margin: 0 !important; width: auto !important; }
.ct-variation-swatches[data-swatches-type="button"] .ct-swatch { width: auto !important; min-width: 56px; height: 40px !important; min-height: 40px; padding: 0 16px !important; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 400; line-height: 1; border-radius: 0; box-sizing: border-box; }
.ct-variation-swatches[data-swatches-type="button"] .ct-swatch-content { white-space: nowrap; overflow: visible; text-overflow: clip; max-width: none !important; }
.ct-variation-swatches .ct-tooltip { display: none !important; }
@media (max-width: 689px) { .ct-variation-swatches[data-swatches-type="button"] .ct-swatch { padding: 0 12px !important; min-width: 52px; } }

/* ================= Mobile off-canvas menu: sober type, visible close, line chevrons ================= */
#offcanvas .ct-toggle-close { --theme-icon-color: #243328; width: 44px; height: 44px; }
#offcanvas .ct-toggle-close svg { fill: #243328 !important; width: 14px; height: 14px; }
#offcanvas .mobile-menu .ct-menu-link { font-family: 'Lato', sans-serif; font-size: 14px !important; font-weight: 400 !important; letter-spacing: .12em; text-transform: uppercase; color: #243328; min-height: 44px; }
#offcanvas .mobile-menu .sub-menu .ct-menu-link { font-size: 13px !important; letter-spacing: .06em; text-transform: none; min-height: 40px; }
#offcanvas .mobile-menu > ul > li { border-bottom: 1px solid #E5E2DC; }
#offcanvas .ct-toggle-dropdown-mobile { width: 44px; height: 44px; }
#offcanvas .ct-toggle-dropdown-mobile svg { display: none; }
#offcanvas .ct-toggle-dropdown-mobile::before { content: ""; width: 7px; height: 7px; border-right: 1px solid #243328; border-bottom: 1px solid #243328; transform: rotate(45deg) translate(-2px, -2px); transition: transform .2s; }
#offcanvas .ct-toggle-dropdown-mobile[aria-expanded="true"]::before { transform: rotate(-135deg); }

/* ================= Cart drawer and cart page: brand heading, solid hairlines, line remove icon ================= */
#woo-cart-panel .ct-panel-heading { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 20px; color: #243328; }
#woo-cart-panel .woocommerce-mini-cart__total, #woo-cart-panel .woocommerce-mini-cart__buttons { border-top: 1px solid #E5E2DC !important; }
a.remove svg { display: none; }
a.remove { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; }
a.remove::before { content: ""; width: 14px; height: 14px; background: #243328; -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='1.5'%3E%3Cpath d='M4 7h16M9 7V4h6v3M6 7l1 13h10l1-13'/%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='1.5'%3E%3Cpath d='M4 7h16M9 7V4h6v3M6 7l1 13h10l1-13'/%3E%3C/svg%3E") center / contain no-repeat; }
#woo-cart-panel .woocommerce-mini-cart__buttons .button { border-radius: 0; min-height: 44px; }
a.remove:hover::before { background: #34473A; }
.woocommerce-cart-form td, .cart_totals th, .cart_totals td { border-color: #E5E2DC !important; border-style: solid !important; border-width: 0 0 1px !important; }
.ct-cart-reserved-timer-message { background: #F6F3EE !important; border: 1px solid #E5E2DC; border-radius: 0 !important; color: #243328; font-size: 14px; }

/* ================= Side cart (XOOTIX, as on Maillot Concept): Montelaire palette, square corners ================= */
.xoo-wsc-container, .xoo-wsc-container button, .xoo-wsc-container input { font-family: 'Lato', sans-serif; }
.xoo-wsc-header .xoo-wsch-text { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 22px; letter-spacing: 0; text-transform: none; color: #243328; }
.xoo-wsc-body { background: #fff; }
.xoo-wsc-products:not(.xoo-wsc-pattern-card) .xoo-wsc-product { position: relative; border-bottom: 1px solid #E5E2DC; box-shadow: none; }
.xoo-wsc-product .xoo-wsc-sm-info { flex-wrap: wrap; row-gap: 6px; }
.xoo-wsc-product .xoo-wsc-sm-left { flex: 1 1 100%; min-width: 0; padding-right: 26px; }
.xoo-wsc-product span.xoo-wsc-pname, .xoo-wsc-product span.xoo-wsc-pname a { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 16px; line-height: 1.3; color: #243328; overflow-wrap: break-word; word-break: normal; }
.xoo-wsc-product .xoo-wsc-sm-right { flex: 1 1 100%; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 4px 10px; }
.xoo-wsc-product .xoo-wsc-sm-right span.xoo-wsc-smr-del { position: absolute; top: 12px; right: 16px; margin: 0; color: #243328; }
.xoo-wsc-product .xoo-wsc-sm-right .xoo-wsc-psavings, .xoo-wsc-product .xoo-wsc-sm-right .xoo-wsc-smr-ptotal { margin: 0; white-space: nowrap; }
.xoo-wsc-product .xoo-wsc-psavings { border-radius: 0; background: #F6F3EE; border-color: #E5E2DC; color: #243328; }
.xoo-wsc-product .xoo-wsc-smr-ptotal { font-weight: 700; color: #243328; }
.xoo-wsc-product dl.variation, .xoo-wsc-product .xoo-wsc-pprice { font-size: 13px; color: #555; }
.xoo-wsc-qty-box, .xoo-wsc-qty-box input, .xoo-wsc-chng { border-radius: 0 !important; }
.xoo-wsc-footer { border-top: 1px solid #E5E2DC; box-shadow: none; }
.xoo-wsc-footer .xoo-wsc-ft-totals .xoo-wsc-ft-amt-label, .xoo-wsc-footer .xoo-wsc-ft-totals { color: #243328; font-size: 15px; }
.xoo-wsc-ft-amt-total, .xoo-wsc-ft-amt-subtotal { font-weight: 700; }
.xoo-wsc-ft-btn { border-radius: 0 !important; text-transform: none !important; letter-spacing: .02em; }
.xoo-wsc-cart-active .xoo-wsc-opac { background: rgba(36,51,40,.35); }
/* Free shipping progress */
.mt-fsb { margin: 14px 20px 6px; padding: 12px 14px; background: #F6F3EE; border: 1px solid #E5E2DC; color: #243328; }
.mt-fsb__text { margin: 0 0 9px; font-size: 14px; line-height: 1.4; }
.mt-fsb__bar { height: 4px; background: #E5E2DC; overflow: hidden; }
.mt-fsb__bar span { display: block; height: 100%; background: #243328; transition: width .3s; }
/* Complete the look */
.mt-ctl { margin: 18px 20px 10px; }
.mt-ctl__title { margin: 0 0 10px; font-family: 'Playfair Display', serif; font-size: 17px; color: #243328; }
.mt-ctl ul { list-style: none; margin: 0; padding: 0; }
.mt-ctl__item { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid #E5E2DC; }
.mt-ctl__img { flex: none; width: 56px; }
.mt-ctl__img img { display: block; width: 56px; height: 70px; object-fit: cover; }
.mt-ctl__info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; font-size: 13px; }
.mt-ctl__name { color: #243328; text-decoration: none; line-height: 1.3; }
.mt-ctl__price { color: #555; }
.mt-ctl__price del { opacity: .6; }
.mt-ctl__add { flex: none; padding: 7px 14px; border: 1px solid #243328; color: #243328; background: #fff; font-size: 12px; letter-spacing: .04em; text-decoration: none; }
.mt-ctl__add:hover { background: #243328; color: #fff; }
.mt-ctl .added_to_cart { display: none; }
.mt-wsc-trust { display: flex; justify-content: space-between; gap: 8px; padding: 10px 20px; border-top: 1px solid #E5E2DC; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: #243328; }
.xoo-wsc-sml-qty.mt-qty-done { margin: 4px 0; }
.mt-qty { display: inline-flex; align-items: center; border: 1px solid #E5E2DC; height: 32px; }
.mt-qty__btn { width: 32px; height: 30px; border: 0; background: #fff; color: #243328; font-size: 16px; line-height: 1; cursor: pointer; padding: 0; }
.mt-qty__btn:hover { background: #F6F3EE; }
.mt-qty__val { min-width: 28px; text-align: center; font-size: 14px; color: #243328; }
.mt-qty.is-busy { opacity: .5; pointer-events: none; }
.xoo-wsc-product .xoo-wsc-psavings, .xoo-wsc-product .xoo-wsc-psavings * { background: #F6F3EE !important; border-color: #E5E2DC !important; color: #243328 !important; border-radius: 0 !important; }
