/*
Theme Name: Morrow Intimates
Theme URI: https://dalin.l-langji.com/
Description: A fully custom, standalone WooCommerce storefront built from scratch.
Author: Site Team
Version: 3.0.0
Text Domain: morrow-intimates
*/

@import url('https://fonts.googleapis.com/css2?family=Halant:wght@400;500;700&family=Muli:wght@400;700&family=Open+Sans:wght@400;600;700&display=swap');

*, *::before, *::after { box-sizing: border-box; }
html { margin: 0; scroll-behavior: smooth; }
body { margin: 0; overflow-x: clip; }
img { display: block; height: auto; max-width: 100%; }
figure, blockquote, p, h1, h2, h3, h4, ul, ol { margin-top: 0; }
a { text-decoration: none; }
button, input, select, textarea { font: inherit; }
.screen-reader-text { clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
.screen-reader-text:focus { clip: auto; clip-path: none; background: #fff; color: #111; height: auto; left: 12px; padding: 12px; top: 12px; width: auto; z-index: 99999; }
.mi-site-shell { margin-left: auto; margin-right: auto; max-width: 1500px; width: calc(100% - 80px); }
.mi-home-main, .mi-home-main article, .mi-home-main .entry-content { margin: 0; padding: 0; width: 100%; }
.mi-inner-main, .mi-commerce-main { min-height: 55vh; padding-bottom: 100px; padding-top: 70px; }

:root {
  --mi-ink: #2a555a;
  --mi-muted: #617a7d;
  --mi-cream: #f8f4ef;
  --mi-blush: #ead7cf;
  --mi-rose: #b46f66;
  --mi-cocoa: #62463d;
  --mi-sage: #8b9681;
  --mi-line: #dfe7e6;
  --mi-white: #fff;
}

/* Reference content pages: exact desktop pacing and responsive stacking. */
@media (min-width: 901px) {
  .mi-shipping-page .mi-page-introduction {
    box-sizing: border-box;
    height: 226px;
    min-height: 226px;
    padding: 80px 0;
  }
  .mi-shipping-page .mi-page-introduction h1 { font-size: 60px; line-height: 66px; margin: 0; }
  .mi-shipping-page .mi-policy-section {
    display: block;
    margin: 0 auto;
    max-width: 1500px;
    min-height: 0;
    padding: 0 0 80px;
    width: calc(100% - 80px);
  }
  .mi-shipping-page .mi-policy-section > div { width: 650px; }
  .mi-shipping-page .mi-policy-section > div + div { margin-top: 32px; }
  .mi-shipping-page .mi-policy-section h2 { font-size: 48px; line-height: 52.8px; margin: 0; }
  .mi-shipping-page .mi-policy-section p { font-size: 15px; line-height: 24px; margin: 0; max-width: none; }
  .mi-shipping-page .mi-policy-section p + p { font-weight: 700; margin-top: 24px; }
  .mi-shipping-page .mi-policy-section:nth-of-type(2) > div:last-child p:first-child { min-height: 84px; }
  .mi-shipping-page > .mi-table-wrap {
    box-sizing: border-box;
    height: auto;
    margin: 0 auto;
    max-width: 1500px;
    min-height: 0;
    overflow: visible;
    padding: 0 0 80px;
    width: calc(100% - 80px);
  }
  .mi-shipping-page .mi-data-table { border-collapse: collapse; table-layout: auto; width: 100%; }
  .mi-shipping-page .mi-data-table th,
  .mi-shipping-page .mi-data-table td { background: transparent; border-bottom: 1px solid #cdd8d7; font-size: 15px; line-height: 24px; padding: 24px 16px; }
  .mi-shipping-page .mi-data-table th:first-child,
  .mi-shipping-page .mi-data-table td:first-child { padding-left: 0; }
  .mi-shipping-page .mi-data-table th:last-child,
  .mi-shipping-page .mi-data-table td:last-child { padding-right: 0; }
  .mi-shipping-page .mi-policy-note { align-items: flex-start; display: flex; height: 104px; justify-content: flex-start; margin: 0 auto; max-width: 1500px; width: calc(100% - 80px); }

  .mi-story-page .mi-story-row {
    box-sizing: border-box;
    column-gap: 112px;
    grid-template-columns: 505.765625px 632.234375px;
    height: 475.140625px;
    justify-content: center;
    max-width: none;
    padding: 0 0 80px;
    width: 100%;
  }
  .mi-story-page .mi-story-row:first-of-type { height: 555.140625px; padding-top: 80px; }
  .mi-story-page .mi-story-row__copy { align-self: center; min-width: 0; padding: 0; }
  .mi-story-page .mi-story-row__copy h2 { font-size: 60px; line-height: 66px; margin: 0; }
  .mi-story-page .mi-story-row__copy p:not(.mi-section-label) { font-size: 15px; line-height: 24px; margin: 32px 0 0; max-width: none; }
  .mi-story-page .mi-story-row__media { height: 395.140625px; }
  .mi-story-page .mi-story-row__media img { border-radius: 5px; }

  .mi-returns-overview {
    box-sizing: border-box;
    display: grid;
    gap: 128px;
    grid-template-columns: 686px 686px;
    height: 1074.65625px;
    margin: 0 auto;
    max-width: 1500px;
    padding: 80px 0;
    width: calc(100% - 80px);
  }
  .mi-returns-overview > div:first-child,
  .mi-returns-overview > div:first-child img { height: 914.65625px; width: 686px; }
  .mi-returns-overview > div:first-child img { display: block; object-fit: cover; }
  .mi-returns-overview > div:last-child { display: grid; grid-auto-rows: minmax(auto,1fr); height: 914.65625px; justify-items: start; }
  .mi-returns-overview h1 { font-size: 60px; font-weight: 400; line-height: 66px; margin: 0; }
  .mi-returns-copy-body { font-size: 15px; line-height: 24px; margin-top: 32px; }
  .mi-returns-copy-body p { font-size: 15px; line-height: 24px; margin: 0; }
  .mi-returns-copy-body p + p,
  .mi-returns-copy-body h3 { font-family: Muli, Arial, sans-serif; font-size: 15px; font-weight: 400; line-height: 24px; margin: 24px 0 0; }
  .mi-returns-copy-body ul { display: grid; gap: 9px; list-style: disc inside; margin: 16px 0 0; padding: 0; }
  .mi-returns-copy-body li { font-size: 15px; line-height: 24px; }
  .mi-returns-overview .mi-solid-button { border-radius: 60px; font-size: 15px; height: 58.375px; line-height: 24px; margin-top: 32px; min-height: 58.375px; padding: 17.2px 40px; }
  .mi-returns-faq { box-sizing: border-box; display: block; height: 705.796875px; margin: 0 auto; max-width: 900px; min-height: 0; padding: 0 0 80px; width: 900px; }
  .mi-returns-faq > h2 { font-size: 48px; line-height: 52.8px; margin: 0; }
  .mi-returns-faq .mi-faq-list { margin-top: 68px; padding: 0 48px; }
  .mi-returns-faq .mi-faq-list summary { font-size: 15px; line-height: 24px; min-height: 64px; padding: 20px 0; }
  .mi-returns-faq .mi-support-hours { font-size: 15px; line-height: 24px; margin: 67px 0 0; text-align: center; }
  .mi-inline-contact {
    box-sizing: border-box;
    display: grid;
    gap: 128px;
    grid-template-columns: 591.671875px 732.328125px;
    height: 528.375px;
    margin: 0 auto;
    max-width: 1500px;
    padding: 80px 0;
    width: calc(100% - 80px);
  }
  .mi-inline-contact .mi-section-label { font-size: 15px; line-height: 24px; margin: 0; }
  .mi-inline-contact h2 { font-size: 48px; line-height: 52.8px; margin: 24px 0 0; }
  .mi-inline-contact > div > p:last-child { font-size: 15px; line-height: 24px; margin: 32px 0 0; }
  .mi-inline-contact form { display: grid; gap: 16px; grid-template-columns: 1fr 1fr; margin-top: 40px; }
  .mi-inline-contact form label { display: block; font-size: 0; position: relative; }
  .mi-inline-contact form label:last-of-type { grid-column: 1 / -1; }
  .mi-inline-contact form label span { color: #617a7d; font-size: 12px; left: 20px; line-height: 16px; pointer-events: none; position: absolute; top: 8px; z-index: 1; }
  .mi-inline-contact input,
  .mi-inline-contact textarea { border: 1px solid rgba(0,0,0,.12); border-radius: 8px; font-size: 15px; line-height: 24px; margin: 0; width: 100%; }
  .mi-inline-contact input { height: 60px; padding: 16px 20px 0; }
  .mi-inline-contact textarea { height: 130px; padding: 24px 20px 8px; resize: none; }
  .mi-inline-contact button { background: #2a555a; border: 0; border-radius: 60px; color: #fff; font-size: 15px; font-weight: 700; grid-column: 1 / -1; height: 58.375px; justify-self: start; line-height: 24px; padding: 17.2px 40px; }
}

@media (max-width: 900px) {
  .mi-shipping-page .mi-page-introduction { box-sizing: border-box; height: 124px; min-height: 124px; padding: 40px 20px; width: 100%; }
  .mi-shipping-page .mi-page-introduction h1 { font-size: 40px; line-height: 44px; margin: 0; }
  .mi-shipping-page .mi-policy-section { display: block; margin: 0; min-height: 0; padding: 0 20px 40px; width: 100%; }
  .mi-shipping-page .mi-policy-section > div + div { margin-top: 20px; }
  .mi-shipping-page .mi-policy-section h2 { font-size: 32px; line-height: 35.2px; margin: 0; }
  .mi-shipping-page .mi-policy-section p { font-size: 14px; line-height: 22.4px; margin: 0; max-width: none; }
  .mi-shipping-page .mi-policy-section p + p { font-weight: 700; margin-top: 12px; }
  .mi-shipping-page > .mi-table-wrap { box-sizing: border-box; margin: 0; min-height: 0; overflow-x: auto; padding: 0 19px 40px 20px; width: 100%; }
  .mi-shipping-page .mi-data-table { border-collapse: collapse; table-layout: auto; width: 100%; }
  .mi-shipping-page .mi-data-table th,
  .mi-shipping-page .mi-data-table td { background: transparent; border-bottom: 1px solid #cdd8d7; font-size: 14px; line-height: 22.4px; padding: 16px; }
  .mi-shipping-page .mi-data-table th:first-child,
  .mi-shipping-page .mi-data-table td:first-child { padding-left: 0; }
  .mi-shipping-page .mi-data-table th:last-child,
  .mi-shipping-page .mi-data-table td:last-child { padding-right: 0; }
  .mi-shipping-page .mi-policy-note { align-items: flex-start; display: flex; font-size: 14px; height: 80px; justify-content: flex-start; line-height: 22.4px; margin: 0; padding: 0 20px 40px; }

  .mi-story-page .mi-page-hero { height: 480px; }
  .mi-story-page .mi-page-hero > div { left: 20px; width: 350px; }
  .mi-story-page .mi-page-hero h1 { font-size: 40px; line-height: 44px; margin-top: 16px; }
  .mi-story-page .mi-story-row {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    height: auto;
    margin: 0;
    max-width: none;
    padding: 0 0 40px 20px;
    width: 100%;
  }
  .mi-story-page .mi-story-row:first-of-type { padding-top: 40px; }
  .mi-story-page .mi-story-row__media { height: auto; order: 1; overflow: visible; width: 73vw; }
  .mi-story-page .mi-story-row__media img { aspect-ratio: 649 / 406; border-radius: 5px; display: block; height: auto; object-fit: cover; width: 100%; }
  .mi-story-page .mi-story-row__copy { min-height: 0; order: 2; padding: 0; width: 73vw; }
  .mi-story-page .mi-story-row__copy h2 { font-size: 40px; line-height: 44px; margin: 16px 0 0; }
  .mi-story-page .mi-story-row__copy p:not(.mi-section-label) { font-size: 14px; line-height: 22.4px; margin: 20px 0 0; max-width: none; }

  .mi-returns-overview { box-sizing: border-box; display: block; height: auto; margin: 0; padding: 40px 20px; width: 100%; }
  .mi-returns-overview > div:first-child { height: 498.375px; }
  .mi-returns-overview > div:first-child img { display: block; height: 466.375px; object-fit: cover; width: 350px; }
  .mi-returns-overview > div:last-child { display: block; }
  .mi-returns-overview h1 { font-size: 40px; font-weight: 400; line-height: 44px; margin: 16px 0 0; }
  .mi-returns-copy-body { font-size: 14px; line-height: 22.4px; margin-top: 20px; }
  .mi-returns-copy-body p { font-size: 14px; line-height: 22.4px; margin: 0; }
  .mi-returns-copy-body p + p,
  .mi-returns-copy-body h3 { font-family: Muli, Arial, sans-serif; font-size: 14px; font-weight: 400; line-height: 22.4px; margin: 12px 0 0; }
  .mi-returns-copy-body ul { display: grid; gap: 6.29px; list-style: disc inside; margin: 12px 0 0; padding: 0; }
  .mi-returns-copy-body li { font-size: 14px; line-height: 22.4px; }
  .mi-returns-overview .mi-solid-button { border-radius: 60px; font-size: 14px; height: 54.390625px; line-height: 22.4px; margin-top: 24px; min-height: 54.390625px; padding: 16px 32px; }
  .mi-returns-faq { box-sizing: border-box; display: block; height: auto; margin: 0; min-height: 0; padding: 0 20px 40px; width: 100%; }
  .mi-returns-faq > h2 { font-size: 32px; line-height: 35.2px; margin: 0; }
  .mi-returns-faq .mi-faq-list { margin-top: 36px; padding: 0 24px; }
  .mi-returns-faq .mi-faq-list summary { font-size: 14px; line-height: 22.4px; min-height: 64px; padding: 20px 0; }
  .mi-returns-faq .mi-faq-list details { min-height: 65px; }
  .mi-returns-faq .mi-support-hours { font-size: 14px; line-height: 22.4px; margin: 36px 0 0; text-align: center; }
  .mi-inline-contact { box-sizing: border-box; display: block; height: auto; margin: 0; padding: 40px 20px 64px; width: 100%; }
  .mi-inline-contact .mi-section-label { font-size: 14px; line-height: 22.4px; margin: 0; }
  .mi-inline-contact h2 { font-size: 32px; line-height: 35.2px; margin: 16px 0 0; }
  .mi-inline-contact > div > p:last-child { font-size: 14px; line-height: 22.4px; margin: 20px 0 0; }
  .mi-inline-contact form { display: grid; gap: 8px; grid-template-columns: 1fr; margin: 56px 24px 0; }
  .mi-inline-contact form label { display: block; font-size: 0; position: relative; }
  .mi-inline-contact form label span { color: #617a7d; font-size: 11px; left: 16px; line-height: 14px; pointer-events: none; position: absolute; top: 7px; z-index: 1; }
  .mi-inline-contact input,
  .mi-inline-contact textarea { border: 1px solid rgba(0,0,0,.12); border-radius: 8px; font-size: 14px; line-height: 22.4px; margin: 0; width: 100%; }
  .mi-inline-contact input { height: 52px; padding: 16px 16px 0; }
  .mi-inline-contact textarea { height: 123.5625px; padding: 24px 16px 8px; resize: none; }
  .mi-inline-contact button { background: #2a555a; border: 0; border-radius: 60px; color: #fff; font-size: 14px; font-weight: 700; height: 54.390625px; justify-self: start; line-height: 22.4px; margin-top: 8px; padding: 16px 32px; }
}

/* Reference product carousels */
.mi-reference-carousel { background: #fff; color: #2a555a; height: 844.6875px; overflow: hidden; padding: 0 0 80px; }
.mi-reference-carousel .mi-carousel-head { align-items: end; display: flex; height: 52.796875px; justify-content: space-between; margin: 0 auto; max-width: 1500px; width: calc(100% - 80px); }
.mi-reference-carousel .mi-carousel-head h2 { color: #2a555a; font-family: "Halant",Georgia,serif; font-size: 48px; font-weight: 400; height: auto; line-height: 52.8px; margin: 0; overflow: visible; position: static; width: auto; }
.mi-reference-carousel .mi-carousel-head a { align-items: center; color: #2a555a; display: flex; font-size: 15px; gap: 14px; line-height: 24px; opacity: 1; }
.mi-reference-carousel .mi-carousel-head a span { align-items: center; background: #eef2f2; border-radius: 50%; display: flex; font-size: 20px; height: 24px; justify-content: center; width: 24px; }
.mi-carousel-viewport { height: 575.890625px; margin-top: 48px; overflow-x: auto; overflow-y: hidden; padding: 0 max(40px,calc((100% - 1500px)/2)); scroll-padding-inline: max(40px,calc((100% - 1500px)/2)); scrollbar-width: none; scroll-behavior: smooth; scroll-snap-type: x mandatory; }
.mi-carousel-viewport::-webkit-scrollbar { display: none; }
.mi-carousel-track { display: flex; gap: 24px; width: max-content; }
.mi-carousel-card { background: #fff; flex: 0 0 357px; height: 575.890625px; margin: 0; scroll-snap-align: start; text-align: center; }
.mi-carousel-media { height: 446.25px; overflow: hidden; position: relative; }
.mi-carousel-media > a:first-child { display: block; height: 100%; }
.mi-carousel-image { background: #f4f1ef; height: 446.25px !important; margin: 0 !important; object-fit: cover; transition: transform .45s ease; width: 357px !important; }
.mi-carousel-card:hover .mi-carousel-image { transform: scale(1.015); }
.mi-card-labels { display: flex; flex-direction: column; gap: 7px; left: 16px; position: absolute; top: 16px; z-index: 2; }
.mi-card-labels span { align-self: flex-start; background: white; border-radius: 99px; color: #101010; font-size: 10px; font-weight: 700; line-height: 17px; padding: 2px 9px; }
.mi-card-quick-add { background: #2a555a; bottom: 11px; color: white; font-size: 13px; font-weight: 700; left: 50%; min-width: 122px; opacity: 0; padding: 12px 24px; position: absolute; transform: translate(-50%,8px); transition: opacity .2s ease,transform .2s ease; z-index: 3; }
.mi-card-quick-add:hover { color: white; }
.mi-carousel-card:hover .mi-card-quick-add, .mi-card-quick-add:focus-visible { opacity: 1; transform: translate(-50%,0); }
.mi-card-details { align-items: center; display: flex; flex-direction: column; height: 129.640625px; padding-top: 19.75px; }
.mi-card-details h3 { color: #2a555a; font-family: "Muli",sans-serif; font-size: 15px; font-weight: 700; letter-spacing: -.01em; line-height: 22.5px; margin: 0; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mi-card-details h3 a { color: #2a555a; }
.mi-card-price { color: #7c9294; font-size: 15px; height: 24px; line-height: 24px; }
.mi-card-price del { color: #7c9294; margin-left: 7px; opacity: 1; }
.mi-card-price ins { color: #ff5454; text-decoration: none; }
.mi-card-rating { color: #2a555a; display: block; font-size: 13px; height: 24px; line-height: 24px; }
.mi-card-rating span { color: #efb12d; font-size: 17px; letter-spacing: 1px; }
.mi-card-swatches { align-items: center; display: flex; gap: 9px; height: 27px; justify-content: center; }
.mi-card-swatches button { background: var(--swatch); border: 1px solid #dce4e3; border-radius: 50%; height: 15px; padding: 0; position: relative; width: 15px; }
.mi-card-swatches button[aria-pressed="true"]::after { border: 1px solid #2a555a; border-radius: 50%; content: ''; inset: -4px; position: absolute; }
.mi-card-swatches a { border: 1px solid rgba(42,85,90,.12); border-radius: 99px; color: rgba(42,85,90,.7); font-size: 10px; line-height: 17px; padding: 1px 8px; }
.mi-carousel-controls { align-items: center; display: flex; height: 48px; justify-content: space-between; margin: 40px auto 0; max-width: 1500px; width: calc(100% - 80px); }
.mi-carousel-progress { background: rgba(42,85,90,.1); height: 2px; overflow: hidden; position: relative; width: calc(100% - 152px); }
.mi-carousel-progress span { background: #2a555a; display: block; height: 2px; left: 0; position: absolute; top: 0; transform-origin: left center; transition: width .15s ease; }
.mi-carousel-buttons { display: flex; gap: 16px; }
.mi-carousel-buttons button { align-items: center; background: transparent; border: 1px solid rgba(42,85,90,.12); border-radius: 50%; color: #2a555a; display: flex; font-size: 25px; font-weight: 400; height: 48px; justify-content: center; letter-spacing: 0; padding: 0 0 3px; text-transform: none; width: 48px; }
.mi-carousel-buttons button:hover { background: #2a555a; border-color: #2a555a; color: #fff; }
.mi-carousel-buttons button:disabled { cursor: default; opacity: .35; }

@media (max-width: 900px) {
  .mi-reference-carousel { height: 718px; padding-bottom: 50px; }
  .mi-reference-carousel .mi-carousel-head { height: 88px; width: calc(100% - 40px); }
  .mi-reference-carousel .mi-carousel-head h2 { font-size: 38px; line-height: 44px; }
  .mi-carousel-viewport { height: 500px; margin-top: 30px; padding: 0 20px; }
  .mi-carousel-card { flex-basis: min(78vw,320px); height: 500px; }
  .mi-carousel-media { height: 380px; }
  .mi-carousel-image { height: 380px !important; width: 100% !important; }
  .mi-card-details { height: 120px; padding-top: 15px; }
  .mi-carousel-controls { margin-top: 26px; width: calc(100% - 40px); }
  .mi-carousel-progress { width: calc(100% - 128px); }
  .mi-carousel-buttons { gap: 8px; }
  .mi-carousel-buttons button { height: 42px; width: 42px; }
  .mi-card-quick-add { opacity: 1; transform: translate(-50%,0); }
}

@media (max-width: 600px) {
  .mi-reference-carousel .mi-carousel-head h2 { font-size: 34px; }
  .mi-reference-carousel .mi-carousel-head a { font-size: 13px; gap: 8px; }
  .mi-carousel-card { flex-basis: 78vw; }
  .mi-card-details h3 { font-size: 14px; max-width: 100%; }
}

body { color: var(--mi-ink); background: var(--mi-white); font-family: "Muli", sans-serif; }
body, button, input, textarea { font-size: 15px; line-height: 1.6; }
h1, h2, h3, h4, .site-title { color: var(--mi-ink); font-family: "Halant", Georgia, serif; font-weight: 400; letter-spacing: 0; }
a { color: var(--mi-cocoa); }
a:hover { color: var(--mi-rose); }

.mi-announcement { align-items: center; background: #2a555a; color: white; display: flex; font-family: "Muli", sans-serif; font-size: 15px; font-weight: 700; gap: 92px; justify-content: center; letter-spacing: 0; line-height: 24px; min-height: 52px; padding: 14px 0; text-align: center; text-transform: none; }
.home .mi-announcement::before, .home .mi-announcement::after { content: '‹'; display: block; flex: 0 0 auto; font-size: 24px; font-weight: 400; line-height: 20px; margin: 0; transform: translateY(-1px); }
.home .mi-announcement::after { content: '›'; }
.mi-announcement a { color: white; text-decoration: underline; text-underline-offset: 3px; }
.site-header { background: rgba(255,253,251,.98); border-bottom: 1px solid var(--mi-line); height: 100px; padding: 0; position: relative; transition: background-color .2s ease, box-shadow .2s ease; width: 100%; z-index: 20; }
.site-branding .site-title a { color: var(--mi-ink); font-size: 30px; letter-spacing: .08em; text-transform: uppercase; }
.site-branding .site-description { color: var(--mi-muted); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.main-navigation ul.menu > li > a, .main-navigation ul.nav-menu > li > a { color: var(--mi-ink); font-size: 13px; font-weight: 650; letter-spacing: .07em; text-transform: uppercase; }
.site-header-cart .cart-contents, .site-search .widget_product_search form:before { color: var(--mi-ink); }
.woocommerce-active .site-header .site-search { width: 24%; }

.col-full { max-width: 1500px; }
.site-content { outline: none; }
.home .site-main, .home .content-area { margin-bottom: 0; }
.home .entry-header { display: none; }
.home .entry-content { margin: 0; }
.home .hentry { margin-bottom: 0; }
.home .edit-link { display: none; }
.home .site-content .col-full { max-width: none; margin: 0; padding: 0; }
.home .content-area { float: none; width: 100%; }

.home .site-header { background: transparent; border: 0; left: 0; padding: 0; position: absolute; top: 0; width: 100%; z-index: 20; }
.home .mi-announcement + .site-header { top: 52px; }
.admin-bar.home .site-header { top: 32px; }
.admin-bar.home .mi-announcement + .site-header { top: 84px; }
.home .site-header.is-scrolled { background: rgba(42,85,90,.94); box-shadow: 0 1px 12px rgba(0,0,0,.12); position: fixed; top: 0; }
.admin-bar.home .site-header.is-scrolled { top: 32px; }
.mi-home-nav-shell { align-items: center; color: white; display: grid; grid-template-columns: 650px 1fr 650px; height: 100px; margin: auto; max-width: 1500px; padding: 0; position: relative; }
.mi-home-links { align-items: center; display: flex; gap: clamp(24px,3vw,48px); }
.mi-home-links a, .mi-home-actions a, .mi-home-actions { color: white; }
.mi-home-links { gap: 40px; }
.mi-home-links a { font-family: "Muli", sans-serif; font-size: 15px; font-weight: 700; line-height: 24px; white-space: nowrap; }
.mi-home-links a:hover, .mi-home-actions a:hover { color: rgba(255,255,255,.76); }
.mi-home-links span { font-size: 18px; margin-left: 4px; }
.mi-home-logo { color: white; font-family: "Halant", Georgia, serif; font-size: 40px; font-weight: 400; justify-self: center; letter-spacing: -.045em; line-height: 32px; }
.mi-home-logo:hover { color: white; opacity: .82; }
.mi-home-actions { align-items: center; display: flex; gap: 24px; justify-content: flex-end; }
.mi-home-actions svg { fill: none; height: 21px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; width: 21px; }
.mi-currency { align-items: center; display: flex; font-size: 13px; font-weight: 700; }
.mi-currency b { font-size: 16px; margin-left: 4px; }
.mi-cart-link { position: relative; }
.mi-cart-link small { align-items: center; background: white; border-radius: 99px; color: #24575b; display: flex; font-size: 9px; height: 15px; justify-content: center; position: absolute; right: -9px; top: -7px; width: 15px; }
.mi-mobile-menu { display: none; }
.mi-menu-toggle { display: none; }
.site-header:not(.is-overlay) .mi-home-nav-shell, .site-header:not(.is-overlay) .mi-home-links a, .site-header:not(.is-overlay) .mi-home-actions, .site-header:not(.is-overlay) .mi-home-actions a, .site-header:not(.is-overlay) .mi-home-logo { color: #2a555a; }

.mi-hero { align-items: stretch; aspect-ratio: auto; background: #c99d7e; height: calc(48.958333vw - 7.34375px); min-height: 0; overflow: hidden; padding: 0; }
.mi-hero::after { background: linear-gradient(90deg, rgba(56,35,24,.03) 0%, rgba(119,68,43,.05) 48%, rgba(93,49,30,.16) 100%); content: ''; inset: 0; position: absolute; z-index: 1; }
.mi-hero > .wp-block-cover__image-background { filter: brightness(.9) saturate(.86); object-position: center; transform: scaleX(-1); }
.home .site-content .mi-hero .wp-block-cover__inner-container { display: block; height: 100%; inset: 0; margin: 0 !important; max-width: none; min-height: 0; padding: 0 !important; position: absolute; width: 100%; z-index: 2; }
.mi-hero-copy { align-items: center; color: white; display: flex; flex-direction: column; height: 439px; justify-content: flex-start; margin: 0; max-width: none; padding: 0; position: absolute; right: 14.9vw; text-align: center; top: 274px; width: 520px; }
.mi-eyebrow { color: var(--mi-cocoa); font-size: 12px; font-weight: 750; letter-spacing: .16em; margin-bottom: 18px; text-transform: uppercase; }
.mi-hero .mi-eyebrow { display: none; }
.mi-hero h1 { color: white !important; font-family: "Halant", Georgia, serif; font-size: 70px !important; font-weight: 400; line-height: 1.3; margin: 0 0 12px; white-space: nowrap; }
.mi-hero p:not(.mi-eyebrow) { color: white; font-family: "Muli", sans-serif; font-size: 24px !important; font-weight: 400; line-height: 32px; margin: 0 auto; max-width: 520px; }
.mi-hero .wp-block-buttons { margin-top: auto; width: 423px; }
.mi-hero .wp-block-button { width: 100%; }
.mi-hero .wp-block-button__link { background: white; border-color: rgba(98,70,61,.25); border-radius: 7px; color: #725230; display: block; font-family: "Muli", sans-serif; font-size: 24px !important; font-weight: 400; letter-spacing: 0; line-height: 34px; padding: 14px 26px; text-transform: none; width: 100%; }
.mi-hero .wp-block-button__link:hover { background: #f7f0e9; border-color: white; color: #725230; }

/* Reference-aligned home page sequence */
.mi-proof-rail { align-items: stretch; background: #fff7f0; display: flex; height: 270px; overflow: hidden; }
.mi-proof-track { display: grid; grid-template-columns: repeat(6,1fr); height: 140px; margin: auto; max-width: 1500px; width: 100%; }
.mi-proof-item { align-items: center; border-left: 1px solid rgba(42,85,90,.18); color: #2a555a; display: flex; flex-direction: column; height: 140px; justify-content: flex-start; padding: 0 20px; text-align: center; }
.mi-proof-item:first-child { border-left: 0; }
.mi-proof-item p { font-size: 16px; line-height: 25.6px; margin: 0 0 30px; min-height: 51.2px; }
.mi-proof-item:first-child p { font-size: 18px; line-height: 28.8px; margin-bottom: 24px; }
.mi-proof-item strong { font-family: "Halant", Georgia, serif; font-size: 29px; font-weight: 500; line-height: 1; }
.mi-proof-item .mi-rating { color: #eab442; font-family: inherit; font-size: 21px; letter-spacing: 3px; }

.mi-facts { align-items: center; background: #fff; color: #2a555a; display: flex; flex-direction: column; height: 366px; justify-content: flex-start; padding: 80px 202.5px; text-align: center; }
.mi-facts .mi-kicker { font-size: 15px; font-weight: 700; line-height: 24px; margin: 0 0 24px; }
.mi-facts h2 { color: #2a555a; font-size: 48px; line-height: 52.8px; margin: 0 !important; max-width: 650px; }

.mi-impact { align-items: start; background: #fff; color: #2a555a; column-gap: 48px; display: grid; grid-template-columns: repeat(2,1fr); height: 340px; margin: auto; max-width: 1500px; padding-bottom: 80px; text-align: center; }
.mi-impact article { padding: 0; }
.mi-impact strong { color: #e3a58c; display: block; font-family: "Halant", Georgia, serif; font-size: 112.5px; font-weight: 400; letter-spacing: -1.125px; line-height: 112.5px; margin-bottom: 22.5px; }
.mi-js .mi-impact strong:not(.is-revealed) { opacity: 0; transform: translateY(10px); }
.mi-impact strong.is-revealed { opacity: 1; transform: translateY(0); }
.mi-count-number { display: inline-block; min-width: .55em; text-align: right; }
.mi-impact p { font-family: "Halant", Georgia, serif; font-size: 32px; line-height: 41.6px; margin: auto; max-width: 726px; }

.mi-hotspot-section { align-items: center; background: #fff; display: flex; height: 880px; justify-content: center; padding: 80px 0; }
.mi-hotspot-grid { border-radius: 16px; display: grid; grid-template-columns: repeat(3,1fr); height: 720px; max-width: 1500px; overflow: hidden; width: calc(100% - 80px); }
.mi-hotspot-card { margin: 0; overflow: visible; position: relative; }
.mi-hotspot-card::after { background: linear-gradient(0deg,rgba(20,12,8,.42),transparent 45%); content: ''; inset: 0; position: absolute; }
.mi-hotspot-card img { height: 100%; object-fit: cover; width: 100%; }
.mi-hotspot-card:nth-child(1) img { object-position: 16% center; }
.mi-hotspot-card:nth-child(2) img { object-position: 50% center; }
.mi-hotspot-card:nth-child(3) img { object-position: 84% center; }
.mi-hotspot-card figcaption { bottom: 38px; color: white; font-family: "Halant", Georgia, serif; font-size: 42px; left: 34px; position: absolute; z-index: 2; }
.mi-hotspot-dot { align-items: center; background: #fff; border: 0; border-radius: 9999px; color: #111; cursor: pointer; display: flex; font-family: Arial, sans-serif; font-size: 22px; font-weight: 400; height: 48px; justify-content: center; left: 50%; line-height: 1; padding: 0; position: absolute; top: 43%; transform: translate(-50%,-50%); transition: transform .2s ease-in-out; width: 48px; z-index: 5; }
.mi-hotspot-dot::before { content: ''; inset: -10px; position: absolute; }
.mi-hotspot-dot::after { animation: mi-dot-pulse 2s ease-in-out infinite alternate; background: radial-gradient(50% 50%,rgba(255,255,255,0),rgba(255,255,255,.3)); border-radius: 9999px; content: ''; inset: -16px; pointer-events: none; position: absolute; }
.mi-hotspot-dot > span[aria-hidden] { display: block; transform: translateY(-1px); }
.mi-hotspot-dot:hover, .mi-hotspot-dot:focus, .mi-hotspot-dot[aria-expanded="true"] { background: #fff; border-color: transparent; color: #111; }
.mi-hotspot-dot:focus-visible { outline: 2px solid white; outline-offset: 5px; }
.mi-hotspot-popover { background: #fff; color: #111; left: calc(50% + 42px); min-height: 122px; opacity: 0; padding: 33px; position: absolute; top: 43%; transform: translateY(-50%); visibility: hidden; width: 382px; z-index: 4; }
.mi-hotspot-popover[hidden] { display: none; }
.mi-hotspot-popover.is-open { opacity: 1; transition: opacity .15s ease; visibility: visible; }
.mi-hotspot-popover p { font-family: "Halant", Georgia, serif; font-size: 20px; line-height: 28px; margin: 0; }
.mi-hotspot-card:first-child .mi-hotspot-dot { left: 64.8%; top: 18.33%; }
.mi-hotspot-card:first-child .mi-hotspot-popover { left: calc(64.8% + 42px); top: 18.33%; }
.mi-hotspot-card:nth-child(2) .mi-hotspot-dot { left: 57.8%; top: 56.33%; }
.mi-hotspot-card:nth-child(2) .mi-hotspot-popover { left: auto; right: calc(42.2% + 42px); top: 56.33%; }
.mi-hotspot-card:nth-child(3) .mi-hotspot-dot { left: 44.8%; top: 41.33%; }
.mi-hotspot-card:nth-child(3) .mi-hotspot-popover { left: auto; right: calc(55.2% + 42px); top: 41.33%; }

.mi-video-intro { align-items: center; background: white; color: #2a555a; display: flex; flex-direction: column; height: 254px; justify-content: flex-start; padding: 80px 202.5px 52px; text-align: center; }
.mi-video-intro h2 { color: #2a555a; font-size: 60px !important; line-height: 66px; margin: 0 0 32px !important; }
.mi-video-intro p { font-size: 15px; line-height: 24px; margin: 0; }
.mi-video-stage { align-items: flex-start; background: white; display: flex; height: 780px; justify-content: center; padding: 0 0 80px; }
.mi-video-poster { align-items: center; background: #b9b9b9; border-radius: 14px; display: flex; height: 700px; justify-content: center; max-width: 1245px; overflow: hidden; position: relative; width: calc(100% - 80px); }
.mi-video-poster img { filter: grayscale(.2) brightness(.66); height: 100%; object-fit: cover; width: 100%; }
.mi-play { align-items: center; animation: mi-play-pulse 2s linear infinite alternate; background: white; border: 9px solid rgba(255,255,255,.42); border-radius: 50%; color: #2a555a; display: flex; font-size: 22px; height: 68px; justify-content: center; left: 50%; position: absolute; top: 50%; transform: translate(-50%,-50%); width: 68px; }

.mi-product-carousel { background: white; height: 845px; overflow: hidden; padding: 0 0 80px; }
.mi-product-carousel > * { margin-left: auto; margin-right: auto; max-width: 1500px; }
.mi-carousel-head { align-items: center; display: flex; height: 100.8px; justify-content: flex-end; margin: 0; }
.mi-carousel-head h2 { height: 1px; overflow: hidden; position: absolute; width: 1px; }
.mi-carousel-head a { color: #2a555a; font-size: 13px; opacity: .7; transition: opacity .2s ease-in-out; }
.mi-carousel-head a:hover { opacity: 1; }
.mi-product-carousel ul.products { margin-bottom: 0; }
.mi-product-carousel ul.products li.product { margin-bottom: 0; }
.mi-product-carousel ul.products li.product img { height: 500px; object-fit: cover; }
.mi-product-carousel ul.products li.product .button { opacity: 0; transform: translateY(5px); transition: opacity .2s ease-in-out, transform .2s ease-in-out; }
.mi-product-carousel ul.products li.product:hover .button { opacity: 1; transform: translateY(0); }

.mi-home-testimonials { background: white; color: #2a555a; height: 638px; overflow: hidden; padding: 0 0 80px; }
.mi-home-testimonials > * { margin-left: auto; margin-right: auto; max-width: 1500px; }
.mi-home-testimonials h2 { color: #2a555a; font-family: "Halant", Georgia, serif; font-size: 48px !important; font-weight: 400; height: 52.8px; line-height: 52.8px; margin: 0 0 32px !important; padding: 0; }
.mi-home-testimonials .mi-review-grid { grid-template-columns: repeat(4,1fr); }
.mi-home-testimonials .mi-review { background: #f4f6f6; border: 0; min-height: 300px; padding: 34px; }
.mi-home-testimonials .mi-review blockquote { font-family: "Muli", sans-serif; font-size: 15px; }

.mi-press-panel { align-items: center; background: #2a555a; color: white; display: flex; flex-direction: column; height: 491px; justify-content: center; padding: 50px 24px; text-align: center; }
.mi-press-panel .mi-stars { color: #efbc46; font-size: 24px; margin-bottom: 34px; }
.mi-press-panel blockquote { border: 0; color: white; font-family: "Halant", Georgia, serif; font-size: 36px; line-height: 1.3; margin: 0; max-width: 900px; padding: 0; }
.mi-press-panel cite { color: rgba(255,255,255,.72); font-style: normal; margin-top: 28px; }

.mi-media-story { align-items: stretch; background: white; display: grid; gap: 48px; grid-template-columns: 653.4px 1fr; height: 907px; margin: auto; max-width: 1500px; padding: 80px 0; }
.mi-media-story img { height: 747px; object-fit: cover; width: 100%; }
.mi-media-copy { color: #2a555a; display: flex; flex-direction: column; justify-content: flex-start; padding: 80px; }
.mi-media-copy .mi-kicker { font-size: 15px; font-weight: 700; line-height: 24px; margin: 0; }
.mi-media-copy h2 { color: #2a555a; font-size: 48px !important; line-height: 52.8px; margin: 24px 0 0 !important; }
.mi-media-copy p { font-size: 16px; line-height: 25.6px; margin: 32px 0 0; }
.mi-media-copy .button { margin-top: 20px; }

.mi-icon-strip { align-items: start; background: #fbfaf8; color: #2a555a; column-gap: 40px; display: grid; grid-template-columns: repeat(4,1fr); height: 272px; margin: auto; padding: 0 max(40px,calc((100% - 1500px)/2)) 80px; text-align: center; }
.mi-icon-strip article { padding: 44px 0 0; }
.mi-icon-strip b { color: #dda58f; display: block; font-family: "Halant", Georgia, serif; font-size: 38px; font-weight: 400; line-height: 1; margin-bottom: 18px; }
.mi-icon-strip h3 { color: #2a555a; font-family: "Halant", Georgia, serif; font-size: 20px; font-weight: 400; line-height: 28px; margin: 0 0 16px; }
.mi-icon-strip p { font-size: 15px; line-height: 24px; margin: 0; }

@keyframes mi-dot-pulse { from { transform: scale(1); } to { transform: scale(.8); } }
@keyframes mi-play-pulse { to { transform: translate(-50%,-50%) scale(1.08); } }
@media (prefers-reduced-motion: reduce) {
  .mi-hotspot-dot::after, .mi-play { animation: none; }
  .mi-product-carousel ul.products li.product .button { transition: none; }
  .mi-js .mi-impact strong:not(.is-revealed) { opacity: 1; transform: none; }
}
.wp-block-button__link, button, input[type="button"], input[type="reset"], input[type="submit"], .button, .added_to_cart { background: var(--mi-ink); border: 1px solid var(--mi-ink); border-radius: 0; color: white; font-size: 13px; font-weight: 750; letter-spacing: .08em; padding: 15px 26px; text-transform: uppercase; transition: .2s ease; }
.wp-block-button__link:hover, button:hover, input[type="submit"]:hover, .button:hover { background: var(--mi-rose); border-color: var(--mi-rose); color: white; }
.is-style-outline .wp-block-button__link { background: transparent; color: var(--mi-ink); }

.mi-trust { background: var(--mi-ink); color: white; display: grid; gap: 0; grid-template-columns: repeat(4,1fr); padding: 0 clamp(20px,6vw,90px); }
.mi-trust > div { border-right: 1px solid rgba(255,255,255,.14); padding: 22px 30px; text-align: center; }
.mi-trust > div:last-child { border: 0; }
.mi-trust strong { display: block; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.mi-trust span { color: #d9cfca; font-size: 12px; }

.mi-section { padding: clamp(72px,8vw,120px) clamp(24px,6vw,90px); }
.mi-section > * { max-width: 1360px; margin-left: auto; margin-right: auto; }
.mi-section-head { margin-bottom: 44px; text-align: center; }
.mi-section-head h2 { font-size: clamp(36px,4vw,56px); margin: 0 0 12px; }
.mi-section-head p { color: var(--mi-muted); margin: auto; max-width: 620px; }
.mi-tinted { background: var(--mi-cream); }

ul.products li.product { margin-bottom: 54px; text-align: left; }
ul.products li.product img { aspect-ratio: 4/5; background: var(--mi-cream); object-fit: cover; transition: transform .45s ease; }
ul.products li.product:hover img { transform: translateY(-4px); }
ul.products li.product .woocommerce-loop-product__title { color: var(--mi-ink); font-family: inherit; font-size: 15px; font-weight: 650; letter-spacing: .01em; }
ul.products li.product .price { color: var(--mi-cocoa); font-size: 14px; }
ul.products li.product .button { background: transparent; border: 0; border-bottom: 1px solid var(--mi-ink); color: var(--mi-ink); padding: 7px 0 5px; }
ul.products li.product .button:hover { color: var(--mi-rose); border-color: var(--mi-rose); }
.onsale { background: var(--mi-rose); border: 0; border-radius: 0; color: white; font-size: 11px; letter-spacing: .08em; padding: 7px 10px; text-transform: uppercase; }
.storefront-sorting { border-bottom: 1px solid var(--mi-line); padding-bottom: 20px; }

.mi-story { align-items: center; display: grid; gap: clamp(40px,7vw,100px); grid-template-columns: 1.1fr .9fr; }
.mi-story img { min-height: 560px; object-fit: cover; width: 100%; }
.mi-story h2 { font-size: clamp(40px,4.5vw,64px); line-height: 1.08; }
.mi-story p { color: var(--mi-muted); }
.mi-stats { display: grid; gap: 18px; grid-template-columns: repeat(3,1fr); margin-top: 36px; }
.mi-stats strong { display: block; font-family: Georgia, serif; font-size: 34px; font-weight: 500; }
.mi-stats span { color: var(--mi-muted); font-size: 12px; text-transform: uppercase; }

.mi-review-grid { display: grid; gap: 22px; grid-template-columns: repeat(3,1fr); }
.mi-review { background: white; border: 1px solid var(--mi-line); padding: 34px; }
.mi-stars { color: #b77855; letter-spacing: .12em; }
.mi-review blockquote { border: 0; font-family: Georgia, serif; font-size: 20px; margin: 20px 0; padding: 0; }
.mi-review cite { color: var(--mi-muted); font-size: 13px; font-style: normal; }

.mi-newsletter { background: var(--mi-blush); padding: 72px 24px; text-align: center; }
.mi-newsletter h2 { font-size: 44px; margin-bottom: 10px; }
.mi-newsletter p { color: #675751; }
.mi-newsletter form { display: flex; margin: 28px auto 0; max-width: 520px; }
.mi-newsletter input[type="email"] { background: white; border: 1px solid rgba(46,37,33,.2); flex: 1; min-width: 0; padding: 14px 16px; }

.site-footer { background: #f5f5f3; color: #2a555a; min-height: 579px; padding: 72px 0 32px; }
.site-footer a { color: #2a555a; }
.mi-footer-grid { display: grid; gap: 55px; grid-template-columns: .8fr 1fr 1fr 2fr; margin-bottom: 72px; }
.mi-footer-grid h3 { color: #2a555a; font-family: "Muli", sans-serif; font-size: 13px; font-weight: 700; letter-spacing: 0; text-transform: none; }
.mi-footer-grid ul { list-style: none; margin: 0; }
.mi-footer-grid li { margin-bottom: 9px; }
.mi-footer-grid p, .mi-footer-grid a { font-size: 12px; }
.mi-footer-brand { color: white; font-family: Georgia, serif; font-size: 30px; letter-spacing: .06em; text-transform: uppercase; }
.mi-footer-signup form { display: flex; margin-top: 22px; max-width: 470px; }
.mi-footer-signup input[type="email"] { background: white; border: 1px solid #d9dfde; flex: 1; min-width: 0; padding: 12px 14px; }
.mi-footer-signup button { background: white; border: 1px solid #d9dfde; border-left: 0; color: #2a555a; padding: 10px 16px; }
.site-info { border-top: 1px solid #d9dfde; color: #617a7d; font-size: 11px; padding-top: 24px; }

.page:not(.home) .entry-header, .woocommerce-products-header { background: var(--mi-cream); margin-bottom: 56px; padding: 64px 30px; text-align: center; }
.page:not(.home) .entry-title, .woocommerce-products-header__title { font-size: clamp(42px,5vw,66px); }
.entry-content h2 { font-size: 34px; margin-top: 1.6em; }
.mi-page-intro { color: var(--mi-muted); font-size: 20px; max-width: 760px; }
.mi-faq details { border-bottom: 1px solid var(--mi-line); padding: 18px 0; }
.mi-faq summary { cursor: pointer; font-weight: 650; }
.mi-size-table { border-collapse: collapse; width: 100%; }
.mi-size-table th, .mi-size-table td { border: 1px solid var(--mi-line); padding: 13px; text-align: center; }
.mi-size-table th { background: var(--mi-cream); }

.single-product div.product .product_title { font-size: clamp(38px,4vw,56px); }
.single-product div.product p.price { color: var(--mi-cocoa); font-size: 23px; }
.woocommerce-tabs ul.tabs li.active a { color: var(--mi-rose); }
.woocommerce-message, .woocommerce-info, .woocommerce-noreviews { background: var(--mi-cocoa); }

/* Standalone WooCommerce structure: no Storefront or page-builder CSS. */
.woocommerce .woocommerce-breadcrumb { color: #7b7470; font-size: 12px; margin: 0 0 30px; }
.woocommerce .woocommerce-breadcrumb a { color: #2a555a; }
.woocommerce-products-header { margin: 0 0 48px; padding: 35px 0 25px; text-align: center; }
.woocommerce-products-header__title { color: #2a555a; font-size: 60px; line-height: 1.1; margin: 0; }
.woocommerce .woocommerce-result-count { color: #746964; float: left; font-size: 13px; margin: 12px 0 32px; }
.woocommerce .woocommerce-ordering { float: right; margin: 0 0 32px; }
.woocommerce .woocommerce-ordering select { background: #fff; border: 1px solid #dcd5d0; color: #2e2521; padding: 10px 34px 10px 12px; }
.woocommerce ul.products { clear: both; display: grid; gap: 54px 48px; grid-template-columns: repeat(4,minmax(0,1fr)); list-style: none; margin: 0; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { float: none !important; margin: 0 !important; padding: 0; position: relative; width: auto !important; }
.woocommerce ul.products li.product a { display: block; }
.woocommerce ul.products li.product img { height: auto; margin: 0 0 18px; width: 100%; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { line-height: 1.45; margin: 0 0 4px; padding: 0; }
.woocommerce ul.products li.product .price { display: block; margin: 0 0 8px; }
.woocommerce ul.products li.product .star-rating { font-size: 12px; margin: 8px 0; }
.woocommerce nav.woocommerce-pagination { margin: 64px 0 0; text-align: center; }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: inline-flex; gap: 8px; list-style: none; margin: 0; padding: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { align-items: center; border: 1px solid var(--mi-line); display: flex; height: 38px; justify-content: center; min-width: 38px; padding: 0 10px; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: #2a555a; color: white; }
.woocommerce span.onsale { left: 12px; margin: 0; min-height: 0; min-width: 0; position: absolute; top: 12px; z-index: 2; }
.woocommerce span.onsale { background: var(--mi-rose) !important; border: 0 !important; color: white !important; }
.woocommerce #respond input#submit.alt, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt { background: var(--mi-ink) !important; border-color: var(--mi-ink) !important; color: white !important; }
.woocommerce #respond input#submit.alt:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover { background: var(--mi-rose) !important; border-color: var(--mi-rose) !important; }

.single-product div.product { display: grid; gap: 72px; grid-template-columns: minmax(0,1.08fr) minmax(380px,.92fr); }
.single-product div.product .woocommerce-product-gallery { float: none !important; grid-column: 1; grid-row: 1; margin: 0 !important; min-width: 0; position: relative; width: 100% !important; }
.single-product div.product .summary { float: none !important; grid-column: 2; grid-row: 1; margin: 0 !important; padding: 38px 0; width: 100% !important; }
.single-product .woocommerce-product-gallery__wrapper { margin: 0; }
.single-product .woocommerce-product-gallery__image img { width: 100%; }
.single-product div.product .product_title { color: #2a555a; line-height: 1.08; margin: 0 0 18px; }
.single-product div.product .woocommerce-product-rating { margin-bottom: 18px; }
.single-product div.product p.price { margin: 0 0 26px; }
.single-product div.product form.cart { align-items: stretch; display: flex; gap: 10px; margin: 30px 0; }
.single-product div.product form.cart .quantity input { border: 1px solid #dcd5d0; height: 52px; text-align: center; width: 68px; }
.single-product div.product form.cart .single_add_to_cart_button { flex: 1; }
.single-product .product_meta { border-top: 1px solid var(--mi-line); color: #746964; display: grid; font-size: 12px; gap: 7px; margin-top: 32px; padding-top: 22px; }
.single-product .woocommerce-tabs { grid-column: 1 / -1; margin-top: 35px; width: 100%; }
.single-product .woocommerce-tabs ul.tabs { border-bottom: 1px solid var(--mi-line); display: flex; gap: 34px; list-style: none; margin: 0 0 32px; padding: 0; }
.single-product .woocommerce-tabs ul.tabs li { background: none; border: 0; margin: 0; padding: 0 0 12px; }
.single-product .woocommerce-tabs ul.tabs li.active { border-bottom: 2px solid #2a555a; }
.single-product .woocommerce-tabs ul.tabs::before, .single-product .woocommerce-tabs ul.tabs li::before, .single-product .woocommerce-tabs ul.tabs li::after { display: none; }
.single-product .related { grid-column: 1 / -1; margin-top: 70px; }
.single-product .related > h2 { color: #2a555a; font-size: 42px; margin-bottom: 35px; text-align: center; }
.single-product .storefront-product-pagination { display: none !important; }

.woocommerce-message, .woocommerce-info, .woocommerce-error { border: 0; color: white; list-style: none; margin: 0 0 28px; padding: 18px 22px; }
.woocommerce-error { background: #9e514a; }
.woocommerce-message a, .woocommerce-info a, .woocommerce-error a { color: white; float: right; text-decoration: underline; }
.woocommerce table.shop_table { border: 1px solid var(--mi-line); border-collapse: collapse; margin: 0 0 35px; width: 100%; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-bottom: 1px solid var(--mi-line); padding: 16px; text-align: left; }
.woocommerce table.shop_table .product-thumbnail img { width: 90px; }
.woocommerce .cart-collaterals { display: grid; justify-content: end; }
.woocommerce .cart_totals { min-width: 430px; }
.woocommerce .cart_totals h2, .woocommerce-checkout h3 { color: #2a555a; font-size: 30px; }
.woocommerce form .form-row { margin: 0 0 18px; padding: 0; }
.woocommerce form .form-row label { display: block; font-size: 13px; margin-bottom: 7px; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { background: white; border: 1px solid #dcd5d0; border-radius: 0; padding: 12px 13px; width: 100%; }
.woocommerce-checkout .col2-set { display: grid; gap: 48px; grid-template-columns: 1fr 1fr; }
.woocommerce-checkout .col-1, .woocommerce-checkout .col-2 { float: none; width: auto; }
.woocommerce-checkout #order_review { background: #faf8f5; padding: 28px; }
.woocommerce-account .woocommerce { display: grid; gap: 50px; grid-template-columns: 260px 1fr; }
.woocommerce-account .woocommerce-MyAccount-navigation { width: auto; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--mi-line); }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 13px 0; }
.woocommerce-account .woocommerce-MyAccount-content { width: auto; }

/* Reference-paced content templates */
.mi-reference-page { color: #2a555a; width: 100%; }
.mi-reference-page h1, .mi-reference-page h2, .mi-reference-page h3 { color: #2a555a; }
.mi-section-label { font-size: 15px; font-weight: 700; line-height: 24px; margin: 0 0 24px; }
.mi-page-introduction, .mi-wide-title { margin: auto; max-width: 1500px; padding: 64px 0 56px; width: calc(100% - 80px); }
.mi-page-introduction { min-height: 296px; text-align: center; }
.mi-page-introduction h1, .mi-wide-title h1 { font-size: 60px; line-height: 66px; margin: 0 0 24px; }
.mi-page-introduction p:last-child, .mi-wide-title p { font-size: 16px; line-height: 25.6px; margin: 0 auto; max-width: 720px; }
.mi-wide-title { min-height: 290px; }
.mi-solid-button, .mi-light-button { align-items: center; display: inline-flex; font-size: 13px; font-weight: 700; justify-content: center; letter-spacing: .03em; min-height: 58px; padding: 14px 38px; }
.mi-solid-button { background: #2a555a; color: white; }
.mi-solid-button:hover { background: #21464a; color: white; }
.mi-light-button { background: white; color: #2a555a; }
.mi-light-button:hover { background: #f5f5f1; color: #2a555a; }

.mi-page-hero { height: 560px; overflow: hidden; position: relative; }
.mi-page-hero::after { background: linear-gradient(90deg,rgba(22,37,38,.3),rgba(22,37,38,.08)); content: ''; inset: 0; position: absolute; }
.mi-page-hero img { height: 100%; object-fit: cover; width: 100%; }
.mi-page-hero > div { color: white; left: max(40px,calc((100% - 1500px)/2)); position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; }
.mi-page-hero h1 { color: white; font-size: 60px; line-height: 66px; margin: 12px 0 0; }
.mi-page-hero p { font-size: 15px; font-weight: 700; margin: 0; }
.mi-page-hero--compact { height: 440px; }
.mi-story-row { display: grid; grid-template-columns: 1fr 1fr; height: 555px; margin: auto; max-width: 1905px; }
.mi-story-row--reverse .mi-story-row__media { grid-column: 2; }
.mi-story-row--reverse .mi-story-row__copy { grid-column: 1; grid-row: 1; }
.mi-story-row__media { overflow: hidden; }
.mi-story-row__media img { height: 100%; object-fit: cover; width: 100%; }
.mi-story-row__copy { align-items: flex-start; display: flex; flex-direction: column; justify-content: center; padding: 64px max(60px,10vw); }
.mi-story-row__copy h2 { font-size: 48px; line-height: 52.8px; margin: 0 0 28px; }
.mi-story-row__copy p:not(.mi-section-label) { font-size: 16px; line-height: 25.6px; margin-bottom: 26px; max-width: 590px; }

.mi-faq-group { display: grid; grid-template-columns: 630px 1fr; min-height: 458px; margin: auto; max-width: 1340px; padding: 72px 80px; }
.mi-faq-group h2 { font-size: 48px; line-height: 52.8px; margin: 0; }
.mi-faq-list details { border-bottom: 1px solid #d9dfde; padding: 0; }
.mi-faq-list summary { align-items: center; cursor: pointer; display: flex; font-size: 16px; font-weight: 700; justify-content: space-between; list-style: none; min-height: 66px; }
.mi-faq-list summary::-webkit-details-marker { display: none; }
.mi-faq-list summary span { font-size: 23px; font-weight: 400; transition: transform .2s ease; }
.mi-faq-list details[open] summary span { transform: rotate(45deg); }
.mi-faq-list details p { color: #546f72; margin: -4px 42px 24px 0; }
.mi-help-links { align-items: center; display: flex; height: 146px; justify-content: space-between; margin: auto; max-width: 1500px; width: calc(100% - 80px); }
.mi-help-links h2 { font-family: "Muli",sans-serif; font-size: 15px; font-weight: 700; margin: 0; }
.mi-help-links nav { display: flex; gap: 34px; }
.mi-help-links a { border-bottom: 1px solid; color: #2a555a; font-size: 13px; }
.mi-contact-band { align-items: center; background: #2a555a; color: white; display: flex; min-height: 528px; text-align: center; }
.mi-contact-band > div { margin: auto; max-width: 760px; padding: 72px 24px; }
.mi-contact-band h2 { color: white; font-size: 48px; line-height: 52.8px; margin: 0 0 24px; }
.mi-contact-band p:not(.mi-section-label) { margin: 0 auto 34px; max-width: 600px; }

.mi-policy-section { display: grid; grid-template-columns: 1fr 1fr; margin: auto; max-width: 1500px; min-height: 280px; padding: 72px 80px; }
.mi-policy-section h2 { font-size: 48px; line-height: 52.8px; margin: 0; }
.mi-policy-section p { font-size: 16px; line-height: 25.6px; margin: 8px 0 0; max-width: 620px; }
.mi-table-wrap { margin: auto; max-width: 1340px; overflow-x: auto; width: calc(100% - 160px); }
.mi-table-wrap table { border-collapse: collapse; width: 100%; }
.mi-table-wrap th, .mi-table-wrap td { border-bottom: 1px solid #cdd8d7; font-size: 14px; padding: 22px 20px; text-align: left; }
.mi-table-wrap th { background: #f4f6f6; font-size: 13px; }
.mi-policy-page > .mi-table-wrap { min-height: 298px; }
.mi-policy-note { align-items: center; display: flex; height: 104px; justify-content: center; margin: 0; }
.mi-policy-note a { color: #2a555a; margin-left: 5px; text-decoration: underline; }

.mi-return-steps { display: grid; gap: 1px; grid-template-columns: repeat(3,1fr); margin: auto; max-width: 1500px; min-height: 630px; padding: 80px 0; width: calc(100% - 80px); }
.mi-return-steps article { background: #f4f6f6; padding: 72px 54px; }
.mi-return-steps span { color: #e3a58c; display: block; font-family: "Halant",serif; font-size: 58px; margin-bottom: 52px; }
.mi-return-steps h2 { font-size: 34px; line-height: 40px; }
.mi-return-steps p { line-height: 25.6px; }
.mi-returns-faq { display: grid; grid-template-columns: 1fr 1fr; margin: auto; max-width: 1100px; min-height: 706px; padding: 110px 0; }
.mi-returns-faq > h2 { font-size: 48px; line-height: 52.8px; margin: 0; }

.mi-review-summary { border-bottom: 1px solid #d9dfde; border-top: 1px solid #d9dfde; display: grid; grid-template-columns: 1fr 1fr; margin: auto; max-width: 1195px; min-height: 300px; padding: 54px 80px; }
.mi-review-summary > div:first-child { display: grid; justify-items: start; }
.mi-review-summary strong { font-family: "Halant",serif; font-size: 72px; font-weight: 400; line-height: 1; }
.mi-review-summary p { margin: 0; }
.mi-rating-bars { padding-top: 18px; }
.mi-rating-bars p { align-items: center; display: grid; gap: 12px; grid-template-columns: 12px 1fr 42px; margin: 0 0 18px; }
.mi-rating-bars i { background: #e5eceb; height: 6px; }
.mi-rating-bars i span { background: #2a555a; display: block; height: 100%; }
.mi-rating-bars em { font-size: 12px; font-style: normal; }
.mi-reviews-feed { margin: auto; max-width: 1195px; min-height: 3235px; padding: 64px 0 120px; width: calc(100% - 80px); }
.mi-reviews-feed .mi-review-grid { grid-template-columns: 1fr 1fr; }
.mi-reviews-feed .mi-review { min-height: 290px; }

.mi-contact-form-section { display: grid; gap: 110px; grid-template-columns: 1fr 1fr; margin: auto; max-width: 1500px; min-height: 528px; padding: 96px 0; width: calc(100% - 80px); }
.mi-contact-form-section h2, .mi-direct-contact h2 { font-size: 48px; line-height: 52.8px; margin: 0 0 24px; }
.mi-contact-form-section form { display: grid; gap: 18px; grid-template-columns: 1fr 1fr; }
.mi-contact-form-section label { font-size: 12px; font-weight: 700; }
.mi-contact-form-section label:last-of-type { grid-column: 1 / -1; }
.mi-contact-form-section input, .mi-contact-form-section textarea { border: 1px solid #cbd5d4; border-radius: 0; display: block; margin-top: 7px; padding: 12px; resize: vertical; width: 100%; }
.mi-contact-form-section button { justify-self: start; min-width: 184px; }
.mi-form-success { grid-column: 1 / -1; }
.mi-direct-contact { align-items: center; background: #f4f6f6; display: flex; min-height: 501px; }
.mi-direct-contact > div { margin: auto; max-width: 1500px; padding: 80px 0; width: calc(100% - 80px); }
.mi-direct-contact a { color: #2a555a; text-decoration: underline; }

.mi-measure-legend { display: grid; gap: 48px; grid-template-columns: 1fr 1fr; margin: auto; max-width: 1500px; min-height: 440px; padding: 80px 0; width: calc(100% - 80px); }
.mi-measure-legend article { align-items: flex-start; background: #f4f6f6; display: flex; gap: 34px; padding: 54px; }
.mi-measure-legend span { align-items: center; border: 1px solid #2a555a; border-radius: 50%; display: flex; flex: 0 0 50px; font-family: "Halant",serif; font-size: 26px; height: 50px; justify-content: center; }
.mi-measure-legend h2 { font-size: 34px; line-height: 40px; margin-bottom: 18px; }
.mi-size-chart { background: #fbfaf8; min-height: 1500px; padding: 112px max(40px,calc((100% - 1500px)/2)); }
.mi-size-chart > div:first-child { margin-bottom: 70px; text-align: center; }
.mi-size-chart h2 { font-size: 48px; line-height: 52.8px; margin: 0; }
.mi-size-chart .mi-table-wrap { max-width: 1200px; width: 100%; }
.mi-size-chart th, .mi-size-chart td { padding: 26px 24px; text-align: center; }
.mi-size-help { min-height: 700px; padding: 160px 24px; text-align: center; }
.mi-size-help h2 { font-size: 48px; line-height: 52.8px; }
.mi-size-help p { margin: 0 auto 34px; max-width: 620px; }

/* Product detail pacing */
.single-product .mi-commerce-main { max-width: none; padding: 0 0 100px; width: 100%; }
.single-product .mi-commerce-main > .woocommerce { margin: auto; max-width: 1500px; width: calc(100% - 80px); }
.single-product .mi-commerce-main > div.product { margin-left: auto; margin-right: auto; max-width: 1500px; min-height: 953px; padding-top: 0; width: calc(100% - 80px); }
.single-product div.product .summary { padding-top: 64px; }
.single-product div.product .product_title { font-size: 48px; line-height: 52.8px; }
.single-product .mi-product-story, .single-product .mi-product-gallery-band, .single-product .mi-product-features, .single-product .mi-product-review-stage { grid-column: 1 / -1; margin-left: calc((1500px - 100vw)/2); margin-right: calc((1500px - 100vw)/2); }
.mi-product-story { display: grid; grid-template-columns: 1fr 1fr; min-height: 411px; }
.mi-product-story > div:first-child { display: flex; flex-direction: column; justify-content: center; padding: 56px max(60px,calc((100vw - 1500px)/2 + 80px)); }
.mi-product-story h2 { color: #2a555a; font-size: 48px; line-height: 52.8px; margin: 0 0 24px; }
.mi-product-story-media img { height: 100%; object-fit: cover; width: 100%; }
.mi-product-gallery-band { display: grid; grid-template-columns: 1fr 1fr; height: 680px; overflow: hidden; }
.mi-product-gallery-band figure { margin: 0; overflow: hidden; position: relative; }
.mi-product-gallery-band figure::after { background: linear-gradient(0deg,rgba(0,0,0,.36),transparent 45%); content: ''; inset: 0; position: absolute; }
.mi-product-gallery-band img { height: 100%; object-fit: cover; width: 100%; }
.mi-product-gallery-band figcaption { bottom: 46px; color: white; font-family: "Halant",serif; font-size: 42px; left: 50px; position: absolute; z-index: 2; }
.mi-product-features { align-items: center; display: grid; gap: 50px; grid-template-columns: repeat(3,1fr); min-height: 952px; padding: 150px max(40px,calc((100vw - 1500px)/2)); }
.mi-product-features article { border-top: 1px solid #cdd8d7; min-height: 330px; padding: 44px 20px; }
.mi-product-features span { color: #e3a58c; font-family: "Halant",serif; font-size: 52px; }
.mi-product-features h3 { font-size: 30px; margin: 48px 0 18px; }
.mi-product-review-stage { background: #f4f6f6; min-height: 1180px; padding: 120px max(40px,calc((100vw - 1500px)/2)); }
.mi-product-review-stage > header { margin-bottom: 70px; text-align: center; }
.mi-product-review-stage h2 { color: #2a555a; font-size: 48px; line-height: 52.8px; margin: 0 0 20px; }
.mi-product-review-stage .mi-review-grid { grid-template-columns: repeat(2,1fr); }
.mi-product-review-stage .mi-review { min-height: 290px; }
.single-product .related { margin-top: 0; min-height: 1076px; padding-top: 120px; }
.single-product .related > h2 { font-size: 48px; line-height: 52.8px; }

/* Collection grid */
.post-type-archive-product .mi-commerce-main, .woocommerce-shop .mi-commerce-main, .tax-product_cat .mi-commerce-main { padding-top: 48px; }
.post-type-archive-product .woocommerce-products-header, .woocommerce-shop .woocommerce-products-header, .tax-product_cat .woocommerce-products-header { display: none; }
.post-type-archive-product .page-title, .woocommerce-shop .page-title, .tax-product_cat .page-title { display: none; }
.post-type-archive-product .woocommerce-result-count, .woocommerce-shop .woocommerce-result-count, .tax-product_cat .woocommerce-result-count { display: none; }
.post-type-archive-product .woocommerce-ordering, .woocommerce-shop .woocommerce-ordering, .tax-product_cat .woocommerce-ordering { margin-bottom: 32px; }
.woocommerce ul.products { gap: 48px 24px; }
.woocommerce .woocommerce-ordering { align-items: center; color: #2a555a; display: flex; font-size: 15px; gap: 4px; height: 24px; position: relative; }
.woocommerce .woocommerce-ordering::before { content: 'Sort by:'; font-weight: 700; white-space: nowrap; }
.woocommerce .woocommerce-ordering::after { align-items: center; background: #eef2f2; border-radius: 50%; content: '⌄'; display: flex; font-size: 13px; height: 24px; justify-content: center; pointer-events: none; position: absolute; right: 0; top: 0; transform: translateY(-1px); width: 24px; }
.woocommerce .woocommerce-ordering select { appearance: none; background: transparent; border: 0; border-radius: 0; color: #2a555a; cursor: pointer; height: 24px; min-width: 0; padding: 0 34px 0 0; width: 98px; }

/* One shared WooCommerce card for shop, categories, search and shortcodes. */
.woocommerce ul.products li.product.mi-loop-card { color: #2a555a; display: grid; grid-template-rows: auto auto; text-align: center; }
.mi-loop-media { aspect-ratio: 4/5; background: #f4f1ef; overflow: hidden; position: relative; width: 100%; }
.woocommerce ul.products li.product .mi-loop-image-link { height: 100%; overflow: hidden; }
.woocommerce ul.products li.product .mi-loop-image { aspect-ratio: 4/5; height: 100% !important; margin: 0 !important; object-fit: cover; transform: none; transition: transform .45s ease; width: 100% !important; }
.woocommerce ul.products li.product.mi-loop-card:hover .mi-loop-image { transform: scale(1.015); }
.mi-loop-labels { display: flex; flex-direction: column; gap: 8px; left: 16px; position: absolute; top: 16px; z-index: 2; }
.mi-loop-labels span { align-self: flex-start; background: #fff; border-radius: 99px; color: #000; font-size: 11px; font-weight: 700; line-height: 17.6px; padding: 2px 8px; }
.woocommerce ul.products li.product .mi-loop-media .mi-loop-quick-add { align-items: center; background: #2a555a; border: 0; bottom: 11px; color: #fff; display: flex; font-size: 13px; font-weight: 700; justify-content: center; left: 50%; line-height: 20px; min-height: 45px; min-width: 122px; opacity: 0; padding: 12px 24px; position: absolute; text-transform: none; transform: translate(-50%,8px); transition: opacity .2s ease,transform .2s ease,background-color .2s ease; white-space: nowrap; width: auto; z-index: 3; }
.woocommerce ul.products li.product .mi-loop-media .mi-loop-quick-add:hover { background: #21464a; color: #fff; }
.woocommerce ul.products li.product.mi-loop-card:hover .mi-loop-quick-add, .woocommerce ul.products li.product .mi-loop-quick-add:focus-visible { opacity: 1; transform: translate(-50%,0); }
.mi-loop-details { align-content: start; display: grid; gap: 0; justify-items: center; min-height: 129.640625px; padding-top: 24px; }
.woocommerce ul.products li.product .mi-loop-details .woocommerce-loop-product__title { color: #2a555a; font-family: "Muli",sans-serif; font-size: 15px; font-weight: 700; letter-spacing: -.01em; line-height: 22.5px; margin: 0 0 2px; max-width: 100%; overflow: hidden; padding: 0; text-overflow: ellipsis; white-space: nowrap; width: 100%; }
.woocommerce ul.products li.product .mi-loop-details .woocommerce-loop-product__title a { color: inherit; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.woocommerce ul.products li.product .mi-loop-price { align-items: center; color: #7c9294; display: flex; font-size: 15px; gap: 8px; justify-content: center; line-height: 24px; margin: 0 0 4px; min-height: 24px; }
.mi-loop-price del { color: #7c9294; margin: 0; opacity: 1; order: 2; }
.mi-loop-price ins { color: #ff5454; order: 1; text-decoration: none; }
.mi-loop-price del .amount, .mi-loop-price ins .amount { color: inherit; }
.mi-loop-rating { align-items: center; color: #2a555a; display: flex !important; font-size: 13px; gap: 4px; height: 23.140625px; line-height: 20.8px; margin-bottom: 8px; min-height: 0; }
.mi-loop-rating span { color: #e6b446; font-size: 17px; letter-spacing: 0; line-height: 20px; }
.mi-loop-rating b { font-size: 13px; font-weight: 400; white-space: nowrap; }
.mi-loop-swatches { align-items: center; display: flex; gap: 9px; height: 22px; justify-content: center; min-height: 22px; }
.mi-loop-swatches button { background: var(--swatch); border: 1px solid #dce4e3; border-radius: 50%; cursor: pointer; height: 15px; margin: 0; padding: 0; position: relative; width: 15px; }
.mi-loop-swatches button[aria-pressed="true"]::after { border: 1px solid #2a555a; border-radius: 50%; content: ''; inset: -4px; position: absolute; }
.woocommerce ul.products li.product .mi-loop-swatches a { border: 1px solid rgba(42,85,90,.12); border-radius: 99px; color: rgba(42,85,90,.7); font-size: 10px; line-height: 17px; margin-left: -3px; padding: 1px 8px; }

@media (max-width: 1540px) {
  .single-product .mi-product-story, .single-product .mi-product-gallery-band, .single-product .mi-product-features, .single-product .mi-product-review-stage { margin-left: calc((1500px - 100vw)/2); margin-right: calc((1500px - 100vw)/2); }
}

@media (max-width: 900px) {
  .mi-announcement { gap: 38px; }
  .mi-home-links, .mi-currency { display: none; }
  .mi-home-nav-shell { grid-template-columns: 1fr auto 1fr; height: 82px; padding: 0 20px; }
  .mi-home-logo { font-size: 34px; grid-column: 2; }
  .mi-home-actions { gap: 16px; grid-column: 3; }
  .mi-home-actions > a:first-of-type { display: none; }
  .mi-menu-toggle { background: transparent; border: 0; display: block; grid-column: 1; grid-row: 1; justify-self: start; padding: 5px 0; width: 27px; }
  .mi-menu-toggle span { background: currentColor; display: block; height: 2px; margin: 5px 0; transition: transform .2s ease, opacity .2s ease; width: 25px; }
  .site-header.is-overlay .mi-menu-toggle { color: white; }
  .site-header:not(.is-overlay) .mi-menu-toggle { color: #2a555a; }
  .mi-menu-open .mi-menu-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .mi-menu-open .mi-menu-toggle span:nth-child(2) { opacity: 0; }
  .mi-menu-open .mi-menu-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .mi-menu-open .mi-home-links { background: white; box-shadow: 0 18px 35px rgba(0,0,0,.14); display: grid; gap: 0; left: 0; padding: 22px 24px; position: absolute; top: 82px; width: min(330px,88vw); }
  .mi-menu-open .mi-home-links a { border-bottom: 1px solid #eee7e1; color: #2a555a; padding: 12px 0; }
  .mi-hero { aspect-ratio: auto; min-height: 720px; }
  .mi-hero-copy { background: transparent; height: calc(100% - 130px); margin: 0; padding: 160px 0 0; right: 24px; top: 82px; width: 58%; }
  .mi-trust { grid-template-columns: repeat(2,1fr); }
  .mi-story { grid-template-columns: 1fr; }
  .mi-review-grid { grid-template-columns: 1fr; }
  .mi-footer-grid { grid-template-columns: repeat(2,1fr); }
  .mi-proof-rail { height: 180px; padding: 35px 0; }
  .mi-proof-track { display: flex; height: 110px; max-width: none; overflow: hidden; }
  .mi-proof-item { flex: 0 0 210px; height: 110px; }
  .mi-proof-item p { font-size: 13px; line-height: 20px; margin-bottom: 18px; min-height: 40px; }
  .mi-proof-item:first-child p { font-size: 14px; line-height: 22px; margin-bottom: 14px; }
  .mi-proof-item strong { font-size: 22px; }
  .mi-facts { padding-left: 24px; padding-right: 24px; }
  .mi-impact { height: auto; padding: 60px 20px; }
  .mi-impact article { padding: 30px 20px; }
  .mi-impact strong { font-size: 68px; }
  .mi-hotspot-section { height: 600px; padding: 50px 20px; }
  .mi-hotspot-grid { display: flex; height: 500px; max-width: none; overflow-x: auto; scroll-snap-type: x mandatory; width: 100%; }
  .mi-hotspot-card { flex: 0 0 100%; scroll-snap-align: start; }
  .mi-hotspot-popover, .mi-hotspot-card:nth-child(n+2) .mi-hotspot-popover { bottom: 88px; left: 16px; min-height: 0; padding: 24px; right: 16px; top: auto; transform: none; width: auto; }
  .mi-hotspot-card figcaption { font-size: 30px; }
  .mi-video-stage { height: auto; padding: 0 20px 70px; }
  .mi-video-poster { height: 500px; width: 100%; }
  .mi-video-intro { padding-left: 24px; padding-right: 24px; }
  .mi-product-carousel { height: 720px; min-height: 0; padding: 0 20px 60px; }
  .mi-carousel-head { height: 88px; }
  .mi-product-carousel .woocommerce { overflow: hidden; }
  .mi-product-carousel .woocommerce ul.products { display: flex; gap: 16px; overflow-x: auto; padding-bottom: 15px; scroll-snap-type: x mandatory; }
  .mi-product-carousel .woocommerce ul.products li.product { flex: 0 0 min(78vw,340px); scroll-snap-align: start; }
  .mi-product-carousel ul.products li.product img { height: 460px; }
  .mi-home-testimonials { height: 560px; padding: 0 20px 60px; }
  .mi-home-testimonials h2 { height: 116px; padding-top: 60px; }
  .mi-home-testimonials .mi-review-grid { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; }
  .mi-home-testimonials .mi-review { flex: 0 0 min(82vw,350px); min-height: 330px; scroll-snap-align: start; }
  .mi-media-story { gap: 40px; grid-template-columns: 1fr; height: auto; padding: 60px 24px; }
  .mi-media-story img { height: 560px; }
  .mi-media-copy { padding: 0; }
  .mi-icon-strip { grid-template-columns: repeat(2,1fr); height: auto; padding: 45px 20px; }
  .woocommerce ul.products { gap: 40px 24px; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .woocommerce ul.products li.product .mi-loop-media .mi-loop-quick-add { opacity: 1; transform: translate(-50%,0); }
  .single-product div.product { gap: 38px; grid-template-columns: 1fr; }
  .single-product div.product .woocommerce-product-gallery, .single-product div.product .summary, .single-product .woocommerce-tabs, .single-product .related { grid-column: 1; }
  .single-product div.product .summary { grid-row: auto; }
  .woocommerce-checkout .col2-set { grid-template-columns: 1fr; }
  .mi-page-introduction, .mi-wide-title { width: calc(100% - 40px); }
  .mi-story-row, .mi-story-row--reverse { grid-template-columns: 1fr; height: auto; }
  .mi-story-row__media, .mi-story-row--reverse .mi-story-row__media { grid-column: 1; height: 520px; }
  .mi-story-row__copy, .mi-story-row--reverse .mi-story-row__copy { grid-column: 1; grid-row: auto; min-height: 430px; padding: 60px 32px; }
  .mi-faq-group { grid-template-columns: 1fr; min-height: 0; padding: 60px 32px; }
  .mi-faq-group h2 { margin-bottom: 28px; }
  .mi-help-links { align-items: flex-start; flex-direction: column; height: auto; padding: 45px 0; width: calc(100% - 64px); }
  .mi-help-links nav { flex-wrap: wrap; margin-top: 24px; }
  .mi-policy-section, .mi-returns-faq, .mi-contact-form-section { gap: 34px; grid-template-columns: 1fr; padding: 60px 32px; }
  .mi-table-wrap { width: calc(100% - 64px); }
  .mi-return-steps, .mi-measure-legend { grid-template-columns: 1fr; width: calc(100% - 40px); }
  .mi-reviews-feed .mi-review-grid, .mi-product-review-stage .mi-review-grid { grid-template-columns: 1fr; }
  .mi-review-summary { padding: 44px 28px; width: calc(100% - 40px); }
  .mi-product-story, .mi-product-gallery-band, .mi-product-features { grid-template-columns: 1fr; height: auto; }
  .single-product .mi-product-story, .single-product .mi-product-gallery-band, .single-product .mi-product-features, .single-product .mi-product-review-stage { margin-left: -20px; margin-right: -20px; }
  .mi-product-story > div:first-child { min-height: 420px; padding: 60px 32px; }
  .mi-product-story-media { height: 520px; }
  .mi-product-gallery-band figure { height: 560px; }
  .mi-product-features { padding: 80px 32px; }
}
@media (max-width: 600px) {
  .mi-announcement { font-size: 12px; gap: 12px; min-height: 44px; padding: 10px 4px; }
  .home .site-header { top: 0; }
  .home .mi-announcement + .site-header { top: 44px; }
  .admin-bar.home .site-header { top: 46px; }
  .admin-bar.home .mi-announcement + .site-header { top: 90px; }
  .mi-home-actions > a:nth-of-type(2) { display: none; }
  .mi-hero { min-height: 680px; }
  .mi-hero > .wp-block-cover__image-background { object-position: 58% center; }
  .home .site-content .mi-hero .wp-block-cover__inner-container { background: linear-gradient(0deg, rgba(55,31,18,.55), transparent 62%); }
  .mi-hero-copy { bottom: 26px; height: 400px; justify-content: flex-end; max-width: none; padding: 0 20px; right: 0; top: auto; width: 100%; }
  .mi-hero h1 { font-size: 44px !important; margin-bottom: 18px; }
  .mi-hero h1 { white-space: normal; }
  .mi-hero p:not(.mi-eyebrow) { font-size: 16px; }
  .mi-hero .wp-block-buttons { margin-top: 28px; }
  .mi-hero .wp-block-button__link { font-size: 17px !important; padding: 13px 20px; }
  .mi-trust { grid-template-columns: 1fr; }
  .mi-trust > div { border-bottom: 1px solid rgba(255,255,255,.14); border-right: 0; }
  .mi-section { padding: 64px 20px; }
  .mi-footer-grid { grid-template-columns: 1fr; }
  .mi-newsletter form { display: block; }
  .mi-newsletter input, .mi-newsletter button { width: 100%; }
  .mi-proof-track { grid-template-columns: none; }
  .mi-proof-item { border-left: 1px solid rgba(42,85,90,.18); border-top: 0; height: 110px; }
  .mi-proof-item:first-child { border-left: 0; }
  .mi-facts { height: auto; min-height: 310px; padding: 60px 24px; }
  .mi-facts h2 { font-size: 36px; }
  .mi-impact { grid-template-columns: 1fr; }
  .mi-impact strong { font-size: 62px; margin-bottom: 16px; }
  .mi-impact p { font-size: 22px; }
  .mi-hotspot-grid { grid-template-columns: none; height: 500px; }
  .mi-hotspot-card { height: 500px; }
  .mi-video-intro { height: auto; min-height: 250px; padding: 60px 24px 40px; }
  .mi-video-intro h2 { font-size: 34px; }
  .mi-video-poster { height: 430px; }
  .mi-carousel-head h2 { font-size: 34px; }
  .mi-home-testimonials .mi-review-grid { grid-template-columns: none; }
  .mi-press-panel blockquote { font-size: 29px; }
  .mi-media-story img { height: 430px; }
  .mi-media-copy h2 { font-size: 39px; }
  .mi-icon-strip { grid-template-columns: 1fr; }
  .mi-footer-grid { gap: 28px; }
  .mi-site-shell { width: calc(100% - 40px); }
  .mi-inner-main, .mi-commerce-main { padding-bottom: 70px; padding-top: 42px; }
  .woocommerce-products-header__title { font-size: 44px; }
  .woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { float: none; }
  .woocommerce .woocommerce-ordering select { width: 100%; }
  .woocommerce ul.products { gap: 34px 14px; }
  .woocommerce ul.products li.product .mi-loop-image { margin: 0 !important; }
  .mi-loop-labels { gap: 5px; left: 8px; top: 8px; }
  .mi-loop-labels span { font-size: 9px; line-height: 14px; padding: 2px 6px; }
  .woocommerce ul.products li.product .mi-loop-media .mi-loop-quick-add { bottom: 8px; font-size: 11px; min-height: 36px; min-width: 96px; padding: 8px 14px; }
  .mi-loop-details { gap: 3px; min-height: 116px; padding-top: 14px; }
  .woocommerce ul.products li.product .mi-loop-details .woocommerce-loop-product__title { font-size: 12px; line-height: 18px; margin-bottom: 0; }
  .woocommerce ul.products li.product .mi-loop-price { font-size: 12px; gap: 5px; line-height: 19px; margin-bottom: 0; min-height: 20px; }
  .mi-loop-rating { font-size: 11px; gap: 2px; height: auto; margin-bottom: 0; min-height: 21px; }
  .mi-loop-rating span { font-size: 13px; }
  .mi-loop-rating b { font-size: 10px; }
  .mi-loop-swatches { gap: 7px; height: auto; min-height: 24px; transform: scale(.9); }
  .woocommerce .cart-collaterals { display: block; }
  .woocommerce .cart_totals { min-width: 0; width: 100%; }
  .woocommerce table.shop_table .product-thumbnail { display: none; }
  .woocommerce-account .woocommerce { grid-template-columns: 1fr; }
  .mi-page-hero, .mi-page-hero--compact { height: 430px; }
  .mi-page-hero > div { left: 24px; }
  .mi-page-hero h1, .mi-page-introduction h1, .mi-wide-title h1 { font-size: 44px; line-height: 48px; }
  .mi-page-introduction, .mi-wide-title { min-height: 260px; padding: 48px 0; }
  .mi-story-row__media, .mi-story-row--reverse .mi-story-row__media { height: 400px; }
  .mi-story-row__copy h2, .mi-faq-group h2, .mi-contact-band h2, .mi-policy-section h2, .mi-returns-faq > h2, .mi-contact-form-section h2, .mi-direct-contact h2, .mi-size-chart h2, .mi-size-help h2, .mi-product-story h2, .mi-product-review-stage h2 { font-size: 38px; line-height: 42px; }
  .mi-return-steps article { padding: 48px 30px; }
  .mi-review-summary { grid-template-columns: 1fr; }
  .mi-rating-bars { margin-top: 32px; }
  .mi-reviews-feed { min-height: 0; width: calc(100% - 40px); }
  .mi-contact-form-section { width: 100%; }
  .mi-contact-form-section form { grid-template-columns: 1fr; }
  .mi-contact-form-section label:last-of-type { grid-column: 1; }
  .mi-direct-contact > div { width: calc(100% - 48px); }
  .mi-size-chart { min-height: 1000px; padding-left: 24px; padding-right: 24px; }
  .single-product .mi-commerce-main > .woocommerce, .single-product .mi-commerce-main > div.product { width: calc(100% - 40px); }
  .mi-hero-copy { bottom: 26px; height: 400px; justify-content: flex-end; padding: 0; right: 0; top: auto; width: 100%; }
  .mi-hero h1 { font-size: 44px !important; line-height: 50px; white-space: normal; }
  .mi-hero p:not(.mi-eyebrow) { font-size: 18px !important; line-height: 27px; max-width: none; padding: 0 22px; width: 100%; }
  .mi-hero .wp-block-buttons { margin-left: auto; margin-right: auto; width: calc(100% - 40px); }
  .mi-hero .wp-block-button__link { font-size: 18px !important; }
  .mi-home-actions { gap: 11px; }
  .mi-home-actions svg { height: 18px; width: 18px; }
}

.mi-product-carousel.mi-reference-carousel > .mi-carousel-viewport { margin-left: 0; margin-right: 0; max-width: none; width: 100%; }
.mi-product-carousel.mi-reference-carousel > .mi-carousel-controls { max-width: 1500px; }
@media (max-width: 900px) {
  .mi-product-carousel.mi-reference-carousel { height: 718px; min-height: 0; padding: 0 0 50px; }
}

/* Full-site reference navigation */
.site-header { overflow: visible; }
.mi-home-links { align-self: stretch; gap: 0; }
.mi-nav-item { align-items: center; display: flex; height: 100%; margin-right: 40px; position: static; }
.mi-nav-trigger, .mi-nav-trigger:hover { align-items: center; background: transparent; border: 0; color: inherit; cursor: pointer; display: flex; font-family: "Muli",sans-serif; font-size: 15px; font-weight: 700; gap: 8px; letter-spacing: 0; line-height: 24px; padding: 0; text-transform: none; white-space: nowrap; }
.mi-nav-trigger span { font-size: 18px; margin: 0; transition: transform .2s ease; }
.mi-nav-item.is-open .mi-nav-trigger span, .mi-nav-item:focus-within .mi-nav-trigger span { transform: rotate(180deg); }
.mi-nav-sale { align-items: center; display: flex; font-size: 15px !important; font-weight: 700; height: 100%; }
.mi-mega-menu { background: #fff; border-top: 1px solid #dfe7e6; box-shadow: 0 16px 28px rgba(33,61,64,.05); color: #2a555a; left: 50%; opacity: 0; overflow: hidden; pointer-events: none; position: absolute; top: 100px; transform: translate(-50%,-8px); transition: opacity .18s ease,transform .18s ease,visibility .18s; visibility: hidden; width: 100vw; z-index: 40; }
.mi-nav-item.is-open > .mi-mega-menu, .mi-nav-item:focus-within > .mi-mega-menu { opacity: 1; pointer-events: auto; transform: translate(-50%,0); visibility: visible; }
.mi-mega-menu a { color: #2a555a !important; }
.site-header.mi-mega-open { background: #fff !important; border-bottom-color: transparent; }
.site-header.mi-mega-open .mi-home-nav-shell, .site-header.mi-mega-open .mi-nav-trigger, .site-header.mi-mega-open .mi-home-actions, .site-header.mi-mega-open .mi-home-actions a, .site-header.mi-mega-open .mi-home-logo, .site-header.mi-mega-open .mi-nav-sale { color: #2a555a !important; }
.mi-mega-menu--shop { min-height: 693px; padding: 30px 0; }
.mi-mega-shop-grid { display: grid; gap: 40px; grid-template-columns: 240px 300px minmax(0,1fr); margin: auto; max-width: 1500px; min-height: 633px; width: calc(100% - 80px); }
.mi-mega-link-column h2 { font-family: "Muli",sans-serif; font-size: 18px; font-weight: 700; line-height: 29px; margin: 0 0 18px; }
.mi-mega-link-column ul { list-style: none; margin: 0 0 20px; padding: 0; }
.mi-mega-link-column li { line-height: 35px; }
.mi-mega-link-column li a { color: #789497 !important; font-size: 17px; font-weight: 400; }
.mi-mega-link-column a:hover { color: #142f32 !important; }
.mi-mega-link-column--short h2 { margin-bottom: 20px; }
.mi-mega-collage { display: grid; gap: 16px; grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; height: 633px; }
.mi-mega-collage a { border-radius: 5px; display: block; overflow: hidden; position: relative; }
.mi-mega-collage-main { grid-row: 1 / 3; }
.mi-mega-collage img { height: 100%; object-fit: cover; transition: transform .4s ease; width: 100%; }
.mi-mega-collage a:hover img { transform: scale(1.02); }
.mi-mega-collage a::after { background: linear-gradient(0deg,rgba(13,28,30,.48),transparent 55%); content: ''; inset: 0; position: absolute; }
.mi-mega-collage a > span { bottom: 18px; color: #fff; font-size: 18px; font-weight: 700; left: 18px; line-height: 1.35; position: absolute; z-index: 2; }
.mi-mega-collage a > span small { font-size: 13px; }
.mi-mega-menu--products { min-height: 714px; padding: 30px 0 28px; }
.mi-mega-product-grid { display: grid; gap: 16px; grid-template-columns: repeat(4,minmax(0,1fr)); margin: auto; max-width: 1460px; width: calc(100% - 80px); }
.mi-mega-product { min-width: 0; }
.mi-mega-product__image { background: #f4f1ef; display: block; height: 472px; overflow: hidden; }
.mi-mega-product__image img { height: 100%; object-fit: cover; transition: transform .35s ease; width: 100%; }
.mi-mega-product:hover .mi-mega-product__image img { transform: scale(1.015); }
.mi-mega-product__meta { align-items: center; display: flex; gap: 6px; height: 38px; justify-content: flex-start; padding-top: 10px; }
.mi-mega-stars { color: #efb12d; font-size: 15px; letter-spacing: 1px; }
.mi-mega-product__meta small { color: #2a555a; font-size: 13px; }
.mi-mega-badge { background: #2a555a; border-radius: 99px; color: #fff; font-size: 10px; font-weight: 700; line-height: 20px; padding: 0 9px; }
.mi-mega-product__title { display: block; font-size: 15px; font-weight: 700; line-height: 22px; margin-bottom: 7px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mi-mega-product p { color: #41666a; font-size: 15px; line-height: 24px; margin: 0; }
.mi-mega-view-all { align-items: center; display: flex; font-size: 18px !important; font-weight: 700 !important; gap: 12px; justify-content: center; margin: 31px auto 0; width: max-content; }
.mi-mega-view-all span { align-items: center; background: #eef2f2; border-radius: 50%; display: flex; height: 24px; justify-content: center; width: 24px; }

/* Reference-aligned WooCommerce product page */
.single-product .mi-commerce-main { padding-bottom: 0; padding-top: 0; }
.single-product .mi-commerce-main > div.product { column-gap: 95px; grid-template-columns: minmax(0,774px) minmax(420px,632px); min-height: 960px; padding-top: 64px; row-gap: 0; }
.single-product .mi-product-gallery { display: grid; gap: 48px; grid-template-columns: 65px minmax(0,1fr); width: 100% !important; }
.mi-product-thumbs { display: flex; flex-direction: column; gap: 16px; }
.mi-product-thumbs button { background: #f4f1ef; border: 0; border-bottom: 2px solid transparent; border-radius: 5px; cursor: pointer; height: 80px; overflow: hidden; padding: 0; width: 65px; }
.mi-product-thumbs button.is-active { border-bottom-color: #2a555a; }
.mi-product-thumbs img { height: 100% !important; object-fit: cover; width: 100% !important; }
.mi-product-main-image { background: #f4f1ef; border-radius: 10px; height: 827px; overflow: hidden; position: relative; }
.mi-product-main-image > img { height: 100% !important; object-fit: cover; transition: opacity .18s ease; width: 100% !important; }
.mi-product-main-image.is-zoomed > img { cursor: zoom-out; transform: scale(1.55); }
.mi-gallery-zoom, .mi-gallery-zoom:hover { align-items: center; background: #fff; border: 0; border-radius: 50%; bottom: 30px; color: #2a555a; display: flex; font-size: 27px; height: 44.8px; justify-content: center; letter-spacing: 0; padding: 0; position: absolute; right: 30px; text-transform: none; top: auto; width: 44.8px; }
.single-product div.product .summary { padding-top: 0; }
.single-product div.product .product_title { color: #2a555a; font-size: 48px; line-height: 52.8px; margin: 0 0 22px; max-width: 620px; }
.mi-product-labels { display: flex; gap: 24px; margin: 0 0 20px; }
.mi-product-labels span { color: #111; font-size: 11px; font-weight: 700; }
.single-product div.product p.price { color: #2a555a; font-size: 20px; line-height: 30px; margin: 0 0 25px; }
.mi-product-rating { align-items: center; color: #2a555a; display: flex; gap: 8px; margin-bottom: 26px; }
.mi-product-rating span { color: #efb12d; font-size: 19px; letter-spacing: 1px; }
.mi-product-rating strong { font-size: 14px; }
.mi-product-rating em { font-size: 15px; font-style: normal; }
.mi-product-options { margin: 0 0 24px; }
.mi-option-head { color: #789497; display: flex; font-size: 15px; justify-content: space-between; margin-bottom: 13px; }
.mi-option-head strong { color: #41666a; font-weight: 400; margin-left: 6px; }
.mi-option-head a { color: #789497; font-size: 13px; text-decoration: underline; }
.mi-product-swatches { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 30px; }
.mi-product-swatches button { background: var(--swatch); border: 1px solid #dbe3e2; border-radius: 50%; cursor: pointer; height: 30px; padding: 0; position: relative; width: 30px; }
.mi-product-swatches button[aria-pressed="true"]::after { border: 2px solid #2a555a; border-radius: 50%; content: ''; inset: -5px; position: absolute; }
.mi-size-head { margin-top: 4px; }
.mi-product-sizes { display: flex; gap: 8px; }
.mi-product-sizes button, .mi-product-sizes button:hover { background: #fff; border: 1px solid #dbe3e2; border-radius: 99px; color: #41666a; cursor: pointer; letter-spacing: 0; min-width: 108px; padding: 13px 22px; text-transform: none; }
.mi-product-sizes button[aria-pressed="true"] { border: 2px solid #2a555a; padding: 12px 21px; }
.single-product div.product form.cart { display: grid; gap: 13px 10px; grid-template-columns: 152px 1fr; margin: 27px 0 22px; }
.single-product div.product form.cart::before { color: #789497; content: 'Quantity:'; font-size: 15px; grid-column: 1 / -1; }
.single-product div.product form.cart .quantity { align-items: center; border: 1px solid #dbe3e2; border-radius: 99px; display: grid; grid-template-columns: 58px 34px 58px; height: 52px; overflow: hidden; width: 152px; }
.single-product div.product form.cart .quantity input { appearance: textfield; border: 0; height: 50px; padding: 0; width: 100%; }
.single-product div.product form.cart .quantity input::-webkit-outer-spin-button, .single-product div.product form.cart .quantity input::-webkit-inner-spin-button { appearance: none; margin: 0; }
.mi-qty-button { background: transparent; border: 0; color: #2a555a; cursor: pointer; font-size: 21px; height: 50px; padding: 0; }
.single-product div.product form.cart .single_add_to_cart_button { background: #2a555a; border: 0; border-radius: 28px; color: #fff; font-size: 15px; font-weight: 700; min-height: 52px; text-transform: none; }
.single-product div.product form.cart .single_add_to_cart_button:hover { background: #21464a; }
.mi-product-assurances { border-top: 1px solid #dbe3e2; margin-top: 34px; }
.mi-product-assurances details { border-bottom: 1px solid #dbe3e2; }
.mi-product-assurances summary { align-items: center; color: #2a555a; cursor: pointer; display: flex; font-weight: 700; justify-content: space-between; list-style: none; min-height: 62px; }
.mi-product-assurances summary::-webkit-details-marker { display: none; }
.mi-product-assurances summary span { font-size: 22px; font-weight: 400; transition: transform .2s ease; }
.mi-product-assurances details[open] summary span { transform: rotate(45deg); }
.mi-product-assurances p { color: #617a7d; margin: -4px 45px 22px 0; }
.mi-product-benefit-rail { background: #2b2522; color: #fff; display: grid; grid-template-columns: repeat(4,1fr); min-height: 90px; }
.mi-product-benefit-rail div { align-items: center; border-right: 1px solid rgba(255,255,255,.16); display: flex; flex-direction: column; justify-content: center; }
.mi-product-benefit-rail strong { font-size: 13px; letter-spacing: .04em; }
.mi-product-benefit-rail span { font-size: 12px; margin-top: 2px; }
.single-product .mi-product-story, .single-product .mi-product-detail-presentation, .single-product .mi-product-one-piece, .single-product .mi-product-review-stage, .single-product .mi-product-benefit-rail, .single-product .mi-reference-carousel { grid-column: 1 / -1; margin-left: calc((1500px - 100vw)/2); margin-right: calc((1500px - 100vw)/2); width: auto; }
.mi-product-story { min-height: 610px; }
.mi-product-story > div:first-child { padding-left: max(60px,calc((100vw - 1500px)/2)); padding-right: 9vw; }
.mi-product-story-media { overflow: hidden; }
.mi-product-story-media img { transition: transform .6s ease; }
.mi-product-story:hover .mi-product-story-media img { transform: scale(1.018); }
.mi-text-link { border-bottom: 1px solid; color: #2a555a; margin-top: 8px; width: max-content; }
.mi-product-detail-presentation { background: #fff; min-height: 760px; padding: 100px max(40px,calc((100vw - 1500px)/2)); }
.mi-product-detail-presentation > header { margin: 0 auto 64px; max-width: 780px; text-align: center; }
.mi-product-detail-presentation h2 { color: #2a555a; font-size: 48px; line-height: 52.8px; margin: 0 0 18px; }
.mi-detail-grid { display: grid; gap: 20px; grid-template-columns: repeat(4,1fr); }
.mi-detail-grid article { background: #f4f6f6; min-height: 330px; padding: 36px 30px; }
.mi-detail-grid article span { color: #e3a58c; font-family: "Halant",serif; font-size: 44px; }
.mi-detail-grid h3 { color: #2a555a; font-size: 27px; line-height: 34px; margin: 70px 0 16px; }
.mi-detail-grid p { color: #617a7d; line-height: 25px; }
.mi-product-one-piece { background: #f6f1ec; display: grid; grid-template-columns: 1fr 1fr; min-height: 620px; }
.mi-product-one-piece > div { align-self: center; padding: 80px 8vw 80px max(40px,calc((100vw - 1500px)/2)); }
.mi-product-one-piece h2 { color: #2a555a; font-size: 54px; line-height: 1.05; margin: 0 0 26px; }
.mi-product-one-piece > img { height: 620px; object-fit: cover; width: 100%; }
.mi-product-review-stage { min-height: 1020px; }
.mi-review-overview { align-items: center; background: #fff; display: grid; grid-template-columns: 1fr 1.2fr .8fr; margin: 0 auto 52px; max-width: 1200px; min-height: 210px; padding: 34px 56px; }
.mi-review-overview > div:first-child strong { color: #2a555a; font-family: "Halant",serif; font-size: 54px; font-weight: 400; margin-right: 12px; }
.mi-review-stars { color: #efb12d; font-size: 18px; letter-spacing: 2px; }
.mi-review-overview > div:first-child p { margin: 3px 0 0; }
.mi-review-bars p { align-items: center; display: grid; gap: 12px; grid-template-columns: 12px 1fr 45px; margin: 5px 0; }
.mi-review-bars i { background: #e1e8e7; height: 7px; }
.mi-review-bars b { background: #2a555a; display: block; height: 100%; }
.mi-review-bars em { font-size: 11px; font-style: normal; }
.mi-review-overview > div:last-child { display: grid; gap: 12px; }
.mi-review-overview .button { background: #d9f0e8; color: #41666a; font-size: 13px; font-weight: 700; padding: 11px; text-align: center; text-transform: uppercase; }

@media (max-width: 900px) {
  .site-header { height: 82px; }
  .mi-home-links { align-content: start; background: #fff; box-shadow: none; display: none; height: calc(100vh - 82px); left: 0; overflow-y: auto; padding: 8px 20px 30px; position: absolute; top: 82px; width: min(420px,100vw); }
  .mi-menu-open .mi-home-links { display: block; padding: 8px 20px 30px; width: min(420px,100vw); }
  .mi-nav-item { border-bottom: 1px solid #e4ebea; display: block; height: auto; margin: 0; }
  .mi-nav-trigger, .mi-nav-sale { color: #2a555a !important; font-size: 16px !important; justify-content: space-between; min-height: 58px; width: 100%; }
  .mi-mega-menu { border: 0; box-shadow: none; display: none; min-height: 0; opacity: 1; overflow: visible; padding: 0 0 24px; pointer-events: auto; position: static; transform: none; visibility: visible; width: 100%; }
  .mi-nav-item.is-open > .mi-mega-menu { display: block; }
  .mi-mega-shop-grid { display: block; min-height: 0; width: 100%; }
  .mi-mega-link-column h2 { font-size: 16px; margin: 13px 0; }
  .mi-mega-link-column li { line-height: 34px; }
  .mi-mega-link-column li a { font-size: 15px; }
  .mi-mega-collage, .mi-mega-link-column--short { display: none; }
  .mi-mega-product-grid { display: flex; gap: 12px; overflow-x: auto; width: 100%; }
  .mi-mega-product { flex: 0 0 220px; }
  .mi-mega-product__image { height: 285px; }
  .mi-mega-product p { display: none; }
  .mi-mega-view-all { justify-content: flex-start; margin: 22px 0 0; }
  .single-product .mi-commerce-main > div.product { display: block; min-height: 0; padding-top: 20px; width: calc(100% - 40px); }
  .single-product .mi-product-gallery { display: flex; flex-direction: column-reverse; gap: 14px; }
  .mi-product-thumbs { flex-direction: row; gap: 9px; overflow-x: auto; }
  .mi-product-thumbs button { flex: 0 0 60px; height: 70px; }
  .mi-product-main-image { height: min(118vw,620px); }
  .single-product div.product .summary { padding: 38px 0 0; }
  .single-product div.product .product_title { font-size: 38px; line-height: 43px; }
  .mi-product-swatches { gap: 14px; }
  .single-product div.product form.cart { grid-template-columns: 130px 1fr; }
  .single-product div.product form.cart .quantity { width: 130px; }
  .mi-product-benefit-rail { grid-template-columns: 1fr 1fr; }
  .mi-product-benefit-rail div { border-bottom: 1px solid rgba(255,255,255,.16); min-height: 82px; }
  .single-product .mi-product-story, .single-product .mi-product-detail-presentation, .single-product .mi-product-one-piece, .single-product .mi-product-review-stage, .single-product .mi-product-benefit-rail, .single-product .mi-reference-carousel { margin-left: -20px; margin-right: -20px; }
  .mi-product-story, .mi-product-one-piece { grid-template-columns: 1fr; }
  .mi-product-story > div:first-child, .mi-product-one-piece > div { padding: 60px 24px; }
  .mi-product-story-media img, .mi-product-one-piece > img { height: 420px; }
  .mi-product-detail-presentation { padding: 70px 20px; }
  .mi-detail-grid { display: flex; overflow-x: auto; }
  .mi-detail-grid article { flex: 0 0 78vw; }
  .mi-review-overview { gap: 28px; grid-template-columns: 1fr; padding: 32px 24px; }
}

/* Imported product description (source body_html) */
.mi-product-assurances .mi-product-description { color: #617a7d; margin: -4px 0 22px; }
.mi-product-description p { margin: 0 0 12px; }
.mi-product-description h4 { color: #2a555a; font-family: Halant, Georgia, serif; font-size: 20px; margin: 18px 0 10px; }
.mi-product-description ul { list-style: disc; margin: 0 0 14px; padding-left: 20px; }
.mi-product-description li { margin-bottom: 6px; }
.mi-product-description strong { color: #2a555a; }
/* Product galleries with many images: keep the thumbnail rail scrollable, matched to the main image height */
.mi-product-thumbs { max-height: 827px; overflow-y: auto; padding-right: 4px; scrollbar-width: thin; }
.mi-product-thumbs::-webkit-scrollbar { width: 6px; }
.mi-product-thumbs::-webkit-scrollbar-thumb { background: #cdd8d7; border-radius: 3px; }
.mi-product-thumbs::-webkit-scrollbar-track { background: transparent; }
/* Coobie brand logo + size chart images */
.mi-home-logo { line-height: 1; text-decoration: none; }
.mi-logo-wordmark { display: block; font-family: "Halant", Georgia, serif; font-size: 42px; font-weight: 600; letter-spacing: -.045em; line-height: .8; }
.mi-size-chart-images { display: grid; gap: 24px; grid-template-columns: repeat(3,1fr); }
.mi-size-chart-images img { border-radius: 8px; height: auto; width: 100%; }
/* Reference hero banner (single image, copy is baked into the artwork) */
.mi-hero--banner { background: #c99d7e; display: block; margin: 0; overflow: hidden; padding: 0; position: relative; width: 100%; }
.mi-hero--banner::after { content: none; }
.mi-hero--banner .mi-hero-banner-img, .mi-hero--banner figure { margin: 0; max-width: none; width: 100%; }
.mi-hero--banner a { display: block; height: 100%; width: 100%; }
.mi-hero--banner img { display: block; height: 100%; object-fit: cover; object-position: center center; width: 100%; }
@media (max-width: 1023px) { .mi-hero--banner img { height: auto; min-height: 0; } }
/* Hero banner: lock to the reference artwork ratio so it never crops */
.mi-hero--banner { aspect-ratio: 1980 / 970 !important; height: auto !important; min-height: 0 !important; }
.mi-hero--banner img { height: 100% !important; object-fit: cover; width: 100% !important; }
/* Header fit on narrow desktops + kill page-level horizontal scroll (reference has none) */
@media (min-width: 1024px) and (max-width: 1439px) {
  .mi-home-nav-shell { padding-left: 20px; padding-right: 20px; }
  .mi-home-actions { gap: 14px; }
  .mi-home-links { gap: 16px; }
  .mi-home-links .mi-nav-trigger, .mi-home-links a { font-size: 14px; }
}
html { overflow-x: clip; }
/* Narrow desktop header: match reference by collapsing the currency chip (frees the row) */
@media (min-width: 1024px) and (max-width: 1439px) { .mi-home-actions .mi-currency { display: none; } }
/* Collection banner + fixed home blocks (reference content) */
.mi-collection-banner { background: #fff7f0; padding: 44px 20px 26px; text-align: center; }
.mi-collection-eyebrow { color: #2a555a; font-family: "Halant",Georgia,serif; font-size: 40px; letter-spacing: .06em; margin: 0 0 8px; text-transform: uppercase; }
.mi-collection-desc { color: #617a7d; font-size: 18px; margin: 0; }
.mi-review-sub { color: #617a7d; margin: -8px 0 26px; }
.mi-proof-logo img { height: 26px; width: auto; }
.mi-press-track { display: flex; gap: 44px; margin: 0 auto; max-width: 1200px; overflow-x: auto; padding: 0 20px; }
.mi-press-track article { flex: 0 0 auto; max-width: 300px; text-align: center; }
.mi-press-track blockquote { font-size: 17px; line-height: 26px; margin: 0 0 16px; }
.mi-press-track img { display: block; height: 30px; margin: 0 auto; width: auto; }
.mi-icon-strip b img { height: 30px; width: auto; }

/* Reference mobile geometry. Kept at the end so legacy mobile rules cannot
   reintroduce the oversized header, cards, footer or navigation rows. */
@media (max-width: 767px) {
  body,
  body button,
  body input,
  body select,
  body textarea { font-size: 14px; line-height: 22.4px; }

  body .mi-announcement { gap: 8px; grid-template-columns: 24px minmax(0,1fr) 24px; height: 42.4px; min-height: 42.4px; padding: 0; }
  body .mi-announcement__viewport { height: 22.4px; }
  body .mi-announcement__slide { font-size: 14px; line-height: 22.4px; }
  body .mi-announcement__button { font-size: 22px; height: 22.4px; width: 24px; }

  body .site-header,
  body .mi-home-nav-shell { height: 62.656px; }
  body.home .mi-announcement + .site-header { top: 42.4px; }
  body.home .site-header.is-scrolled,
  body.home .site-header.is-overlay.is-scrolled { top: 0; }
  body .mi-home-nav-shell { grid-template-columns: 1fr auto 1fr; padding: 0 20px; }
  body .mi-home-logo { grid-column: 2; }
  body .mi-logo-wordmark { font-size: 34px; }
  body .mi-menu-toggle { height: 40px; width: 24px; }
  body .mi-menu-toggle span { height: 1px; margin: 3px 0; width: 22px; }
  body.mi-menu-open .mi-menu-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  body.mi-menu-open .mi-menu-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  body .mi-home-actions { gap: 12px; }
  body .mi-home-actions .mi-search-link { left: 52px; }
  body .mi-home-actions .mi-cart-link { align-items: center; display: flex !important; justify-content: center; }
  body .mi-home-actions svg { height: 21px; width: 21px; }

  /* Inset drawer used by the reference mobile navigation. */
  body #site-menu.mi-home-links { border-radius: 4px; max-width: none; }
  html body.mi-menu-open #site-menu.mi-home-links {
    bottom: 8px !important;
    height: calc(100dvh - 16px) !important;
    left: 8px !important;
    top: 8px !important;
    width: calc(100% - 16px) !important;
  }
  body #site-menu .mi-mobile-nav-head { border: 0; height: 82px; padding: 0; position: relative; z-index: 5; }
  body #site-menu .mi-mobile-nav-head strong { display: none; }
  body #site-menu .mi-mobile-nav-close {
    align-items: center;
    background: #fff;
    border: 1px solid #d9e1e0;
    border-radius: 50%;
    display: flex;
    font-size: 22px;
    height: 40px;
    justify-content: center;
    left: 24px;
    line-height: 1;
    padding: 0 0 2px;
    position: absolute;
    top: 24px;
    width: 40px;
  }
  body #site-menu .mi-nav-item { border: 0; margin: 0 24px; }
  body #site-menu .mi-nav-trigger,
  body #site-menu .mi-nav-sale {
    border: 0;
    color: #2a555a !important;
    font-family: "Halant",Georgia,serif;
    font-size: 24px !important;
    font-weight: 400;
    height: 45.6px !important;
    line-height: 28.8px;
    min-height: 45.6px;
    padding: 0;
  }
  body #site-menu .mi-nav-trigger span {
    align-items: center;
    background: #eef2f2;
    border-radius: 50%;
    display: flex;
    font-family: "Muli",sans-serif;
    font-size: 17px;
    height: 24px;
    justify-content: center;
    transform: rotate(-90deg);
    width: 24px;
  }
  body #site-menu .mi-nav-sale { display: flex; margin: 0 24px; width: calc(100% - 48px); }
  body #site-menu .mi-mega-menu,
  body #site-menu .mi-nav-item.is-open > .mi-mega-menu,
  body #site-menu .mi-nav-item:focus-within > .mi-mega-menu { border-radius: 4px; padding: 0 24px 32px; }
  body #site-menu .mi-mobile-panel-back {
    align-items: center;
    border: 0;
    font-family: "Halant",Georgia,serif;
    font-size: 16px;
    font-weight: 400;
    height: 22.390625px;
    line-height: 22.4px;
    margin: 88px 0 16px;
    padding: 0;
    text-transform: none;
    width: auto;
  }
  body #site-menu .mi-mobile-panel-back span,
  body #site-menu .mi-mobile-shop-bras-back span {
    display: block;
    font-size: 0;
    height: 10px;
    margin-left: 0;
    position: relative;
    width: 7px;
  }
  body #site-menu .mi-mobile-panel-back span::before,
  body #site-menu .mi-mobile-shop-bras-back span::before {
    border-bottom: 1.5px solid currentColor;
    border-left: 1.5px solid currentColor;
    content: '';
    display: block;
    height: 5.5px;
    transform: translate(2px,2px) rotate(45deg);
    width: 5.5px;
  }
  body #site-menu .mi-mega-menu--shop > .mi-mega-shop-grid { display: none; }
  body #site-menu .mi-mobile-shop-root { display: block; }
  body #site-menu .mi-mobile-shop-list { gap: 16px; }
  body #site-menu .mi-mobile-shop-link { border: 0; color: #2a555a; font-family: "Halant",Georgia,serif; font-size: 24px; font-weight: 400; letter-spacing: normal; line-height: 28.8px; min-height: 28.8px; padding: 0; text-transform: none; white-space: normal; }
  body #site-menu .mi-mobile-shop-link > span:first-child { font: inherit; letter-spacing: inherit; margin-left: 0; }
  body #site-menu .mi-mobile-shop-promos { gap: 20px; margin-top: 24px; }
  body #site-menu .mi-mobile-shop-promos > a { border: 0; padding: 0; white-space: normal; }
  body #site-menu .mi-mobile-shop-promos > a > span { margin-left: 0; }
  body #site-menu .mi-mobile-shop-bras-panel { padding: 0 24px 32px; }
  body #site-menu .mi-mobile-shop-bras-back { height: 22.390625px; margin: 88px 0 16px; }
  body #site-menu .mi-mega-link-column h2 { font-family: "Halant",Georgia,serif; font-size: 24px; font-weight: 400; line-height: 28.8px; margin: 0 0 20px; }
  body #site-menu .mi-mega-link-column li { line-height: 35px; }
  body #site-menu .mi-mega-link-column li a { font-size: 14px; }
  body #site-menu .mi-mobile-nav-utilities {
    bottom: 16px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 64px 44px;
    left: 24px;
    margin: 0;
    padding: 0;
    position: absolute;
    right: 24px;
  }
  body #site-menu .mi-mobile-social { align-items: flex-start; border-bottom: 1px solid #d9e1e0; display: flex; gap: 18px; grid-column: 1 / -1; grid-row: 1; padding: 0 0 20px; }
  body #site-menu .mi-mobile-nav-utilities > a,
  body #site-menu .mi-mobile-country { border: 0; font-size: 13px; min-height: 44px; }
  body #site-menu .mi-mobile-nav-utilities > a { grid-column: 2; grid-row: 2; justify-self: end; }
  body #site-menu .mi-mobile-country { grid-column: 1; grid-row: 2; }

  /* Reference footer: two link columns, info row, then the full-width signup. */
  body .site-footer { height: 1103.6px !important; min-height: 1103.6px !important; padding: 48px 0 !important; }
  body .site-footer .mi-footer-shell { width: calc(100% - 40px); }
  body .site-footer .mi-footer-grid { align-content: start; gap: 36px 20px; grid-template-columns: 1fr 1fr; height: auto; margin: 0 0 60.6px; }
  body .site-footer .mi-footer-column h2 { font-size: 14px; line-height: 22.4px; margin-bottom: 24px; }
  body .site-footer .mi-footer-column ul { gap: 12px; }
  body .site-footer .mi-footer-column li { line-height: 22.4px; }
  body .site-footer .mi-footer-column a,
  body .site-footer .mi-footer-signup p,
  body .site-footer .mi-footer-signup a { font-size: 14px; line-height: 22.4px; }
  body .site-footer .mi-footer-signup { grid-column: 1 / -1; }
  body .site-footer .mi-footer-signup h2 { font-size: 24px; letter-spacing: -.24px; line-height: 28.8px; margin-bottom: 24px; }
  body .site-footer .mi-footer-signup form { height: 52px; margin-top: 24px; max-width: 100%; width: 100%; }
  body .site-footer .mi-footer-signup input[type="email"] { font-size: 14px; height: 52px; padding: 14px 56px 14px 16px; width: 100%; }
  body .site-footer .mi-footer-signup button { right: 16px; top: 14px; }
  body .site-footer .mi-footer-meta { height: 175px; min-height: 175px; }
  body .site-footer .mi-footer-country { top: 52px; }
  body .site-footer .mi-payment-icons { bottom: 28px; }
}

/* Keep the returns FAQ single-column after the older shared page rules. */
@media (min-width: 901px) {
  .mi-returns-page .mi-returns-faq { box-sizing: border-box; display: block; gap: 0; grid-template-columns: none; height: 705.796875px; margin: 0 auto; max-width: 900px; min-height: 0; padding: 0 0 80px; width: 900px; }
}
@media (max-width: 900px) {
  .mi-returns-page .mi-returns-faq { box-sizing: border-box; display: block; gap: 0; grid-template-columns: none; height: auto; margin: 0; max-width: none; min-height: 0; padding: 0 20px 40px; width: 100%; }
  .mi-returns-page .mi-returns-faq > h2 { font-size: 32px; line-height: 35.2px; margin: 0; }
}
