/* Architectural details, within the existing warm graphite / olive system. */
.main{container-type:inline-size}
.configuration-intro:after{content:none!important}
.configuration-intro{display:flex;flex-direction:column;min-height:0;padding:0}
.configuration-intro h1{order:0;max-width:100%;font-size:clamp(32px,3.7vw,52px);margin-bottom:20px}
.intro-house-sketch{order:1;display:block;width:100%;height:auto;max-height:230px;object-fit:contain;mix-blend-mode:multiply;mask-image:radial-gradient(ellipse at center,#000 53%,transparent 73%);pointer-events:none}
.intro-copy{order:2;max-width:100%;font-size:16px;line-height:1.75}
.configuration-intro .mesh-line{order:3}.configuration-intro .intro-start{order:4}
@container (min-width:680px){
 .configuration-intro{display:block;min-height:390px}
 .intro-house-sketch{float:right;width:52%;max-height:none;margin:6px -22px 8px 4px;shape-outside:ellipse(49% 46% at 50% 50%)}
 .configuration-intro h1{max-width:60%;font-size:clamp(36px,4vw,54px);position:relative}
 .intro-copy{max-width:100%}.configuration-intro .mesh-line{clear:both}
}
.property-options{align-items:stretch}
.property-choice{display:flex;flex-direction:column;gap:5px;padding:22px;min-width:0}
.property-choice .property-contour{display:block;width:44px;height:44px;color:#294478;margin-bottom:16px}
.property-contour svg{width:100%;height:100%}
.property-choice strong,.property-choice small{display:block}
.property-choice.selected .property-contour{color:#294478}
.contact-project{display:inline-flex;align-items:center;margin-top:16px;text-decoration:none}
.space-section>h2{font-size:15px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--olive);margin:28px 0 14px}
.space-section .rooms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.space-choice{display:flex;align-items:center;gap:16px;padding:18px;min-width:0;background:#fffefa99}
.space-choice.is-added{border-color:#a1ad8e;background:#eef0e7}
.room-contour{width:32px;height:32px;flex:none;color:#294478}
.room-contour svg{width:100%;height:100%}
.space-choice .roomhead{display:flex;flex:1;flex-wrap:wrap;align-items:center;gap:10px;min-width:0}
.space-choice .roomname{flex:1 1 115px;font-size:14px;line-height:1.45}
.space-choice .mini-counter{flex:none;display:flex;align-items:center}
.space-choice .mini-counter button{width:34px;min-height:38px;height:38px}
.space-choice .mini-counter button:disabled{opacity:.3;cursor:default}
.function-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.function-card{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;column-gap:18px;row-gap:5px;min-height:134px;padding:24px 20px;background:#fffefa99}
.function-card .function-icon,.function-card.selected .function-icon{grid-row:1/3;align-self:center;margin:0;width:32px;height:32px;color:#294478}
.function-card .function-icon svg{width:32px;height:32px}
/* Only interface icons: do not alter Vimar catalogue symbols or product drawings. */
.ui-pictogram{display:block;overflow:visible}
.energy-monitoring-info{display:inline-flex;align-items:center;gap:6px;flex:none}
.energy-monitoring-icon{display:inline-block;width:22px;height:22px;flex:none;object-fit:contain}
.energy-monitoring-button .energy-monitoring-icon{width:20px;height:20px;pointer-events:none}
.function-card:has(.energy-monitoring-info) strong{padding-top:24px}
.ui-pictogram>path,.ui-pictogram>rect,.ui-pictogram>circle{fill:none;stroke-width:1.2;vector-effect:non-scaling-stroke}
.function-card strong{align-self:end;font-size:16px}.function-card small{line-height:1.5;font-size:14px}
.function-card.selected{background:#edf0e5}.function-card .tick{width:16px;height:16px;top:12px;right:12px}
.guide-tip{border-bottom:1px solid var(--line);padding:18px 0 26px}.guide-tip:last-child{border-bottom:0}
.guide-tip h2{font-size:22px;line-height:1.3;margin:10px 0 18px}
.tip-illustration{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;mix-blend-mode:multiply}
.tip-illustration img{background:transparent!important;border:0!important;box-shadow:none!important;mix-blend-mode:multiply}
.tip-socket-sketch{display:block;width:80%;height:80%;margin:10%;mix-blend-mode:multiply}
.outdoor-socket-sketch{display:block;width:68px;height:68px;flex:0 0 68px}
.wall-control-question{padding:14px 0 0;margin:14px 0 0;border:0;border-top:1px solid var(--line);min-width:0}
.wall-control-question legend{float:left;display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;font-size:14px;font-weight:500;padding:0;margin-bottom:10px}
.wall-control-question .compact-choices{clear:both;display:grid;grid-template-columns:1fr 1fr;gap:7px}
.wall-control-question .compact-choices button{padding:8px;min-height:42px;font-size:14px}
.wall-control-question .help{clear:both;margin:10px 0 0;font-size:13px}
.extra-description>.relay-contour{display:block;width:110px;height:112px;float:right;margin:6px 0 10px 14px;mix-blend-mode:multiply;opacity:.78}
.relay-allocation-note{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line);margin:20px 0 0;padding-top:16px;font-size:14px;line-height:1.55}
.relay-allocation-note strong{font-weight:550}.relay-allocation-note span{color:var(--olive)}.relay-allocation-note small{font-size:13px;color:var(--muted)}
.socket-catalog-option{position:relative;display:flex;min-width:0;width:100%}
/* Every socket reserves the same info-button row, including sockets without a popover. */
.socket-catalog-option>.sketch-card{width:100%;height:100%;max-width:none;padding:38px 6px 12px;justify-content:flex-start}
.socket-catalog-option>.sketch-card>.sketch-label{width:100%;text-align:center}
.socket-catalog-option>.sketch-card>small{margin-top:auto;padding-top:2px}
.socket-catalog-option>.extra-tooltip{position:absolute;right:7px;top:7px;z-index:5}
.socket-catalog-option .extra-info{width:26px;height:26px;min-width:26px;min-height:26px;font-size:15px;background:var(--paper)}
.single-engraving-key{display:block;width:100%;height:100%;position:relative}
.key-custom-mark{position:absolute;left:0;right:0;bottom:20%;text-align:center;font-family:Arial,sans-serif;line-height:1;font-size:clamp(14px,2.3vw,30px);font-weight:400;color:#70746d;pointer-events:none}
.saved-set-preview .key-custom-mark{font-size:14px}.sketch-art .key-custom-mark{font-size:16px}
.module-art.needs-engraving .key-custom-mark{color:#70746d}
.device-budget-note{font-size:13px;line-height:1.5;color:var(--muted);margin:12px 0 0}
.wireless-card input[type=text]{width:100%;min-width:0;margin:6px 0 16px}
.programming-choice{border-top:1px solid var(--line);padding-top:22px;margin:28px 0}
.programming-choice h2{margin:0;font-size:23px}.programming-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}
.programming-options .card{padding:24px;display:flex;flex-direction:column;gap:12px;height:100%;min-height:0}
.programming-options .card strong{padding-right:15px}.programming-options .card small{margin:0}
.material-explorer{margin:26px 0 24px}
.material-explorer h2{margin:0 0 10px;font-size:22px}.material-explorer>.help{margin:0 0 16px}
.material-tabs{display:flex;flex-wrap:wrap;gap:8px}
.material-tabs button{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:5px;padding:10px 14px;min-height:44px;font:inherit;font-size:14px}
.material-tabs button[aria-pressed=true]{background:#e9eddf;border-color:var(--olive);color:var(--olive)}
.series-materials{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.series-materials span{font-size:13px;border-bottom:1px solid #c9cdbd;color:var(--olive);line-height:1.8}
.studio-materials{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}
.studio-materials button{font:inherit;font-size:13px;padding:7px 9px;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink)}
.studio-materials button[aria-pressed=true]{background:#e9eddf;border-color:var(--olive)}
.linea-profile-field{border:0;padding:0;margin:0 0 22px;min-width:0}
.linea-profile-field>legend{display:flex;justify-content:space-between;gap:12px;align-items:center;width:100%;margin-bottom:12px}
.linea-profile-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.linea-profile-option{padding:9px;border:1px solid var(--line);border-radius:5px;background:var(--paper);color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:7px;min-width:0;font:inherit}
.linea-profile-option[aria-pressed=true]{background:#edf0e4;border-color:var(--olive);box-shadow:inset 0 0 0 1px var(--olive)}
.linea-profile-option svg{display:block;width:100%;height:110px;mix-blend-mode:multiply}
.linea-profile-option strong{font-size:14px;font-weight:550}.linea-profile-option small{font-size:12px;color:var(--muted)}
.linea-profile-summary{display:none}
.ip55-lid-info{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:0 0 14px;margin-bottom:20px;font-size:14px;color:var(--muted)}
@media(max-width:900px){
 .material-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
 .material-tabs button{min-width:0;padding:10px 4px;text-align:center}
 .material-tabs button:first-child{grid-column:1/-1}
 .linea-profile-field.is-collapsed .linea-profile-options{display:none}
 .linea-profile-field.is-collapsed .linea-profile-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}
 .linea-profile-summary .btn{min-height:44px;padding:8px 14px;font-size:14px}
 .property-choice{padding:18px}.property-choice .property-contour{width:36px;height:36px;margin-bottom:10px}
 .programming-options{grid-template-columns:1fr}
 .mobile-category-panel .socket-catalog-option{flex:0 0 128px;max-width:128px;scroll-snap-align:start}
 .mobile-category-panel .socket-catalog-option>.sketch-card{flex:1 1 auto;min-width:0;width:128px;padding-top:38px}
}
@media(max-width:600px){
 .configuration-intro h1{font-size:32px}.intro-house-sketch{max-height:180px;margin:-12px 0 2px}
 .intro-copy{font-size:15px;line-height:1.65}
 .property-options,.property-options.three,.function-grid,.space-section .rooms{grid-template-columns:1fr}
 .property-choice{display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:16px;row-gap:5px;min-height:100px;align-content:center}
 .property-choice .property-contour{grid-row:1/3;width:36px;height:36px;align-self:center;margin:0}
 .property-choice strong{align-self:end}.property-choice small{font-size:13px}
 .space-choice{padding:14px 16px}.space-choice .roomname{flex-basis:100px}
 .function-card{min-height:112px;padding:20px}.function-card .function-icon{width:30px;height:30px}.function-card .function-icon svg{width:30px;height:30px}
 .guide-tip h2{font-size:20px}.programming-choice h2{font-size:21px}
 .material-tabs button{flex:1 1 auto;text-align:center}
}
@media(prefers-reduced-motion:reduce){.property-choice,.function-card,.space-choice{transition:none}}

/* Real IP55 cover photographs: transparent paper and clear panel, no colour filter. */
.appearance-model-image[src*="outdoor/ip55-"]{background:transparent;border:0;object-fit:contain;filter:drop-shadow(0 5px 7px #06102022)}
.appearance-model:has(.appearance-model-image[src*="outdoor/ip55-"]){background:#f4f5f7}
html[data-tj-theme="dark"] .appearance-model:has(.appearance-model-image[src*="outdoor/ip55-"]){background:#273345}
.appearance-models.ip55-colour-rail{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;max-width:720px;box-sizing:border-box;padding:4px 2px 8px}
.ip55-colour-rail>.appearance-model{min-width:0;padding:14px 12px;scroll-snap-align:start}
.ip55-colour-rail .appearance-model-image{height:150px;margin:0 auto 12px;object-fit:contain;mix-blend-mode:normal}
.ip55-colour-rail .appearance-model strong{font-size:16px;line-height:1.35}
.ip55-colour-rail .appearance-model:focus-visible{outline:2px solid var(--olive);outline-offset:2px}
.assembly-stage .assembly-grow>.frame-preview.pencil-frame.ip55-planning-preview{flex:0 1 180px;width:min(100%,180px);max-width:180px}
@media(max-width:600px){
 .assembly-stage .assembly-grow>.frame-preview.pencil-frame.ip55-planning-preview{flex-basis:160px;width:min(100%,160px);max-width:160px}
 .appearance-models.ip55-colour-rail{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}
 .appearance-models.ip55-colour-rail::-webkit-scrollbar{display:none}
 .ip55-colour-rail>.appearance-model{flex:0 0 calc((100% - 10px)/2.1);padding:12px 8px}
 .ip55-colour-rail .appearance-model-image{height:clamp(94px,30vw,128px);margin-bottom:10px}
 .ip55-colour-rail .appearance-model strong{font-size:14px}
}

/* Independent RF-button Studio reuses the real frame photos and wall palette. */
.trajkot-dialog.wireless-studio-dialog{width:min(1060px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:0;box-sizing:border-box;overflow:hidden}
.wireless-studio-dialog[open]{display:flex;flex-direction:column}
.wireless-studio-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:24px 26px 18px;border-bottom:1px solid var(--line);flex:none}
.wireless-studio-heading h2{font-size:clamp(24px,3.3vw,34px);line-height:1.2;margin:7px 0 9px}.wireless-studio-heading p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}
.wireless-studio-heading>.btn{flex:none;white-space:nowrap}
.wireless-studio-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:20px 24px}
.wireless-studio-dialog .studio-products{grid-template-columns:minmax(0,1fr);width:min(100%,400px);margin:0 auto}
.wireless-studio-frame-preview{display:grid;place-items:center;width:min(100%,300px);aspect-ratio:1;margin:0 auto}
.wireless-studio-frame-preview>.design-finish-photo{width:100%;height:100%;min-width:0;background:transparent}
.wireless-studio-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 24px;border-top:1px solid var(--line);background:var(--paper);flex:none}
.wireless-studio-actions .studio-status{min-height:0;margin:0;max-width:55ch;font-size:13px;line-height:1.4}.wireless-studio-actions .btn{flex:none}
.wireless-inwall-design:has(.wireless-design-photo){display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:14px}
.wireless-design-photo{display:block;width:88px;height:88px;min-width:0}.wireless-design-photo>.design-finish-photo{width:100%;height:100%}
.wireless-inwall-design:has(.wireless-design-photo)>.btn{grid-column:1/-1;justify-self:start}
.wireless-inwall-design:has(.wireless-design-photo) p{margin:5px 0;font-size:13px;line-height:1.5}
html[data-tj-theme="dark"] .wireless-studio-dialog{color:#eef2f8;background:#1b2433}
html[data-tj-theme="dark"] .wireless-studio-heading,html[data-tj-theme="dark"] .wireless-studio-actions{background:#1b2433;border-color:#3a465b}
html[data-tj-theme="dark"] .wireless-studio-scroll{background:#151e2b}
html[data-tj-theme="dark"] .wireless-studio-dialog .studio-controls,html[data-tj-theme="dark"] .wireless-studio-dialog .studio-palette{background:#1e2839;color:#eef2f8}
html[data-tj-theme="dark"] .wireless-studio-heading p,html[data-tj-theme="dark"] .wireless-studio-actions .studio-status{color:#c1cada}
@media(max-width:700px){
 .trajkot-dialog.wireless-studio-dialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}
 .wireless-studio-heading{padding:19px 16px 15px;gap:12px}.wireless-studio-heading>.btn{padding:9px 12px}.wireless-studio-heading p{font-size:13px}
 .wireless-studio-scroll{padding:15px 12px}.wireless-studio-dialog .studio-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"preview" "controls" "palette"}
 .wireless-studio-dialog .studio-controls{display:block;min-width:0}.wireless-studio-dialog .studio-wall{min-width:0}
 .wireless-studio-frame-preview{width:min(65vw,250px)}.wireless-studio-actions{padding:13px 16px;flex-direction:column;align-items:stretch;gap:10px}.wireless-studio-actions .btn{width:100%}
}
/* Keep the installation note yellow and readable in either theme. */
.inwall-configuration-note,.integrator-summary{margin:24px 0;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink)}
.integrator-summary h2{font-size:27px;margin:0 0 13px}
.inwall-configuration-note p,.integrator-summary p{line-height:1.65;color:var(--ink);margin:0 0 14px}
html[data-tj-theme] .inwall-configuration-note{background:#fff1a8;color:#3f3419;border-color:#d8be65}
html[data-tj-theme] .inwall-configuration-note p,html[data-tj-theme] .inwall-configuration-note strong,html[data-tj-theme] .inwall-configuration-note strong span{color:#3f3419}
.inwall-configuration-note p:last-child{margin-bottom:0}
.integrator-summary .btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:normal}
@media(max-width:600px){.inwall-configuration-note,.integrator-summary{padding:18px}.integrator-summary .btn{width:100%;text-align:center}}
.integrator-summary .integrator-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.integrator-summary .integrator-heading h2{margin:0;font-size:26px}
.integrator-summary .integrator-choices{display:flex;gap:8px;margin:0}
.integrator-summary .integrator-choices button{min-width:72px;min-height:44px;padding:9px 18px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink);font:inherit;cursor:pointer}
.integrator-summary .integrator-choices button[aria-pressed="true"]{background:var(--olive);border-color:var(--olive);color:#fff}
.integrator-summary .integrator-choices button:focus-visible,.integrator-summary input:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.integrator-request-details{margin-top:18px;max-width:65ch}
.integrator-summary .integrator-postal-field{max-width:240px;margin:0 0 16px;padding:0;border:0;background:transparent}
.integrator-summary .integrator-postal-field label{display:block;margin:0 0 8px;font-size:14px;font-weight:600}
.integrator-summary .integrator-postal-field input{display:block;width:100%;height:48px;box-sizing:border-box;padding:10px 13px;border:1px solid var(--line);border-radius:7px;font:inherit;background:var(--paper);color:var(--ink)}
.integrator-summary .integrator-request-details p{font-size:14px;line-height:1.55;margin:0 0 10px;overflow-wrap:anywhere}
.integrator-summary .integrator-request-details p:last-child{margin-bottom:0}
.integrator-summary .integrator-promotion-note{font-size:12px!important;color:var(--muted)}
.integrator-summary .integrator-postal-field .integrator-error{margin-top:8px;color:#9b302c;font-size:12px}
html[data-tj-theme="dark"] .integrator-summary .integrator-error{color:#ffb4ab}
html[data-tj-theme="dark"] .integrator-summary .integrator-choices button[aria-pressed="true"]{background:#2a3d62;border-color:#a5bdff;color:#eff1f5}
.wall-choice-summary .room-control-card.has-model-notes{flex-wrap:wrap}
.wall-choice-summary .room-control-card.has-model-notes ul{flex:1}
.room-control-models{flex-basis:100%;margin:0 0 0 182px;font-size:12px;line-height:1.5;color:var(--muted)}
.room-control-models summary{display:list-item;cursor:pointer;color:var(--ink)}
.room-control-models p{margin:6px 0;overflow-wrap:anywhere;white-space:pre-wrap}
@media(max-width:560px){.integrator-summary .integrator-heading{gap:12px}.integrator-summary .integrator-heading h2{font-size:23px}.room-control-models{margin:7px 0 0}}

/* Default canvas dimensions for stock frame photos with no inline transform.
   The measured EIKON positioning/sizing stays authoritative in inline style. */
.design-finish-photo img{left:0;top:0;width:100%;height:100%}
.wireless-studio-frame-preview .design-finish-photo img,.wireless-design-photo .design-finish-photo img,.wireless-studio-dialog .studio-swatches .design-finish-photo img{left:0;top:0;width:100%;height:100%}

/* The active USB 12 W note stays inside its own mobile catalog card. */
@media(max-width:900px){
 .mobile-category-panel:has(>.usb-variant-choice){align-items:flex-start}
 .mobile-category-panel>.usb-variant-choice{flex:0 0 128px;max-width:128px;align-self:flex-start;scroll-snap-align:start}
 .mobile-category-panel>.usb-variant-choice>.sketch-card{width:100%;max-width:128px;min-width:0;align-self:start}
 .mobile-category-panel>.usb-variant-choice>.usb-variant-tip{min-width:0;overflow-wrap:anywhere}
}

/* Irrigation answers follow the existing room card colours in both themes. */
.room-question textarea[id^="irrigation-model-"]{display:block;width:100%;max-width:100%;box-sizing:border-box;resize:vertical;min-height:80px;margin-top:7px;overflow-wrap:anywhere}
.room-question label[for^="irrigation-model-"]{display:block;margin-top:14px;font-weight:600}
.irrigation-face-controls{margin:18px 0;padding:16px;border:1px solid var(--line,#d2d5c7);background:var(--paper,#fff)}
.irrigation-face-controls label{display:block;margin:10px 0;font-weight:600}
.irrigation-face-controls select{display:block;width:100%;margin-top:6px}
.irrigation-summary [data-tj-user-content]{overflow-wrap:anywhere;white-space:pre-wrap}
html[data-tj-theme="dark"] .irrigation-face-controls{background:#1b2535;border-color:#586176;color:#eff1f5}
.room-question textarea[id^="entry-gate-model-"]{display:block;width:100%;max-width:100%;box-sizing:border-box;resize:vertical;min-height:80px;margin-top:7px;overflow-wrap:anywhere}
.room-question label[for^="entry-gate-model-"]{display:block;margin-top:14px;font-weight:600}
.entry-gate-summary [data-tj-user-content]{overflow-wrap:anywhere;white-space:pre-wrap}
/* Compact preparation choices shared by both installation modes. */
.alarm-programming-choice{border:0;padding:0;margin:18px 0 0;min-width:0}
.alarm-programming-choice legend{font-weight:700;padding:0;margin-bottom:10px}
.alarm-programming-choice .compact-choices{display:flex;flex-wrap:wrap;gap:8px}
.alarm-programming-choice .compact-choices button{flex:1 1 210px;min-height:44px;white-space:normal;text-align:center}
.alarm-programming-choice .help{margin:10px 0 0}
.alarm-programming-choice .note{margin:10px 0 0;line-height:1.5}
.programming-choice>.help>span{display:block}
