/* La VERDI typography. Existing composition, colors and commerce are retained. */
body { font-size:16px; font-weight:400; line-height:1.6; cursor:default; }
a[href],button,select,summary,[role="button"],label[for] { cursor:pointer; }
input,textarea { cursor:text; }
input:is([type="checkbox"],[type="radio"],[type="submit"],[type="button"],[type="reset"],[type="range"],[type="file"],[type="color"]) { cursor:pointer; }
h1,.hero h1,.catalog-heading h1,.product-description h1,.interior-page h1,.information-page h1 {
 font-family:var(--serif); font-size:64px; font-weight:600; line-height:1.1; letter-spacing:-.02em;
}
h2,.section-heading h2,.promo-copy h2,.lookbook-copy h2,.quick-filter-section h2,.information-page h2,.cart-summary h2,.dialog-heading h2,.empty-state h2 {
 font-family:var(--serif); font-size:44px; font-weight:600; line-height:1.15; letter-spacing:-.01em;
}
.hero h1 { font-size:clamp(56px,4.45vw,68px); margin:24px 0; }
.product-description h1 { font-size:52px; margin:0 0 20px; }
.catalog-heading h1 { margin:16px 0 24px; }
.interior-page h1 { margin-bottom:28px; }
.eyebrow,.catalog-heading .eyebrow,.hero-copy .eyebrow,.section-heading .eyebrow,.lookbook-copy .eyebrow,.promo-copy .eyebrow {
 font-size:12px; line-height:1.5; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
}
.section-heading .eyebrow { margin-bottom:12px; }
.section-heading { margin-bottom:32px; }
.quick-filter-section .section-heading { margin-bottom:28px; }
.hero-description,.catalog-heading>.muted:not(.eyebrow),.lookbook-copy p:not(.eyebrow),.promo-copy p:not(.eyebrow),.product-description details p,.information-page>p:not(.eyebrow),.empty-state p {
 font-size:17px; line-height:1.6; font-weight:400;
}
.hero-description { margin-bottom:28px; }
.lookbook-copy h2 { margin:16px 0 24px; }
.lookbook-copy p:not(.eyebrow) { max-width:380px; margin-bottom:28px; }
.promo-copy h2 { margin:16px 0 24px; }
.promo-copy p:not(.eyebrow) { margin-bottom:28px; }
.product-description details p+p,.information-page p+p { margin-top:16px; }
.product-description summary { font-size:17px; font-weight:500; line-height:1.5; }
.product-description dl { font-size:16px; line-height:1.6; }
.product-description dd { text-align:right; }
.product-description .detail-price { font-size:30px; font-weight:650; line-height:1.3; margin:12px 0 24px; letter-spacing:0; }
.detail-price del { font-size:19px; font-weight:400; color:var(--muted); }
.product-info { padding-top:18px; }
.product-info h3 { font:600 20px/1.4 var(--sans); letter-spacing:0; margin:6px 0 10px; }
.product-info .swatches { margin:0 0 12px; min-height:12px; }
.product-info .price { margin:0 0 10px; display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 10px; }
.product-info .product-category { margin:0; }
.product-photo-link { position:relative; display:block; height:100%; }
.product-photo .product-hover { position:absolute; inset:0; opacity:0; pointer-events:none; object-fit:contain; background:var(--warm); }
.product-photo .product-lifestyle { opacity:1; }
.gallery { min-width:0; }
.gallery-thumbs { max-width:100%; gap:10px; padding-bottom:8px; }
.gallery-thumbs button { flex:0 0 86px; width:86px; }
.gallery-thumbs button img { width:100%; height:106px; object-fit:contain; }
.gallery-label { display:block; font:500 12px/1.4 var(--sans); text-align:center; padding:6px 2px; }
@media(hover:hover) and (pointer:fine) {
 .product-photo .product-hover { transition:opacity .2s ease; }
 .product-photo:hover .product-hover.is-loaded { opacity:1; }
}
@media(prefers-reduced-motion:reduce) {
 .product-photo .product-hover { transition:none; }
}
.price { font:600 20px/1.4 var(--sans); letter-spacing:0; }
.price del { font-size:14px; font-weight:400; color:var(--muted); }
.product-category { font-size:12px; font-weight:400; line-height:1.5; }
.product-category span { font-size:12px; font-weight:400; }
.category-copy h3 { font:600 26px/1.3 var(--sans); letter-spacing:0; }
.desktop-nav { font-size:17px; font-weight:600; gap:30px; letter-spacing:0; }
.header-info { font-size:13px; font-weight:500; line-height:1.5; color:#e1e7ed; }
.menu-dialog nav a { font:500 16px/1.5 var(--sans); letter-spacing:0; }
.menu-bottom a,.search-suggestions a { font-size:15px; line-height:1.5; }
.ticker-copy { font-size:14px; font-weight:600; line-height:20px; letter-spacing:.02em; color:var(--navy); }
.button,.hero .button,.quick-filter .button,.promo-section .button,.search-form .button,.add-button,.cart-summary .button {
 font:600 16px/1.4 var(--sans); letter-spacing:0; min-height:50px; padding:13px 22px;
}
.text-link,.section-heading>.text-link,.lookbook-copy .text-link,.quick-view { font-size:15px; font-weight:500; line-height:1.5; letter-spacing:0; }
.small-button,.filters .small-button,.filter-toggle { font-size:15px; font-weight:500; line-height:1.5; min-height:48px; }
.quick-filter label,.filter-fields label,.checkout-form label,.promo-form label,.sort-label { font-size:14px; font-weight:500; line-height:1.5; }
.quick-filter input,.quick-filter select,.filter-fields input,.filter-fields select,.checkout-form input,.checkout-form select,.checkout-form textarea,.sort-label select,.promo-form input,.search-form input {
 font:400 16px/1.5 var(--sans); min-height:50px;
}
.quick-filter .stock-filter input,.filter-fields .stock-filter input { min-height:0; }
.quick-filter-actions .text-link { font-size:14px; }
.color-options legend,.option-heading { font-size:15px; font-weight:600; }
.color-option>span,.variant-option>span { font-size:16px; font-weight:500; }
.breadcrumbs,.sku,.stock,.cart-stock,.demo-note,.demo-caption,.active-filters>span,.promo-copy small { font-size:13px; font-weight:400; line-height:1.5; }
.demo-caption { font-size:12px; }
.tabs a,.category-links a { font-size:15px; font-weight:500; }
.benefits h3 { font-size:16px; font-weight:600; line-height:1.4; }
.benefits p { font-size:13px; line-height:1.5; }
.footer-grid :is(h2,h3),.footer-accordion>summary :is(h2,h3),.social-links :is(h2,h3) { font:600 14px/1.5 var(--sans); letter-spacing:.12em; text-transform:uppercase; }
.footer-links>a,.footer-brand p,.footer-city { font-size:16px; font-weight:400; line-height:1.5; }
.footer-bottom { font-size:12px; line-height:1.5; }
.cart-item h2 { font:600 20px/1.4 var(--sans); margin:6px 0 12px; }
.cart-item p { font-size:15px; line-height:1.5; }
.cart-item>strong { font-size:20px; font-weight:600; line-height:1.4; }
.cart-item .eyebrow,.cart-item .cart-stock,.quantity-form label,.quantity-form .text-link,.remove-button { font-size:13px; line-height:1.5; }
.cart-summary h2 { margin:12px 0 24px; }
.cart-summary .muted { font-size:16px; line-height:1.6; }
.summary-total { font-size:16px; line-height:1.5; flex-wrap:wrap; }
.summary-total strong { font-size:18px; font-weight:600; white-space:nowrap; }
.grand-total strong { font-size:22px; }
@media(max-width:1000px) and (min-width:601px) {
 .hero h1 { font-size:56px; }
 .product-description h1 { font-size:44px; }
 .category-copy h3 { font-size:24px; }
 .promo-copy { padding:28px; }
 .promo-copy h2 { font-size:40px; }
}
@media(max-width:600px) {
 h1,.hero h1,.catalog-heading h1,.product-description h1,.interior-page h1,.information-page h1 { font-size:40px; line-height:1.12; letter-spacing:-.015em; }
 h2,.section-heading h2,.promo-copy h2,.lookbook-copy h2,.quick-filter-section h2,.information-page h2,.cart-summary h2,.dialog-heading h2,.empty-state h2 { font-size:34px; line-height:1.15; }
 .hero { height:720px; }
 .hero-copy { padding-bottom:30px; }
 .hero h1 { margin:18px 0 22px; }
 .hero-description { font-size:16px; line-height:1.6; margin-bottom:26px; }
 .eyebrow,.catalog-heading .eyebrow,.hero-copy .eyebrow,.section-heading .eyebrow,.lookbook-copy .eyebrow,.promo-copy .eyebrow { font-size:11px; letter-spacing:.12em; }
 .section-heading { margin-bottom:28px; gap:12px; }
 .section-heading .eyebrow { margin-bottom:12px; }
 .product-description h1 { margin-bottom:18px; }
 .product-description .detail-price { font-size:28px; margin:12px 0 22px; }
 .detail-price del { font-size:17px; }
 .product-info h3 { font-size:18px; line-height:1.4; margin:5px 0 10px; }
 .product-photo .product-hover { display:none; }
 .gallery-thumbs button { flex-basis:76px; width:76px; }
 .gallery-thumbs button img { height:94px; }
 .price { font-size:20px; }
 .price del { font-size:13px; }
 .product-category { font-size:12px; }
 .product-category span { font-size:12px; }
 .category-copy h3 { font-size:22px; }
 .ticker-copy { font-size:13px; line-height:20px; }
 .lookbook-copy p:not(.eyebrow),.promo-copy p:not(.eyebrow),.product-description details p,.information-page>p:not(.eyebrow),.catalog-heading>.muted:not(.eyebrow),.empty-state p { font-size:16px; line-height:1.6; }
 .lookbook { height:610px; }
 .lookbook-copy h2 { margin:14px 0 20px; }
 .lookbook-copy p:not(.eyebrow) { margin-bottom:24px; }
 .lookbook-copy { bottom:28px; }
 .promo-copy h2 { margin:14px 0 22px; }
 .promo-copy p:not(.eyebrow) { margin-bottom:26px; }
 .promo-copy .eyebrow { letter-spacing:.1em; }
 .benefits h3 { font-size:14px; }
 .benefits p { font-size:12px; }
 .cart-item h2 { font-size:18px; }
 .cart-item>strong { font-size:20px; }
 .footer-links>a { font-size:15px; line-height:1.5; }
 .footer-brand p,.footer-city { font-size:16px; }
 .footer-accordion>summary :is(h2,h3) { font-size:14px; }
 .cart-summary .muted { font-size:16px; }
}

/* Header identity and homepage captions: scoped to preserve the footer. */
.site-header .main-nav { height:58px; padding-top:18px; gap:28px; }
.site-header .brand { font-family:var(--sans); font-size:38px; font-weight:450; line-height:1.1; letter-spacing:.12em; color:#fff; white-space:nowrap; }
.desktop-nav { font-size:18px; font-weight:600; gap:32px; }
.desktop-nav a:hover { color:#fff; opacity:.82; }
.header-info { font-size:14px; font-weight:500; gap:28px; color:#fff; top:1px; }
.header-actions { gap:18px; }
.header-actions svg,.site-header .menu-toggle svg { width:22px; height:22px; stroke-width:1.6; }
.ticker-copy { font-size:15px; font-weight:600; }
.hero-copy .eyebrow,.section-heading .eyebrow,.lookbook-copy .eyebrow,.promo-copy .eyebrow {
 font-size:13px; font-weight:600; letter-spacing:.14em; color:var(--navy);
}
.hero-description { font-size:18px; line-height:1.6; }
.menu-dialog nav a { font-size:19px; font-weight:600; }
.menu-bottom a { font-size:16px; font-weight:500; }
@media(min-width:1201px) and (max-width:1350px) {
 .desktop-nav { gap:28px; font-size:17px; }
 .site-header .main-nav { gap:20px; }
 .site-header .brand { font-size:34px; }
}
@media(max-width:1200px) {
 .site-header .main-nav { height:48px; padding-top:0; }
}
@media(max-width:600px) {
 .site-header .main-nav { height:45px; gap:10px; }
 .site-header .brand { font-size:30px; font-weight:450; letter-spacing:.10em; }
 .header-actions { gap:18px; }
 .ticker-copy { font-size:14px; }
 .hero-copy .eyebrow,.section-heading .eyebrow,.lookbook-copy .eyebrow,.promo-copy .eyebrow { font-size:12px; letter-spacing:.12em; }
 .hero-description { font-size:17px; }
}

@media(min-width:1201px) { .site-header .desktop-nav a { padding-block:3px 7px; } .site-header .desktop-nav a:after { bottom:2px; opacity:1; height:1px; } .site-header .brand { transform:translateY(-9px); } .site-header .header-actions .icon-button { height:28px; padding-block:3px; } .header-info { font-size:13px; line-height:16px; } }

/* Category hover: a rectangular outline without shifting navigation. */
.site-header .desktop-nav a:after {
 inset:0 -10px; width:auto; height:auto; background:transparent;
 border:1px solid transparent; opacity:1; transition:border-color .15s ease;
 pointer-events:none;
}
.site-header .desktop-nav a:hover { opacity:1; }
.site-header .desktop-nav a:hover:after,
.site-header .desktop-nav a:focus-visible:after { right:-10px; border-color:rgba(255,255,255,.85); }

/* Compact retail actions, in the existing navy and white palette. */
.site-header .header-actions { gap:12px; flex-shrink:0; }
.header-search { display:flex; align-items:center; width:164px; height:34px; margin:0; border:1px solid #ffffff80; border-radius:5px; background:transparent; }
.header-search:focus-within { border-color:#fff; }
.header-search button { display:flex; align-items:center; justify-content:center; border:0; background:none; color:#fff; padding:0; width:34px; height:32px; flex-shrink:0; }
.header-search button svg { width:17px; height:17px; }
.header-search input { width:100%; min-width:0; height:32px; border:0; background:none; color:#fff; font:500 14px/1.4 var(--sans); padding:0 8px 0 0; outline-offset:3px; }
.header-search input::placeholder { color:#fff; opacity:1; }
.site-header .header-search-toggle { display:none; }
.header-account { display:flex; align-items:center; gap:9px; color:#fff; border:0; background:none; padding:0; white-space:nowrap; font:500 14px/1.4 var(--sans); }
.header-account:disabled { opacity:1; cursor:default; }
.account-avatar { display:flex; align-items:center; justify-content:center; width:27px; height:27px; border-radius:50%; background:#fff; color:var(--navy); }
.header-actions .account-avatar svg { width:20px; height:20px; stroke-width:1.6; }
@media(max-width:1200px) {
 .header-search { width:180px; }
}
@media(max-width:600px) {
 .header-search { display:none; }
 .site-header .header-search-toggle { display:inline-flex; }
 .site-header .header-actions { gap:6px; }
 .header-account { width:30px; height:42px; justify-content:center; }
 .account-avatar { width:24px; height:24px; }
 .account-label { display:none; }
}

/* A single centered row; service links remain in footer and mobile menu. */
.site-header .main-nav { padding-top:0; }
.site-header .brand { transform:none; }

/* Keep search focus visible in the brand palette. */
.header-search input:focus-visible { outline:1px solid #fff; outline-offset:-2px; }
.search-form input:focus-visible { outline:2px solid var(--navy); }

/* Native select behavior with the same fine-line icon style as the header. */
body select:not([multiple]) {
 -webkit-appearance:none; -moz-appearance:none; appearance:none;
 background-image:url('../images/chevron-down.svg');
 background-repeat:no-repeat; background-position:right 14px center; background-size:18px 18px;
 padding-right:42px; color:var(--navy); border-radius:1px;
}
body select:focus-visible { outline:2px solid var(--navy); outline-offset:2px; }
.sort-label select,.filter-toggle { min-height:50px; border:1px solid var(--line); border-radius:1px; font-size:15px; font-weight:500; }
.sort-label select:hover,.filter-toggle:hover { border-color:var(--navy); }
@media(forced-colors:active) {
 body select:not([multiple]) { appearance:auto; background-image:none; }
}


/* Client presentation: two confirmed social channels, with optional verified originals. */
.site-header .brand { font-size:40px; font-weight:400; letter-spacing:.13em; }
.desktop-nav { gap:34px; }
.social-links .social-cards { display:grid; grid-template-columns:repeat(2,minmax(0,260px)); gap:20px; }
.social-links .social-card { display:flex; flex-direction:column; align-items:flex-start; gap:12px; padding:24px; border:1px solid #ffffff38; border-radius:2px; color:#fff; }
.social-card:hover { border-color:#ffffff90; }
.social-links .social-card img { display:block; width:128px; height:128px; padding:0; object-fit:contain; background:#fff; margin-bottom:4px; }
.social-name { display:flex; gap:10px; align-items:center; font-size:17px; font-weight:600; }
.social-name svg { width:22px; height:22px; stroke-width:1.6; }
.social-address { font-size:15px; line-height:1.5; color:#e1e7ed; overflow-wrap:anywhere; }
.promo-copy .promo-hint { display:block; margin-top:16px; font-size:13px; line-height:1.5; color:var(--navy); }
@media(min-width:1201px) and (max-width:1350px) { .site-header .brand { font-size:36px; } .desktop-nav { gap:28px; } }
@media(max-width:600px) {
 .site-header .brand { font-size:32px; letter-spacing:.1em; }
 .social-links .social-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .social-links .social-card { padding:14px 10px; align-items:center; text-align:center; }
 .social-links .social-card img { width:128px; height:128px; max-width:100%; }
 .social-name { gap:6px; font-size:16px; }
 .social-address { font-size:13px; }
}
@media(max-width:360px) { .social-links .social-cards { grid-template-columns:1fr; } }

.footer-privacy { padding-top:24px; padding-bottom:20px; font-size:14px; line-height:1.65; color:#f2f0eb; }
.footer-privacy p { max-width:850px; margin:10px 0 0; font-size:12px; line-height:1.6; }

/* SEO and accessibility: preserve the established layout. */
.tabs a { color:#505b65; }
.tabs a.active { color:var(--navy); }
:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.category-seo { max-width:850px; margin:32px 0; }
.category-seo h2 { font:600 22px/1.4 var(--sans); margin-bottom:14px; }
.category-seo p { font-size:16px; line-height:1.7; white-space:pre-line; }
.footer-location { font-size:14px; line-height:1.6; }
