/* Composition shared by editable Elementor templates and native pages. */
.furniture-category-showroom{gap:0}
.furniture-category-heading,.furniture-category-catalog{width:min(1440px,90%)!important;margin-inline:auto;min-width:0}
.furniture-category-heading{padding:24px 0 20px;gap:16px}
.furniture-category-heading h1{font-size:var(--furniture-heading-size-override,48px);font-weight:var(--furniture-heading-weight,400);line-height:1.02;letter-spacing:-.04em;margin:0}
.furniture-category-heading .furniture-category-intro,.furniture-category-heading .furniture-field:not(h1){max-width:760px;font-size:18px;line-height:1.6}
.furniture-category-heading p:empty,.furniture-category-heading .furniture-field:empty{display:none}
.furniture-category-catalog{padding-bottom:48px;gap:32px}
.furniture-category-catalog .furniture-model-grid h2{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:20px 0;font-size:var(--furniture-heading-size-override,clamp(22px,2.2vw,32px));font-weight:var(--furniture-heading-weight,400);line-height:1.2}
.furniture-category-catalog .furniture-model-grid h2 span{font-size:20px;flex-shrink:0}
.furniture-category-catalog .furniture-model-grid a{display:block}
.furniture-category-catalog .furniture-model-grid img{transition:opacity .2s}
.furniture-category-catalog .furniture-model-grid a:not([data-furniture-card-hover]):hover img{opacity:.86}
.furniture-category-banner{padding:0;margin:0}
.furniture-category-banner img{aspect-ratio:12/5;object-fit:cover}
.furniture-category-toolbar{padding:22px 0;border-block:1px solid var(--furniture-line,#8884)}
.furniture-category-catalog>.furniture-category-toolbar{margin-bottom:32px}
.furniture-category-catalog>.furniture-subcategories{margin-bottom:32px}
@media(max-width:767px){.furniture-category-heading,.furniture-category-catalog{width:calc(100% - 40px)!important}.furniture-category-heading{padding:20px 0 16px}.furniture-category-catalog{gap:24px}.furniture-category-banner img{aspect-ratio:4/3}}
@media(prefers-reduced-motion:reduce){.furniture-category-catalog .furniture-model-grid img{transition:none}}

.furniture-showroom-gallery{padding:0}
.furniture-showroom-gallery .furniture-product-section{margin:0}
.furniture-showroom-gallery .furniture-product-gallery{gap:0;padding:0;scrollbar-width:thin}
.furniture-showroom-gallery .furniture-product-gallery:not([data-gallery-layout="proportional"]):not([data-gallery-layout="first-full"]) figure.furniture-gallery-frame--standard{flex:0 0 100%}
.furniture-showroom-gallery .furniture-product-gallery img{height:100%;object-fit:contain}
.furniture-showroom-gallery figcaption{padding:12px 5vw}
.furniture-product-identity{width:min(1440px,90%)!important;display:flex;flex-direction:row!important;justify-content:space-between;align-items:flex-end!important;gap:32px;padding:32px 0}
.furniture-product-name{flex:1;min-width:0;gap:12px}
.furniture-product-name h1{margin:0;font-size:var(--furniture-heading-size-override,clamp(42px,6vw,84px));line-height:1.05;letter-spacing:-.035em;font-weight:var(--furniture-heading-weight,400)}
.furniture-product-name p{margin:0;font-size:14px}
.furniture-product-identity .elementor-widget-button{flex-shrink:0}
.furniture-product-identity .elementor-button,.furniture-product-identity>.furniture-model-inquiry{display:inline-block;padding:18px 24px;border:1px solid currentColor!important;background:transparent!important;color:inherit!important;line-height:1.3;text-decoration:none;border-radius:0}
.furniture-product-identity .elementor-button:hover,.furniture-model-inquiry:hover{text-decoration:underline;text-underline-offset:4px}
.furniture-product-actions{display:flex;align-items:center;justify-content:flex-end;gap:20px;min-width:0}
.furniture-product-actions>.elementor-button-wrapper,.furniture-product-actions>.elementor-button{flex-shrink:0}
.furniture-product-price{font-size:22px;font-weight:500;line-height:1.4;max-width:270px;overflow-wrap:anywhere}
.furniture-product-actions>.furniture-model-inquiry{display:inline-block;padding:18px 24px;border:1px solid currentColor;line-height:1.3;text-decoration:none}
@media(max-width:767px){
 .furniture-product-actions{justify-content:space-between;gap:12px;width:100%}
 .furniture-product-actions>.elementor-button-wrapper,.furniture-product-identity .furniture-product-actions>.elementor-button{flex:0 1 52%;min-width:0;width:auto}
 .furniture-product-actions .elementor-button,.furniture-product-actions>.furniture-model-inquiry{padding:12px;font-size:13px;text-align:center}
 .furniture-product-actions>.furniture-model-inquiry{flex:0 1 52%;min-width:0}
 .furniture-product-price{flex:1;min-width:0;font-size:16px}
}
.furniture-product-contents,.furniture-product-details{width:min(1440px,90%)!important;margin-inline:auto;min-width:0}
.furniture-product-contents{padding:0}
.furniture-product-navigation{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;border-block:1px solid var(--furniture-line,#8884)}
.furniture-product-details{padding:40px 0 0;gap:0}
.furniture-product-details .furniture-product-section{display:grid;grid-template-columns:1fr 3fr;gap:clamp(24px,4vw,64px);margin:0 0 48px}
.furniture-product-details .furniture-product-section>h2{margin:0;font-size:var(--furniture-heading-size-override,clamp(24px,2.7vw,38px));line-height:1.2;font-weight:var(--furniture-heading-weight,400)}
.furniture-product-details .furniture-product-section>h2+*{min-width:0}
.furniture-product-description{width:100%;max-width:none;min-width:0;font-size:clamp(18px,2vw,26px);line-height:1.5;margin-bottom:40px}
.furniture-model-description{width:100%;min-width:0}
.furniture-description-model-title{margin:0 0 24px;font-size:var(--furniture-heading-size-override,clamp(28px,3.4vw,48px));font-weight:var(--furniture-heading-weight,400);line-height:1.15;letter-spacing:-.02em}
.furniture-description-grid{display:grid;grid-template-columns:1fr 3fr;gap:clamp(24px,4vw,64px)}
.furniture-description-label{margin:0;font-size:var(--furniture-heading-size-override,clamp(24px,2.7vw,38px));font-weight:var(--furniture-heading-weight,400);line-height:1.2}
.furniture-description-content,.furniture-description-body{min-width:0}
.furniture-description-body>:first-child{margin-top:0}
.furniture-description-body>:last-child{margin-bottom:0}
.furniture-product-description:has(.furniture-field:empty),.elementor-element.furniture-product-description:not(:has(.furniture-field)){display:none}
.furniture-product-details .furniture-product-section>h2~*{grid-column:2}
.furniture-product-details .furniture-product-section:not(:has(>h2)){display:block}
.furniture-product-details .furniture-specifications>div:first-child{padding-top:0}
.furniture-product-details .furniture-specifications dt{font-weight:400}
.furniture-product-details .furniture-section-grid img{aspect-ratio:4/3;object-fit:contain;background:#f1f1f1}
.furniture-drawings-shell .furniture-section-grid>figure:only-child{grid-column:1/-1}
.furniture-product-details .furniture-product-section-related{display:block;padding-top:40px;border-top:1px solid var(--furniture-line,#8884)}
.furniture-product-details .furniture-product-section-related>h2{margin-bottom:32px}
.furniture-product-section-related .furniture-collection{padding:0;color:inherit}
.furniture-product-section-related .furniture-collection-media{aspect-ratio:var(--furniture-model-image-ratio,4/3);background:#f2f2f2}
.furniture-product-section-related .furniture-collection-media img{object-fit:var(--furniture-model-image-fit,contain)}
.furniture-product-section[id],.furniture-product-description[id]{scroll-margin-top:calc(var(--furniture-header-height,0px) + var(--furniture-admin-offset,0px) + var(--furniture-section-nav-height,0px) + 24px)}
body:is(.single-furniture_product,.single-furniture_template) #furniture-content>.furniture-container{width:min(1440px,90%)}
body:is(.single-furniture_product,.single-furniture_template) .furniture-inquiry{max-width:none;border-top:1px solid var(--furniture-line,#8884);padding:24px 0;display:grid;grid-template-columns:1fr 3fr;column-gap:clamp(24px,4vw,64px)}
body:is(.single-furniture_product,.single-furniture_template) .furniture-inquiry>h2{grid-column:1;grid-row:1/4;margin:0;font-size:var(--furniture-heading-size-override,clamp(28px,3vw,42px));line-height:1.2;font-weight:var(--furniture-heading-weight,400)}
body:is(.single-furniture_product,.single-furniture_template) .furniture-inquiry>p,body:is(.single-furniture_product,.single-furniture_template) .furniture-inquiry>form{grid-column:2}
body:is(.single-furniture_product,.single-furniture_template) .furniture-inquiry>p{margin:0 0 16px}
body:is(.single-furniture_product,.single-furniture_template) .furniture-inquiry input:not([type=checkbox]),body:is(.single-furniture_product,.single-furniture_template) .furniture-inquiry textarea,body:is(.single-furniture_product,.single-furniture_template) .furniture-inquiry select{border:0;border-bottom:1px solid var(--furniture-line,#8888);padding:8px 0;margin-top:4px;min-height:44px}
/* Compact rhythm; field targets remain at least 44px high. */
body:is(.single-furniture_product,.single-furniture_template) .furniture-inquiry label{margin-bottom:14px}
body:is(.single-furniture_product,.single-furniture_template) .furniture-inquiry-fields{column-gap:20px}
body:is(.single-furniture_product,.single-furniture_template) .furniture-inquiry textarea{height:120px;min-height:120px;resize:vertical}
body:is(.single-furniture_product,.single-furniture_template) .furniture-inquiry button{min-height:48px;padding:12px 24px}
body:is(.single-furniture_product,.single-furniture_template) .furniture-inquiry input:focus-visible,body:is(.single-furniture_product,.single-furniture_template) .furniture-inquiry textarea:focus-visible,body:is(.single-furniture_product,.single-furniture_template) .furniture-inquiry select:focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media(max-width:767px){
 .furniture-showroom-gallery .furniture-product-gallery img{height:100%;object-fit:contain}
 .furniture-product-identity,.furniture-product-contents,.furniture-product-details{width:calc(100% - 40px)!important}
 .furniture-product-identity{flex-direction:column!important;align-items:stretch!important;gap:24px;padding:24px 0}
 .furniture-product-identity .elementor-button,.furniture-product-identity>.furniture-model-inquiry{width:100%;text-align:center}
 .furniture-product-details{padding-top:32px}
 body:is(.single-furniture_product,.single-furniture_template){--furniture-section-nav-height:76px}
 .furniture-product-contents{position:sticky!important;top:calc(var(--furniture-header-height,0px) + var(--furniture-admin-offset,0px));z-index:20!important;background:var(--furniture-bg,#fff)}
 .furniture-product-navigation{padding:12px 0;gap:16px;min-height:72px}
 .furniture-product-navigation ul{flex:1;min-width:0;flex-wrap:nowrap!important;overflow-x:auto;white-space:nowrap;scrollbar-width:thin;overscroll-behavior-x:contain}
 .furniture-product-details .furniture-product-section{grid-template-columns:1fr;gap:24px;margin-bottom:48px}
 .furniture-product-details .furniture-product-section>h2~*{grid-column:1}
 .furniture-product-description{margin-bottom:40px}
 .furniture-description-grid{grid-template-columns:1fr;gap:24px}
 body:is(.single-furniture_product,.single-furniture_template) #furniture-content>.furniture-container{width:calc(100% - 40px)}
 body:is(.single-furniture_product,.single-furniture_template) .furniture-inquiry{display:block;padding:24px 0}
 body:is(.single-furniture_product,.single-furniture_template) .furniture-inquiry>h2{margin-bottom:16px}
 body:is(.single-furniture_product,.single-furniture_template) .furniture-inquiry button{width:100%}
}

/* Visitor density overrides only the explicit large/compact modes; default keeps Elementor columns. */
.furniture-model-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:20px 32px;padding:20px 0;margin:0 0 32px;border-bottom:1px solid var(--furniture-line,#8884);color:var(--furniture-text,#171717);font-size:14px}
.furniture-model-control{display:flex;align-items:center;gap:12px;min-width:0}
.furniture-model-controls label{white-space:nowrap}
.furniture-model-controls select{max-width:100%;min-height:44px;padding:8px 30px 8px 12px;border:1px solid var(--furniture-line,#8884);border-radius:0;background:var(--furniture-bg,#fff);color:inherit;font:inherit;cursor:pointer}
.furniture-model-controls button{min-height:44px;padding:8px 18px;border:1px solid currentColor;background:transparent;color:inherit;font:inherit;cursor:pointer}
.furniture-model-controls :focus-visible{outline:2px solid currentColor;outline-offset:4px}
.furniture-model-controls select:disabled,.furniture-model-controls button:disabled{cursor:default;opacity:.6}
.furniture-model-list--large .furniture-model-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.furniture-model-list--compact .furniture-model-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
@media(max-width:1024px){.furniture-model-list--compact .furniture-model-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:767px){.furniture-model-controls{justify-content:flex-start;gap:16px;margin-bottom:24px}.furniture-model-control{flex:1 1 140px;align-items:stretch;flex-direction:column;gap:6px}.furniture-model-controls button{align-self:flex-end}.furniture-model-list--large .furniture-model-grid{grid-template-columns:1fr!important}.furniture-model-list--compact .furniture-model-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.furniture-model-controls button[hidden]{display:none}
.furniture-model-controls-hint{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* Native radio group keeps icon choices accessible and usable without scripting. */
.furniture-model-controls .furniture-model-views{display:block;flex:0 0 auto;min-inline-size:0;margin:0;padding:0;border:0}
.furniture-model-view-row{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:10px}
.furniture-model-view-caption{flex:0 0 auto;white-space:nowrap;font:inherit;line-height:inherit}
.furniture-model-view-options{display:flex;flex:0 0 auto;gap:4px}
.furniture-model-view-option{position:relative;display:block}
.furniture-model-view-option input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.furniture-model-controls .furniture-model-view-option label{display:flex;align-items:center;justify-content:center;width:30px;height:30px;margin:0;padding:0;border:1px solid var(--furniture-line,#8884);background:var(--furniture-bg,#fff);color:inherit;cursor:pointer}
.furniture-model-view-option svg{display:block;width:16px;height:16px;flex-shrink:0}
.furniture-model-view-option input:checked+label{background:var(--furniture-text,#171717);color:var(--furniture-bg,#fff);border-color:var(--furniture-text,#171717)}
.furniture-model-view-option input:focus-visible+label{outline:2px solid var(--furniture-text,#171717);outline-offset:3px}
.furniture-model-view-option input:not(:checked):not(:disabled)+label:hover{border-color:currentColor}
.furniture-model-view-option input:disabled+label{cursor:default;opacity:.6}


/* Hide an empty gallery container even when no top hero assets are needed. */
.single-furniture_product .furniture-showroom-gallery:not(:has(.furniture-gallery-shell)){display:none}

.furniture-showroom-gallery .furniture-product-gallery:is([data-gallery-layout="proportional"],[data-gallery-layout="first-full"]){gap:8px}

/* Relocated category navigation leaves its existing Elementor documents intact. */
body.tax-furniture_category .elementor-widget-furniture-category-section:not(:has(.furniture-category-toolbar,.furniture-category-intro,.furniture-subcategories,.furniture-category-image)){display:none}
