/* Immersive product gallery, with the purchase panel beside the photograph. */
body .cmm-immersive{width:100%;max-width:none;margin:0;padding:0;border:0;color:#20392e;font-family:'CMM Sans',Arial,sans-serif}
body .cmm-immersive .cmm-product-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(390px,1fr);gap:0;align-items:stretch}
body .cmm-immersive .cmm-product-gallery{position:relative;top:auto;width:100%;min-width:0;padding:0;display:block;background:#e9e3d8;height:var(--cmm-immersive-height,80svh)}
body .cmm-immersive .cmm-gallery-main{display:block;width:100%;height:100%;aspect-ratio:auto;border-radius:0;overflow:hidden;background:#e9e3d8}
body .cmm-immersive .cmm-gallery-main img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:contain;object-position:center}
body .cmm-immersive .cmm-gallery-main:has(img[src*="dimensions"]) img{object-fit:contain}
body .cmm-immersive .cmm-gallery-thumbnails{position:absolute;z-index:2;inset:auto 22px 18px;width:calc(100% - 44px);height:auto;max-height:none;display:flex;flex-direction:row;gap:10px;padding:3px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
body .cmm-immersive .cmm-gallery-thumbnail{width:clamp(52px,7svh,88px);height:clamp(52px,7svh,88px);flex:0 0 clamp(52px,7svh,88px);border:2px solid #fff9;border-radius:8px;background:#fff;box-shadow:0 2px 8px #0002}
body .cmm-immersive .cmm-gallery-thumbnail[aria-current=true]{border-color:#244632;box-shadow:0 0 0 2px #fff}
.cmm-immersive .cmm-gallery-arrow{position:absolute;top:46%;z-index:3;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:#fffdf3e8;color:#294334;font:30px/1 Georgia;cursor:pointer}
.cmm-immersive .cmm-gallery-arrow.prev{left:18px}.cmm-immersive .cmm-gallery-arrow.next{right:18px}
.cmm-immersive .cmm-gallery-counter{position:absolute;left:26px;bottom:calc(clamp(52px,7svh,88px) + 30px);padding:5px 10px;border-radius:20px;background:#172a20a6;color:white;font-size:12px;z-index:2}
body .cmm-immersive .cmm-product-details{position:static;min-width:0;width:100%;background:linear-gradient(180deg,#f0ece4 0%,#f5f2ec 55%,#f8f6f1 100%);padding:clamp(18px,3svh,32px) clamp(24px,3vw,48px);display:flex;flex-direction:column;justify-content:center}
.cmm-immersive .cmm-product-breadcrumb{display:flex;flex-wrap:wrap;gap:6px;font-size:10px;line-height:1.4;margin:0 0 14px;color:#667568}
.cmm-immersive .cmm-product-breadcrumb [aria-current],.cmm-immersive .cmm-product-breadcrumb>span:last-of-type{display:none}
body .cmm-immersive .cmm-product-heading h1{font:400 clamp(32px,4.5svh,48px)/1.06 'CMM Caslon',Georgia,serif;letter-spacing:-.02em;color:#1d3529;margin:0 0 12px;text-wrap:pretty}
.cmm-immersive .cmm-product-heading>div>p{font-size:clamp(12px,1.6svh,16px);line-height:1.5;color:#677065;margin:0 0 14px}
body .cmm-immersive .cmm-product-price-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;padding:0;margin:12px 0 16px;border:0;border-radius:0;background:none}
body .cmm-immersive .cmm-product-price-row .cmm-price{font:600 clamp(26px,3.6svh,40px)/1.1 'CMM Sans',Arial,sans-serif!important;margin:0!important;flex:auto}
.cmm-immersive .cmm-sofa-eyebrow{display:none}.cmm-immersive .cmm-price-from{font:12px/1.3 'CMM Sans',Arial;display:block}
.cmm-immersive .cmm-product-member-invite{font-size:10px;padding:0}
body .cmm-immersive .cmm-product-facts{list-style:none;display:grid;grid-template-columns:1fr;grid-template-rows:none;grid-auto-flow:row;gap:10px;margin:0 0 16px;padding:14px 0;border-block:1px solid #d7ddd3}
body .cmm-immersive .cmm-product-facts li{position:relative;padding:0 0 0 36px;background:none;border:0;border-radius:0;text-align:left;font-size:13px;line-height:1.5;color:#344d3d}
.cmm-immersive .cmm-product-facts li:before{content:'↔';display:grid;place-items:center;position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;background:#e2e7dd;font-size:18px}
.cmm-immersive .cmm-product-facts li:nth-child(2):before{content:'▤'}.cmm-immersive .cmm-product-facts li:nth-child(3):before{content:'✓'}
body .cmm-immersive .cmm-product-facts li strong{font-size:13px}
body .cmm-immersive .cmm-sofa-colors-delivery{display:block;margin:0}
body .cmm-immersive .cmm-purchase-form{margin:0}
body .cmm-immersive .cmm-single-model-title{display:none}
body .cmm-immersive .cmm-single-model-name{background:none;border:0;padding:0;font-size:12px;color:#6c7769}
body .cmm-immersive .cmm-configurator{gap:6px;margin:0}
body .cmm-immersive .cmm-config-step legend{font-size:12px;margin-bottom:4px}
body .cmm-immersive .cmm-config-choice{font-size:12px;min-height:30px;padding:4px 8px}
body .cmm-immersive .cmm-color-option{min-height:52px;padding:4px;gap:3px}
body .cmm-immersive .cmm-variant-choices{margin:0 0 8px}
body .cmm-immersive .cmm-sofa-order-row{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:10px;margin:12px 0}
body .cmm-immersive .cmm-sofa-quantity{display:flex;align-items:center;justify-content:space-between;gap:12px}
body .cmm-immersive .cmm-sofa-quantity label{margin:0;font-size:12px}
body .cmm-immersive .cmm-sofa-quantity select.cmm-quantity{height:40px;width:90px;margin:0;border-radius:8px}
body .cmm-immersive .cmm-configuration-favorite{position:static!important;width:44px;height:40px;border-radius:8px}
body .cmm-immersive .cmm-sofa-order-row .cmm-buy-button{grid-column:1/-1;min-height:44px;margin:0;padding:10px 16px;border-radius:8px;background:#304b36;color:#fff;font:600 14px/1.3 'CMM Sans',Arial}
body .cmm-immersive .cmm-delivery{background:none;border:0;border-top:1px solid #d7ddd3;border-radius:0;margin:10px 0 0;padding:10px 0 0}
body .cmm-immersive .cmm-delivery>strong{font-size:12px}
body .cmm-immersive .cmm-delivery p{font-size:12px;line-height:1.4;margin:4px 0}
body .cmm-immersive .cmm-sofa-service-label{display:none}
body .cmm-immersive .cmm-fit-select-label{display:none}
.cmm-immersive>.cmm-sofa-returns,.cmm-immersive>.cmm-immersive-description,.cmm-immersive>.cmm-product-recommendations,.cmm-immersive>.cmm-seo-related{margin:24px 4%;max-width:1400px}
.cmm-immersive-description{font-size:14px;line-height:1.8}.cmm-immersive-description summary{cursor:pointer}
@media(min-width:1000px) and (min-height:600px){
 body .cmm-immersive .cmm-product-details{min-height:var(--cmm-immersive-height,80svh)}
 body .cmm-immersive.cmm-immersive-dense .cmm-product-details{padding:12px 26px}
 body .cmm-immersive.cmm-immersive-dense .cmm-product-heading h1{font-size:28px;margin-bottom:6px}
 .cmm-immersive-dense .cmm-product-breadcrumb{margin-bottom:6px}
 .cmm-immersive-dense .cmm-product-heading>div>p{font-size:12px;margin-bottom:8px}
 body .cmm-immersive.cmm-immersive-dense .cmm-product-price-row{margin:6px 0 10px}
 body .cmm-immersive.cmm-immersive-dense .cmm-product-facts{gap:5px;padding:8px 0;margin-bottom:8px}
 body .cmm-immersive.cmm-immersive-dense .cmm-product-facts li{font-size:12px;line-height:1.35}
 body .cmm-immersive.cmm-immersive-dense .cmm-fit-choice-original{display:none!important}
 body .cmm-immersive.cmm-immersive-dense .cmm-fit-select-label{display:grid;grid-template-columns:minmax(85px,.8fr) minmax(0,1.4fr);gap:8px;align-items:center;font-size:12px;margin:0 0 4px}
 .cmm-immersive .cmm-fit-select-label select{width:100%;min-width:0;min-height:32px;border:1px solid #ccd5c6;background:white;border-radius:6px;padding:4px 8px;font:12px 'CMM Sans',Arial;color:#20392e}
}
@media(max-width:999px){body .cmm-immersive .cmm-product-layout{display:flex;flex-direction:column;gap:0}body .cmm-immersive .cmm-product-gallery{height:min(72svh,650px)}body .cmm-immersive .cmm-product-details{padding:24px}body .cmm-immersive .cmm-gallery-main img{object-fit:contain}.cmm-immersive .cmm-gallery-arrow{width:38px;height:38px}body .cmm-immersive .cmm-product-heading h1{font-size:34px}}
.cmm-immersive .cmm-gallery-arrow[hidden]{display:none}

.cmm-immersive .cmm-immersive-subtitle{display:block;font-size:.8em;line-height:1.2;margin-top:5px}

/* Product description beside its title, using the delivery disclosure pattern. */
body .cmm-immersive .cmm-product-heading .cmm-immersive-description{position:relative;margin:0 0 10px;font:12px/1.6 'CMM Sans',Arial,sans-serif;color:#52654e}
.cmm-immersive .cmm-immersive-description summary{width:fit-content;font-size:12px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.cmm-immersive .cmm-immersive-description summary:focus-visible{outline:2px solid #334d37;outline-offset:4px}
.cmm-immersive .cmm-description-copy{position:absolute;z-index:5;top:calc(100% + 8px);left:0;width:100%;max-height:min(380px,50svh);overflow-y:auto;overscroll-behavior:contain;padding:20px 22px;background:#faf8f3;border:1px solid #ddd9cf;border-radius:12px;box-shadow:0 12px 30px #28392b14;font-size:13px;line-height:1.7;color:#354a3c}
.cmm-immersive .cmm-description-copy p{margin:0 0 14px}.cmm-immersive .cmm-description-copy p:last-child{margin:0}

/* Explicit comparison of the public tariff with the applied member tariff. */
.cmm-immersive .cmm-current-price{display:inline-block}
body .cmm-immersive .cmm-price-comparison{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;margin-left:14px;vertical-align:middle;font:12px/1.4 'CMM Sans',Arial,sans-serif;color:#64715f}
.cmm-immersive .cmm-price-public{display:inline-flex;flex-direction:column;gap:1px}
.cmm-immersive .cmm-price-public-label{font-size:10px}
.cmm-immersive .cmm-price-public del{font-size:16px;font-weight:400;color:#74806d;text-decoration-thickness:1px}
.cmm-immersive .cmm-member-discount{padding:5px 8px;border-radius:5px;background:#e4eddd;color:#2d4b2e;font-size:11px;font-weight:600;white-space:nowrap}
@media(max-width:380px){body .cmm-immersive .cmm-price-comparison{margin-left:8px;gap:6px}.cmm-immersive .cmm-price-public del{font-size:14px}}

/* Separate the real order limit from delivery details on every product. */
body .cmm-immersive .cmm-sofa-order-row .cmm-stock-notice{grid-column:1/-1;margin:0;font:12px/1.5 'CMM Sans',Arial,sans-serif;color:#52654e}
body .cmm-immersive .cmm-stock-notice[hidden]{display:none}
body .cmm-immersive .cmm-delivery{line-height:1.6;padding-top:14px;margin-top:16px}
body .cmm-immersive .cmm-delivery>strong{display:block;line-height:1.5}
body .cmm-immersive .cmm-delivery p{margin:6px 0;line-height:1.6}
body .cmm-immersive .cmm-delivery details{margin-top:8px}
body .cmm-immersive .cmm-delivery summary{width:fit-content;cursor:pointer;line-height:1.5;padding:4px 0}
body .cmm-immersive .cmm-delivery summary:focus-visible{outline:2px solid #334d37;outline-offset:3px}
/* Short desktop windows: compact factual rows without hiding their content. */
@media(min-width:1000px) and (min-height:600px) and (max-height:740px){
body .cmm-immersive.cmm-immersive-dense .cmm-product-facts li:has(>strong):has(>span){display:grid;grid-template-columns:minmax(80px,.8fr) minmax(0,1.2fr);align-items:center;gap:8px;min-height:26px}
body .cmm-immersive.cmm-immersive-dense .cmm-product-facts li>span{font-size:11px;line-height:1.35}
body .cmm-immersive.cmm-immersive-dense .cmm-delivery{margin-top:10px;padding-top:8px}
body .cmm-immersive.cmm-immersive-dense .cmm-delivery p{margin:4px 0}
body .cmm-immersive.cmm-immersive-dense .cmm-delivery details{margin-top:4px}
}

/* Consistent desktop product photographs and color swatches. */
@media(min-width:761px){
 body .cmm-immersive .cmm-product-layout{width:calc(100% - 48px);max-width:1440px;margin:24px auto;gap:28px;align-items:start}
 body .cmm-immersive .cmm-product-gallery{height:auto;min-height:0;aspect-ratio:1;align-self:start;background:#fcfbf8}
 body .cmm-immersive .cmm-gallery-main{position:relative;height:auto;aspect-ratio:1;background:#fcfbf8}
 body .cmm-immersive .cmm-gallery-main img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center}
 body .cmm-immersive .cmm-product-details{min-height:0}
 body .cmm-immersive .cmm-color-choices,body .cmm-immersive .cmm-config-colors .cmm-config-options{display:grid;grid-template-columns:repeat(auto-fill,64px);justify-content:start;align-items:start;gap:12px 8px;width:100%;min-width:0;margin:0 0 12px;padding:0;border:0}
 body .cmm-immersive .cmm-color-choices .cmm-variant-choice,body .cmm-immersive .cmm-color-option{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:64px;min-width:0;min-height:58px;padding:6px 2px;gap:8px;text-align:center;border:0;background:none;box-shadow:none}
 body .cmm-immersive .cmm-sofa-swatch{position:relative;box-sizing:border-box;flex:0 0 26px;width:26px;height:26px;min-width:26px;max-width:26px;aspect-ratio:1;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #d5d8d0;transform:none!important}
 body .cmm-immersive .cmm-sofa-swatch:after{display:none!important}
 body .cmm-immersive .cmm-sofa-color-copy{padding:0;width:100%;text-align:center}
 body .cmm-immersive .cmm-sofa-color-copy strong,body .cmm-immersive .cmm-color-option>span:last-child{font:400 11px/1.3 'CMM Sans',Arial,sans-serif;margin:0;overflow-wrap:anywhere}
 body .cmm-immersive .cmm-color-choices .cmm-variant-choice:has(input:checked),body .cmm-immersive .cmm-color-option:has(input:checked){background:none;border:0;box-shadow:none}
 body .cmm-immersive .cmm-color-choices .cmm-variant-choice:has(input:checked) .cmm-sofa-swatch,body .cmm-immersive .cmm-color-option:has(input:checked) .cmm-sofa-swatch{box-shadow:0 0 0 2px #203f30}
 body .cmm-immersive .cmm-variant-choice:has(input:checked) .cmm-sofa-color-copy strong,body .cmm-immersive .cmm-color-option:has(input:checked)>span:last-child{font-weight:600}
}
@media(min-width:1000px){body .cmm-immersive .cmm-product-layout{grid-template-columns:minmax(0,1.15fr) minmax(340px,1fr)}}
