/* Clear purchase details without changing the checkout calculations. */
.md-footer .md-footer-operator{font-size:14px;line-height:1.65;margin-top:20px;color:#b7c6d1}
.md-footer .md-footer-operator span,.md-footer .md-footer-operator strong{display:block}
.md-footer .md-footer-operator a{display:inline-block;font-size:14px;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px}
.md-purchase-help{border-top:1px solid var(--md-line);padding-top:18px;margin-top:24px;font-size:15px;line-height:1.6}
.md-purchase-help p{margin:0 0 6px}
.md-purchase-help a{display:inline-block;margin:0 18px 6px 0;color:#ffc299;text-decoration:underline;text-underline-offset:3px}
.md-checkout-information-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,1fr);gap:28px;align-items:start}
.md-checkout-information-layout .md-checkout-information-form{min-width:0;margin:0;max-width:none}
.md-information-order{position:sticky;top:24px;padding:22px}
.md-information-order summary{font-size:19px;font-weight:650;line-height:1.5;cursor:pointer;color:#f5f7f9}
.md-information-order summary::marker{color:var(--md-orange)}
.md-information-order .md-summary-overview{display:block;margin-top:6px;font-size:15px;font-weight:400;color:#b7c6d1}
.md-information-order[open] .md-summary-overview{display:none}
.md-information-order ul{list-style:none;margin:20px 0;padding:0}
.md-information-order li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;padding:14px 0;border-bottom:1px solid var(--md-line);font-size:15px;line-height:1.55}
.md-information-order li img{width:64px;height:72px;object-fit:contain;background:#fff;border-radius:6px}
.md-information-order li strong{display:block;font-size:16px;line-height:1.45}
.md-information-order li .variation{margin:4px 0;font-size:14px}
.md-information-order li .variation dt,.md-information-order li .variation dd,.md-information-order li .variation p{display:inline;margin:0 4px 0 0;float:none}
.md-information-order .md-summary-line-price{display:block;margin-top:4px;font-weight:600}
.md-information-order dl.md-summary-totals{margin:18px 0}
.md-summary-totals>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin:12px 0;font-size:15px;line-height:1.55}
.md-summary-totals dt{font-weight:400;max-width:72%}
.md-summary-totals dd{margin:0;text-align:right;font-weight:600}
.md-summary-totals>div:first-child{font-size:17px}
.md-information-order .md-summary-note{font-size:14px;line-height:1.65;color:#b7c6d1;margin:12px 0}
.md-information-order .md-summary-edit{font-size:15px;color:#ffc299;text-decoration:underline;text-underline-offset:3px}
.md-preorder-overview{font-size:16px;line-height:1.75;max-width:1040px}
.md-preorder-overview h2{font-size:26px;line-height:1.3;margin-top:36px}
.md-preorder-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;list-style:none;padding:0;margin:28px 0 32px;counter-reset:preorder}
.md-preorder-steps li{background:#0b1a27;border:1px solid var(--md-line);padding:24px;border-radius:8px;counter-increment:preorder}
.md-preorder-steps li:before{content:'0' counter(preorder);display:block;color:#ffad7d;font-size:20px;font-weight:650;margin-bottom:12px}
.md-preorder-steps h2{margin:0 0 12px;font-size:20px;line-height:1.4}
.md-preorder-steps p{margin:0;font-size:16px;line-height:1.7}
.md-preorder-overview a:not(.md-button){text-decoration:underline;text-underline-offset:3px}
.md-preorder-overview .md-button{white-space:normal;line-height:1.5}
@media(max-width:900px){.md-checkout-information-layout{grid-template-columns:1fr;gap:24px}.md-information-order{position:static;grid-row:1}.md-preorder-steps{grid-template-columns:1fr}.md-preorder-steps li{padding:22px}.md-information-order{padding:20px}}


/* Source: global-design.css */
/* Shared visual language. No content, transaction or gallery geometry changes. */
:root {
  --md-design-bg: #10130f;
  --md-design-panel: #191e17;
  --md-design-raised: #242b20;
  --md-design-line: #394232;
  --md-design-ink: #f5f3eb;
  --md-design-muted: #bdc5b5;
  --md-bg: var(--md-design-bg);
  --md-panel: var(--md-design-panel);
  --md-line: var(--md-design-line);
  --md-ink: var(--md-design-ink);
  --md-muted: var(--md-design-muted);
}
body { color: var(--md-design-ink); background: var(--md-design-bg); }
.md-site { background: radial-gradient(ellipse 75% 580px at 72% 80px, #6c704018, transparent), var(--md-design-bg); }
.md-site .md-header, .md-site .md-main, .md-site .md-footer { width: min(1320px, calc(100% - 80px)); }
.md-site .md-header { min-height: 88px; gap: 28px; border-color: var(--md-design-line); }
.md-site .md-brand { letter-spacing: -.045em; }
.md-site .md-nav { font-size: 15px; gap: 28px; }
.md-site .md-header-actions { gap: 16px; font-size: 14px; }
.md-site .md-header-actions .md-button { font-size: 14px; }
.md-site .md-locale-options { background: var(--md-design-panel); border-color: var(--md-design-line); font-size: 15px; }
.md-site .md-locale-options a:hover { background: var(--md-design-raised); }
.md-site .md-button { min-height: 48px; border-radius: 10px; font-size: 15px; line-height: 1.45; letter-spacing: 0; }
.md-site .md-button-outline { background: transparent; border-color: #66735a; }
.md-site .md-eyebrow { font-size: 14px; line-height: 1.5; letter-spacing: .015em; font-weight: 600; }
.md-site .md-text-link { font-size: 15px; line-height: 1.6; }
.md-site :is(a, button, summary, input, select, textarea):focus-visible { outline: 2px solid #ffb57e; outline-offset: 4px; }
.md-site .md-footer { padding: 48px 0 24px; margin-top: 32px; gap: 36px; grid-template-columns: 1.5fr .7fr 1.1fr 1fr; font-size: 15px; line-height: 1.7; color: var(--md-design-muted); }
.md-site .md-footer > div { min-width: 0; }
.md-site .md-footer > div > strong { font-size: 15px; font-weight: 650; margin: 6px 0 18px; }
.md-site .md-footer a { margin: 9px 0; overflow-wrap: anywhere; }
.md-site .md-footer p { margin: 10px 0; }
.md-site .md-footer .md-footer-operator { font-size: 14px; line-height: 1.7; color: var(--md-design-muted); }
.md-site .md-footer nav[aria-label="Language"] { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 20px; }
.md-site .md-footer nav[aria-label="Language"] a { display: inline-block; margin: 0; font-size: 14px; line-height: 2; }
.md-site .md-footer-bottom { grid-column: 1 / -1; padding-top: 20px; margin-top: 4px; font-size: 13px; line-height: 1.6; }
body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .md-shop-main .woocommerce-products-header { padding: 44px 0 22px; }
body:is(.post-type-archive-product, .tax-product_cat, .tax-product_tag) .md-shop-main .woocommerce-products-header h1 { margin: 0; font-size: clamp(34px, 3.4vw, 48px); font-weight: 650; line-height: 1.15; letter-spacing: -.03em; }
@media (max-width: 1100px) {
  .md-site .md-header, .md-site .md-main, .md-site .md-footer { width: calc(100% - 48px); }
  .md-site .md-header { gap: 18px; }
  .md-site .md-nav { gap: 18px; font-size: 14px; }
  .md-site .md-header-actions { gap: 10px; }
}
@media (max-width: 900px) {
  .md-site .md-header { display: flex; min-height: 76px; gap: 12px; }
  .md-site .md-header .md-brand { flex: 1; font-size: 24px; }
  .md-site .md-menu-toggle { display: block; order: 3; min-height: 44px; padding: 9px 12px; border: 1px solid var(--md-design-line); border-radius: 8px; font-size: 14px; }
  .md-site .md-nav { display: none; position: absolute; top: calc(100% - 1px); left: 0; right: 0; z-index: 25; flex-direction: column; gap: 0; padding: 12px 20px; border: 1px solid var(--md-design-line); border-radius: 12px; background: var(--md-design-panel); font-size: 16px; }
  .md-site .md-nav.is-open { display: flex; }
  .md-site .md-nav a { padding: 14px 0; }
  .md-site .md-header-actions .md-button { display: none; }
  .md-site .md-locale-currency { display: none; }
  .md-site .md-footer { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 24px; }
  .md-site .md-footer > div:first-child { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .md-site .md-header, .md-site .md-main, .md-site .md-footer { width: calc(100% - 36px); }
  .md-site .md-header { gap: 8px; }
  .md-site .md-header .md-brand { font-size: 22px; gap: 4px; }
  .md-site .md-duck { width: 20px; height: 20px; }
  .md-site .md-header-actions { gap: 4px; }
  .md-site .md-locale-menu summary { font-size: 13px; gap: 4px; }
  .md-site .md-locale-menu .md-chevron { display: none; }
  .md-site .md-header .md-cart-link { width: 38px; }
  .md-site .md-menu-toggle { padding: 9px; font-size: 13px; }
  .md-site .md-footer { margin-top: 24px; padding-top: 36px; font-size: 14px; }
}


/* Source: home-design.css */
/* Home and DE/NL landing pages only. Load after existing theme styles. */
.md-home-main,
.md-de-landing {
  --md-home-panel: var(--md-design-panel, #191e18);
  --md-home-line: var(--md-design-line, #394235);
  --md-home-muted: var(--md-design-muted, #bbc3b5);
  --md-home-ink: var(--md-design-ink, #f5f3ed);
  --md-home-space: clamp(52px, 6vw, 88px);
  color: var(--md-home-ink);
  font-size: 17px;
  line-height: 1.7;
  letter-spacing: 0;
}

body.home .md-home-main .md-eyebrow,
.md-de-landing .md-de-kicker {
  margin: 0 0 14px;
  color: #c4cfb8;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .01em;
  text-transform: none;
}

body.home .md-home-main .md-hero {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(24px, 4vw, 60px);
  min-height: 560px;
  padding: 54px 0 40px;
}

body.home .md-home-main .md-hero h1 {
  margin: 18px 0 24px;
  font-size: clamp(50px, 5.2vw, 82px);
  font-weight: 700;
  line-height: 1.06;
  letter-spacing: -.04em;
}

body.home .md-home-main .md-hero-copy > p {
  max-width: 48ch;
  margin: 0 0 30px;
  color: var(--md-home-muted);
  font-size: 18px;
  line-height: 1.7;
}

body.home .md-home-main .md-actions { gap: 20px 26px; }
body.home .md-home-main .md-button,
body.home .md-home-main .md-actions .md-button,
.md-de-landing .md-button {
  min-height: 52px;
  padding: 14px 23px;
  border-radius: 10px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
  white-space: normal;
}

body.home .md-home-main .md-text-link,
body.home .md-home-main .md-actions .md-text-link,
.md-de-landing .md-de-text-link {
  gap: 10px;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0;
}

body.home .md-home-main .md-hero .md-hero-specs {
  margin-top: 16px;
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: 0;
  color: var(--md-home-muted);
}

body.home .md-home-main .md-home-pricing {
  gap: 28px;
  margin-bottom: 0;
  padding: 30px 0;
  border-top-color: var(--md-home-line);
  border-bottom: 1px solid var(--md-home-line);
}
body.home .md-home-main .md-home-pricing dl { gap: 24px; }
body.home .md-home-main .md-home-pricing dl > div + div {
  padding-left: 24px;
  border-color: var(--md-home-line);
}
body.home .md-home-main .md-home-pricing dt {
  color: var(--md-home-muted);
  font-size: 15px;
  line-height: 1.5;
}
body.home .md-home-main .md-home-pricing dd {
  margin-top: 8px;
  color: var(--md-home-ink);
  font-size: clamp(26px, 2.4vw, 34px);
  line-height: 1.25;
  letter-spacing: -.025em;
}
body.home .md-home-main .md-home-pricing dl > div:nth-child(2) dd { color: #ffc295; }

body.home .md-home-main .md-section,
:is(.md-home-main, .md-de-landing) > .md-experience,
.md-de-landing .md-de-section {
  padding-block: var(--md-home-space);
}
body.home .md-home-main .md-section-head,
:is(.md-home-main, .md-de-landing) .md-experience-heading,
.md-de-landing .md-de-section-head {
  margin-bottom: 32px;
}
body.home .md-home-main .md-section-head h2,
body.home .md-home-main .md-training h2,
body.home .md-home-main .md-preorder-strip h2,
:is(.md-home-main, .md-de-landing) .md-experience-heading h2,
.md-de-landing h2 {
  font-size: clamp(30px, 3.2vw, 48px);
  font-weight: 650;
  line-height: 1.16;
  letter-spacing: -.025em;
  text-wrap: balance;
}

body.home .md-home-main .md-features-editorial .md-section-head {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 48px;
}
body.home .md-home-main .md-features-editorial .md-eyebrow { color: #56624c; }
body.home .md-home-main .md-features-editorial .md-section-head p {
  margin: 0;
  color: #51594b;
  font-size: 17px;
  line-height: 1.7;
}
body.home .md-home-main .md-feature-grid { gap: 24px; }
body.home .md-home-main .md-feature-grid article { justify-content: flex-start; }
body.home .md-home-main .md-feature-grid img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: contain;
  object-position: center;
  background: #e3e2d7;
  border: 1px solid #d4d7c9;
  border-radius: 14px;
}
body.home .md-home-main .md-feature-grid strong {
  padding-top: 16px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0;
}

body.home .md-home-main .md-products .md-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 0 28px;
}
body.home .md-home-main .md-products .md-section-head .md-eyebrow { grid-column: 1 / -1; }
body.home .md-home-main .md-products .md-section-head > a {
  margin: 0 0 8px;
  font-size: 16px;
  line-height: 1.5;
}

/* Match the approved shop cards, including the post-load currency wrapper. */
body.home .md-home-main .md-products ul.products { gap: 24px; align-items: stretch; }
body.home .md-home-main .md-products ul.products li.product {
  --md-home-card-inset: 22px;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 0 0 var(--md-home-card-inset) !important;
  border: 1px solid var(--md-home-line);
  border-radius: 18px;
  background: var(--md-home-panel);
  box-shadow: 0 8px 24px #00000012;
  overflow: hidden;
}
body.home .md-home-main .md-products ul.products li.product > .woocommerce-LoopProduct-link {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}
body.home .md-home-main .md-products ul.products li.product img.md-catalog-image {
  display: block;
  width: 100%;
  height: auto !important;
  aspect-ratio: 880 / 587;
  object-fit: contain;
  margin: 0 0 22px !important;
  border-radius: 0;
}
body.home .md-home-main .md-products ul.products li.product .woocommerce-loop-product__title {
  min-height: 2.8em;
  padding: 0 !important;
  margin: 0 var(--md-home-card-inset) 14px !important;
  color: var(--md-home-ink);
  font-size: 19px !important;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -.015em;
  overflow-wrap: break-word;
}
body.home .md-home-main .md-products ul.products li.product .price {
  display: block;
  margin: 0 var(--md-home-card-inset) !important;
  color: var(--md-home-ink) !important;
  font-size: 28px !important;
  font-weight: 650;
  line-height: 1.25;
  letter-spacing: -.025em;
  font-variant-numeric: tabular-nums;
}
body.home .md-home-main .md-products ul.products li.product .price > .md-local-price,
body.home .md-home-main .md-products ul.products li.product .price > .md-local-price > .amount {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
body.home .md-home-main .md-products .price .md-price-breakdown { gap: 8px; letter-spacing: 0; }
body.home .md-home-main .md-products .price .md-card-total {
  display: flex;
  flex-flow: row wrap;
  align-items: baseline;
  gap: 3px 8px;
  margin-bottom: 5px;
}
body.home .md-home-main .md-products .price .md-card-total > .amount {
  order: -1;
  color: var(--md-home-ink);
  font-size: 28px;
  font-weight: 650;
  line-height: 1.25;
  letter-spacing: -.025em;
}
body.home .md-home-main .md-products .price .md-card-total .md-price-label {
  color: var(--md-home-muted);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}
body.home .md-home-main .md-products .price .md-preorder-card-price,
body.home .md-home-main .md-products .price .md-preorder-card-price > .amount {
  color: #f4c7a7;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
}
body.home .md-home-main .md-products .price .md-card-remaining {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 5px;
  color: var(--md-home-muted);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}
body.home .md-home-main .md-products .md-preorder-badge {
  position: static;
  max-width: calc(100% - 44px);
  margin: 16px var(--md-home-card-inset) 0;
  padding: 7px 10px;
  border: 1px solid #47513d;
  border-radius: 7px;
  background: #22291d;
  color: #d6dfc9;
  font-size: 14px !important;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0;
}
body.home .md-home-main .md-products ul.products li.product > .button {
  width: auto;
  min-height: 48px;
  margin: 24px var(--md-home-card-inset) 0 !important;
  padding: 12px 16px !important;
  border: 1px solid #515d45 !important;
  border-radius: 9px !important;
  background: #262e21 !important;
  color: var(--md-home-ink) !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  letter-spacing: 0;
  white-space: normal;
}
body.home .md-home-main .md-products ul.products li.product.product-type-variable > .button {
  border-color: var(--md-orange) !important;
  background: var(--md-orange) !important;
  color: #171710 !important;
}

body.home .md-home-main .md-training img {
  background: var(--md-home-panel);
  border: 1px solid var(--md-home-line);
  border-radius: 18px;
}
body.home .md-home-main .md-training p,
body.home .md-home-main .md-preorder-strip p,
body.home .md-home-main .md-buying-grid p {
  font-size: 17px;
  line-height: 1.7;
  color: var(--md-home-muted);
}
body.home .md-home-main .md-buying-grid { gap: 24px; }
body.home .md-home-main .md-buying-grid article {
  padding: 28px;
  border-color: var(--md-home-line);
  border-radius: 18px;
  background: var(--md-home-panel);
}
body.home .md-home-main .md-buying-grid h3 {
  margin: 0 0 16px;
  font-size: 21px;
  line-height: 1.35;
  letter-spacing: -.015em;
}
body.home .md-home-main .md-buying-grid a {
  margin-top: 14px;
  font-size: 16px;
  line-height: 1.55;
  color: #ffc295;
}
body.home .md-home-main .md-preorder-strip {
  gap: 32px;
  border-color: var(--md-home-line);
}
body.home .md-home-main .md-preorder-strip > .md-button { flex-shrink: 0; }

:is(.md-home-main, .md-de-landing) .md-experience { border-color: var(--md-home-line); }
:is(.md-home-main, .md-de-landing) .md-experience p { color: var(--md-home-muted); }
:is(.md-home-main, .md-de-landing) .md-experience-heading { max-width: 800px; }
:is(.md-home-main, .md-de-landing) .md-experience-grid { gap: 40px; }
:is(.md-home-main, .md-de-landing) .md-experience-paths article {
  padding: 22px 24px;
  border: 1px solid var(--md-home-line);
  border-radius: 14px;
  background: var(--md-home-panel);
}
:is(.md-home-main, .md-de-landing) .md-experience-paths { gap: 18px; }
:is(.md-home-main, .md-de-landing) .md-experience-film video { border-radius: 18px; }

/* DE and NL share the same verified landing markup. */
.md-de-landing {
  --de-muted: var(--md-home-muted);
  --de-line: var(--md-home-line);
  --de-panel: var(--md-home-panel);
}
.md-de-landing h2,
.md-de-landing h3 { color: var(--md-home-ink); }
.md-de-landing .md-de-hero { gap: clamp(28px, 4vw, 60px); padding-bottom: var(--md-home-space); }
.md-de-landing .md-de-hero h2 {
  font-size: clamp(36px, 4.3vw, 64px);
  line-height: 1.08;
  letter-spacing: -.035em;
}
.md-de-landing .md-de-hero h2 em { color: var(--md-orange); }
.md-de-landing .md-de-hero .md-de-lead { font-size: 18px; line-height: 1.7; }
.md-de-landing .md-de-hero-facts { gap: 18px 32px; }
.md-de-landing .md-de-hero-facts strong { color: var(--md-home-ink); }
.md-de-landing .md-de-hero-prices p > span { color: var(--md-home-muted); }
.md-de-landing .md-de-hero-prices strong { color: var(--md-home-ink); }
.md-de-landing .md-de-hero-visual,
.md-de-landing .md-de-box > figure { border-radius: 20px; }
.md-de-landing .md-de-section-head { max-width: 900px; }
.md-de-landing .md-de-price-grid { gap: 20px; }
.md-de-landing .md-de-price-grid > div { padding: 28px; border-radius: 16px; }
.md-de-landing .md-de-price-grid > div.md-de-price-now {
  border-color: #ac794e;
  background: #27291e;
}
.md-de-landing .md-de-price-grid dt { color: var(--md-home-muted); font-size: 16px; }
.md-de-landing .md-de-price-grid dd { color: var(--md-home-ink); }
.md-de-landing .md-de-price-grid dd.md-de-price-help,
.md-de-landing .md-de-note,
.md-de-landing .md-nl-price-note { color: var(--md-home-muted); font-size: 15px; line-height: 1.65; }
.md-de-landing .md-de-payment-rule {
  max-width: none;
  padding: 24px 28px;
  border-left: 3px solid #aabd94;
  background: #182016;
  border-radius: 0 12px 12px 0;
}
.md-de-landing .md-de-payment-rule strong { color: #e3ead9; }
.md-de-landing .md-de-use-grid,
.md-de-landing .md-de-timeline { gap: 24px; }
.md-de-landing .md-de-use-grid article,
.md-de-landing .md-de-timeline > li {
  padding: 28px;
  border: 1px solid var(--md-home-line);
  border-radius: 16px;
  background: var(--md-home-panel);
}
.md-de-landing .md-de-step-number { color: #b7c99f; font-size: 16px; }
.md-de-landing .md-de-use-grid h3,
.md-de-landing .md-de-timeline h3 { font-size: 22px; line-height: 1.3; }
.md-de-landing .md-de-colour-card > div { border-radius: 16px; }
.md-de-landing .md-de-colour-card h3 { font-size: 21px; }
.md-de-landing .md-de-colour-card p { font-size: 15px; }
.md-de-landing .md-de-box-list span { color: #b7c99f; }
.md-de-landing .md-de-dispatch-note { border-radius: 0 14px 14px 0; }
.md-de-landing .md-de-final {
  margin-top: 12px;
  padding: 36px;
  border: 1px solid var(--md-home-line);
  border-radius: 20px;
  background: var(--md-home-panel);
}
.md-de-landing .md-nl-faq { gap: 0; }
.md-de-landing .md-nl-faq details { padding: 24px 0; }
.md-de-landing .md-nl-faq summary { font-size: 20px; color: var(--md-home-ink); }
.md-de-landing .md-nl-pack-grid article { display: flex; flex-direction: column; }
.md-de-landing .md-nl-pack-grid article > .md-de-text-link { margin-top: auto; padding-top: 18px; }

/* The French page uses ordinary article markup plus this verified buying card. */
body.page-id-100 .md-content .md-local-buying {
  margin: 32px 0;
  padding: clamp(24px, 3vw, 36px);
  border: 1px solid var(--md-design-line, #394235);
  border-radius: 20px;
  background: var(--md-design-panel, #191e18);
}
body.page-id-100 .md-content .md-local-buying h2 {
  margin: 0 0 20px;
  font-size: clamp(26px, 2.8vw, 36px);
  line-height: 1.2;
  letter-spacing: -.025em;
}
body.page-id-100 .md-content .md-local-buying h3 { margin: 28px 0 12px; font-size: 21px; }
body.page-id-100 .md-content .md-local-buying p { margin: 0 0 16px; font-size: 17px; line-height: 1.7; }
body.page-id-100 .md-content .md-local-buying p:last-child { margin-bottom: 0; }
body.page-id-100 .md-content .md-local-buying .md-button { min-height: 52px; font-size: 16px; line-height: 1.5; white-space: normal; }

@media (max-width: 1100px) {
  body.home .md-home-main .md-products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body.home .md-home-main .md-hero { min-height: 480px; }
  body.home .md-home-main .md-home-pricing { grid-template-columns: 1fr; }
  body.home .md-home-main .md-home-pricing > .md-text-link { justify-self: start; }
  .md-de-landing .md-de-use-grid article,
  .md-de-landing .md-de-timeline > li { padding: 22px; }
}
@media (max-width: 800px) {
  body.home .md-home-main .md-hero {
    grid-template-columns: 1fr;
    min-height: 0;
    gap: 22px;
    padding-top: 40px;
  }
  body.home .md-home-main .md-hero h1 { font-size: clamp(44px, 8vw, 64px); }
  body.home .md-home-main .md-hero-duo { max-width: 560px; }
  body.home .md-home-main .md-features-editorial .md-section-head { grid-template-columns: 1fr; gap: 20px; }
  body.home .md-home-main .md-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 18px; }
  body.home .md-home-main .md-products .md-section-head { grid-template-columns: 1fr; gap: 10px; }
  body.home .md-home-main .md-products .md-section-head .md-eyebrow { margin-bottom: 0; }
  body.home .md-home-main .md-preorder-strip > .md-button { margin-top: 16px; }
  :is(.md-home-main, .md-de-landing) .md-experience-grid { gap: 24px; }
  .md-de-landing .md-de-price-grid > div { padding: 22px; }
  .md-de-landing .md-de-price-grid dd.md-de-price-help { text-align: left; }
  .md-de-landing .md-de-final { padding: 26px; }
}
@media (max-width: 600px) {
  body.home .md-home-main .md-products ul.products { grid-template-columns: 1fr !important; }
  body.home .md-home-main .md-products ul.products li.product .woocommerce-loop-product__title { min-height: 0; font-size: 20px !important; }
  body.home .md-home-main .md-home-pricing dl { grid-template-columns: 1fr; gap: 18px; }
  body.home .md-home-main .md-home-pricing dl > div {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
  }
  body.home .md-home-main .md-home-pricing dl > div + div { padding: 0; border: 0; }
  body.home .md-home-main .md-home-pricing dd { margin: 0; font-size: 28px; }
  body.home .md-home-main .md-home-pricing dt { max-width: 65%; }
  body.home .md-home-main .md-buying-grid article { padding: 24px; }
  body.home .md-home-main .md-hero-copy > p,
  body.home .md-home-main .md-training p,
  body.home .md-home-main .md-preorder-strip p,
  body.home .md-home-main .md-buying-grid p { font-size: 16px; }
  body.home .md-home-main .md-actions .md-button { width: 100%; }
  body.home .md-home-main .md-actions { align-items: flex-start; }
  body.home .md-home-main .md-feature-grid strong { font-size: 17px; }
  .md-de-landing .md-de-hero h2 { font-size: clamp(34px, 8vw, 44px); }
  .md-de-landing .md-de-hero .md-de-lead { font-size: 17px; }
  .md-de-landing .md-de-payment-rule { padding: 20px; }
  .md-de-landing .md-de-final { padding: 24px; }
  .md-de-landing .md-de-actions .md-button { width: 100%; }
  .md-de-landing .md-de-price-grid dt { font-size: 15px; }
  .md-de-landing .md-de-price-grid dd { font-size: 27px; }
  .md-de-landing .md-de-price-grid dd.md-de-price-help { font-size: 15px; }
}


/* Source: content-design.css */
/* Editorial pages: verified page IDs from inventory.json, 15 October 2026.
   3 privacy; 32 shipping; 33 terms; 34 pre-order terms; 35 contact;
   100 French landing; 109 guide; 110 specifications; 111 pre-order overview; 112 accessories.
   Cart (8), checkout (9), account (10), products and language landings are excluded. */
body:is(.page-id-3,.page-id-32,.page-id-33,.page-id-34,.page-id-35,.page-id-100,.page-id-109,.page-id-110,.page-id-111,.page-id-112) .md-content {
  padding-block:64px 88px;
  color:#f3f1e9;
  font-size:17px;
  line-height:1.75;
  letter-spacing:0;
}
body:is(.page-id-3,.page-id-32,.page-id-33,.page-id-34,.page-id-35,.page-id-100,.page-id-109,.page-id-110,.page-id-111,.page-id-112) .md-content>article {
  width:100%;
  max-width:1080px;
  min-width:0;
  margin-inline:auto;
  overflow-wrap:anywhere;
}
body:is(.page-id-3,.page-id-32,.page-id-33,.page-id-34,.page-id-35) .md-content>article {max-width:840px;}
body:is(.page-id-3,.page-id-32,.page-id-33,.page-id-34,.page-id-35,.page-id-100,.page-id-109,.page-id-110,.page-id-111,.page-id-112) .md-content>article>h1 {
  max-width:24ch;
  margin:0 0 36px;
  font-size:clamp(34px,4.25vw,56px);
  font-weight:650;
  line-height:1.12;
  letter-spacing:-.035em;
  text-wrap:balance;
}
body:is(.page-id-3,.page-id-32,.page-id-33,.page-id-34,.page-id-35,.page-id-100,.page-id-109,.page-id-110,.page-id-111,.page-id-112) .md-content>article>h1::before {
  content:"";
  display:block;
  width:48px;
  height:4px;
  margin-bottom:24px;
  border-radius:2px;
  background:#ff8a3d;
}
body:is(.page-id-3,.page-id-32,.page-id-33,.page-id-34,.page-id-35,.page-id-100,.page-id-109,.page-id-110,.page-id-111,.page-id-112) .md-content :is(p,ul,ol,dl,address) {
  color:#c9cdc3;
  font-size:17px;
  line-height:1.75;
  letter-spacing:0;
}
body:is(.page-id-3,.page-id-32,.page-id-33,.page-id-34,.page-id-35,.page-id-100,.page-id-109,.page-id-110,.page-id-111,.page-id-112) .md-content p {margin:0 0 20px;}
body:is(.page-id-3,.page-id-32,.page-id-33,.page-id-34,.page-id-35,.page-id-100,.page-id-109,.page-id-110,.page-id-111,.page-id-112) .md-content p:empty {display:none;}
body:is(.page-id-3,.page-id-32,.page-id-33,.page-id-34,.page-id-35,.page-id-100,.page-id-109,.page-id-110,.page-id-111,.page-id-112) .md-content :is(strong,b) {color:#f3f1e9;font-weight:650;}
body:is(.page-id-3,.page-id-32,.page-id-33,.page-id-34,.page-id-35,.page-id-100,.page-id-109,.page-id-110,.page-id-111,.page-id-112) .md-content :is(h2,h3) {
  color:#f3f1e9;
  font-weight:650;
  letter-spacing:-.02em;
  text-wrap:balance;
  scroll-margin-top:110px;
}
body:is(.page-id-3,.page-id-32,.page-id-33,.page-id-34,.page-id-35,.page-id-100,.page-id-109,.page-id-110,.page-id-111,.page-id-112) .md-content h2 {font-size:clamp(25px,2.6vw,32px);line-height:1.25;margin:48px 0 18px;}
body:is(.page-id-3,.page-id-32,.page-id-33,.page-id-34,.page-id-35,.page-id-100,.page-id-109,.page-id-110,.page-id-111,.page-id-112) .md-content h3 {font-size:21px;line-height:1.4;margin:30px 0 12px;}
body:is(.page-id-3,.page-id-32,.page-id-33,.page-id-34,.page-id-35) .md-content>article>h2 {
  margin-top:40px;
  padding-top:28px;
  border-top:1px solid #343d34;
}
body:is(.page-id-3,.page-id-32,.page-id-33,.page-id-34,.page-id-35) .md-content>article>h1+h2 {margin-top:0;}
body:is(.page-id-3,.page-id-32,.page-id-33,.page-id-34,.page-id-35,.page-id-100,.page-id-109,.page-id-110,.page-id-111,.page-id-112) .md-content a:not(.md-button) {
  color:#ffc09b;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:4px;
  overflow-wrap:anywhere;
}
body:is(.page-id-3,.page-id-32,.page-id-33,.page-id-34,.page-id-35,.page-id-100,.page-id-109,.page-id-110,.page-id-111,.page-id-112) .md-content a:not(.md-button):hover {color:#ffe1c8;text-decoration-thickness:2px;}
body:is(.page-id-3,.page-id-32,.page-id-33,.page-id-34,.page-id-35,.page-id-100,.page-id-109,.page-id-110,.page-id-111,.page-id-112) .md-content :is(a,button,summary,input,textarea):focus-visible {outline:2px solid #ffb77d;outline-offset:4px;}
body:is(.page-id-3,.page-id-32,.page-id-33,.page-id-34,.page-id-35,.page-id-100,.page-id-109,.page-id-110,.page-id-111,.page-id-112) .md-content :is(ul,ol) {padding-left:24px;margin:20px 0 28px;}
body:is(.page-id-3,.page-id-32,.page-id-33,.page-id-34,.page-id-35,.page-id-100,.page-id-109,.page-id-110,.page-id-111,.page-id-112) .md-content li {padding-left:4px;margin:10px 0;}
body:is(.page-id-3,.page-id-32,.page-id-33,.page-id-34,.page-id-35,.page-id-100,.page-id-109,.page-id-110,.page-id-111,.page-id-112) .md-content li::marker {color:#ffb77d;font-weight:650;}
body:is(.page-id-3,.page-id-32,.page-id-33,.page-id-34,.page-id-35,.page-id-100,.page-id-109,.page-id-110,.page-id-111,.page-id-112) .md-content .md-button {
  min-height:50px;
  max-width:100%;
  padding:13px 22px;
  font-size:16px;
  line-height:1.5;
  white-space:normal;
  text-align:center;
  letter-spacing:0;
}
body:is(.page-id-32,.page-id-34,.page-id-35) .md-content address {
  margin:18px 0 24px;
  padding:22px 24px;
  border-left:3px solid #ff8a3d;
  border-radius:0 12px 12px 0;
  background:#192019;
  font-style:normal;
  color:#e3e5dc;
}
body:is(.page-id-32,.page-id-33,.page-id-34,.page-id-100,.page-id-111) .md-content :is(.md-after-delivery-refunds,#returns-after-delivery) {
  margin:36px 0;
  padding:28px;
  border:1px solid #3d493c;
  border-radius:16px;
  background:#192019;
}
body:is(.page-id-32,.page-id-33,.page-id-34,.page-id-100,.page-id-111) .md-content :is(.md-after-delivery-refunds,#returns-after-delivery)>h2:first-child {margin-top:0;font-size:26px;}
body:is(.page-id-32,.page-id-33,.page-id-34,.page-id-100,.page-id-111) .md-content :is(.md-after-delivery-refunds,#returns-after-delivery)>p:last-child {margin-bottom:0;}

body:is(.page-id-3,.page-id-32,.page-id-33,.page-id-34,.page-id-35) .md-content>article>:is(p,ul,ol) {max-width:74ch;}

/* Reference pages keep tables and card grids wide; running text has a reading measure. */
body:is(.page-id-109,.page-id-110,.page-id-112) .md-content .md-reference-content {max-width:none;padding-bottom:0;font-size:17px;line-height:1.75;}
body:is(.page-id-109,.page-id-110,.page-id-112) .md-content .md-reference-content>p,
body:is(.page-id-109,.page-id-110,.page-id-112) .md-content .md-reference-hero>p,
body.page-id-111 .md-content .md-preorder-overview>p {max-width:74ch;}
body:is(.page-id-109,.page-id-110,.page-id-112) .md-content .md-reference-hero>p:first-child,
body:is(.page-id-110,.page-id-111) .md-content :is(.md-reference-content,.md-preorder-overview)>p:first-child,
body.page-id-35 .md-content>article>h1+p {font-size:18px;line-height:1.7;color:#dce0d5;}
body:is(.page-id-109,.page-id-110,.page-id-112) .md-content .md-reference-content>h2,
body.page-id-111 .md-content .md-preorder-overview>h2 {padding-top:30px;border-top:1px solid #343d34;}
body:is(.page-id-109,.page-id-110,.page-id-112) .md-content .md-reference-content>ol {max-width:76ch;}
body:is(.page-id-109,.page-id-110,.page-id-112) .md-content .md-reference-grid {gap:22px;margin:28px 0 40px;align-items:stretch;}
body:is(.page-id-109,.page-id-110,.page-id-112) .md-content .md-reference-card {padding:28px;border:1px solid #374237;border-radius:16px;background:#192019;}
body:is(.page-id-109,.page-id-110,.page-id-112) .md-content .md-reference-card>h3 {margin-top:0;font-size:22px;}
body:is(.page-id-109,.page-id-110,.page-id-112) .md-content .md-reference-card>p:last-child {margin-bottom:0;}
body:is(.page-id-109,.page-id-110,.page-id-112) .md-content .md-reference-callout {margin:28px 0;padding:24px 28px;border-left:3px solid #ff9b5c;border-radius:0 14px 14px 0;background:#23251d;}
body:is(.page-id-109,.page-id-110,.page-id-112) .md-content .md-reference-callout>p:last-child {margin-bottom:0;}
body:is(.page-id-109,.page-id-110,.page-id-112) .md-content .md-reference-content figure {max-width:560px;margin:32px auto;}
body:is(.page-id-109,.page-id-110,.page-id-112) .md-content .md-reference-content figure img {border-radius:16px;}
body:is(.page-id-109,.page-id-110,.page-id-112) .md-content :is(figcaption,.md-reference-table-hint) {font-size:15px;line-height:1.65;color:#bac3b6;}
body:is(.page-id-109,.page-id-110,.page-id-112) .md-content .md-reference-table-wrap {margin:24px 0 40px;border:1px solid #3b453a;border-radius:14px;background:#151b16;}
body:is(.page-id-109,.page-id-110,.page-id-112) .md-content .md-reference-table-wrap table {font-size:16px;line-height:1.65;}
body:is(.page-id-109,.page-id-110,.page-id-112) .md-content .md-reference-table-wrap caption {padding:20px 22px;background:#1c251c;color:#f3f1e9;font-size:18px;font-weight:650;}
body:is(.page-id-109,.page-id-110,.page-id-112) .md-content .md-reference-table-wrap :is(th,td) {padding:18px 22px;border-color:#343e33;color:#d1d7cb;}
body:is(.page-id-109,.page-id-110,.page-id-112) .md-content .md-reference-table-wrap thead th {background:#222b21;color:#f3f1e9;font-weight:650;}
body:is(.page-id-109,.page-id-110,.page-id-112) .md-content .md-reference-table-wrap tbody tr:nth-child(even) {background:#1a221a;}
body:is(.page-id-109,.page-id-110,.page-id-112) .md-content .md-reference-faq {margin:28px 0 40px;}
body:is(.page-id-109,.page-id-110,.page-id-112) .md-content .md-reference-faq details {padding:22px 0;border-color:#3b453a;}
body:is(.page-id-109,.page-id-110,.page-id-112) .md-content .md-reference-faq summary {font-size:19px;line-height:1.5;color:#f3f1e9;}
body:is(.page-id-109,.page-id-110,.page-id-112) .md-content .md-reference-faq summary::marker {color:#ffa66b;}
body:is(.page-id-109,.page-id-110,.page-id-112) .md-content .md-reference-faq details[open]>summary {margin-bottom:18px;}
body:is(.page-id-109,.page-id-110,.page-id-112) .md-content .md-reference-faq details p {max-width:76ch;}
body.page-id-110 .md-content .md-capability-list {margin:24px 0 32px;}
body.page-id-110 .md-content .md-capability-list dt {margin:0;padding:24px 24px 10px;background:#192019;border:1px solid #374237;border-bottom:0;border-radius:14px 14px 0 0;color:#f3f1e9;font-size:20px;}
body.page-id-110 .md-content .md-capability-list dd {margin:0 0 18px;padding:0 24px 24px;background:#192019;border:1px solid #374237;border-top:0;border-radius:0 0 14px 14px;}

/* Preserve the numbered pre-order sequence and every payment / delivery clause. */
body.page-id-111 .md-content .md-preorder-overview {max-width:none;}
body.page-id-111 .md-content .md-preorder-steps {gap:22px;padding:0;margin:32px 0 44px;}
body.page-id-111 .md-content .md-preorder-steps li {margin:0;padding:26px;background:#192019;border:1px solid #374237;border-radius:16px;}
body.page-id-111 .md-content .md-preorder-steps li::before {display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:22px;border:1px solid #745137;border-radius:50%;background:#30291e;color:#ffba85;font-size:17px;font-weight:650;}
body.page-id-111 .md-content .md-preorder-steps h2 {margin:0 0 16px;font-size:22px;line-height:1.35;letter-spacing:-.02em;}
body.page-id-111 .md-content .md-preorder-steps p {margin:0;font-size:16px;line-height:1.75;}
body.page-id-111 .md-content #md-preorder-after-delivery {scroll-margin-top:110px;}

/* Contact is a distinct, clearly labelled form; hidden nonce fields stay untouched. */
body.page-id-35 .md-content .md-contact-form {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:none;margin:30px 0 44px;padding:32px;background:#192019;border:1px solid #3b453a;border-radius:16px;}
body.page-id-35 .md-content .md-contact-form>p {min-width:0;margin:0;}
body.page-id-35 .md-content .md-contact-form>p:nth-of-type(n+3) {grid-column:1/-1;}
body.page-id-35 .md-content .md-contact-form label {color:#e0e5d8;font-size:16px;font-weight:550;line-height:1.6;}
body.page-id-35 .md-content .md-contact-form :is(input:not([type="hidden"]),textarea) {display:block;width:100%;max-width:100%;min-height:50px;margin-top:10px;padding:13px 14px;border:1px solid #56634f;border-radius:8px;background:#0f1510;color:#f3f1e9;font:inherit;font-size:17px;line-height:1.5;box-shadow:none;}
body.page-id-35 .md-content .md-contact-form textarea {min-height:200px;resize:vertical;}
body.page-id-35 .md-content .md-contact-form .md-button {min-width:180px;}
body.page-id-35 .md-content .md-form-success {padding:16px 20px;border-left:3px solid #88c79b;background:#192b1c;color:#b6ebc4;}
body.page-id-35 .md-content .md-form-error {padding:16px 20px;border-left:3px solid #ffad80;background:#32231b;color:#ffd1b7;}

@media(max-width:900px) {
  body:is(.page-id-3,.page-id-32,.page-id-33,.page-id-34,.page-id-35,.page-id-100,.page-id-109,.page-id-110,.page-id-111,.page-id-112) .md-content {padding-block:44px 64px;}
  body.page-id-111 .md-content .md-preorder-steps {grid-template-columns:1fr;gap:16px;}
}
@media(max-width:680px) {
  body:is(.page-id-3,.page-id-32,.page-id-33,.page-id-34,.page-id-35,.page-id-100,.page-id-109,.page-id-110,.page-id-111,.page-id-112) .md-content {padding-block:32px 52px;font-size:16px;}
  body:is(.page-id-3,.page-id-32,.page-id-33,.page-id-34,.page-id-35,.page-id-100,.page-id-109,.page-id-110,.page-id-111,.page-id-112) .md-content>article>h1 {margin-bottom:28px;font-size:34px;line-height:1.15;letter-spacing:-.025em;}
  body:is(.page-id-3,.page-id-32,.page-id-33,.page-id-34,.page-id-35,.page-id-100,.page-id-109,.page-id-110,.page-id-111,.page-id-112) .md-content>article>h1::before {margin-bottom:20px;}
  body:is(.page-id-3,.page-id-32,.page-id-33,.page-id-34,.page-id-35,.page-id-100,.page-id-109,.page-id-110,.page-id-111,.page-id-112) .md-content :is(p,ul,ol,dl,address) {font-size:16px;line-height:1.75;}
  body:is(.page-id-3,.page-id-32,.page-id-33,.page-id-34,.page-id-35,.page-id-100,.page-id-109,.page-id-110,.page-id-111,.page-id-112) .md-content h2 {font-size:25px;margin-top:36px;}
  body:is(.page-id-109,.page-id-110,.page-id-112) .md-content .md-reference-grid {grid-template-columns:1fr;gap:16px;}
  body:is(.page-id-109,.page-id-110,.page-id-112) .md-content :is(.md-reference-card,.md-reference-callout) {padding:22px;}
  body:is(.page-id-109,.page-id-110,.page-id-112) .md-content .md-reference-hero>p:first-child,
  body:is(.page-id-110,.page-id-111) .md-content :is(.md-reference-content,.md-preorder-overview)>p:first-child,
  body.page-id-35 .md-content>article>h1+p {font-size:18px;}
  body:is(.page-id-109,.page-id-110,.page-id-112) .md-content .md-reference-table-hint {display:block;font-size:15px;}
  body:is(.page-id-109,.page-id-110,.page-id-112) .md-content .md-reference-table-wrap :is(th,td) {padding:16px;}
  body:is(.page-id-109,.page-id-110,.page-id-112) .md-content .md-reference-faq summary {font-size:18px;}
  body:is(.page-id-32,.page-id-33,.page-id-34,.page-id-100,.page-id-111) .md-content :is(.md-after-delivery-refunds,#returns-after-delivery) {padding:22px;}
  body.page-id-111 .md-content .md-preorder-steps li {padding:22px;}
  body.page-id-35 .md-content .md-contact-form {grid-template-columns:1fr;gap:20px;padding:22px;}
  body.page-id-35 .md-content .md-contact-form .md-button {width:100%;}
}

/* The French page uses ordinary editorial markup; its buying card is designed separately. */
body.page-id-100 .md-content>article {max-width:1000px;}
body.page-id-100 .md-content>article>:is(p,ul,ol) {max-width:74ch;}
body.page-id-100 .md-content>article>h2 {padding-top:30px;border-top:1px solid #343d34;}
body.page-id-100 .md-content>article>h1+h2 {margin-top:0;}
body.page-id-100 .md-content>article>h2+p {color:#d4dacd;}


/* Source: commerce-design.css */
/* Product purchase surfaces; gallery dimensions and native behaviour stay intact. */
body.single-product .md-shop-main > div.product { column-gap: clamp(28px, 3vw, 48px); padding-top: 36px; }
body.single-product .md-shop-main div.product .summary { color: var(--md-design-ink); font-size: 16px; line-height: 1.65; }
body.single-product .md-shop-main div.product .product_title { margin: 0 0 22px; font-size: clamp(32px, 3.2vw, 46px); font-weight: 650; line-height: 1.12; letter-spacing: -.035em; }
body.single-product .md-shop-main div.product .summary > .price { margin: 0 0 24px; padding: 0 0 24px; border-bottom: 1px solid var(--md-design-line); font-size: 30px !important; line-height: 1.3; color: var(--md-design-ink) !important; }
body.single-product .md-shop-main .summary > .price .md-price-breakdown { gap: 8px; }
body.single-product .md-shop-main .summary > .price .md-card-total { align-items: baseline; gap: 4px 10px; }
body.single-product .md-shop-main .summary > .price .md-card-total > .amount { order: -1; font-size: 30px; font-weight: 650; line-height: 1.3; color: var(--md-design-ink); }
body.single-product .md-shop-main .summary > .price .md-card-total .md-price-label { font-size: 14px; color: var(--md-design-muted); }
body.single-product .md-shop-main .summary > .price :is(.md-preorder-card-price, .md-preorder-card-price > .amount) { font-size: 18px; line-height: 1.5; color: #f3c7a6; }
body.single-product .md-shop-main .summary > .price .md-card-remaining { font-size: 15px; color: var(--md-design-muted); }
body.single-product .md-shop-main .summary > .price > .md-local-price { color: var(--md-design-ink); }
body.single-product .md-shop-main .woocommerce-product-details__short-description p { margin: 0 0 18px; font-size: 16px; line-height: 1.7; color: #d0d5c8; }
body.single-product .md-shop-main .md-pdp-quick-list { gap: 10px; margin: 20px 0 26px; }
body.single-product .md-shop-main .md-pdp-quick-list li { font-size: 15px; line-height: 1.55; color: #d0d5c8; }
body.single-product .md-shop-main .variations label { font-size: 16px; font-weight: 600; }
body.single-product .md-shop-main .md-colour-swatch { border-color: #47523e; border-radius: 10px; background: var(--md-design-panel); gap: 10px; }
body.single-product .md-shop-main .md-colour-swatch:hover { border-color: #869874; background: var(--md-design-raised); }
body.single-product .md-shop-main .md-colour-swatch.is-selected { border-color: var(--md-orange); background: #34251b; box-shadow: 0 0 0 1px var(--md-orange); }
body.single-product .md-shop-main .md-colour-swatch-copy strong { font-size: 15px; font-weight: 600; line-height: 1.35; }
body.single-product .md-shop-main .md-colour-swatch-copy span { font-size: 13px; line-height: 1.4; color: var(--md-design-muted); }
body.single-product .md-shop-main .reset_variations { font-size: 14px; line-height: 1.6; }
body.single-product .md-shop-main div.product .single_add_to_cart_button { min-height: 50px; border-radius: 10px !important; font-size: 16px !important; line-height: 1.4; font-weight: 600; }
body.single-product .md-shop-main .md-purchase-summary { padding: 24px; border: 1px solid var(--md-design-line); border-radius: 14px; background: var(--md-design-panel); }
body.single-product .md-shop-main .md-purchase-summary h2 { font-size: 20px; line-height: 1.35; font-weight: 600; }
body.single-product .md-shop-main .md-purchase-summary :is(p, a, dt) { font-size: 15px; line-height: 1.65; color: var(--md-design-muted); }
body.single-product .md-shop-main .md-purchase-summary a { color: #ffc99f; text-decoration: underline; }
body.single-product .md-shop-main .md-purchase-amounts dd { font-size: 21px; line-height: 1.35; font-weight: 600; font-variant-numeric: tabular-nums; }
body.single-product .md-shop-main .md-purchase-help { border-color: var(--md-design-line); font-size: 15px; }
body.single-product .md-shop-main .md-pdp-confidence { border-color: var(--md-design-line); }
body.single-product .md-shop-main .md-pdp-confidence span { color: var(--md-design-muted); font-size: 14px; line-height: 1.6; }
body.single-product .md-shop-main .md-pdp-confidence span + span { border-color: var(--md-design-line); }
body.single-product .md-shop-main .woocommerce-tabs { margin-top: 36px; padding-top: 32px; border-color: var(--md-design-line); }
body.single-product .md-shop-main .woocommerce-tabs ul.tabs li { border-color: var(--md-design-line) !important; border-radius: 8px 8px 0 0; }
body.single-product .md-shop-main .woocommerce-tabs ul.tabs li a { font-size: 15px; font-weight: 600; padding: 12px 16px; }
body.single-product .md-shop-main .md-pdp-content { max-width: 1120px; color: var(--md-design-ink); }
body.single-product .md-shop-main .md-pdp-content :is(p, li) { color: #cbd2c2; font-size: 16px; line-height: 1.75; }
body.single-product .md-shop-main .md-pdp-section-head { margin-bottom: 28px; }
body.single-product .md-shop-main .md-pdp-section-head > p { font-size: 14px; font-weight: 500; letter-spacing: .015em; text-transform: none; color: #c4ceb8; }
body.single-product .md-shop-main .md-pdp-section-head h2 { font-size: clamp(26px, 2.8vw, 36px); line-height: 1.2; letter-spacing: -.025em; font-weight: 600; }
body.single-product .md-shop-main .md-pdp-feature-grid { gap: 20px; margin-bottom: 36px; }
body.single-product .md-shop-main .md-pdp-feature-grid article { border: 1px solid var(--md-design-line); background: var(--md-design-panel); border-radius: 14px; padding: 22px; }
body.single-product .md-shop-main .md-pdp-feature-grid article > span { font-size: 14px; color: #f3b788; }
body.single-product .md-shop-main .md-pdp-feature-grid h3 { font-size: 20px; font-weight: 600; line-height: 1.35; }
body.single-product .md-shop-main :is(.md-pdp-best-for, .md-pdp-compat, .md-pdp-spec-grid, .md-pdp-spec-grid > div, .md-pdp-steps li, .md-pdp-check-list, .md-pdp-plain-list, .md-pdp-check-list li, .md-pdp-plain-list li, .md-pdp-faq, .md-pdp-faq details) { border-color: var(--md-design-line); }
body.single-product .md-shop-main :is(.md-pdp-best-for h3, .md-pdp-compat h3, .md-pdp-box-columns h2) { font-size: 22px; line-height: 1.35; font-weight: 600; }
body.single-product .md-shop-main :is(.md-pdp-spec-grid dt, .md-pdp-spec-grid dd, .md-spec-list > div) { font-size: 15px; line-height: 1.65; }
body.single-product .md-shop-main .md-pdp-spec-grid dt { color: var(--md-design-muted); }
body.single-product .md-shop-main .md-pdp-spec-grid dd { color: var(--md-design-ink); }
body.single-product .md-shop-main .md-pdp-steps strong { font-size: 18px; font-weight: 600; line-height: 1.4; }
body.single-product .md-shop-main .md-pdp-steps li::before { font-size: 14px; }
body.single-product .md-shop-main .md-pdp-safety { padding: 24px; border: 1px solid #75523b; background: #2b2119; border-radius: 12px; }
body.single-product .md-shop-main .md-pdp-safety strong { font-size: 16px; text-transform: none; line-height: 1.5; }
body.single-product .md-shop-main .md-pdp-faq summary { padding-block: 22px; font-size: 17px; line-height: 1.5; font-weight: 600; }
body.single-product .md-shop-main .md-pdp-next-links a { padding: 12px 16px; border-color: #556347; border-radius: 8px; font-size: 15px; font-weight: 500; }
body.single-product .md-shop-main .related > h2 { font-size: 28px; line-height: 1.25; letter-spacing: -.025em; }
body.single-product .md-shop-main .related ul.products li.product .woocommerce-loop-product__title { min-height: 2.8em; font-size: 18px !important; line-height: 1.4; }
body.single-product .md-shop-main .related ul.products li.product .price { font-size: 24px !important; }
body.single-product .md-shop-main .related ul.products li.product > .button { display: flex !important; justify-content: center; align-items: center; margin-top: 20px !important; min-height: 48px; font-size: 15px !important; }

/* Checkout and cart: same surfaces and reading scale, native forms unchanged. */
.md-site .md-checkout-main { padding-top: 36px; color: var(--md-design-ink); }
.md-site .md-checkout-progress { margin-bottom: 36px; }
.md-site .md-checkout-progress li { font-size: 14px; line-height: 1.5; letter-spacing: 0; }
.md-site .md-checkout-progress li > :is(a, .md-checkout-step-label) { color: var(--md-design-muted); }
.md-site .md-checkout-progress li.is-current > :is(a, .md-checkout-step-label) { color: var(--md-design-ink); }
.md-site .md-checkout-progress li::before { background: var(--md-design-line); }
.md-site .md-checkout-progress li.is-complete::before { background: #6e805d; }
.md-site .md-checkout-progress li.is-current::before { background: linear-gradient(90deg, #6e805d 0 50%, var(--md-design-line) 50%); }
.md-site .md-checkout-progress li.is-current:first-child::before { background: var(--md-design-line); }
.md-site .md-checkout-progress li.is-current:last-child::before { background: #6e805d; }
.md-site .md-checkout-progress li :is(a, .md-checkout-step-label) > span { background: var(--md-design-bg); border-color: #536049; color: var(--md-design-muted); font-size: 13px; }
.md-site .md-checkout-progress li.is-complete :is(a, .md-checkout-step-label) > span { background: #283322; border-color: #7c9168; color: var(--md-design-ink); }
.md-site .md-checkout-progress li.is-current :is(a, .md-checkout-step-label) > span { background: var(--md-orange); border-color: var(--md-orange); color: #171710; box-shadow: 0 0 0 4px #ff650820; }
.md-site .md-checkout-heading { margin-bottom: 30px; }
.md-site .md-checkout-heading > p { font-size: 14px; letter-spacing: .02em; text-transform: none; color: #c3ceb6; }
.md-site .md-checkout-heading h1 { font-size: clamp(32px, 3.6vw, 48px); line-height: 1.15; font-weight: 650; letter-spacing: -.03em; margin: 12px 0 16px; }
.md-site .md-checkout-heading > span { display: block; max-width: 70ch; font-size: 16px; line-height: 1.7; color: var(--md-design-muted); }
.md-site .md-checkout-panel, body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals { padding: 28px; border: 1px solid var(--md-design-line); border-radius: 16px; background: var(--md-design-panel); box-shadow: 0 12px 30px #00000012; }
.md-site .md-panel-heading { gap: 12px 20px; flex-wrap: wrap; padding-bottom: 20px; border-color: var(--md-design-line); }
.md-site .md-panel-heading h2 { font-size: 21px; line-height: 1.35; font-weight: 600; }
.md-site .md-panel-heading :is(span, a), .md-site .md-checkout-fields .form-row label { font-size: 14px; line-height: 1.6; letter-spacing: 0; color: var(--md-design-muted); }
.md-site .md-checkout-fields :is(input.input-text, select, textarea),
body.woocommerce-cart .woocommerce :is(input.input-text, select),
body.woocommerce-account .woocommerce :is(input.input-text, select, textarea) {
  min-height: 48px; padding: 12px 14px; border: 1px solid #525e47 !important; border-radius: 9px;
  background: #11160f !important; color: var(--md-design-ink) !important; -webkit-text-fill-color: var(--md-design-ink) !important;
  font-size: 16px !important; line-height: 1.5; box-shadow: none; color-scheme: dark;
}
.md-site .md-checkout-fields input.input-text:-webkit-autofill,
.md-site .md-checkout-fields input.input-text:-webkit-autofill:hover,
.md-site .md-checkout-fields input.input-text:-webkit-autofill:focus,
.md-site .md-checkout-fields input.input-text:autofill,
body.woocommerce-account .woocommerce input.input-text:-webkit-autofill { box-shadow: 0 0 0 1000px #11160f inset !important; -webkit-box-shadow: 0 0 0 1000px #11160f inset !important; -webkit-text-fill-color: var(--md-design-ink) !important; }
.md-site .md-checkout-fields .select2-container .select2-selection--single { height: 48px; border: 1px solid #525e47; background: #11160f; border-radius: 9px; }
.md-site .md-checkout-fields .select2-container .select2-selection--single .select2-selection__rendered { color: var(--md-design-ink); line-height: 46px; padding: 0 38px 0 14px; font-size: 16px; }
.md-site .md-checkout-fields .select2-container .select2-selection--single .select2-selection__arrow { height: 46px; }
.md-site .md-checkout-actions { gap: 20px; margin-top: 28px; }
.md-site .md-checkout-actions :is(a, button) { font-size: 16px !important; line-height: 1.5; }
.md-site .md-checkout-primary, .md-site .md-checkout-main #payment #place_order { min-height: 50px; border-radius: 10px !important; font-size: 16px !important; font-weight: 600; }
.md-site .md-information-order summary { font-size: 21px; font-weight: 600; }
.md-site .md-information-order :is(.md-summary-overview, .md-summary-note) { color: var(--md-design-muted); }
.md-site .md-summary-totals dd, .md-site .md-checkout-order td:last-child { font-variant-numeric: tabular-nums; }
.md-site .md-contact-summary :is(span, small), .md-site .md-review-assurance li { font-size: 15px; line-height: 1.7; color: var(--md-design-muted); }
.md-site .md-contact-summary :is(strong, address) { font-size: 16px; line-height: 1.7; color: var(--md-design-ink); overflow-wrap: anywhere; }
.md-site .md-checkout-main .md-checkout-order table.shop_table :is(th, td) { border-color: var(--md-design-line); color: var(--md-design-ink); font-size: 15px; line-height: 1.65; }
.md-site .md-checkout-main .md-checkout-order table.shop_table th { color: var(--md-design-muted); }
.md-site .md-checkout-main #payment :is(.woocommerce-form__label, .woocommerce-terms-and-conditions-checkbox-text, .woocommerce-privacy-policy-text) { color: var(--md-design-muted); font-size: 14px; line-height: 1.65; }
.md-site .md-checkout-main :is(.md-order-deposit-notice, .md-preorder-notice), body.woocommerce-cart .md-content :is(.md-order-deposit-notice, .md-preorder-notice) { font-size: 14px !important; line-height: 1.65 !important; }
.md-site .md-checkout-main .md-order-deposit-notice > strong, body.woocommerce-cart .md-content .md-order-deposit-notice > strong { font-size: 15px; }
.md-site .md-checkout-main .checkout_coupon { padding: 22px; margin: 20px 0; border: 1px solid var(--md-design-line); border-radius: 12px; background: var(--md-design-panel); }
.md-site .md-checkout-main .checkout_coupon .input-text { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid #525e47; border-radius: 8px; background: #11160f; color: var(--md-design-ink); font-size: 16px; }
.md-site .md-checkout-main .checkout_coupon .button { min-height: 48px; padding: 12px 20px; border: 1px solid #66735a; border-radius: 8px; background: var(--md-design-raised); color: var(--md-design-ink); font-size: 15px; }
.md-site .md-checkout-main .md-deposit-breakdown { padding: 18px; background: #22291d; border-color: #4b593d; border-radius: 10px; }
.md-site .md-checkout-main .md-deposit-breakdown :is(dt, dd, p) { font-size: 14px; line-height: 1.65; }
.md-site .md-payment-methods #payment ul.payment_methods > li.wc_payment_method { border-color: #4b593e; background: #141a11; border-radius: 10px; }
.md-site .md-payment-methods #payment div.payment_box { background: var(--md-design-raised) !important; border-color: var(--md-design-line); font-size: 15px; line-height: 1.65; }
.md-site .md-checkout-main :is(.woocommerce-info, .woocommerce-message, .woocommerce-error),
body.woocommerce-cart .woocommerce :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) { border-color: #556348; border-radius: 10px; background: #22291c; color: #e0e8d5; font-size: 15px; line-height: 1.65; }












/* Account pages keep guest checkout available and never restyle hidden inputs. */















@media (max-width: 900px) {
  .md-site .md-checkout-progress li { font-size: 13px; }
  .md-site .md-checkout-panel { padding: 22px; }
  .md-site .md-checkout-information-layout { gap: 24px; }
}
@media (max-width: 800px) {
  body.single-product .md-shop-main > div.product { padding-top: 24px; gap: 28px; }
  body.single-product .md-shop-main .product_title { font-size: 34px; }
  body.single-product .md-shop-main .md-purchase-summary { padding: 20px; }
  body.single-product .md-mobile-purchase { background: #171e13; border-color: #4b593f; }
  body.single-product .md-mobile-purchase > span { font-size: 14px; }
  body.single-product .md-mobile-purchase strong .amount, body.single-product .md-mobile-purchase strong .amount * { font-size: inherit; color: inherit; }
  body.single-product .md-mobile-purchase button { font-size: 15px; border-radius: 9px; }
  .md-site .md-checkout-progress li { font-size: 12px; overflow-wrap: anywhere; }
  .md-site .md-checkout-main { padding-top: 26px; }
  .md-site .md-checkout-panel, body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals { padding: 20px; }
  
  
}
@media (max-width: 600px) {
  .md-site .md-checkout-progress { overflow: visible; margin-right: 0; padding-right: 0; }
  .md-site .md-checkout-progress ol { display: flex; min-width: 0; }
  .md-site .md-checkout-progress li { flex: 1; min-width: 0; }
  .md-site .md-checkout-progress li.is-current { flex: 2; }
  .md-site .md-checkout-progress li > :is(a, .md-checkout-step-label) { font-size: 0; }
  .md-site .md-checkout-progress li.is-current > :is(a, .md-checkout-step-label) { font-size: 13px; overflow-wrap: normal; }
  body.single-product .md-shop-main .md-pdp-feature-grid article { padding: 20px; }
  body.single-product .md-shop-main .md-pdp-safety { padding: 20px; }
  body.single-product .md-shop-main .md-pdp-content :is(p, li) { font-size: 16px; line-height: 1.7; }
  .md-site .md-checkout-actions { align-items: stretch; flex-wrap: wrap; }
  .md-site .md-checkout-actions .md-checkout-primary { width: 100%; justify-content: center; }
  
  
}


/* Cart balance: one product table, then payment detail and checkout side by side.
   Amounts stay in WooCommerce's cart_totals fragment for shipping updates. */



























@media (max-width: 960px) {
  
  
  
}
@media (max-width: 768px) {
  
  
  
  
  
  
  
  
  
  
  
}


/* Mobile cart and information-page polish. Existing form fields, amounts and
   WooCommerce AJAX fragment boundaries are retained. */
.md-site .md-checkout-main .md-checkout-information-layout > .md-checkout-information-form {
  grid-column: 1;
  grid-row: 1;
}
.md-site .md-checkout-main .md-checkout-information-layout > .md-information-order {
  grid-column: 2;
  grid-row: 1;
}
.md-site .md-checkout-main .md-information-order > summary {
  min-height: 44px;
  padding-block: 6px;
  overflow-wrap: anywhere;
}
.md-site .md-checkout-main .md-information-order:not([open]) .md-summary-overview {
  display: grid;
  gap: 7px;
  margin-top: 12px;
}
.md-site .md-checkout-main .md-summary-peek-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 8px 12px;
  font-size: 14px;
  line-height: 1.5;
}
.md-site .md-checkout-main .md-summary-peek-row > span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.md-site .md-checkout-main .md-summary-peek-row > strong {
  color: var(--md-design-ink);
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.md-site .md-checkout-main .md-summary-peek-row:first-child > span {
  color: var(--md-design-ink);
  font-size: 15px;
  font-weight: 600;
}
.md-site .md-checkout-main .md-summary-peek-row:first-child > strong { font-size: 18px; }
.md-site .md-checkout-main .md-summary-peek-note {
  display: block;
  margin-top: 3px;
  color: var(--md-design-muted);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.md-site .md-checkout-main .md-information-order li > div { min-width: 0; }
.md-site .md-checkout-main .md-information-order li :is(strong, .variation),
.md-site .md-checkout-main .md-summary-totals :is(dt, dd) { overflow-wrap: anywhere; }
.md-site .md-checkout-main .md-checkout-back,
.md-site .md-checkout-main .md-information-order .md-summary-edit,
body.woocommerce-cart .woocommerce .shipping-calculator-button {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding-block: 10px;
  line-height: 1.5;
}
.md-site .md-checkout-main .md-checkout-progress a,
body.woocommerce-cart .md-checkout-progress a { min-height: 44px; }



/* SelectWoo appends its dropdown to body, outside the checkout main element. */
body.woocommerce-cart .select2-dropdown,
body:has(.md-checkout-main) .select2-dropdown {
  border: 1px solid #525e47;
  border-radius: 9px;
  background: var(--md-design-panel, #191e17);
  color: var(--md-design-ink, #f5f3eb);
  box-shadow: 0 12px 28px #0005;
  color-scheme: dark;
}
body.woocommerce-cart .select2-dropdown .select2-search--dropdown,
body:has(.md-checkout-main) .select2-dropdown .select2-search--dropdown { padding: 8px; }
body.woocommerce-cart .select2-dropdown .select2-search__field,
body:has(.md-checkout-main) .select2-dropdown .select2-search__field {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid #59694a;
  border-radius: 6px;
  background: #11160f;
  color: var(--md-design-ink, #f5f3eb);
  -webkit-text-fill-color: var(--md-design-ink, #f5f3eb);
  font-size: 16px !important;
  line-height: 1.4;
}
body.woocommerce-cart .select2-dropdown .select2-search__field:focus,
body:has(.md-checkout-main) .select2-dropdown .select2-search__field:focus {
  outline: 2px solid #ffb57e;
  outline-offset: 1px;
}
body.woocommerce-cart .select2-dropdown .select2-results__options,
body:has(.md-checkout-main) .select2-dropdown .select2-results__options { max-height: min(320px, 50vh); }
body.woocommerce-cart .select2-dropdown .select2-results__option,
body:has(.md-checkout-main) .select2-dropdown .select2-results__option {
  min-height: 44px;
  padding: 11px 12px;
  color: var(--md-design-ink, #f5f3eb);
  font-size: 15px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
body.woocommerce-cart .select2-dropdown .select2-results__option[aria-selected="true"],
body:has(.md-checkout-main) .select2-dropdown .select2-results__option[aria-selected="true"] { background: #2b3823; }
body.woocommerce-cart .select2-dropdown .select2-results__option--highlighted[aria-selected],
body:has(.md-checkout-main) .select2-dropdown .select2-results__option--highlighted[aria-selected] {
  background: #394b2b;
  color: #fff;
}
body.woocommerce-cart .select2-dropdown .select2-results__option[aria-disabled="true"],
body:has(.md-checkout-main) .select2-dropdown .select2-results__option[aria-disabled="true"] { color: #a8b19e; }

@media (max-width: 900px) {
  .md-site .md-checkout-main .md-checkout-information-layout { gap: 18px; }
  .md-site .md-checkout-main .md-checkout-information-layout > .md-information-order {
    grid-column: 1;
    grid-row: 1;
    position: static;
  }
  .md-site .md-checkout-main .md-checkout-information-layout > .md-checkout-information-form {
    grid-column: 1;
    grid-row: 2;
  }
}

@media (max-width: 768px) {
  
  
  
  
  
  
  
  
  /* Keep the table cell intact. Its first inner row reserves the image slot;
     later rows use the card width without increasing the image's height. */
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

  .md-site .md-checkout-main { padding-top: 20px; }
  .md-site .md-checkout-main .md-checkout-progress { margin-bottom: 20px; }
  .md-site .md-checkout-main .md-checkout-heading { margin-bottom: 18px; }
  .md-site .md-checkout-main .md-checkout-heading > p { margin-bottom: 4px; }
  .md-site .md-checkout-main .md-checkout-heading h1 { margin: 8px 0 10px; }
  .md-site .md-checkout-main .md-checkout-heading > span { line-height: 1.55; }
  .md-site .md-checkout-main .md-information-order { padding: 16px; }
  .md-site .md-checkout-main .md-information-order > summary { font-size: 19px; }
  .md-site .md-checkout-main .md-information-order:not([open]) .md-summary-overview { margin-top: 8px; gap: 6px; }
  .md-site .md-checkout-main .md-checkout-information-form .md-panel-heading {
    gap: 4px;
    margin-bottom: 12px;
    padding-bottom: 12px;
  }
  .md-site .md-checkout-main .md-checkout-information-form .md-checkout-panel { padding: 18px; }
  .md-site .md-checkout-main .md-checkout-actions { gap: 8px; margin-top: 18px; }
  .md-site .md-checkout-main .md-checkout-back { justify-content: center; }
}

/* Desktop only. A grid item's containing block is its assigned grid area.
 * Keep gallery and summary in row 1 so sticky ends with the purchase area,
 * before the following full-width video, tabs and related-product sections.
 * A separate read-only ResizeObserver supplies the gallery's real outer
 * border-box height; the existing slider and initialization styles stay native.
 */
@media (min-width: 801px) {
  body.single-product .md-shop-main > div.product > .woocommerce-product-gallery {
    --md-gallery-sticky-top: 24px;
    grid-column: 1;
    grid-row: 1;
    align-self: start;
  }

  body.single-product .md-shop-main > div.product > .summary {
    grid-column: 2;
    grid-row: 1;
  }

  body.single-product.admin-bar .md-shop-main > div.product > .woocommerce-product-gallery {
    --md-gallery-sticky-top: 56px;
  }

  body.single-product .md-shop-main > div.product > .woocommerce-product-gallery[data-md-sticky-ready="true"] {
    position: sticky;
    top: min(var(--md-gallery-sticky-top), calc(100vh - var(--md-sticky-gallery-height) - 24px));
    top: min(var(--md-gallery-sticky-top), calc(100dvh - var(--md-sticky-gallery-height) - 24px));
  }
}



/* A real block containing the sticky gallery ends at the purchase grid row.
   The existing image/slider nodes, dimensions and thumbnail strip stay intact. */
@media (min-width: 801px) {
  body.single-product .md-shop-main > div.product > .md-gallery-rail {
    grid-column: 1;
    grid-row: 1;
    align-self: stretch;
    display: flow-root;
    position: relative;
    min-width: 0;
  }
  body.single-product .md-shop-main > div.product > .md-gallery-rail > .woocommerce-product-gallery {
    --md-gallery-sticky-top: 24px;
    float: none;
  }
  body.admin-bar.single-product .md-shop-main > div.product > .md-gallery-rail > .woocommerce-product-gallery {
    --md-gallery-sticky-top: 56px;
  }
  body.single-product .md-shop-main > div.product > .md-gallery-rail > .woocommerce-product-gallery[data-md-sticky-ready="true"] {
    position: sticky;
    top: min(var(--md-gallery-sticky-top), calc(100vh - var(--md-sticky-gallery-height) - 24px));
    top: min(var(--md-gallery-sticky-top), calc(100dvh - var(--md-sticky-gallery-height) - 24px));
  }
}



/* Product purchase controls. Gallery sizing and desktop sticky rails stay native. */
body.single-product .md-shop-main :is(.md-buy-now, .md-existing-checkout) {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 50px;
  padding: 13px 22px;
  border: 1px solid #ff7800;
  border-radius: 10px;
  background: #ff7800;
  color: #15170f;
  font-family: inherit;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}
body.single-product .md-shop-main .md-buy-now { flex: 1 1 140px; }
body.single-product .md-shop-main .woocommerce-variation-add-to-cart { flex-wrap: wrap; }
body.single-product .md-shop-main .woocommerce-variation-add-to-cart .single_add_to_cart_button { flex-basis: 140px; }
body.single-product .md-shop-main form.cart:not(.variations_form) > .md-buy-now { margin-left: 10px; }
body.single-product .md-shop-main :is(.md-buy-now, .md-existing-checkout):hover { background: #ff902e; border-color: #ff902e; color: #15170f; }
body.single-product .md-shop-main :is(.md-buy-now, .md-existing-checkout, .md-mobile-colours button):focus-visible { outline: 2px solid #ffc799; outline-offset: 4px; }
body.single-product .md-shop-main [aria-busy="true"] :is(.single_add_to_cart_button, .md-buy-now) { cursor: wait; opacity: .7; }
body.single-product .md-shop-main :is(.single_add_to_cart_button, .md-buy-now, .md-existing-purchase)[hidden] { display: none !important; }
body.single-product .md-shop-main form.md-purchase-has-item .quantity { display: none !important; }
body.single-product .md-shop-main .md-existing-purchase {
  padding: 20px;
  margin: 18px 0 24px;
  border: 1px solid #4d5b41;
  border-radius: 12px;
  background: #1b2317;
  color: #f5f4eb;
}
body.single-product .md-shop-main .md-existing-purchase p { margin: 0 0 10px; font-size: 15px; line-height: 1.55; }
body.single-product .md-shop-main .md-existing-purchase .md-existing-name { display: block; margin-bottom: 16px; font-weight: 600; overflow-wrap: anywhere; }
body.single-product .md-shop-main .md-existing-purchase .md-existing-checkout { width: 100%; }
body.single-product .md-shop-main .md-existing-purchase .md-existing-review { display: inline-flex; align-items: center; min-height: 44px; margin-top: 6px; color: #ffbf8d; text-underline-offset: 3px; }
body.single-product .md-shop-main .md-existing-purchase.is-conflict { border-color: #ac7841; }
/* Woo places its status icon absolutely; reserve a full icon column. */
body.single-product .woocommerce-notices-wrapper :is(.woocommerce-error, .woocommerce-message, .woocommerce-info) {
  position: relative;
  padding: 16px 18px 16px 52px !important;
  font-size: 15px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
body.single-product .woocommerce-notices-wrapper :is(.woocommerce-error, .woocommerce-message, .woocommerce-info)::before { left: 19px; top: 17px; }
body.single-product .woocommerce-notices-wrapper :is(.woocommerce-error, .woocommerce-message, .woocommerce-info) li { padding-left: 0 !important; margin-left: 0 !important; }

@media (max-width: 800px) {
  body.single-product .md-shop-main div.product.md-has-mobile-colours .woocommerce-product-gallery { margin-bottom: 0 !important; }
  body.single-product .md-shop-main .md-mobile-colours { min-width: 0; margin: -8px 0 4px; padding: 0; }
  body.single-product .md-shop-main .md-mobile-colours-heading { margin: 0 0 12px; font-size: 18px; line-height: 1.4; font-weight: 600; color: #f5f4eb; }
  body.single-product .md-shop-main .md-mobile-colours .md-colour-swatches { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0; width: 100%; }
  body.single-product .md-shop-main .md-mobile-colours .md-colour-swatch { display: flex; flex-direction: column; justify-content: flex-start; gap: 7px; min-width: 0; min-height: 106px; padding: 6px 4px 8px; text-align: center; }
  body.single-product .md-shop-main .md-mobile-colours .md-colour-swatch > img,
  body.single-product .md-shop-main .md-mobile-colours .md-colour-chip { width: 56px; max-width: 100%; height: 56px; object-fit: contain; }
  body.single-product .md-shop-main .md-mobile-colours .md-colour-swatch-copy { width: 100%; gap: 3px; }
  body.single-product .md-shop-main .md-mobile-colours .md-colour-swatch-copy strong { font-size: 13px; line-height: 1.35; overflow-wrap: anywhere; }
  body.single-product .md-shop-main .md-mobile-colours .md-colour-swatch-copy span { font-size: 11px; line-height: 1.35; overflow-wrap: anywhere; }
  body.single-product .md-shop-main .md-mobile-colours .md-colour-swatch.is-selected .md-colour-swatch-copy span { color: #ffbf8d; }
  body.single-product .md-shop-main form.cart table.variations.md-colours-moved { display: none !important; }
  body.single-product .md-mobile-purchase { gap: 12px; }
  body.single-product .md-mobile-purchase > span { flex: 0 1 42%; min-width: 0; }
  body.single-product .md-mobile-purchase button { flex: 1 1 0; min-width: 0; min-height: 50px; padding: 12px; font-size: 14px; line-height: 1.35; overflow-wrap: anywhere; }
  body.single-product .md-mobile-purchase button:disabled { cursor: wait; opacity: .7; }
}
@media (max-width: 359px) {
  body.single-product .md-shop-main .md-mobile-colours .md-colour-swatches { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.single-product .md-shop-main .md-mobile-colours .md-colour-swatch { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 7px; min-height: 62px; padding: 6px; text-align: left; }
  body.single-product .md-shop-main .md-mobile-colours .md-colour-swatch > img,
  body.single-product .md-shop-main .md-mobile-colours .md-colour-chip { width: 42px; height: 42px; }
  body.single-product .md-shop-main form.cart:not(.variations_form) > .md-buy-now { margin: 8px 0 0; width: 100%; }
}



/* Append after current storefront-polish.css. Only the new framed chooser opts in. */
body.single-product .md-shop-main .md-colour-swatches.md-framed-colours {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: start;
  gap: 12px;
  margin: 0;
  width: 100%;
  min-width: 0;
}
body.single-product .md-shop-main .md-colour-swatches.md-framed-colours .md-colour-swatch {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 9px;
  min-width: 0;
  min-height: 44px;
  width: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #f5f4eb;
  text-align: center;
  cursor: pointer;
}
body.single-product .md-shop-main .md-colour-swatches.md-framed-colours .md-colour-swatch:is(:hover, .is-selected) {
  border: 0;
  background: transparent;
  box-shadow: none;
}
body.single-product .md-shop-main .md-framed-colours .md-colour-frame {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  aspect-ratio: 1;
  padding: 7px;
  border: 2px solid #4b5543;
  border-radius: 10px;
  background: #fbf9f4;
  transition: border-color .16s, box-shadow .16s;
}
body.single-product .md-shop-main .md-framed-colours .md-colour-frame > img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  border-radius: 4px;
  background: transparent;
}
body.single-product .md-shop-main .md-framed-colours .md-colour-frame > .md-colour-chip {
  width: 100%;
  height: 100%;
  max-width: 64px;
  max-height: 64px;
  border: 0;
  border-radius: 8px;
}
body.single-product .md-shop-main .md-framed-colours .md-colour-swatch:hover .md-colour-frame { border-color: #a7b795; }
body.single-product .md-shop-main .md-framed-colours .md-colour-swatch:is(.is-selected, [aria-pressed="true"]) .md-colour-frame {
  border-color: #ff7800;
  box-shadow: 0 0 0 1px #ff7800;
}
body.single-product .md-shop-main .md-framed-colours .md-colour-swatch:focus-visible { outline: 2px solid #ffc799; outline-offset: 5px; border-radius: 10px; }
body.single-product .md-shop-main .md-framed-colours .md-colour-swatch:disabled { cursor: not-allowed; opacity: .45; }
body.single-product .md-shop-main .md-framed-colours .md-colour-swatch-copy {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  width: 100%;
  padding: 0 2px;
  background: transparent;
  border: 0;
}
body.single-product .md-shop-main .md-framed-colours .md-colour-swatch-copy strong { font-size: 14px; font-weight: 600; line-height: 1.4; color: #f5f4eb; overflow-wrap: anywhere; }
body.single-product .md-shop-main .md-framed-colours .md-colour-swatch-copy > span { font-size: 12px; line-height: 1.4; color: #b9c3ae; overflow-wrap: anywhere; }
body.single-product .md-shop-main .md-framed-colours .md-colour-swatch.is-selected .md-colour-swatch-copy > span { color: #ffbf8d; }

/* One native checkbox per optional accessory; the complete label is a hit target. */
body.single-product .md-shop-main .md-accessory-options { min-width: 0; width: 100%; margin: 24px 0 20px; padding: 22px 0 0; border: 0; border-top: 1px solid #3e4935; }
body.single-product .md-shop-main .md-accessory-options-heading,
body.single-product .md-shop-main .md-accessory-options > h2 { margin: 0 0 7px; padding: 0; color: #f5f4eb; font-size: 18px; font-weight: 600; line-height: 1.4; }
body.single-product .md-shop-main .md-accessory-options-intro,
body.single-product .md-shop-main .md-accessory-intro,
body.single-product .md-shop-main .md-accessory-estimate,
body.single-product .md-shop-main .md-accessory-options-note { margin: 0 0 14px; color: #b9c3ae; font-size: 14px; line-height: 1.5; }
body.single-product .md-shop-main .md-accessory-options-note,
body.single-product .md-shop-main .md-accessory-estimate { margin: 12px 0 0; }
body.single-product .md-shop-main .md-accessory-options-grid,
body.single-product .md-shop-main .md-accessory-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; min-width: 0; }
body.single-product .md-shop-main .md-accessory-option {
  display: grid;
  grid-template-columns: 20px 64px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-width: 0;
  min-height: 92px;
  margin: 0;
  padding: 12px;
  border: 1px solid #4b5543;
  border-radius: 10px;
  background: #1b2317;
  color: #f5f4eb;
  cursor: pointer;
}
body.single-product .md-shop-main .md-accessory-option:hover { border-color: #8e9e7d; }
body.single-product .md-shop-main .md-accessory-option:has(> input:checked),
body.single-product .md-shop-main .md-accessory-option.is-selected { border-color: #ff7800; box-shadow: inset 3px 0 #ff7800; background: #2c241a; }
body.single-product .md-shop-main .md-accessory-option:has(> input:focus-visible) { outline: 2px solid #ffc799; outline-offset: 3px; }
body.single-product .md-shop-main .md-accessory-option:has(> input:disabled),
body.single-product .md-shop-main .md-accessory-option.is-disabled { cursor: not-allowed; opacity: .6; }
body.single-product .md-shop-main .md-accessory-option > input[type="checkbox"] {
  appearance: auto;
  display: block;
  position: static;
  width: 20px;
  height: 20px;
  min-width: 20px;
  min-height: 20px;
  margin: 0;
  padding: 0;
  accent-color: #ff7800;
  opacity: 1;
  cursor: inherit;
}
body.single-product .md-shop-main .md-accessory-frame { display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; min-width: 0; padding: 5px; border-radius: 7px; background: #fbf9f4; }
body.single-product .md-shop-main .md-accessory-frame > img { display: block; width: 100%; height: 100%; object-fit: contain; }
body.single-product .md-shop-main .md-accessory-copy { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
body.single-product .md-shop-main .md-accessory-name { display: block; color: #f5f4eb; font-size: 15px; font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; }
body.single-product .md-shop-main .md-accessory-price { display: block; color: #ffc394; font-size: 15px; font-weight: 600; line-height: 1.4; font-variant-numeric: tabular-nums; }
body.single-product .md-shop-main .md-accessory-description { display: block; color: #b9c3ae; font-size: 13px; font-weight: 400; line-height: 1.5; overflow-wrap: anywhere; }
body.single-product .md-shop-main .md-accessory-status { display: block; color: #ffbf8d; font-size: 13px; line-height: 1.5; }
body.single-product .md-shop-main .md-accessory-total { display: grid; gap: 8px; margin: 16px 0 0; padding: 14px 0 0; border-top: 1px solid #3e4935; }
body.single-product .md-shop-main .md-accessory-total-row { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; font-size: 14px; line-height: 1.5; }
body.single-product .md-shop-main .md-accessory-total-row > span { min-width: 0; color: #b9c3ae; }
body.single-product .md-shop-main .md-accessory-total-row > strong { flex-shrink: 0; color: #f5f4eb; font-weight: 600; font-variant-numeric: tabular-nums; }
body.single-product .md-shop-main .md-accessory-total-row:last-child { padding-top: 8px; border-top: 1px solid #3e4935; }
body.single-product .md-shop-main .md-accessory-overlap { margin: 12px 0 0; padding: 12px; border-left: 3px solid #e7a76f; border-radius: 4px; background: #2c241a; color: #e6c8aa; font-size: 13px; line-height: 1.55; }
body.single-product .md-shop-main .md-existing-review[hidden] { display: none !important; }
body.single-product .md-shop-main .md-accessory-options [hidden] { display: none !important; }

@media (max-width: 800px) {
  body.single-product .md-shop-main .md-colour-swatches.md-framed-colours { gap: 9px; }
  body.single-product .md-shop-main .md-framed-colours .md-colour-frame { padding: 5px; }
  body.single-product .md-shop-main .md-framed-colours .md-colour-swatch-copy strong { font-size: 13px; }
  body.single-product .md-shop-main .md-framed-colours .md-colour-swatch-copy > span { font-size: 12px; }
  body.single-product .md-shop-main .md-accessory-options { margin-bottom: 4px; }
}
@media (max-width: 359px) {
  body.single-product .md-shop-main .md-colour-swatches.md-framed-colours { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; }
  body.single-product .md-shop-main .md-framed-colours .md-colour-frame { padding: 7px; }
  body.single-product .md-shop-main .md-accessory-option { grid-template-columns: 20px 48px minmax(0, 1fr); gap: 9px; padding: 10px; }
  body.single-product .md-shop-main .md-accessory-frame { width: 48px; height: 48px; padding: 4px; }
  body.single-product .md-shop-main .md-accessory-name,
  body.single-product .md-shop-main .md-accessory-price { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  body.single-product .md-shop-main .md-framed-colours .md-colour-frame { transition: none; }
}



/* Keep portrait image intrinsic heights out of the square option frame. */
body.single-product .md-shop-main .md-framed-colours .md-colour-frame {
  display: block;
  flex: none;
  height: auto;
  min-height: 0;
  aspect-ratio: 1 / 1;
  box-sizing: border-box;
  padding: 0;
}
body.single-product .md-shop-main .md-framed-colours .md-colour-frame > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  box-sizing: border-box;
  padding: 7px;
  object-fit: contain;
}

