/* Templates 1.4.0: sofa and feature hints; preserve the height-aware demo return. */
/* Discreet feature hints share the existing AR position below the image. */
#configux-templates-calm .cxt-capabilities{display:inline-flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto;color:#161b22;margin-left:10px}
#configux-templates-calm .cxt-capability{display:inline-flex;align-items:center;gap:5px;color:#161b22;line-height:1;font-size:11px;font-weight:600;white-space:nowrap}
#configux-templates-calm .cxt-capability svg{display:block;width:auto;height:17px;flex:none}
#configux-templates-calm .cxt-capability-plus{color:#96999d;font-size:12px;font-weight:500;margin-inline:-1px}
#configux-templates-calm .cxcm-sofa-3d-visual .cxcm-new-layers{background:#eef0f5}
#configux-templates-calm .cxcm-sofa-3d-visual .cxcm-new-layers img{width:76%;left:-3%;object-fit:contain}
#configux-templates-calm .cxcm-epoxy-3d-visual .cxcm-new-layers img{width:78%;left:-4%;object-fit:contain}
#configux-templates-calm [data-cxcm-key="epoxy-table-3d"] h3{min-width:0;overflow-wrap:anywhere}
html:is([lang^="de"],[lang^="fr"],[lang^="es"]) .cx-localized-header .cx-header__utilities :is(.cx-localized-header__demo,.cx-localized-header__cta){width:auto;min-width:9.5rem;flex:0 0 auto;padding-inline:1.4rem;white-space:nowrap;gap:.45rem}
.cxt-nav-compact{grid-template-columns:1.2fr 1fr 1fr!important;max-height:calc(100dvh - 120px);overflow:auto}
.cxt-nav-compact .cx-nav-mega__intro{min-height:260px}
.cxt-nav-compact .cx-nav-mega__group>a,.cx-mobile-nav-group__content>a:has(.cxt-nav-mode){display:flex;align-items:center;justify-content:flex-start;gap:10px;padding-block:12px}
.cxt-nav-compact .cx-nav-mega__group:nth-child(2)>span{color:#b35e40}.cxt-nav-compact .cx-nav-mega__group:nth-child(3)>span{color:#3065f6}
.cxt-nav-mode{font-weight:750;white-space:nowrap;font-size:12px;flex:none}
.cxt-nav-mode--2d{color:#b35e40}.cxt-nav-mode--3d{color:#3065f6}
.cxt-mobile-mode{display:block;padding:15px 12px 5px;font-size:12px;font-weight:750;letter-spacing:.08em}
.cxt-language-notice{font-size:13px!important;color:#52647c!important;margin:12px 0 0!important;line-height:1.5!important}
#configux-templates-calm .cxt-pending{background:#edf0f4!important;border-color:#edf0f4!important;color:#76808c!important;box-shadow:none!important;cursor:default}
#configux-templates-calm .cxcm-gallery-visual{background:#f3f3f2}
#configux-templates-calm .cxcm-gallery-visual img{width:100%;height:100%;object-fit:cover}
.cxt-demo-languagebar{display:flex;align-items:center;justify-content:space-between;gap:16px;box-sizing:border-box;min-height:44px;padding:9px 18px;background:#fff;color:#52647c;border-bottom:1px solid #e1e7ef;font-size:12px;line-height:1.5}
.cxt-demo-languagebar a{color:#0b1829;text-decoration:none;font-weight:650;white-space:nowrap}
.cxt-demo-languagebar a:hover{text-decoration:underline}.cxt-demo-languagebar a:focus-visible{outline:3px solid #3065f6;outline-offset:3px}
.cxt-demo-standalone .cxt-demo-languagebar{position:fixed;top:var(--cxt-demo-admin-offset,0px);left:0;right:0;z-index:2147483001}
/* WooCommerce owns the viewport on form.cart; its inner section and shadow Player fill that surface. */
body.cxt-demo-standalone.configux-presentation-standalone_fullscreen{--configux-wordpress-top-offset:calc(var(--cxt-demo-admin-offset,0px) + var(--cxt-demo-language-height,44px))}
/* Generic WordPress demos own the viewport directly on their fixed iframe wrapper. */
.cxt-demo-standalone .configux-wordpress-player.configux-mode-standalone_fullscreen{top:calc(var(--cxt-demo-admin-offset,0px) + var(--cxt-demo-language-height,44px))!important;height:calc(100dvh - var(--cxt-demo-admin-offset,0px) - var(--cxt-demo-language-height,44px))!important}
.cxt-demo-standalone .configux-wordpress-player.configux-mode-standalone_fullscreen iframe{height:100%!important;min-height:0!important}
@media(max-width:620px){.cxt-demo-languagebar{padding-inline:12px;font-size:11px;gap:10px}.cxt-nav-compact{grid-template-columns:1fr!important}}

/* Longer utility labels use the existing compact menu before the brand is squeezed. EN/DA stay unchanged. */
html:is([lang^="de"],[lang^="fr"],[lang^="es"]) .cx-localized-header .cx-brand{flex-shrink:0}
@media(min-width:1101px) and (max-width:1320px){
 html:is([lang^="de"],[lang^="fr"],[lang^="es"]) .cx-localized-header .cx-localized-nav{display:none}
 html:is([lang^="de"],[lang^="fr"],[lang^="es"]) .cx-localized-mobile-menu{display:block}
 html:is([lang^="de"],[lang^="fr"],[lang^="es"]) .cx-localized-mobile-menu__panel{position:fixed;z-index:1100;top:var(--cx-mobile-menu-top,5.25rem);right:12px;left:12px;width:auto;max-height:calc(100dvh - var(--cx-mobile-menu-top,5.25rem) - 12px);overflow-y:auto;overscroll-behavior:contain}
}
@media(max-width:360px){#configux-templates-calm .cxt-card-actions{flex-wrap:wrap!important;justify-content:flex-start}}

/* Mosaic Table Eye: native white scene and room for the feature hints. */
#configux-templates-calm .cxcm-mosaic-eye-visual .cxcm-new-layers img{width:90%;left:-5%;object-fit:contain}
#configux-templates-calm [data-cxcm-key="mosaic-table-eye"] h3{min-width:0;overflow-wrap:anywhere}

/* Hero composition only: existing copy, pictures, coloured footers and demo cards stay intact. */
#configux-templates-calm .cxt-intro .cxt-modes{isolation:isolate;padding:32px 12px 52px;gap:8px}
#configux-templates-calm .cxt-intro .cxt-mode{position:relative;box-shadow:0 20px 36px #15315520,0 5px 12px #1531550a}
#configux-templates-calm .cxt-intro .cxt-mode--2d{z-index:1;transform:translateY(18px) rotate(-3deg);transform-origin:bottom center}
#configux-templates-calm .cxt-intro .cxt-mode--3d{z-index:2;transform:translateY(-18px)}
#configux-templates-calm .cxt-intro .cxt-mode--ar{z-index:1;transform:translateY(28px) rotate(3deg);transform-origin:bottom center}
@media(min-width:1200px){
 #configux-templates-calm .cxt-intro>.cxt-wrap{width:min(1440px,calc(100% - 96px));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);grid-template-rows:minmax(0,1fr) repeat(4,max-content) minmax(0,1fr);column-gap:40px}
 #configux-templates-calm .cxt-intro>.cxt-wrap>.cxt-kicker{grid-area:2/1}
 #configux-templates-calm .cxt-intro>.cxt-wrap>h1{grid-area:3/1;font-size:clamp(38px,3.05vw,50px);text-wrap:balance;overflow-wrap:anywhere}
 #configux-templates-calm .cxt-intro>.cxt-wrap>.cxt-lead{grid-area:4/1}
 #configux-templates-calm .cxt-intro>.cxt-wrap>.cxt-language-notice{grid-area:5/1}
 #configux-templates-calm .cxt-intro .cxt-modes{grid-area:1/2/7/3;align-self:center;align-items:start;margin-top:0;padding:42px 12px 62px;gap:0}
 #configux-templates-calm .cxt-intro .cxt-mode{margin-inline:-6px}
}
@media(max-width:1199px) and (min-width:701px){
 #configux-templates-calm .cxt-intro .cxt-modes{max-width:960px;margin-inline:auto}
}
@media(max-width:700px){
 #configux-templates-calm .cxt-intro .cxt-modes{padding:14px 0 26px;gap:8px}
 #configux-templates-calm .cxt-intro .cxt-mode{box-shadow:0 10px 20px #15315516}
 #configux-templates-calm .cxt-intro .cxt-mode--2d{transform:translateY(8px)}
 #configux-templates-calm .cxt-intro .cxt-mode--3d{transform:translateY(-4px)}
 #configux-templates-calm .cxt-intro .cxt-mode--ar{transform:translateY(14px)}
}
@media(max-width:360px){
 #configux-templates-calm .cxt-intro .cxt-mode-copy :is(h2,p){overflow-wrap:anywhere}
}
