/*
 * LunaVeil V1 — one reversible presentation layer.
 * WordPress / Blocksy / WooCommerce. No template or payment behavior overrides.
 * Product photographs stay intact; galleries use contain, editorial frames may crop.
 */

/* 01. Design tokens and shared foundations */
:root {
  --lv-bg-primary: #F3F4F1;
  --lv-bg-secondary: #E2E5E1;
  --lv-bg-dark: #38383B;
  --lv-text-primary: #292A2D;
  --lv-text-secondary: #606565;
  --lv-text-light: #F3F4F1;
  --lv-accent: #4C6863;
  --lv-accent-soft: #DCE6E0;
  --lv-border: #CED4CF;
  --lv-surface: #FFFFFF;
  --lv-font-display: Georgia, serif;
  --lv-font-body: Arial, sans-serif;
  --lv-content-width: 1400px;
  --lv-gutter: 40px;
  --lv-section-space: clamp(76px, 7.5vw, 112px);
  --lv-control-height: 48px;
  --lv-motion: 180ms ease;
  --theme-font-family: var(--lv-font-body);
  --theme-font-size: 16px;
  --theme-line-height: 1.65;
  --theme-font-weight: 400;
  --theme-text-color: var(--lv-text-primary);
  --theme-heading-color: var(--lv-text-primary);
  --theme-link-initial-color: var(--lv-text-primary);
  --theme-link-hover-color: var(--lv-accent);
  --theme-border-color: var(--lv-border);
  --theme-button-background-initial-color: var(--lv-bg-dark);
  --theme-button-background-hover-color: var(--lv-accent);
  --theme-button-text-initial-color: var(--lv-text-light);
  --theme-button-text-hover-color: var(--lv-text-light);
  --theme-button-border-radius: 0px;
  --theme-form-field-border-radius: 0px;
  --theme-form-field-border-initial-color: var(--lv-border);
  --theme-form-field-border-focus-color: var(--lv-accent);
  --theme-form-field-background-initial-color: var(--lv-surface);
  --theme-form-field-background-focus-color: var(--lv-surface);
}

html { scroll-padding-top: 100px; }
body { background: var(--lv-bg-primary); color: var(--lv-text-primary); font-family: var(--lv-font-body); }
body, button, input, select, textarea { font-family: var(--lv-font-body); }
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; }
button, input, select, textarea { font-size: 16px; }
button, a, input, select, textarea, summary { -webkit-tap-highlight-color: transparent; }
a, button, input, select, textarea { transition: color var(--lv-motion), background-color var(--lv-motion), border-color var(--lv-motion); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 2px solid var(--lv-accent);
  outline-offset: 4px;
}
::selection { color: var(--lv-text-primary); background: var(--lv-accent-soft); }
.skip-link:focus { z-index: 100; padding: 16px 24px; background: var(--lv-surface); color: var(--lv-text-primary); }
.lv-shell { color: var(--lv-text-primary); background: var(--lv-bg-primary); }
.entry-content > .lv-shell { margin-block: 0; }
.lv-shell :is(h1,h2,h3,p,figure) { margin-top: 0; }
.lv-shell :is(h1,h2,h3,p,li), .lv-policy-content { overflow-wrap: break-word; }
.lv-shell :is(h1,h2), .lv-policy-layout h1, .lv-contact-layout h1 {
  font-family: var(--lv-font-display);
  font-weight: 400;
  color: inherit;
  letter-spacing: -.045em;
  text-wrap: balance;
}
.lv-shell h1 { font-size: clamp(44px, 5.4vw, 76px); line-height: 1.06; }
.lv-shell h2 { font-size: clamp(34px, 3.8vw, 54px); line-height: 1.13; margin-bottom: 24px; }
.lv-shell h3 { font-family: var(--lv-font-body); font-size: 20px; line-height: 1.35; font-weight: 400; }
.lv-shell p { font-size: 16px; line-height: 1.75; }
.lv-wrap { width: min(100%, var(--lv-content-width)); margin-inline: auto; padding-inline: var(--lv-gutter); }
.lv-section { padding-block: var(--lv-section-space); }
.lv-kicker, .lv-shell .lv-kicker {
  font-family: var(--lv-font-body);
  font-size: 11px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .17em;
  text-transform: uppercase;
  margin: 0 0 24px;
  color: var(--lv-text-secondary);
}
.lv-section-head { margin-bottom: 36px; }
.lv-section-head h2 { margin-bottom: 0; }
.lv-section-head:has(> .lv-link) { display: flex; flex-wrap: wrap; gap: 24px; justify-content: space-between; align-items: end; }
.lv-section-head:has(> .lv-link) > :first-child { flex: 1; }
.lv-section-head p:not(.lv-kicker) { max-width: 600px; color: var(--lv-text-secondary); margin: 18px 0 0; }
.lv-shell :is(.lv-hero-copy,.lv-material-copy,.lv-world-copy,.lv-product-card,.lv-policy-content,.lv-contact-layout) { min-width: 0; }
.lv-button, .lv-shell .lv-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-height: var(--lv-control-height);
  padding: 14px 25px;
  border: 1px solid var(--lv-bg-dark);
  border-radius: 0;
  background: var(--lv-bg-dark);
  color: var(--lv-text-light);
  font-family: var(--lv-font-body);
  font-size: 11px;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}
.lv-button:hover, .lv-shell .lv-button:hover { color: var(--lv-text-light); border-color: var(--lv-accent); background: var(--lv-accent); }
.lv-button:active { transform: translateY(1px); }
.lv-link, .lv-shell .lv-link {
  display: inline-flex;
  align-items: center;
  gap: 20px;
  min-height: 44px;
  padding-block: 8px;
  border-bottom: 1px solid currentColor;
  font-size: 11px;
  line-height: 1.5;
  letter-spacing: .11em;
  text-transform: uppercase;
  text-decoration: none;
  color: inherit;
}
.lv-link:hover, .lv-shell .lv-link:hover { color: var(--lv-accent); }
.lv-caption, .lv-shell .lv-caption { margin: 16px 0 0; color: var(--lv-text-secondary); font-size: 13px; line-height: 1.6; }
.lv-muted { color: var(--lv-text-secondary); }
.lv-shell [id], .lv-policy-content [id], .lv-product-details { scroll-margin-top: 105px; }

/* 02. Native Blocksy header, menu, search and cart panels */
#header {
  --theme-text-color: var(--lv-text-primary);
  --theme-link-initial-color: var(--lv-text-primary);
  --theme-link-hover-color: var(--lv-accent);
  --theme-icon-color: var(--lv-text-primary);
  --theme-icon-hover-color: var(--lv-accent);
}
#header [data-row="middle"] { background: var(--lv-bg-primary); border-bottom: 1px solid var(--lv-border); box-shadow: none; }
#header [data-row="middle"] > :is(.ct-container,.ct-container-fluid) {
  width: min(100%, var(--lv-content-width));
  min-height: 86px;
  padding-inline: var(--lv-gutter);
}
#header .site-title {
  --theme-font-family: var(--lv-font-body);
  --theme-font-size: 25px;
  --theme-font-weight: 400;
  --theme-line-height: 1;
  --theme-letter-spacing: .15em;
  font-family: var(--lv-font-body);
  font-size: 25px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .15em;
  text-transform: uppercase;
  white-space: nowrap;
}
#header .site-title a { color: var(--lv-text-primary); }
#header .menu > li > a {
  font-family: var(--lv-font-body);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .11em;
  text-transform: uppercase;
  color: var(--lv-text-primary);
}
#header .menu > li.current-menu-item > a { color: var(--lv-accent); }
#header :is(.ct-header-search,.ct-header-trigger,.ct-cart-item,.ct-account-item) { min-width: 44px; min-height: 44px; justify-content: center; color: var(--lv-text-primary); }
#header .ct-icon { color: inherit; }
#header [data-sticky*="yes"] [data-row="middle"] { background: var(--lv-bg-primary); box-shadow: none; }
#offcanvas, #search-modal, #woo-cart-panel, #account-modal {
  --theme-text-color: var(--lv-text-primary);
  --theme-heading-color: var(--lv-text-primary);
  --theme-link-initial-color: var(--lv-text-primary);
  --theme-link-hover-color: var(--lv-accent);
  --theme-icon-color: var(--lv-text-primary);
}
.ct-panel .ct-panel-inner { background: var(--lv-bg-primary); }
.ct-panel .ct-panel-actions { border-bottom: 1px solid var(--lv-border); }
.ct-panel .ct-close-button { min-width: 44px; min-height: 44px; color: var(--lv-text-primary); }
#offcanvas .mobile-menu a { font-family: var(--lv-font-body); font-size: 17px; line-height: 1.4; letter-spacing: .08em; min-height: 54px; text-transform: uppercase; }
#offcanvas .mobile-menu .current-menu-item > a { color: var(--lv-accent); }
#search-modal input[type="search"] { font-size: clamp(18px, 3vw, 30px); border-radius: 0; }
#woo-cart-panel .product_list_widget li { padding-block: 22px; border-bottom: 1px solid var(--lv-border); }
#woo-cart-panel .product_list_widget img { background: var(--lv-surface); object-fit: contain; }
#woo-cart-panel .woocommerce-mini-cart__total { padding-block: 24px; border-color: var(--lv-border); }
.ct-dynamic-count-cart { background: var(--lv-bg-dark); color: var(--lv-text-light); }

