/* Lapoujé LP-W7 refinement layer. Loads after maison.css and variants.css.
   Fonts: WOFF2 subsets with a true Cormorant Garamond italic (LP-W6 synthesized it).
   Accessibility: 12px type floor and 44px touch targets on phones, 3:1 control borders.
   Components: live pricing, fit finder, ensembles, the priced selection, zoom, recently
   viewed, film chapters, hero motion and the printable selection sheet. */
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Cormorant;src:url('assets/fonts/cormorant-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Cormorant;src:url('assets/fonts/cormorant-italic-400.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Cormorant;src:url('assets/fonts/cormorant-italic-500.woff2') format('woff2');font-weight:500;font-style:italic;font-display:swap}

:root{--control:#9a8590;--accent-ink:#b8004a;--gold:#a8823c}
body{font-size:13px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
h1 em,h2 em,.detail-copy h2 em{font-style:italic;font-weight:400}
.eyebrow{font-size:11px;letter-spacing:.16em}
.fine{font-size:11px!important}
.announcement{font-size:11px}
.site-header nav{font-size:12px}
.header-actions button{font-size:12px}

/* controls: 3:1 against the cream ground */
.catalog-tools input,.catalog-tools select,.sort-label select,.variant-fields select,.personalization input,.card-save,.subcategory-filters button,.dialog-top button,.close,.variant-finishes label,#fit-form input,.gift-note textarea{border-color:var(--control)!important}
.variant-chip,.variant-card-swatches button span{border-color:var(--control)!important}
.variant-color.is-light .variant-chip,.variant-card-swatches button.is-light span{box-shadow:inset 0 0 0 1px #6f5c67}
.catalog-tools{grid-template-columns:2fr repeat(5,minmax(0,1fr))}
.catalog-tools label,.sort-label{font-size:11px}
.catalog-tools input,.catalog-tools select,.sort-label select{font-size:12px}
.catalog-status #clear-filters,.sort-label select{min-height:44px}

/* the hero: motion loop with a visible pause control */
.hero-visual video{display:none;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 38%}
.hero-visual.has-video video{display:block}
.hero-visual.has-video>img{visibility:hidden}
.hero-visual[data-range=lui]{background:#141015}
.hero-visual[data-range=lui]>img{object-position:50% 30%}
.hero-motion{position:absolute;top:18px;right:18px;z-index:2;background:#fff8f2e6;border:1px solid var(--control);min-height:44px;padding:0 16px;font-size:12px}
.hero-caption{font-size:11px}
.hero-range-links a{padding:12px 0;min-height:44px;display:inline-flex;align-items:center}

/* cards: price, fewer tab stops, larger targets */
.product-caption{display:block}
.product-caption h3 a{display:inline-block}
.product-bottom{font-size:11px;align-items:baseline}
.product-price{font-size:13px;font-weight:600;letter-spacing:.01em;white-space:nowrap}
.product-label{font-size:10px}
.card-save{min-width:52px;min-height:40px;font-size:11px}
.card-pattern{font-size:11px;color:var(--accent-ink)}
.product-card .variant-card-summary{font-size:11px}
.product-card .variant-card-swatches button{width:30px;flex-basis:30px;height:40px}
.product-card .variant-card-swatches button span{width:14px;height:14px}
.product-image{cursor:zoom-in}

/* product view */
.detail-image{position:relative;align-items:flex-start!important}
.detail-image .zoom{display:block;width:100%;padding:0;cursor:zoom-in;position:sticky;top:0;overflow:hidden;background:var(--soft)}
.detail-image .zoom img{transition:transform .35s ease;transform-origin:var(--zx,50%) var(--zy,50%)}
.detail-image.zoomed .zoom{cursor:zoom-out}
.detail-image.zoomed .zoom img{transform:scale(2.2)}
.detail-tag{font-size:15px;font-family:Cormorant,Georgia,serif;font-style:italic}
.detail-price{margin:18px 0 6px}
.detail-price strong{display:block;font:400 34px/1.1 Cormorant,Georgia,serif;letter-spacing:-.01em}
.detail-price .price-note{display:block;color:var(--muted);font-size:11px;margin-top:6px}
.detail-price .price-lines{display:block;color:var(--ink);font-size:11px;margin-top:4px}
.fit-chip{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:14px 0 0;padding:12px 14px;background:var(--soft);font-size:12px;width:100%;text-align:left;min-height:44px}
button.fit-chip{text-decoration:underline;text-underline-offset:4px}
.fit-chip.is-set span{flex:1 1 220px}
.fit-chip button{text-decoration:underline;text-underline-offset:4px;min-height:44px;font-size:12px;padding:0 4px}
.variant-note,.variant-image-note{font-size:11px!important}
.variant-fields legend{font-size:12px}
.variant-fields legend span{font-size:12px}
.variant-color{font-size:11px}
.variant-guide-link{font-size:12px;padding:10px 0;display:inline-block}
.complete-look{border-top:1px solid var(--line);margin-top:26px;padding-top:22px}
.look-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}
.look-row button{text-align:left;padding:0;font-size:12px}
.look-row img{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:var(--soft);margin-bottom:8px}
.look-row span{display:block;font:400 19px/1.15 Cormorant,Georgia,serif}
.look-row em{display:block;font-style:normal;color:var(--muted);font-size:11px;margin-top:3px}
.complete-look .text-link{font-size:12px;min-height:44px}

/* ensembles */
.ensemble-section{border-top:1px solid var(--line)}
.ensemble-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 22px}
.ensemble-open{display:block;width:100%;padding:0}
.mosaic{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--line);aspect-ratio:1}
.mosaic img{width:100%;height:100%;object-fit:contain;background:var(--soft);display:block}
.mosaic-name{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;background:#e60060;color:#fff1f5;text-align:center;padding:12px}
.mosaic-name em{font:italic 400 clamp(24px,2.4vw,34px)/1.05 Cormorant,Georgia,serif}
.mosaic-name span{font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.ensemble-copy{padding-top:18px}
.ensemble-copy h3{font-size:34px;margin:10px 0 8px}
.ensemble-copy h3 button{padding:0;font:inherit;text-align:left}
.ensemble-copy>p:not(.eyebrow):not(.ensemble-price){color:var(--muted);font-size:12px;min-height:3.4em}
.ensemble-price{margin-top:14px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.ensemble-price strong{font:400 24px Cormorant,Georgia,serif}
.ensemble-price span{font-size:11px;color:var(--muted)}
#ensemble-dialog,#shared-dialog{width:min(720px,calc(100vw - 28px));padding:30px}
#ensemble-dialog h2,#shared-dialog h2{font-size:56px;margin-bottom:10px}
.ensemble-lead{color:var(--muted);font-size:13px;margin-bottom:18px}
.ensemble-list{list-style:none;margin:0;padding:0}
.ensemble-list li{display:grid;grid-template-columns:88px minmax(0,1fr) auto auto;gap:16px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}
.ensemble-list img{width:88px;aspect-ratio:1;object-fit:contain;background:var(--soft)}
.ensemble-list h3{font-size:25px}
.ensemble-list p{font-size:11px;color:var(--muted);margin-top:4px}
.ensemble-list span{font-size:13px;font-weight:600;white-space:nowrap}
.ensemble-list button{text-decoration:underline;min-height:44px;padding:0 6px;font-size:12px}
.ensemble-total{display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-top:1px solid var(--ink);padding:16px 0 8px;margin-top:4px}
.ensemble-total strong{font:400 34px Cormorant,Georgia,serif}
.ensemble-total span{font-size:12px;color:var(--muted)}
#ensemble-dialog .button,#shared-dialog .button{width:100%;margin-top:16px;background:var(--ink);color:var(--bg)}

/* fit finder */
#fit-dialog{width:min(760px,calc(100vw - 28px));padding:30px}
#fit-dialog h2{font-size:58px;margin-bottom:12px}
.fit-intro{color:var(--muted);font-size:13px;max-width:560px;margin-bottom:22px}
#fit-form label{display:block;font-size:12px;font-weight:600}
#fit-form label span{font-weight:400;color:var(--muted)}
#fit-form input{display:block;width:100%;margin-top:7px;min-height:46px;padding:10px 12px;border:1px solid;background:#fffdf9;font-size:15px;border-radius:0}
.fit-name{max-width:340px}
.fit-unit{border:0;padding:0;margin:20px 0;display:flex;gap:18px;align-items:center}
.fit-unit legend{font-size:12px;font-weight:600;float:left;margin-right:10px}
.fit-unit label{display:inline-flex!important;align-items:center;gap:7px;font-weight:400!important;min-height:44px}
.fit-unit input{width:auto!important;min-height:0!important;margin:0!important;accent-color:var(--accent)}
.fit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}
.fit-grid label>span{display:block;font-size:11px;line-height:1.6;margin-top:7px}
.fit-results{margin:22px 0 4px}
.fit-results:empty{display:none}
.fit-results ul{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.fit-results li{background:var(--soft);padding:14px}
.fit-results li span{display:block;font-size:11px;color:var(--muted)}
.fit-results li strong{display:block;font:400 34px/1.1 Cormorant,Georgia,serif;margin:4px 0}
.fit-results li em{font-style:normal;font-size:11px}
.fit-actions{display:flex;gap:24px;align-items:center;margin:20px 0 12px}
.fit-actions .button{background:var(--ink);color:var(--bg)}
.fit-actions .text-link{min-height:44px;font-size:12px}

/* the priced selection */
#wishlist-dialog{width:min(760px,calc(100vw - 28px))}
.wishlist-entry{grid-template-columns:100px minmax(0,1fr) auto}
.wishlist-entry h3 button{padding:0;font:inherit;text-align:left}
.wishlist-entry p{font-size:11px}
.entry-price{font-size:13px!important;color:var(--ink)!important;font-weight:600;margin-top:8px!important}
.wishlist-entry .remove{font-size:12px;min-height:44px;padding:0 6px}
.selection-total{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;border-top:1px solid var(--ink);padding:18px 0 10px;margin-top:6px}
.selection-total div span{display:block;font-size:12px;color:var(--muted);margin-top:3px}
.selection-total strong{font:400 40px/1 Cormorant,Georgia,serif}
.gift-note{display:block;font-size:12px;font-weight:600;margin:18px 0 6px}
.gift-note span{font-weight:400;color:var(--muted)}
.gift-note textarea{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid;background:#fffdf9;font:15px/1.5 Cormorant,Georgia,serif;font-style:italic;resize:vertical}
.selection-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 8px}
.selection-actions .button{width:100%;margin:0}
.selection-actions .button:first-child{background:var(--ink);color:var(--bg)}
.selection-actions .text-link{grid-column:1/-1;justify-self:start;min-height:44px;font-size:12px}

/* pricing band on the home page */
.pricing-section{display:grid;grid-template-columns:1fr 1.15fr;gap:70px;border-top:1px solid var(--line);align-items:start}
.pricing-section h2{margin:20px 0 22px}
.pricing-section .lead{font-size:14px;color:var(--muted);max-width:460px}
.pricing-section .button{margin-top:26px}
.price-principles{list-style:none;margin:0;padding:0;counter-reset:p}
.price-principles li{display:grid;grid-template-columns:44px 1fr;gap:10px;padding:18px 0;border-top:1px solid var(--line);font-size:13px;counter-increment:p}
.price-principles li::before{content:counter(p,decimal-leading-zero);font:400 22px Cormorant,Georgia,serif;color:var(--accent-ink)}
.price-principles strong{display:block;font:400 24px/1.2 Cormorant,Georgia,serif;margin-bottom:4px}
.price-ladder{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.price-ladder a{border:1px solid var(--control);padding:12px 16px;min-height:44px;font-size:12px;display:inline-flex;align-items:center}
.price-ladder a:hover{border-color:var(--accent);color:var(--accent-ink)}

/* recently viewed */
.recent-section{padding-top:10px}
.recent-section h3{font:600 12px Manrope,sans-serif;letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px}
#recent-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,1fr);gap:14px;overflow-x:auto;padding-bottom:6px}
#recent-row button{padding:0;text-align:left}
#recent-row img{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:var(--soft)}
#recent-row span{display:block;font:400 20px/1.1 Cormorant,Georgia,serif;margin-top:8px}
#recent-row em{font-style:normal;font-size:11px;color:var(--muted)}

/* the brand film */
.film-section .section-heading>a{font-size:12px;text-decoration:underline;text-underline-offset:5px;padding:10px 0}
.film-frame{position:relative;background:var(--ink)}
.film-section video{display:block;width:100%;aspect-ratio:16/9;background:var(--ink)}
.film-section.is-vertical video{aspect-ratio:9/16;max-height:82vh;margin:auto;width:auto;max-width:100%}
.film-chapters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin-top:2px;border-top:1px solid var(--line)}
.film-chapters button{text-align:left;padding:14px 12px 14px 0;border-bottom:1px solid var(--line);font-size:12px;min-height:44px}
.film-chapters button span{display:block;color:var(--muted);font-size:11px}
.film-chapters button[aria-current=true]{color:var(--accent-ink)}
.film-section.is-vertical .film-chapters{display:none}
.film-meta{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:18px;font-size:12px}
.film-meta a{text-decoration:underline;text-underline-offset:4px;padding:10px 0}
.film-meta span{color:var(--muted);padding:10px 0}

/* buttons */
.button.ghost{background:transparent}
.text-link{font-size:12px}

/* footer */
.footer-main>div>a:not(.wordmark){font-size:12px;padding:6px 0;margin:2px 0}
.footer-bottom{font-size:11px}

@media(max-width:1150px){.catalog-tools{grid-template-columns:repeat(3,minmax(0,1fr))}.ensemble-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing-section{gap:40px}.film-chapters{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:950px){.pricing-section{grid-template-columns:1fr}}
@media(max-width:700px){
  body{font-size:14px}
  .detail-image .zoom{position:static}
  .announcement{font-size:12px}
  .eyebrow{font-size:12px;letter-spacing:.12em}
  .fine,.variant-note,.variant-image-note{font-size:12px!important}
  .header-actions{gap:6px}
  .header-actions button{font-size:12px;min-width:44px;padding:9px 6px}
  .wordmark{font-size:18px}
  .hero-caption{font-size:12px}
  .hero-motion{top:12px;right:12px;font-size:12px}
  .catalog-tools{grid-template-columns:repeat(2,minmax(0,1fr))}
  .catalog-tools label,.catalog-tools select,.catalog-tools input,.sort-label{font-size:12px}
  .catalog-status p{font-size:12px}
  .catalog-status #clear-filters{font-size:12px}
  .catalog-sidebar button{font-size:12px}
  .catalog-sidebar button span{font-size:12px}
  .subcategory-filters button{font-size:12px;min-height:44px}
  .product-label{font-size:11px;padding:5px 7px}
  .card-save{font-size:12px;min-width:48px;min-height:44px;top:4px;right:4px}
  .product-caption h3{font-size:24px}
  .product-caption .category,.product-bottom,.card-pattern{font-size:12px}
  .product-bottom .product-format{flex-basis:100%}
  .product-price{font-size:13px}
  .product-card .variant-card-summary{font-size:12px}
  .product-card .variant-card-summary>span{font-size:12px}
  .product-card .variant-card-swatches button{width:34px;flex-basis:34px;height:44px}
  .category-card span,.story-grid p,.green-grid span{font-size:12px}
  .detail-price strong{font-size:30px}
  .detail-price .price-note,.detail-price .price-lines,.detail-copy dl{font-size:12px}
  .variant-color{font-size:11px}
  .look-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .look-row span{font-size:16px}
  .ensemble-grid{grid-template-columns:1fr;gap:38px}
  #ensemble-dialog,#shared-dialog,#fit-dialog{padding:22px}
  #ensemble-dialog h2,#shared-dialog h2,#fit-dialog h2{font-size:42px}
  .ensemble-list li{grid-template-columns:64px minmax(0,1fr) auto;gap:10px}
  .ensemble-list img{width:64px}
  .ensemble-list li>button{grid-column:2/-1;justify-self:start;padding:0}
  .wishlist-entry{grid-template-columns:70px minmax(0,1fr) auto}
  .wishlist-entry p{font-size:12px}
  .selection-actions{grid-template-columns:1fr}
  .selection-total strong{font-size:34px}
  .price-principles li{font-size:14px}
  .film-chapters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-main>div>a:not(.wordmark),.footer-main p,.footer-bottom{font-size:12px}
  .faq summary{font-size:14px;min-height:44px}
  .button,.hero-range-links,.product-label,.catalog-note,.ensemble-price span,.footer-main h3,.look-row em,#recent-row em,.text-link,.film-meta,.price-ladder a,.mosaic-name span,.ensemble-total span,.selection-total div span{font-size:12px!important}
  .faq details p{font-size:13px}
  .drawer-links a,.drawer-ranges a{min-height:44px;display:flex;align-items:center}
}
@media(prefers-reduced-motion:reduce){.detail-image .zoom img{transition:none}}

/* the printable selection sheet */
#print-sheet{display:none}
@media print{
  @page{margin:16mm}
  body>*:not(#print-sheet){display:none!important}
  body{background:#fff}
  #print-sheet{display:block;color:#301425;font:11pt/1.5 Manrope,Arial,sans-serif}
  #print-sheet header{display:flex;justify-content:space-between;border-bottom:1px solid #301425;padding-bottom:8px;font-size:9pt}
  #print-sheet .wordmark{letter-spacing:.3em;font-size:12pt}
  #print-sheet h1{font:400 34pt/1.1 Cormorant,Georgia,serif;margin:18pt 0 12pt}
  #print-sheet table{width:100%;border-collapse:collapse;font-size:9.5pt}
  #print-sheet th{text-align:left;font-weight:600;border-bottom:1px solid #30142555;padding:6pt 4pt}
  #print-sheet td{border-bottom:1px solid #30142522;padding:8pt 4pt;vertical-align:top}
  #print-sheet td img{width:58pt;height:58pt;object-fit:contain;background:#f7ece4}
  #print-sheet td:last-child,#print-sheet th:last-child{text-align:right;white-space:nowrap}
  #print-sheet tfoot td{border-bottom:0;border-top:1px solid #301425;font-size:10pt}
  #print-sheet .print-note{font:italic 14pt Cormorant,Georgia,serif;margin-top:14pt}
  #print-sheet .print-fine{font-size:8pt;color:#705766;margin-top:14pt}
}

/* LP-VB1 / Pour lui velvet beds */
.velvet-section{background:#eeeae4}.velvet-section h2 em{color:#174b3b}.velvet-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.velvet-piece{min-width:0;display:block}.velvet-piece img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#222321}.velvet-piece>p{font-size:12px;color:var(--muted);margin:18px 0 9px}.velvet-piece h3{font:400 34px/1.05 Cormorant,Georgia,serif;margin:0 0 13px}.velvet-piece>span{font-size:12px;border-bottom:1px solid currentColor;padding-bottom:3px}.velvet-links{display:flex;gap:30px;align-items:center;flex-wrap:wrap;margin-top:35px}.velvet-links .text-link{font-size:12px}@media(max-width:950px){.velvet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.velvet-grid{gap:28px 15px}.velvet-piece h3{font-size:28px}.velvet-piece>p{font-size:12px;line-height:1.5}.velvet-links{gap:18px}}
@media(max-width:360px){.site-header .header-actions [data-open-fit]{display:none}.site-header .wordmark{font-size:17px}}
@media(max-width:360px){.site-header .header-actions #open-fit{display:none}}

/* LP-W8: the hero is the still photograph, anchored to the top so the head is never cut. */
.hero-visual video,.hero-motion{display:none!important}
.hero-visual>img,.hero-visual.has-video>img{visibility:visible!important;object-position:50% 0!important}
.hero-visual[data-range=sport]>img{object-position:50% 50%!important}

/* LP-PB1 / Plush beds */
.plush-section{background:#f7f1ed}.plush-section h2 em{color:#702638}.plush-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}@media(max-width:700px){.plush-grid{grid-template-columns:1fr;gap:32px}.plush-piece img,.plush-grid img{max-height:420px;object-fit:contain}.plush-grid .velvet-piece h3{font-size:34px}}

/* Keep labels and Save controls clear of the full product photo on phones. */
@media(max-width:700px){.product-image{padding-top:52px}.product-label{top:8px;left:7px;padding:0;max-width:calc(100% - 66px);white-space:normal;line-height:1.35}.card-save{top:4px}}