/* 03. Homepage editorial composition */
.lv-hero { padding-block: 0; }
.lv-hero, .lv-hero > .lv-wrap, .lv-hero.lv-wrap {
  display: grid;
  grid-template-columns: minmax(0, .48fr) minmax(0, .52fr);
  align-items: stretch;
  min-height: 580px;
}
.lv-hero-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 70px 64px 74px 0; }
.lv-hero-copy .lv-kicker { margin-bottom: 30px; }
.lv-hero-copy h1 { max-width: 600px; margin-bottom: 30px; font-size: clamp(45px, 4.7vw, 68px); }
.lv-hero-copy h1 span { display: block; }
.lv-hero-copy > p:not(.lv-kicker) { max-width: 400px; margin-bottom: 30px; color: var(--lv-text-secondary); }
.lv-hero-copy .lv-button { margin-top: 4px; }
.lv-hero-media { position: relative; margin: 0; overflow: hidden; min-width: 0; height: clamp(560px, 46vw, 680px); background: var(--lv-bg-secondary); }
.lv-hero-media :is(picture,a), .lv-hero-media img { display: block; width: 100%; height: 100%; }
.lv-hero-media img { object-fit: cover; object-position: 50% 50%; }
.lv-product-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
.lv-product-card { margin: 0; background: transparent; border: 0; box-shadow: none; }
.lv-product-card > a { display: block; color: var(--lv-text-primary); text-decoration: none; }
.lv-product-image { display: block; position: relative; margin: 0; aspect-ratio: 4/5; overflow: hidden; background: var(--lv-surface); }
.lv-product-image :is(a,picture), .lv-product-image img { display: block; width: 100%; height: 100%; }
.lv-product-image img { object-fit: contain; transition: transform 300ms ease; }
.lv-product-card:hover .lv-product-image img { transform: scale(1.025); }
.lv-product-meta { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding-top: 18px; }
.lv-product-name, .lv-shell .lv-product-name { font-family: var(--lv-font-body); font-size: 16px; line-height: 1.4; font-weight: 400; letter-spacing: 0; margin: 0; }
.lv-product-price, .lv-shell .lv-product-price { font-size: 14px; font-variant-numeric: tabular-nums; line-height: 1.5; white-space: nowrap; margin: 0; color: var(--lv-text-secondary); }
.lv-product-meta .woocommerce-Price-amount { font-size: inherit; }
.lv-product-card .lv-caption { font-size: 12px; margin-top: 8px; }
.lv-statement { padding-block: clamp(85px, 10vw, 150px); border-top: 1px solid var(--lv-border); }
.lv-statement .lv-wrap { max-width: 1070px; text-align: center; }
.lv-statement h2, .lv-statement .lv-statement-text { max-width: 980px; margin: 0 auto; font-family: var(--lv-font-display); font-size: clamp(33px, 4.3vw, 60px); line-height: 1.22; font-weight: 400; letter-spacing: -.035em; text-wrap: balance; }
.lv-statement p:not(.lv-kicker):not(.lv-statement-text) { max-width: 520px; margin: 24px auto 0; color: var(--lv-text-secondary); }
.lv-material { background: var(--lv-bg-secondary); }
.lv-material > .lv-wrap, .lv-material.lv-wrap { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); align-items: center; gap: clamp(48px,7vw,112px); }
.lv-material-image { margin: 0; width: 100%; aspect-ratio: 1/1; overflow: hidden; background: var(--lv-surface); }
.lv-material-image :is(a,picture), .lv-material-image img { display: block; width: 100%; height: 100%; }
.lv-material-image img { object-fit: cover; }
.lv-material-copy { max-width: 435px; padding-block: 32px; }
.lv-material-copy h2 { max-width: 460px; }
.lv-material-copy p:not(.lv-kicker) { color: var(--lv-text-secondary); max-width: 390px; }
.lv-material-copy .lv-link { margin-top: 8px; }
.lv-world { color: var(--lv-text-light); background: var(--lv-bg-dark); }
.lv-world, .lv-world > .lv-wrap, .lv-world.lv-wrap { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); align-items: center; gap: clamp(48px,7vw,112px); }
.lv-world-image { margin: 0; width: 100%; aspect-ratio: 4/5; overflow: hidden; background: var(--lv-bg-dark); }
.lv-world-image :is(a,picture), .lv-world-image img { display: block; width: 100%; height: 100%; }
.lv-world-image img { object-fit: cover; }
.lv-world-copy { max-width: 470px; padding-block: 32px; }
.lv-world .lv-kicker, .lv-world .lv-caption { color: #BBC8C1; }
.lv-world-copy p:not(.lv-kicker) { max-width: 410px; color: #D0D8D2; }
.lv-world-copy .lv-link { margin-top: 10px; }
.lv-world .lv-link:hover { color: #CFDED6; }
.lv-world :is(a,button):focus-visible { outline-color: var(--lv-text-light); }
.lv-meaning { padding-block: clamp(80px, 9vw, 132px); }
.lv-meaning.lv-wrap, .lv-meaning .lv-wrap { display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); gap: clamp(32px,7vw,110px); }
.lv-meaning h2 { max-width: 590px; }
.lv-meaning p:not(.lv-kicker) { max-width: 610px; color: var(--lv-text-secondary); }
.lv-meaning .lv-kicker { padding-top: 9px; }
.lv-worn-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; align-items: start; }
.lv-worn-grid > :nth-child(2) { margin-top: 64px; }
.lv-worn-grid figure { margin-inline: 0; margin-bottom: 0; }
.lv-worn-grid :is(a,picture) { display: block; }
.lv-worn-grid img { display: block; width: 100%; height: auto; aspect-ratio: 3/4; object-fit: cover; }
.lv-newsletter { padding-block: 74px 82px; background: var(--lv-bg-secondary); }
.lv-newsletter .lv-wrap { display: grid; grid-template-columns: 1.05fr .95fr; gap: 48px 80px; align-items: center; }
.lv-newsletter h2 { max-width: 520px; font-size: clamp(30px,3vw,43px); margin-bottom: 16px; }
.lv-newsletter p { color: var(--lv-text-secondary); margin-bottom: 0; }
.lv-newsletter .lv-form { max-width: 530px; width: 100%; margin: 0; }
.lv-newsletter .lv-form > label { display: block; margin-bottom: 8px; }
.lv-newsletter .lv-form .lv-form-row { display: flex; gap: 12px; align-items: stretch; }
.lv-newsletter input[type="email"] { flex: 1; min-width: 0; background: transparent; border: 0; border-bottom: 1px solid #8B9990; padding-inline: 0; }
.lv-newsletter button { flex-shrink: 0; min-width: 88px; }
.lv-newsletter .lv-form > p { font-size: 12px; margin-top: 14px; }

/* 04. Native WooCommerce catalog */
.woocommerce-shop #main > .ct-container, .tax-product_cat #main > .ct-container,
.single-product #main > .ct-container, .woocommerce-cart #main > .ct-container,
.woocommerce-checkout #main > .ct-container, .woocommerce-account #main > .ct-container {
  width: min(calc(100% - var(--lv-gutter) * 2), calc(var(--lv-content-width) - var(--lv-gutter) * 2));
}
.woocommerce-shop .hero-section, .tax-product_cat .hero-section { padding-block: 70px 36px; }
.woocommerce-shop .page-title, .tax-product_cat .page-title, .woocommerce-cart .page-title, .woocommerce-checkout .page-title, .woocommerce-account .page-title {
  font-family: var(--lv-font-display); font-size: clamp(40px,4.5vw,64px); line-height: 1.1; font-weight: 400; letter-spacing: -.04em;
}
.woocommerce-shop .term-description { max-width: 570px; color: var(--lv-text-secondary); }
.woocommerce-shop .woocommerce-breadcrumb, .tax-product_cat .woocommerce-breadcrumb { font-size: 12px; }
.woocommerce .woocommerce-result-count { font-size: 13px; color: var(--lv-text-secondary); }
.woocommerce .woocommerce-ordering select { font-size: 13px; border-color: var(--lv-border); background-color: transparent; min-height: 44px; }
.woocommerce ul.products, .woocommerce [data-products] {
  --shop-columns: repeat(4,minmax(0,1fr));
  --product-columns-gap: 24px;
  --product-rows-gap: 48px;
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 48px 24px;
  margin: 0;
  padding: 0;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { float: none; width: auto; min-width: 0; margin: 0; padding: 0; background: transparent; border: 0; box-shadow: none; }
.woocommerce ul.products li.product .ct-media-container,
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link > img { display: block; aspect-ratio: 4/5; background: var(--lv-surface); overflow: hidden; }
.woocommerce ul.products li.product .ct-media-container img,
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link > img { object-fit: contain; width: 100%; height: auto; transition: transform 300ms ease; }
.woocommerce ul.products li.product .ct-media-container img { height: 100%; }
.woocommerce ul.products li.product:hover .ct-media-container img { transform: scale(1.025); }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title a {
  font-family: var(--lv-font-body); font-size: 16px; line-height: 1.45; font-weight: 400; letter-spacing: 0; color: var(--lv-text-primary);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title { margin-top: 18px; margin-bottom: 6px; padding: 0; }
.woocommerce ul.products li.product .price { font-size: 14px; line-height: 1.5; font-weight: 400; color: var(--lv-text-secondary); margin: 0; font-variant-numeric: tabular-nums; }
.woocommerce ul.products li.product .ct-woo-card-actions { margin-top: 14px; }
.woocommerce ul.products li.product .button { font-size: 11px; letter-spacing: .09em; text-transform: uppercase; min-height: 44px; }
.woocommerce .price ins { background: transparent; }
.woocommerce :is(button.button,a.button,input.button,.single_add_to_cart_button), .wc-proceed-to-checkout a.checkout-button {
  min-height: var(--lv-control-height); border-radius: 0; background: var(--lv-bg-dark); color: var(--lv-text-light); font-family: var(--lv-font-body); font-weight: 400; font-size: 12px; line-height: 1.5; letter-spacing: .09em; text-transform: uppercase; padding: 14px 24px; box-shadow: none;
}
.woocommerce :is(button.button,a.button,input.button,.single_add_to_cart_button):hover,
.wc-proceed-to-checkout a.checkout-button:hover { background: var(--lv-accent); color: var(--lv-text-light); }
.woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled] { opacity: .55; color: var(--lv-text-light); }

/* 05. Native single product, complete photographs and purchase hierarchy */
.single-product .woocommerce-breadcrumb { margin-bottom: 28px; font-size: 12px; color: var(--lv-text-secondary); }
.single-product .product-entry-wrapper:has(.woocommerce-product-gallery) {
  --product-gallery-width: 57%;
  --product-gallery-gap: 64px;
  display: grid;
  grid-template-columns: minmax(0,1.14fr) minmax(0,.86fr);
  gap: clamp(40px,5vw,72px);
  align-items: start;
}
.single-product div.product .woocommerce-product-gallery { width: 100%; min-width: 0; float: none; margin: 0; }
.single-product .woocommerce-product-gallery__wrapper { margin: 0; }
.single-product .woocommerce-product-gallery__image { background: var(--lv-surface); }
.single-product .woocommerce-product-gallery__image a { display: block; }
.single-product .woocommerce-product-gallery__image img { width: 100%; height: auto; aspect-ratio: 4/5; object-fit: contain; background: var(--lv-surface); }
.single-product .woocommerce-product-gallery .ct-media-container { background: var(--lv-surface); }
.single-product .woocommerce-product-gallery .ct-media-container img { object-fit: contain; }
.single-product .woocommerce-product-gallery .flex-control-thumbs { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-top: 12px; padding: 0; }
.single-product .woocommerce-product-gallery .flex-control-thumbs li { float: none; width: auto; }
.single-product .woocommerce-product-gallery .flex-control-thumbs img { aspect-ratio: 4/5; object-fit: contain; border: 1px solid transparent; }
.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active { border-color: var(--lv-accent); }
.single-product div.product div.summary { float: none; width: 100%; margin: 0; padding: 12px 0 0; min-width: 0; }
.single-product .summary .product_title { font-family: var(--lv-font-display); font-size: clamp(38px,3.9vw,55px); font-weight: 400; line-height: 1.1; letter-spacing: -.035em; margin-bottom: 20px; }
.single-product .summary > .price { font-size: 19px; font-weight: 400; color: var(--lv-text-primary); margin: 0 0 25px; font-variant-numeric: tabular-nums; }
.single-product .woocommerce-product-details__short-description { font-size: 16px; line-height: 1.75; color: var(--lv-text-secondary); margin-bottom: 30px; }
.single-product .woocommerce-product-details__short-description p { margin-bottom: 0; }
.single-product div.product form.cart { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 32px; }
.single-product div.product form.cart .ct-cart-actions { display: flex; flex-flow: row wrap; gap: 12px; width: 100%; margin: 0; }
.single-product div.product form.cart .quantity { float: none; flex: 0 0 96px; margin: 0; height: 50px; }
.single-product div.product form.cart .single_add_to_cart_button { float: none; flex: 1 1 200px; min-height: 50px; margin: 0; }
.woocommerce .quantity input.qty { min-height: 48px; height: 48px; min-width: 50px; font-size: 16px; background: var(--lv-surface); border-color: var(--lv-border); border-radius: 0; font-variant-numeric: tabular-nums; }
.woocommerce .quantity .ct-increase, .woocommerce .quantity .ct-decrease { min-height: 24px; }
.single-product .product_meta { margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--lv-border); font-size: 12px; color: var(--lv-text-secondary); }
.lv-product-details { margin-top: 28px; border-top: 1px solid var(--lv-border); }
.lv-detail-row { border: 0; border-bottom: 1px solid var(--lv-border); padding: 0; }
.lv-detail-row summary { display: flex; justify-content: space-between; align-items: center; gap: 18px; min-height: 60px; padding-block: 17px; list-style: none; font-family: var(--lv-font-body); font-size: 13px; font-weight: 400; line-height: 1.6; letter-spacing: .07em; text-transform: uppercase; cursor: pointer; }
.lv-detail-row summary::-webkit-details-marker { display: none; }
.lv-detail-row summary::after { content: "+"; font-size: 20px; line-height: 1; font-weight: 400; flex-shrink: 0; }
.lv-detail-row[open] summary::after { content: "−"; }
.lv-detail-row > :not(summary) { font-size: 14px; line-height: 1.75; color: var(--lv-text-secondary); margin-top: 0; margin-bottom: 22px; }
.lv-detail-row ul { padding-left: 18px; }
.lv-detail-row li + li { margin-top: 7px; }
.lv-detail-row a { text-underline-offset: 4px; }
.single-product .woocommerce-tabs { margin-top: 76px; padding-top: 30px; border-top: 1px solid var(--lv-border); }
.single-product .woocommerce-tabs ul.tabs { padding: 0; margin-bottom: 30px; border: 0; }
.single-product .woocommerce-tabs ul.tabs li { border: 0; background: transparent; border-radius: 0; margin: 0 30px 0 0; }
.single-product .woocommerce-tabs ul.tabs li a { font-size: 12px; letter-spacing: .09em; text-transform: uppercase; font-weight: 400; }
.single-product .woocommerce-tabs .panel { max-width: 800px; margin-bottom: 60px; font-size: 16px; color: var(--lv-text-secondary); }
.single-product .woocommerce-tabs .panel > h2 { font-family: var(--lv-font-display); font-size: 32px; font-weight: 400; letter-spacing: -.02em; color: var(--lv-text-primary); }
.single-product .related.products { margin-top: 80px; }
.single-product .related.products > h2 { font-family: var(--lv-font-display); font-size: 36px; font-weight: 400; letter-spacing: -.025em; margin-bottom: 32px; }

/* 06. Content pages, contact, FAQ and quiet inline form states */
.lv-policy-layout { display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); gap: clamp(40px,7vw,100px); padding-block: 76px 112px; }
.lv-policy-layout h1, .lv-contact-layout h1 { font-size: clamp(40px,4.3vw,62px); line-height: 1.12; margin: 0 0 30px; }
.lv-policy-layout > :first-child { min-width: 0; }
.lv-policy-content { max-width: 780px; color: var(--lv-text-secondary); }
.lv-policy-content h2 { font-family: var(--lv-font-body); font-size: 19px; line-height: 1.4; font-weight: 400; letter-spacing: 0; color: var(--lv-text-primary); margin-top: 36px; margin-bottom: 16px; text-wrap: pretty; }
.lv-policy-content > h2:first-child { margin-top: 0; }
.lv-policy-content h3 { font-size: 17px; font-weight: 400; color: var(--lv-text-primary); }
.lv-policy-content p, .lv-policy-content li { font-size: 16px; line-height: 1.8; }
.lv-policy-content p { margin-bottom: 22px; }
.lv-policy-content li + li { margin-top: 10px; }
.lv-policy-content a { color: var(--lv-text-primary); text-decoration: underline; text-underline-offset: 4px; }
.lv-policy-content .lv-detail-row summary { font-size: 17px; text-transform: none; letter-spacing: 0; padding-block: 22px; }
.lv-policy-content .lv-detail-row > :not(summary) { font-size: 16px; }
.lv-contact-layout { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(40px,8vw,120px); padding-block: 76px 112px; }
.lv-contact-layout p { max-width: 430px; color: var(--lv-text-secondary); }
.lv-contact-layout a { overflow-wrap: anywhere; text-underline-offset: 4px; }
.lv-form { margin: 0; }
.lv-form label { display: block; font-family: var(--lv-font-body); font-size: 13px; line-height: 1.5; color: var(--lv-text-primary); margin-bottom: 8px; }
.lv-form :is(input[type="text"],input[type="email"],input[type="tel"],select,textarea) { display: block; width: 100%; min-height: 48px; border: 1px solid var(--lv-border); border-radius: 0; padding: 12px 14px; background: var(--lv-surface); color: var(--lv-text-primary); box-shadow: none; }
.lv-form textarea { min-height: 170px; resize: vertical; }
.lv-form > p, .lv-form > .lv-field { margin-bottom: 24px; }
.lv-form .lv-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.lv-form .lv-form-grid > * { min-width: 0; }
.lv-form small { display: block; font-size: 12px; color: var(--lv-text-secondary); line-height: 1.6; }
.lv-form [aria-invalid="true"] { border-color: #945349; }
.lv-form .lv-field-error { display: block; margin-top: 8px; color: #884C43; font-size: 13px; line-height: 1.5; }
.lv-form [type="submit"] { cursor: pointer; }
.lv-form [type="submit"]:disabled { opacity: .55; cursor: wait; }
.lv-notice { padding: 18px 22px; border: 1px solid var(--lv-border); background: var(--lv-bg-secondary); color: var(--lv-text-primary); font-size: 14px; line-height: 1.7; margin-block: 22px; }
.lv-notice p:last-child { margin-bottom: 0; }
.lv-notice[role="alert"], .lv-notice--error { border-left: 3px solid #945349; }
.lv-notice--success { border-left: 3px solid var(--lv-accent); }
.lv-contact-layout .lv-form small a { color: var(--lv-text-primary); }

/* 07. Cart: native quantity, removal and totals stay fully functional */
.woocommerce :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) { padding: 20px 24px; background: var(--lv-bg-secondary); color: var(--lv-text-primary); border: 0; border-left: 2px solid var(--lv-accent); border-radius: 0; box-shadow: none; font-size: 14px; line-height: 1.7; }
.woocommerce .woocommerce-error { border-left-color: #945349; }
.woocommerce :is(.woocommerce-message,.woocommerce-info,.woocommerce-error)::before { display: none; }
.woocommerce :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) a:not(.button) { color: var(--lv-text-primary); text-decoration: underline; text-underline-offset: 4px; }
.woocommerce .woocommerce-message .button { margin-left: 20px; }
.woocommerce-cart .woocommerce { padding-bottom: 50px; }
.woocommerce table.shop_table { border: 0; border-collapse: collapse; border-radius: 0; margin-bottom: 30px; font-size: 15px; }
.woocommerce table.shop_table th { font-size: 11px; font-weight: 400; line-height: 1.5; letter-spacing: .1em; text-transform: uppercase; color: var(--lv-text-secondary); padding: 16px 12px; border-bottom: 1px solid var(--lv-border); }
.woocommerce table.shop_table td { padding: 24px 12px; border-top: 0; border-bottom: 1px solid var(--lv-border); vertical-align: middle; }
.woocommerce-cart table.cart .product-thumbnail { width: 124px; }
.woocommerce-cart table.cart img { width: 100px; max-width: 100%; height: auto; aspect-ratio: 4/5; object-fit: contain; background: var(--lv-surface); }
.woocommerce-cart table.cart td.product-name { min-width: 140px; }
.woocommerce-cart table.cart td.product-name a { font-size: 17px; font-weight: 400; color: var(--lv-text-primary); }
.woocommerce-cart table.cart :is(.product-price,.product-subtotal) { font-variant-numeric: tabular-nums; white-space: nowrap; }
.woocommerce a.remove { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; border-radius: 0; color: var(--lv-text-secondary); font-size: 23px; background: transparent; }
.woocommerce a.remove:hover { background: var(--lv-bg-secondary); color: var(--lv-text-primary); }
.woocommerce-cart table.cart td.actions { padding: 24px 0; }
.woocommerce-cart table.cart td.actions .coupon { display: flex; flex-wrap: wrap; gap: 10px; }
.woocommerce-cart table.cart td.actions .coupon .input-text { min-width: 180px; width: auto; min-height: 48px; margin: 0; padding: 12px 14px; border: 1px solid var(--lv-border); border-radius: 0; background: var(--lv-surface); }
.woocommerce-cart table.cart td.actions .coupon .button { margin: 0; }
.woocommerce-cart .cart-collaterals { display: flex; justify-content: flex-end; margin-top: 40px; }
.woocommerce-cart .cart-collaterals .cart_totals { float: none; width: 46%; max-width: 560px; padding: 32px; background: var(--lv-bg-secondary); }
.woocommerce-cart .cart_totals > h2 { font-family: var(--lv-font-display); font-size: 32px; font-weight: 400; letter-spacing: -.03em; margin-bottom: 20px; }
.woocommerce-cart .cart_totals table.shop_table { margin-bottom: 10px; }
.woocommerce-cart .cart_totals table.shop_table th { width: 44%; text-align: left; letter-spacing: 0; text-transform: none; font-size: 14px; padding-left: 0; }
.woocommerce-cart .cart_totals table.shop_table td { text-align: right; padding-right: 0; font-size: 14px; }
.woocommerce-cart .cart_totals .order-total :is(th,td) { padding-top: 26px; font-size: 17px; color: var(--lv-text-primary); }
.woocommerce-cart .cart_totals .order-total strong { font-weight: 400; }
.woocommerce-cart .wc-proceed-to-checkout { padding: 20px 0 0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { display: flex; justify-content: center; width: 100%; margin: 0; font-size: 12px; min-height: 52px; }
.woocommerce .cart-empty { padding-block: 30px; }
.woocommerce-cart .return-to-shop { margin-block: 30px 60px; }
.woocommerce-shipping-destination, .woocommerce-shipping-calculator { font-size: 13px; line-height: 1.65; }
.woocommerce ul#shipping_method { margin: 0; }
.woocommerce ul#shipping_method li { padding-block: 6px; }
.woocommerce ul#shipping_method label { font-size: 14px; line-height: 1.6; }

/* 08. Classic checkout and account forms; no hiding of gateway information */
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); gap: 28px 64px; align-items: start; margin-top: 32px; }
.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup { grid-column: 1/-1; }
.woocommerce-checkout form.checkout #customer_details { grid-column: 1; grid-row: 1/4; width: 100%; }
.woocommerce-checkout form.checkout #customer_details .col-1,
.woocommerce-checkout form.checkout #customer_details .col-2 { float: none; width: 100%; }
.woocommerce-checkout form.checkout #customer_details .col-2 { margin-top: 28px; }
.woocommerce-checkout form.checkout #order_review_heading { grid-column: 2; grid-row: 1; margin: 0; }
.woocommerce-checkout form.checkout #order_review { grid-column: 2; grid-row: 2; padding: 28px; background: var(--lv-bg-secondary); min-width: 0; }
.woocommerce-checkout form.checkout h3, .woocommerce-account h2 { font-family: var(--lv-font-display); font-size: 30px; line-height: 1.25; font-weight: 400; letter-spacing: -.025em; margin-bottom: 26px; }
.woocommerce form .form-row { padding: 0; margin: 0 0 22px; }
.woocommerce form .form-row label { display: block; font-size: 13px; line-height: 1.5; color: var(--lv-text-primary); margin-bottom: 8px; }
.woocommerce form .form-row :is(input.input-text,textarea,select) { min-height: 48px; font-size: 16px; line-height: 1.5; border: 1px solid var(--lv-border); border-radius: 0; padding: 12px 14px; background: var(--lv-surface); color: var(--lv-text-primary); box-shadow: none; }
.woocommerce form .form-row textarea { min-height: 120px; }
.woocommerce form .form-row input[type="checkbox"], .woocommerce form .form-row input[type="radio"] { accent-color: var(--lv-accent); }
.woocommerce form .form-row .required { color: var(--lv-text-secondary); }
.woocommerce form .form-row.woocommerce-invalid :is(input.input-text,select,.select2-selection) { border-color: #945349; }
.woocommerce form .form-row.woocommerce-invalid label { color: #884C43; }
.woocommerce .select2-container .select2-selection--single { min-height: 48px; border: 1px solid var(--lv-border); border-radius: 0; background: var(--lv-surface); }
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered { line-height: 46px; padding-left: 14px; padding-right: 32px; font-size: 16px; color: var(--lv-text-primary); }
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow { height: 46px; right: 10px; }
.select2-dropdown { border: 1px solid var(--lv-border); border-radius: 0; font-family: var(--lv-font-body); font-size: 16px; }
.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--lv-bg-dark); color: var(--lv-text-light); }
.woocommerce-checkout-review-order-table { table-layout: fixed; }
.woocommerce-checkout-review-order-table th.product-total { width: 32%; }
.woocommerce-checkout-review-order-table :is(th,td):last-child { text-align: right; }
.woocommerce-checkout-review-order-table td.product-name { font-size: 14px; overflow-wrap: break-word; }
.woocommerce-checkout-review-order-table .product-quantity { font-weight: 400; }
.woocommerce-checkout #order_review table.shop_table :is(th,td) { padding: 17px 0; }
.woocommerce-checkout #order_review table.shop_table th { letter-spacing: .04em; }
.woocommerce-checkout #order_review table.shop_table tfoot th { font-size: 14px; text-transform: none; letter-spacing: 0; }
.woocommerce-checkout #order_review .order-total :is(th,td) { font-size: 17px; color: var(--lv-text-primary); }
.woocommerce-checkout #order_review .order-total strong { font-weight: 400; }
.woocommerce-checkout #payment { background: transparent; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--lv-border); padding: 0 0 24px; }
.woocommerce-checkout #payment ul.payment_methods li { font-size: 14px; line-height: 1.7; }
.woocommerce-checkout #payment ul.payment_methods li label { font-size: 14px; }
.woocommerce-checkout #payment div.payment_box { border-radius: 0; background: var(--lv-bg-primary); font-size: 13px; line-height: 1.7; padding: 18px; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--lv-bg-primary); }
.woocommerce-checkout #payment div.form-row { padding: 22px 0 0; margin: 0; }
.woocommerce-checkout .woocommerce-privacy-policy-text p,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper p { font-size: 12px; line-height: 1.7; color: var(--lv-text-secondary); }
.woocommerce-checkout #place_order { width: 100%; min-height: 52px; margin-top: 18px; }
.woocommerce-checkout #payment .wc_payment_method img { max-height: 32px; width: auto; }
.woocommerce-account .woocommerce { padding-bottom: 70px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--lv-border); }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; min-height: 48px; padding-block: 14px; font-size: 14px; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { color: var(--lv-accent); }
.woocommerce form.login, .woocommerce form.register { border: 1px solid var(--lv-border); border-radius: 0; padding: 32px; background: transparent; }

/* 09. Native Blocksy footer */
#footer { color: #D0D8D2; --theme-text-color: #D0D8D2; --theme-link-initial-color: #D0D8D2; --theme-link-hover-color: var(--lv-text-light); --theme-heading-color: var(--lv-text-light); }
#footer [data-row="middle"], #footer [data-row="bottom"] { background: var(--lv-bg-dark); }
#footer [data-row="middle"] > .ct-container { width: min(100%, var(--lv-content-width)); padding: 74px var(--lv-gutter) 64px; gap: 48px; }
#footer [data-row="middle"] [data-column] { min-width: 0; }
#footer [data-row="middle"] .widget-title { font-family: var(--lv-font-body); font-size: 11px; font-weight: 400; line-height: 1.5; letter-spacing: .13em; text-transform: uppercase; color: var(--lv-text-light); margin-bottom: 22px; }
#footer .lv-footer-brand { font-family: var(--lv-font-body); font-size: 25px; font-weight: 400; line-height: 1; letter-spacing: .15em; text-transform: uppercase; color: var(--lv-text-light); margin-bottom: 22px; }
#footer .lv-footer-brand a { color: inherit; font-size: inherit; }
#footer p { font-size: 14px; line-height: 1.8; max-width: 320px; color: #BBC8C1; }
#footer [data-row="middle"] ul { list-style: none; margin: 0; padding: 0; }
#footer [data-row="middle"] li { margin: 0 0 6px; }
#footer [data-row="middle"] a { display: inline-flex; align-items: center; min-height: 32px; color: #D0D8D2; font-size: 13px; line-height: 1.6; text-decoration: none; }
#footer [data-row="middle"] a:hover { color: var(--lv-text-light); text-decoration: underline; text-underline-offset: 5px; }
#footer [data-row="bottom"] > .ct-container { width: min(calc(100% - var(--lv-gutter)*2),calc(var(--lv-content-width) - var(--lv-gutter)*2)); border-top: 1px solid #46554C; padding-block: 24px; min-height: 70px; }
#footer .ct-footer-copyright { font-family: var(--lv-font-body); font-size: 11px; line-height: 1.6; color: #BBC8C1; letter-spacing: .02em; }
#footer :is(a,button):focus-visible { outline-color: var(--lv-text-light); }
.lv-footer-links { display: flex; flex-direction: column; align-items: flex-start; }

/* 10. Tablet and mobile, with native commerce layout preserved */
/* Exact shortcode interfaces and Blocksy's own classic-commerce wrappers. */
.lv-hero { width: min(100%,var(--lv-content-width)); margin-inline: auto; padding-left: var(--lv-gutter); }
.lv-hero-copy > .lv-caption { margin: 22px 0 0; font-size: 12px; }
.lv-hero-media > .lv-caption { position: absolute; left: 24px; bottom: 20px; margin: 0; padding: 7px 10px; background: var(--lv-bg-primary); color: var(--lv-text-primary); font-size: 11px; }
.lv-product-name a { text-decoration: none; color: var(--lv-text-primary); }
.lv-statement .lv-link { margin-top: 30px; }
.lv-world { padding-left: max(var(--lv-gutter),calc((100% - 1320px)/2)); gap: 60px; }
.lv-world-copy { padding-block: 70px; }
.lv-world-image { aspect-ratio: 1/1; max-height: 740px; }
.lv-newsletter .lv-wrap { display: block; max-width: 760px; text-align: center; }
.lv-newsletter h2 { max-width: 600px; margin-inline: auto; }
.lv-newsletter .lv-form { margin: 30px auto 0; text-align: left; }
.lv-form > :is(input:not([type="hidden"]):not([type="checkbox"]),textarea) { margin-bottom: 22px; }
.lv-form > input:not([type]) { width: 100%; min-height: 48px; padding: 12px 14px; background: var(--lv-surface); border: 1px solid var(--lv-border); border-radius: 0; }
.lv-form .lv-consent { display: flex; align-items: flex-start; gap: 12px; margin-block: 20px; font-size: 12px; line-height: 1.7; color: var(--lv-text-secondary); text-transform: none; }
.lv-form .lv-consent input { flex: 0 0 18px; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--lv-accent); }
.lv-form .lv-consent a { text-decoration: underline; text-underline-offset: 3px; }
.lv-honeypot { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.lv-policy-page { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); align-items: start; gap: clamp(42px,7vw,110px); width: min(100%,var(--lv-content-width)); margin-inline: auto; padding: 80px var(--lv-gutter) 110px; }
.lv-page-intro { min-width: 0; margin: 0; }
.lv-page-intro h1, .lv-cart-intro h1 { font-family: var(--lv-font-display); font-size: clamp(42px,4.3vw,62px); line-height: 1.12; font-weight: 400; letter-spacing: -.04em; margin: 0 0 26px; text-wrap: balance; }
.lv-page-lede { max-width: 430px; font-size: 17px; line-height: 1.75; color: var(--lv-text-secondary); }
.lv-prose { min-width: 0; max-width: 720px; }
.lv-prose section + section { padding-top: 30px; margin-top: 30px; border-top: 1px solid var(--lv-border); }
.lv-prose h2 { font-family: var(--lv-font-body); font-size: 21px; line-height: 1.4; font-weight: 400; letter-spacing: 0; margin: 0 0 18px; }
.lv-prose :is(p,li) { color: var(--lv-text-secondary); font-size: 16px; line-height: 1.8; overflow-wrap: break-word; }
.lv-prose li + li { margin-top: 12px; }
.lv-prose a { color: var(--lv-text-primary); text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.lv-prose .lv-policy-date { font-size: 12px; margin-bottom: 28px; }
.lv-prose .lv-text-link { display: inline-flex; min-height: 44px; align-items: center; gap: 20px; margin-top: 15px; font-size: 12px; }
.lv-prose details { border-bottom: 1px solid var(--lv-border); padding-block: 22px; }
.lv-prose details:first-child { padding-top: 0; }
.lv-prose details summary { display: flex; justify-content: space-between; gap: 20px; min-height: 44px; align-items: center; font-size: 17px; line-height: 1.55; list-style: none; cursor: pointer; }
.lv-prose details summary::-webkit-details-marker { display: none; }
.lv-prose details summary::after { content: "+"; flex-shrink: 0; font-size: 22px; }
.lv-prose details[open] summary::after { content: "−"; }
.lv-prose details p { margin: 15px 0 0; }
.lv-about-photo { display: block; width: 100%; height: auto; aspect-ratio: 4/5; object-fit: cover; margin-block: 28px 40px; }
.lv-prose .lv-form { margin-top: 32px; }
.lv-cart-intro { padding-block: 60px 32px; }
.lv-shop-heading { padding-block: 10px 40px; }
.lv-shop-heading h1 { font-size: clamp(42px,4.3vw,62px); letter-spacing: -.04em; margin: 0 0 20px; }
.lv-shop-heading > p:last-child { margin-bottom: 0; max-width: 45ch; color: var(--lv-text-secondary); }
.woocommerce-cart .entry-content > .woocommerce, .woocommerce-checkout .entry-content > .woocommerce { width: min(calc(100% - var(--lv-gutter)*2),1320px); margin-inline: auto; padding-bottom: 80px; }
.single-product div.product .product-entry-wrapper .woocommerce-product-gallery,
.single-product div.product .product-entry-wrapper .entry-summary { width: 100%; margin-inline: 0; }
.single-product .product-entry-wrapper > .lv-product-details { grid-column: 1/-1; width: 100%; max-width: 820px; margin: 35px auto 0; }
.single-product .woocommerce-product-gallery .flexy-pills li { --thumbs-width: 25%; }
.woocommerce-cart .ct-woocommerce-cart-form { grid-template-columns: minmax(0,1.6fr) minmax(0,1fr); gap: 48px; }
.woocommerce-cart .ct-woocommerce-cart-form .cart_totals { padding: 30px; background: var(--lv-bg-secondary); border: 0; border-radius: 0; }
.woocommerce-cart .ct-woocommerce-cart-form .cart_totals h2 { font-family: var(--lv-font-display); font-size: 30px; font-weight: 400; letter-spacing: -.025em; margin-bottom: 22px; }
.woocommerce-checkout form.checkout.ct-woocommerce-checkout { grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); }
.woocommerce-checkout form.checkout .ct-order-review { grid-column: 2; padding: 30px; border: 0; border-radius: 0; background: var(--lv-bg-secondary); }
.woocommerce-checkout form.checkout .ct-order-review #order_review { padding: 0; background: transparent; }
.woocommerce-checkout form.checkout .ct-order-review #order_review_heading { margin-bottom: 25px; }
.woocommerce-checkout .woocommerce-checkout-payment { margin-inline: 0; }
.woocommerce-checkout .woocommerce-checkout-payment .place-order { padding-inline: 0; }
.lv-footer-brand { padding-block: 65px 45px; color: var(--lv-text-light); background: var(--lv-bg-dark); }
.lv-footer-brand .lv-wordmark { display: inline-block; font-family: var(--lv-font-body); font-size: 35px; line-height: 1.2; letter-spacing: .16em; text-decoration: none; color: inherit; margin-bottom: 22px; }
.lv-footer-brand p { margin-bottom: 15px; font-size: 15px; line-height: 1.8; color: #C9CED0; }
.lv-footer-brand .lv-link { color: #D0D8D2; }
#footer [data-row="middle"] > .ct-container { padding-top: 30px; }
#footer [data-row="middle"] h3 { color: var(--lv-text-light); font-family: var(--lv-font-body); font-size: 11px; line-height: 1.5; font-weight: 400; letter-spacing: .13em; text-transform: uppercase; margin-bottom: 22px; }
@media (min-width: 1100px) {
  #footer [data-row="middle"] > .ct-container { grid-template-columns: minmax(0,1.45fr) repeat(3,minmax(0,1fr)); }
}
@media (max-width: 1099.98px) {
  :root { --lv-gutter: 30px; }
  .lv-hero-copy { padding-right: 35px; }
  .lv-hero-copy h1 { font-size: 48px; }
  .lv-product-grid { gap: 18px; }
  .lv-product-meta { display: block; }
  .lv-product-price, .lv-shell .lv-product-price { margin-top: 6px; }
  .single-product .product-entry-wrapper { gap: 36px; }
  .woocommerce-checkout form.checkout { column-gap: 36px; }
  .woocommerce-checkout form.checkout #order_review { padding: 24px; }
}
@media (max-width: 999.98px) {
  #header [data-device="mobile"] [data-row="middle"] > :is(.ct-container,.ct-container-fluid) { min-height: 74px; width: 100%; padding-inline: 20px; }
  #header [data-device="mobile"] [data-row="middle"] :is([data-column="start"],[data-column="end"]) { min-width: 88px; }
  #header [data-device="mobile"] [data-column="end"] [data-items="primary"] > * { margin: 0; }
  #header [data-device="mobile"] .site-title { font-size: 22px; --theme-font-size: 22px; letter-spacing: .12em; }
  #header [data-device="mobile"] :is(.ct-header-search,.ct-header-trigger,.ct-cart-item) { margin: 0; min-width: 44px; min-height: 44px; }
  .lv-hero, .lv-hero > .lv-wrap, .lv-hero.lv-wrap { min-height: 520px; }
  .lv-hero-media { height: 560px; }
  .lv-hero-copy h1 { font-size: clamp(38px,4.8vw,48px); }
  .lv-material > .lv-wrap, .lv-material.lv-wrap,
  .lv-world, .lv-world > .lv-wrap, .lv-world.lv-wrap { gap: 40px; }
  .lv-material-image { aspect-ratio: 4/5; }
  .lv-newsletter .lv-wrap { gap: 40px; }
  .woocommerce ul.products, .woocommerce [data-products] { --shop-columns: repeat(2,minmax(0,1fr)); grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px 24px; }
  .single-product .summary .product_title { font-size: 38px; }
  .woocommerce-cart table.cart .product-thumbnail { width: 88px; }
  .woocommerce-cart .cart-collaterals .cart_totals { width: 56%; }
  .lv-policy-layout, .lv-contact-layout { column-gap: 48px; }
  .woocommerce-cart .ct-woocommerce-cart-form { grid-template-columns: minmax(0,1fr); }
  .woocommerce-checkout form.checkout.ct-woocommerce-checkout { grid-template-columns: minmax(0,1fr); }
  .woocommerce-checkout form.checkout.ct-woocommerce-checkout #customer_details { grid-column: 1; grid-row: auto; }
  .woocommerce-checkout form.checkout .ct-order-review { grid-column: 1; }
  #footer [data-row="middle"] > .ct-container { grid-template-columns: repeat(2,minmax(0,1fr)); row-gap: 45px; }
}
@media (max-width: 767.98px) {
  :root { --lv-gutter: 20px; --lv-section-space: 62px; }
  html { scroll-padding-top: 86px; }
  .lv-shell h1 { font-size: clamp(40px,10vw,54px); }
  .lv-shell h2 { font-size: 35px; line-height: 1.16; }
  .lv-kicker, .lv-shell .lv-kicker { font-size: 10px; letter-spacing: .15em; margin-bottom: 20px; }
  .lv-section-head { margin-bottom: 28px; }
  .lv-section-head:has(> .lv-link) { gap: 12px; }
  .lv-section-head:has(> .lv-link) > :first-child { flex-basis: 100%; }
  .lv-hero, .lv-hero > .lv-wrap, .lv-hero.lv-wrap { display: flex; flex-direction: column; min-height: 0; }
  .lv-hero { padding-inline: var(--lv-gutter); }
  .lv-hero-copy { padding: 46px 0 38px; }
  .lv-hero-copy .lv-kicker { margin-bottom: 20px; }
  .lv-hero-copy h1 { max-width: 430px; font-size: clamp(40px,10.6vw,56px); line-height: 1.06; margin-bottom: 22px; }
  .lv-hero-copy > p:not(.lv-kicker) { max-width: 330px; margin-bottom: 24px; }
  .lv-hero-copy .lv-button { min-height: 46px; }
  .lv-hero-media { width: 100%; height: auto; aspect-ratio: 4/5; max-height: none; }
  .lv-hero-media img { width: 100%; height: 100%; object-fit: cover; }
  .lv-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px 14px; }
  .lv-product-meta { padding-top: 14px; }
  .lv-product-name, .lv-shell .lv-product-name { font-size: 16px; }
  .lv-product-price, .lv-shell .lv-product-price { font-size: 13px; }
  .lv-product-card .lv-caption { font-size: 12px; }
  .lv-statement { padding-block: 70px 76px; }
  .lv-statement h2, .lv-statement .lv-statement-text { font-size: clamp(30px,7.9vw,42px); line-height: 1.25; }
  .lv-material > .lv-wrap, .lv-material.lv-wrap,
  .lv-world, .lv-world > .lv-wrap, .lv-world.lv-wrap { grid-template-columns: minmax(0,1fr); gap: 32px; }
  .lv-world { padding: 56px var(--lv-gutter); }
  .lv-material-image { aspect-ratio: 4/5; }
  .lv-material-copy, .lv-world-copy { max-width: 100%; padding-block: 0; }
  .lv-material-copy h2, .lv-world-copy h2 { max-width: 420px; }
  .lv-material-copy p:not(.lv-kicker), .lv-world-copy p:not(.lv-kicker) { max-width: 520px; }
  .lv-world-image { aspect-ratio: 4/5; }
  .lv-meaning { padding-block: 65px 72px; }
  .lv-meaning.lv-wrap, .lv-meaning .lv-wrap { grid-template-columns: minmax(0,1fr); gap: 8px; }
  .lv-meaning .lv-kicker { padding-top: 0; }
  .lv-worn-grid { gap: 14px; }
  .lv-worn-grid > :nth-child(2) { margin-top: 28px; }
  .lv-caption, .lv-shell .lv-caption { font-size: 12px; margin-top: 12px; }
  .lv-newsletter { padding-block: 58px 64px; }
  .lv-newsletter .lv-wrap { grid-template-columns: minmax(0,1fr); gap: 32px; }
  .lv-newsletter h2 { font-size: 32px; max-width: 340px; }
  .lv-newsletter .lv-form { max-width: none; }
  .lv-newsletter .lv-form .lv-form-row { gap: 12px; }
  .lv-newsletter .lv-button { padding-inline: 18px; min-width: 76px; }
  .woocommerce-shop .hero-section, .tax-product_cat .hero-section { padding-block: 44px 26px; }
  .woocommerce ul.products, .woocommerce [data-products] { gap: 32px 14px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { margin-top: 14px; }
  .woocommerce ul.products li.product .price { font-size: 13px; }
  .woocommerce .woocommerce-result-count { font-size: 12px; }
  .woocommerce .woocommerce-ordering select { max-width: 190px; font-size: 12px; }
  .single-product .woocommerce-breadcrumb { font-size: 11px; margin-bottom: 20px; }
  .single-product .product-entry-wrapper:has(.woocommerce-product-gallery) { display: block; }
  .single-product div.product .woocommerce-product-gallery { width: 100%; margin-bottom: 32px; }
  .single-product div.product div.summary { width: 100%; padding: 0; }
  .single-product .summary .product_title { font-size: 40px; margin-bottom: 16px; }
  .single-product .summary > .price { font-size: 18px; margin-bottom: 22px; }
  .single-product .woocommerce-product-details__short-description { margin-bottom: 26px; }
  .single-product div.product form.cart { margin-bottom: 26px; }
  .single-product div.product form.cart .quantity { flex-basis: 88px; }
  .single-product div.product form.cart .single_add_to_cart_button { flex-basis: 180px; }
  .single-product .woocommerce-tabs { margin-top: 48px; }
  .single-product .woocommerce-tabs ul.tabs li { margin-right: 20px; }
  .single-product .related.products { margin-top: 55px; }
  .single-product .related.products > h2 { font-size: 32px; }
  .lv-policy-layout, .lv-contact-layout { grid-template-columns: minmax(0,1fr); gap: 32px; padding-block: 48px 76px; }
  .lv-policy-page { grid-template-columns: minmax(0,1fr); gap: 34px; padding-block: 48px 76px; }
  .lv-page-intro h1, .lv-cart-intro h1 { font-size: 42px; }
  .lv-page-lede { font-size: 16px; }
  .lv-prose details summary { font-size: 16px; }
  .lv-cart-intro { padding-block: 40px 22px; }
  .lv-footer-brand { padding-block: 52px 28px; }
  .lv-footer-brand .lv-wordmark { font-size: 29px; }
  .woocommerce-checkout form.checkout .ct-order-review { padding: 24px 20px; }
  .woocommerce-checkout form.checkout .ct-order-review #order_review { padding: 0; }
  .woocommerce-cart .ct-woocommerce-cart-form .cart_totals { position: static; padding: 25px 20px; }
  .lv-policy-layout h1, .lv-contact-layout h1 { font-size: 42px; margin-bottom: 20px; }
  .lv-policy-content h2 { margin-top: 30px; }
  .lv-policy-content .lv-detail-row summary { font-size: 16px; }
  .lv-form .lv-form-grid { grid-template-columns: minmax(0,1fr); gap: 0; }
  .lv-form .lv-form-grid > * { margin-bottom: 24px; }
  .lv-notice { padding: 18px; }
  .woocommerce :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) { padding: 18px; }
  .woocommerce .woocommerce-message .button { float: none; display: flex; width: fit-content; margin: 0 0 14px; }
  .woocommerce-cart .woocommerce { padding-bottom: 18px; }
  .woocommerce-cart table.shop_table_responsive thead { display: none; }
  .woocommerce-cart table.shop_table_responsive, .woocommerce-cart table.shop_table_responsive tbody { display: block; width: 100%; }
  .woocommerce-cart table.shop_table_responsive tr.cart_item { display: grid; grid-template-columns: 82px minmax(0,1fr) 44px; gap: 8px 15px; padding-block: 24px; border-bottom: 1px solid var(--lv-border); }
  .woocommerce-cart table.shop_table_responsive tr.cart_item td { display: block; background: transparent; border: 0; min-width: 0; padding: 0; width: auto; text-align: left; }
  .woocommerce-cart table.shop_table_responsive tr.cart_item td::before { display: none; }
  .woocommerce-cart table.shop_table_responsive tr.cart_item .product-thumbnail { display: block; grid-column: 1; grid-row: 1/5; }
  .woocommerce-cart table.shop_table_responsive tr.cart_item .product-thumbnail img { width: 82px; }
  .woocommerce-cart table.shop_table_responsive tr.cart_item .product-name { grid-column: 2; grid-row: 1; padding-top: 4px; }
  .woocommerce-cart table.shop_table_responsive tr.cart_item .product-name a { font-size: 16px; }
  .woocommerce-cart table.shop_table_responsive tr.cart_item .product-price { grid-column: 2; grid-row: 2; font-size: 13px; color: var(--lv-text-secondary); }
  .woocommerce-cart table.shop_table_responsive tr.cart_item .product-quantity { grid-column: 2; grid-row: 3; margin-top: 6px; }
  .woocommerce-cart table.shop_table_responsive tr.cart_item .product-quantity .quantity { max-width: 110px; }
  .woocommerce-cart table.shop_table_responsive tr.cart_item .product-subtotal { grid-column: 2; grid-row: 4; margin-top: 4px; font-size: 13px; }
  .woocommerce-cart table.shop_table_responsive tr.cart_item .product-subtotal::before { display: inline; content: attr(data-title) ": "; float: none; font-weight: 400; color: var(--lv-text-secondary); }
  .woocommerce-cart table.shop_table_responsive tr.cart_item .product-remove { grid-column: 3; grid-row: 1; justify-self: end; }
  .woocommerce-cart table.shop_table_responsive tr:not(.cart_item) { display: block; }
  .woocommerce-cart table.shop_table_responsive td.actions { display: block; width: 100%; background: transparent; padding-block: 24px; text-align: left; }
  .woocommerce-cart table.cart td.actions .coupon { float: none; display: grid; grid-template-columns: minmax(0,1fr) auto; width: 100%; padding-bottom: 16px; gap: 10px; }
  .woocommerce-cart table.cart td.actions .coupon .input-text { min-width: 0; width: 100%; }
  .woocommerce-cart table.cart td.actions .coupon .button { width: auto; font-size: 10px; padding-inline: 15px; }
  .woocommerce-cart table.cart td.actions > .button { width: 100%; }
  .woocommerce-cart .cart-collaterals { margin-top: 18px; }
  .woocommerce-cart .cart-collaterals .cart_totals { width: 100%; max-width: none; padding: 24px 20px; }
  .woocommerce-cart .cart_totals table.shop_table_responsive tr { display: table-row; }
  .woocommerce-cart .cart_totals table.shop_table_responsive tbody { display: table-row-group; }
  .woocommerce-cart .cart_totals table.shop_table_responsive th { display: table-cell; }
  .woocommerce-cart .cart_totals table.shop_table_responsive td { display: table-cell; background: transparent; text-align: right; }
  .woocommerce-cart .cart_totals table.shop_table_responsive td::before { display: none; }
  .woocommerce-checkout form.checkout { display: block; margin-top: 28px; }
  .woocommerce-checkout form.checkout #customer_details { width: 100%; }
  .woocommerce-checkout form.checkout #order_review_heading { margin-top: 38px; margin-bottom: 22px; }
  .woocommerce-checkout form.checkout #order_review { padding: 24px 20px; }
  .woocommerce-checkout form.checkout h3 { font-size: 28px; }
  .woocommerce form .form-row-first, .woocommerce form .form-row-last { width: 100%; float: none; }
  .woocommerce form.login, .woocommerce form.register { padding: 24px 20px; }
  #footer [data-row="middle"] > .ct-container { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 54px var(--lv-gutter) 44px; gap: 34px 20px; }
  #footer [data-row="middle"] [data-column="widget-area-1"] { grid-column: 1/-1; }
  #footer .lv-footer-brand { font-size: 23px; }
  #footer [data-row="middle"] .widget-title { margin-bottom: 14px; }
  #footer [data-row="middle"] a { min-height: 40px; font-size: 13px; }
  #footer [data-row="bottom"] > .ct-container { padding-block: 23px; }
}
@media (max-width: 389.98px) {
  #header [data-device="mobile"] [data-row="middle"] > :is(.ct-container,.ct-container-fluid) { padding-inline: 12px; }
  #header [data-device="mobile"] .site-title { font-size: 20px; --theme-font-size: 20px; letter-spacing: .11em; }
  .lv-hero-copy h1 { font-size: 40px; }
  .lv-product-grid, .woocommerce ul.products, .woocommerce [data-products] { column-gap: 12px; }
  .woocommerce .woocommerce-ordering select { max-width: 176px; }
  .woocommerce-cart table.shop_table_responsive tr.cart_item { grid-template-columns: 74px minmax(0,1fr) 44px; gap: 8px 12px; }
  .woocommerce-cart table.shop_table_responsive tr.cart_item .product-thumbnail img { width: 74px; }
  .single-product .summary .product_title { font-size: 38px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  a, button, input, select, textarea, .lv-product-image img,
  .woocommerce ul.products li.product .ct-media-container img { transition: none; }
  .lv-product-card:hover .lv-product-image img,
  .woocommerce ul.products li.product:hover .ct-media-container img { transform: none; }
}
