/* Route-scoped LUMORA interior-door configurator styles. */
/* Unutrašnja vrata — kompletan champagne studio u dnevnom režimu. */
html[data-theme="day"] .lumora-interior-config-section {
  background:linear-gradient(180deg,#eee6da 0%,#f6f1e8 46%,#ebe2d5 100%) !important;
}
html[data-theme="day"] .idc {
  --idc-bg:#f4efe6;
  --idc-panel:#fbf8f2;
  --idc-panel-hi:#e9dfcf;
  --idc-line:rgba(54,47,39,.16);
  --idc-muted:#626a75;
  --idc-gold:#a9834c;
  --idc-gold-hi:#7f6033;
  border-color:rgba(169,131,76,.28);
  background:var(--idc-bg);
  color:#1b1f26;
  box-shadow:0 38px 100px rgba(62,47,29,.13);
}
html[data-theme="day"] .idc::before {
  background-image:linear-gradient(rgba(72,59,43,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(72,59,43,.045) 1px,transparent 1px);
}
html[data-theme="day"] .idc-header {
  background:radial-gradient(760px 300px at 24% 20%,rgba(169,131,76,.13),transparent 72%),linear-gradient(115deg,#fbf8f2,#eee6da);
}
html[data-theme="day"] .idc-header :is(h1,h2) { color:#1d2128; }
html[data-theme="day"] .idc-header > div > p:last-child,
html[data-theme="day"] .idc-header dd { color:#5e6570; }
html[data-theme="day"] .idc-collection-switch { background:#e9dfcf; }
html[data-theme="day"] .idc-collection-switch button {
  background:linear-gradient(115deg,#fbf8f2,#eee6da);
  color:#555d68;
}
html[data-theme="day"] .idc-collection-switch button:hover,
html[data-theme="day"] .idc-collection-switch button.is-active {
  background:radial-gradient(circle at 20% 50%,rgba(169,131,76,.16),transparent 40%),linear-gradient(115deg,#fffdf8,#e7dac7);
  color:#6f522c;
}
html[data-theme="day"] .idc-collection-switch small { color:#6c737d; }
html[data-theme="day"] .idc-controls,
html[data-theme="day"] .idc-specification {
  background:linear-gradient(160deg,rgba(251,248,242,.99),rgba(235,226,212,.99));
}
html[data-theme="day"] .idc-controls h3 { color:#22262d; }
html[data-theme="day"] .idc-swatch-grid button {
  background:rgba(255,252,247,.78);
  color:#626872;
}
html[data-theme="day"] .idc-swatch-grid button:hover,
html[data-theme="day"] .idc-swatch-grid button.is-active { color:#6f522c; }
html[data-theme="day"] .idc-swatch-grid i { border-color:rgba(54,47,39,.14); }
html[data-theme="day"] .idc-hardware-grid button { background:#f9f5ed; }
html[data-theme="day"] .idc-hardware-grid button:hover,
html[data-theme="day"] .idc-hardware-grid button.is-active { background:#e9dece; }
html[data-theme="day"] .idc-hardware-grid .idc-hardware-expand { border-color:rgba(151,111,55,.58); background:radial-gradient(circle at 20% 18%,rgba(255,255,255,.74),transparent 34%),repeating-linear-gradient(102deg,rgba(151,111,55,.028) 0 1px,transparent 1px 8px),linear-gradient(145deg,#f7efe1,#dbc29a); box-shadow:0 14px 30px -18px rgba(77,55,27,.55),inset 0 0 0 1px rgba(255,255,255,.58); color:#182238; }
html[data-theme="day"] .idc-hardware-grid .idc-hardware-expand:hover { border-color:rgba(119,80,31,.88); background:radial-gradient(circle at 20% 18%,rgba(255,255,255,.82),transparent 34%),linear-gradient(145deg,#fff8eb,#d6ba8e); box-shadow:0 18px 34px -17px rgba(77,55,27,.56),0 0 22px rgba(169,131,76,.2),inset 0 0 0 1px rgba(255,255,255,.72); }
html[data-theme="day"] .idc-hardware-grid .idc-hardware-expand::before { border-color:rgba(126,87,38,.22); box-shadow:inset 0 0 14px rgba(255,255,255,.4); }
html[data-theme="day"] .idc-hardware-expand > span > b { border-color:rgba(99,67,28,.58); background:linear-gradient(145deg,rgba(255,255,255,.46),rgba(171,124,66,.2)); box-shadow:7px 5px 0 -3px rgba(111,73,29,.13),0 8px 16px rgba(83,57,25,.18),inset 0 0 0 3px rgba(255,250,238,.22); }
html[data-theme="day"] .idc-hardware-expand > span > b::before { border-color:rgba(100,67,27,.18); }
html[data-theme="day"] .idc-hardware-expand > span > b::after { background:#76512a; box-shadow:0 0 7px rgba(118,81,42,.28); }
html[data-theme="day"] .idc-hardware-expand > span > i { border-color:rgba(99,67,28,.55); background:linear-gradient(90deg,#77522c,#c49a61 48%,#81592f); box-shadow:0 5px 10px rgba(83,57,25,.22),0 0 10px rgba(169,131,76,.16); }
html[data-theme="day"] .idc-hardware-expand > span > i::before,
html[data-theme="day"] .idc-hardware-expand > span > i::after { background:linear-gradient(90deg,#b98d55,#6f4b27); }
html[data-theme="day"] .idc-hardware-expand > span > strong { border-color:rgba(100,67,27,.58); background:#f8f0e2; color:#755129; box-shadow:0 0 14px rgba(135,95,43,.22); }
html[data-theme="day"] .idc-hardware-grid .idc-hardware-expand > em { color:#0b162b; text-shadow:0 1px 0 rgba(255,255,255,.5); }
html[data-theme="day"] .idc-hardware-grid .idc-hardware-expand > small { color:#684c2b; }
html[data-theme="day"] .idc-hardware-grid .idc-hardware-expand.is-active,
html[data-theme="day"] .idc-decor-grid .idc-decor-expand.is-active { border-color:rgba(119,80,31,.92); background:radial-gradient(circle at 20% 18%,rgba(255,255,255,.9),transparent 36%),linear-gradient(145deg,#fff8eb,#cfaa73); box-shadow:0 18px 38px -17px rgba(77,55,27,.58),0 0 25px rgba(140,97,43,.28),inset 0 0 0 1px rgba(255,255,255,.78); color:#111a2c; }
html[data-theme="day"] .idc-selected-decor span { color:#6b727c; }
html[data-theme="day"] .idc-selected-decor strong { color:#71552f; }
html[data-theme="day"] .idc-decor-grid button { background:rgba(255,252,247,.82); color:#626872; }
html[data-theme="day"] .idc-decor-grid button:hover,
html[data-theme="day"] .idc-decor-grid button.is-active { color:#6f522c; }
html[data-theme="day"] .idc-decor-grid .idc-decor-expand { border-color:rgba(151,111,55,.58); background:radial-gradient(circle at 20% 18%,rgba(255,255,255,.72),transparent 34%),repeating-linear-gradient(102deg,rgba(151,111,55,.028) 0 1px,transparent 1px 8px),linear-gradient(145deg,#f7efe1,#dbc29a); box-shadow:0 14px 30px -18px rgba(77,55,27,.55),inset 0 0 0 1px rgba(255,255,255,.55); color:#182238; }
html[data-theme="day"] .idc-decor-grid .idc-decor-expand:hover { border-color:rgba(119,80,31,.88); box-shadow:0 18px 34px -17px rgba(77,55,27,.56),0 0 22px rgba(169,131,76,.2),inset 0 0 0 1px rgba(255,255,255,.72); color:#111a2c; }
html[data-theme="day"] .idc-decor-grid .idc-decor-expand::before { border-color:rgba(126,87,38,.22); box-shadow:inset 0 0 14px rgba(255,255,255,.38); }
html[data-theme="day"] .idc-decor-grid .idc-decor-expand > span { border-color:rgba(111,73,29,.48); background:linear-gradient(110deg,#9a7044,#d4b077); box-shadow:5px 4px 0 -1px rgba(111,73,29,.13),-5px -4px 0 -1px rgba(255,255,255,.44),0 8px 17px rgba(83,57,25,.2); }
html[data-theme="day"] .idc-decor-grid .idc-decor-expand > b { color:#0b162b; text-shadow:0 1px 0 rgba(255,255,255,.48); }
html[data-theme="day"] .idc-decor-grid .idc-decor-expand > small { color:#684c2b; }
html[data-theme="day"] .idc-stage {
  --idc-floor-line:rgba(140,106,60,.42);
  --idc-floor-near:#dcd1bf;
  --idc-floor-far:#e8e0d3;
  --idc-contact:rgba(58,40,18,.4);
  background:radial-gradient(60% 52% at 50% 36%,rgba(255,253,248,.72),transparent 76%),linear-gradient(180deg,#f4eee4,#e9e0d1);
}
html[data-theme="day"] .idc-stage::before {
  background:linear-gradient(90deg,rgba(93,75,53,.11),transparent 15%,transparent 85%,rgba(93,75,53,.1));
}
html[data-theme="day"] .idc-stage-label strong { color:#59616d; }
html[data-theme="day"] .idc-visual-pending { border-color:rgba(169,131,76,.4); background:radial-gradient(circle at 50% 42%,rgba(169,131,76,.15),transparent 30%),linear-gradient(145deg,rgba(255,253,248,.96),rgba(226,215,198,.96)); box-shadow:0 28px 60px rgba(72,55,34,.14),inset 0 0 0 1px rgba(255,255,255,.45); }
html[data-theme="day"] .idc-visual-pending strong { color:#6f522c; }
html[data-theme="day"] .idc-visual-pending span { color:#646b75; }
html[data-theme="day"] .idc-loupe > span { color:#71552f; }
html[data-theme="day"] .idc-specification header > p { color:#6a717c; }
html[data-theme="day"] .idc-specification h3 { color:#20242b; }
html[data-theme="day"] .idc-specification dt { color:#30353d; }
html[data-theme="day"] .idc-specification dd,
html[data-theme="day"] .idc-technical-note { color:#626a75; }
html[data-theme="day"] .idc-secondary-action { color:#464c55; }
html[data-theme="day"] .idc-secondary-action:hover { color:#6f522c; }
html[data-theme="day"] .idc-privacy { color:#69707a; }
html[data-theme="day"] .idc .idc-project-sales { border-color:rgba(151,111,55,.35); background:radial-gradient(circle at 92% 4%,rgba(174,133,74,.14),transparent 36%),linear-gradient(145deg,rgba(255,252,246,.98),rgba(234,224,209,.96)); box-shadow:0 22px 45px -34px rgba(76,55,30,.48),inset 0 0 0 1px rgba(255,255,255,.65); }
html[data-theme="day"] .idc .idc-project-sales h4 { color:#252931; }
html[data-theme="day"] .idc .idc-project-sales > p:not(.idc-section-number) { color:#626973; }
html[data-theme="day"] .idc .idc-project-sales button { border-color:rgba(130,91,40,.38); background:rgba(169,131,76,.08); color:#6e4d24; }
html[data-theme="day"] .idc-model-rail { background:#e8dece; }
html[data-theme="day"] .idc-model-rail > div:first-child p { color:#23272e; }
html[data-theme="day"] .idc-model-rail button {
  background:linear-gradient(180deg,#fbf8f2,#eee6da);
  color:#565e68;
}
html[data-theme="day"] .idc-model-rail button:hover,
html[data-theme="day"] .idc-model-rail button.is-active {
  background:linear-gradient(180deg,#fffdf8,#e5d8c5);
  color:#6f522c;
}
html[data-theme="day"] .idc-model-rail .idc-model-expand {
  background:radial-gradient(circle at 50% 40%,rgba(169,131,76,.18),transparent 34%),linear-gradient(145deg,#fdfaf4,#e5d8c5);
  color:#6f522c;
  box-shadow:-14px 0 34px rgba(72,55,34,.08);
}
html[data-theme="day"] .idc-model-rail .idc-model-expand.is-active { border-color:rgba(122,84,36,.68); background:radial-gradient(circle at 50% 40%,rgba(169,131,76,.3),transparent 38%),linear-gradient(145deg,#fffaf1,#d8c09a); box-shadow:-14px 0 34px rgba(72,55,34,.1),0 0 28px rgba(140,97,43,.2); }
html[data-theme="day"] .idc-model-rail .idc-model-expand > span strong { color:#8a6738; text-shadow:0 0 20px rgba(169,131,76,.25); }
html[data-theme="day"] .idc-model-overlay { background:rgba(40,31,20,.46); backdrop-filter:blur(18px) saturate(.75); }
html[data-theme="day"] .idc-model-panel { border-color:rgba(152,112,57,.44); background:linear-gradient(145deg,rgba(255,253,248,.99),rgba(231,220,202,.99)); box-shadow:0 42px 120px rgba(56,42,25,.3),0 0 0 1px rgba(255,255,255,.6),inset 0 1px #fff; }
html[data-theme="day"] .idc-model-panel::before { border-color:rgba(152,112,57,.17); background:radial-gradient(circle,rgba(189,151,96,.19),transparent 63%); }
html[data-theme="day"] .idc-model-panel > header { border-color:rgba(152,112,57,.25); background:linear-gradient(90deg,rgba(255,255,255,.55),transparent 58%); }
html[data-theme="day"] .idc-model-panel > header h3 { color:#182035; }
html[data-theme="day"] .idc-model-panel > header div > span { color:#6f7279; }
html[data-theme="day"] .idc-model-panel-close { border-color:rgba(152,112,57,.45); background:rgba(255,253,248,.68); color:#74552d; }
html[data-theme="day"] .idc-model-panel-close:hover { border-color:#9b733d; background:#fffaf1; color:#2b2115; }
html[data-theme="day"] .idc-model-panel-grid { background:rgba(152,112,57,.18); scrollbar-color:#9f7947 rgba(238,228,212,.8); }
html[data-theme="day"] .idc-model-panel-card { background:linear-gradient(160deg,#fffdf8,#eee4d5); color:#606570; }
html[data-theme="day"] .idc-model-panel-card::before { background:radial-gradient(circle at 50% 42%,rgba(169,131,76,.2),transparent 35%); }
html[data-theme="day"] .idc-model-panel-card:hover,html[data-theme="day"] .idc-model-panel-card.is-active { background:linear-gradient(160deg,#fff,#e4d4bd); color:#6d4f29; }
html[data-theme="day"] .idc-model-panel-card > span img { filter:drop-shadow(0 24px 23px rgba(65,45,22,.2)); }
html[data-theme="day"] .idc-model-panel-card > b { color:#1d2536; }
html[data-theme="day"] .idc-model-system-badge { border-color:rgba(141,103,52,.34); background:rgba(255,252,245,.88); color:#70502a; box-shadow:0 8px 24px rgba(73,51,24,.11); }
html[data-theme="day"] .idc-model-system-badge.is-sincro-dekori { border-color:rgba(141,103,52,.46); background:linear-gradient(120deg,rgba(229,209,180,.95),rgba(255,252,245,.9)); color:#5c3d1f; }
html[data-theme="day"] .idc-model-panel-card > .idc-model-preview-finish { color:#91672e; }
html[data-theme="day"] .idc-model-panel-card > em { color:#696d75; }
html[data-theme="day"] .idc-decor-panel-grid { background:rgba(152,112,57,.18); scrollbar-color:#9f7947 rgba(238,228,212,.8); }
html[data-theme="day"] .idc-decor-panel-card { background:linear-gradient(160deg,#fffdf8,#eee4d5); color:#606570; }
html[data-theme="day"] .idc-decor-panel-card:hover,html[data-theme="day"] .idc-decor-panel-card.is-active { background:radial-gradient(circle at 50% 43%,rgba(169,131,76,.17),transparent 36%),linear-gradient(160deg,#fff,#e4d4bd); color:#6d4f29; }
html[data-theme="day"] .idc-decor-panel-card > b { color:#1d2536; }
html[data-theme="day"] .idc-hardware-panel-grid { background:rgba(152,112,57,.18); scrollbar-color:#9f7947 rgba(238,228,212,.8); }
html[data-theme="day"] .idc-hardware-panel-card { background:linear-gradient(160deg,#fffdf8,#eee4d5); color:#606570; }
html[data-theme="day"] .idc-hardware-panel-card:hover,html[data-theme="day"] .idc-hardware-panel-card.is-active { background:radial-gradient(circle at 50% 43%,rgba(169,131,76,.17),transparent 36%),linear-gradient(160deg,#fff,#e4d4bd); color:#6d4f29; }
html[data-theme="day"] .idc-hardware-panel-card > b { color:#1d2536; }
/* ========================================================================== 
   LUMORA unutrašnja vrata — prototip kompozicija, stvarni RAL i okov slojevi
   ========================================================================== */
.idc {
  --idc-bg: #070d1e;
  --idc-panel: #0b1530;
  --idc-panel-hi: #101d3b;
  --idc-line: rgba(80,105,164,.34);
  --idc-muted: #8f9bb4;
  --idc-gold: #c7a064;
  --idc-gold-hi: #e7d0a0;
  position: relative;
  overflow: hidden;
  border: 1px solid var(--idc-line);
  background: var(--idc-bg);
  color: #f4f6fb;
  box-shadow: 0 38px 100px rgba(0,0,0,.34);
  scroll-margin-top: 170px;
}
.lumora-interior-page .lumora-page-hero-compact {
  min-height:0;
  padding-top:clamp(20px,2vw,32px);
  padding-bottom:clamp(20px,2vw,32px);
  border-bottom:1px solid rgba(199,160,100,.34);
  background:radial-gradient(920px 480px at 80% 26%,rgba(51,71,125,.25),transparent 72%),#081024;
}
.lumora-interior-page .lumora-page-hero-compact .breadcrumb { margin-bottom:clamp(12px,1.4vw,20px); }
.lumora-interior-page .lumora-page-hero-compact h1 {
  max-width:900px;
  margin-top:10px;
  font-size:clamp(2.2rem,2.8vw,3.45rem);
  line-height:.98;
}
.lumora-interior-page .lumora-page-hero-compact .hero-lead {
  max-width:820px;
  margin-top:12px;
  font-size:clamp(.84rem,.92vw,.96rem);
}
.lumora-interior-config-section { padding-block: clamp(24px,3vw,48px); border-top: 0 !important; }
.lumora-interior-config-section > .container { width: min(1840px,calc(100% - clamp(24px,4vw,72px))); }
.idc-deferred-boundary { min-height:1427px; }
.idc-deferred-boundary:has(> .idc) { min-height:0; }
.idc-deferred-shell {
  position:relative;
  min-height:inherit;
  overflow:hidden;
  border:1px solid rgba(80,105,164,.34);
  background:radial-gradient(620px 320px at 50% 18%,rgba(199,160,100,.09),transparent 70%),linear-gradient(145deg,#0b1530,#070d1e);
  box-shadow:0 38px 100px rgba(0,0,0,.28);
}
.idc-deferred-shell::before {
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(65,89,145,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(65,89,145,.075) 1px,transparent 1px);
  background-size:72px 72px;
  content:"";
  mask-image:linear-gradient(180deg,#000,transparent 70%);
}
.idc-deferred-shell span { position:absolute; top:clamp(42px,5vw,84px); left:clamp(28px,4.5vw,78px); height:8px; border-radius:999px; background:rgba(199,160,100,.28); }
.idc-deferred-shell span:nth-child(1) { width:min(180px,42%); }
.idc-deferred-shell span:nth-child(2) { top:calc(clamp(42px,5vw,84px) + 38px); width:min(560px,68%); height:clamp(38px,5vw,72px); border-radius:0; background:rgba(244,246,251,.055); }
.idc-deferred-shell span:nth-child(3) { top:calc(clamp(42px,5vw,84px) + 132px); width:min(430px,58%); background:rgba(143,155,180,.14); }
.idc-deferred-start {
  position:absolute;
  z-index:2;
  top:calc(clamp(42px,5vw,84px) + 168px);
  left:clamp(28px,4.5vw,78px);
  width:min(290px,calc(100% - clamp(56px,9vw,156px)));
  cursor:pointer;
}
.idc-deferred-start b { font:inherit; }
html[data-theme="day"] .idc-deferred-shell { border-color:rgba(169,131,76,.28); background:radial-gradient(620px 320px at 50% 18%,rgba(169,131,76,.11),transparent 70%),linear-gradient(145deg,#fbf8f2,#eee6da); box-shadow:0 38px 100px rgba(62,47,29,.11); }
html[data-theme="day"] .idc-deferred-shell::before { background-image:linear-gradient(rgba(72,59,43,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(72,59,43,.045) 1px,transparent 1px); }
html[data-theme="day"] .idc-deferred-shell span:nth-child(2) { background:rgba(35,39,46,.06); }
@media (max-width:1100px) { .idc-deferred-boundary { min-height:4196px; } }
@media (max-width:700px) {
  .idc-deferred-boundary { min-height:3757px; }
  .idc-deferred-start { top:calc(clamp(42px,5vw,84px) + 168px); width:calc(100% - 56px); }
}
.idc::before {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(65,89,145,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(65,89,145,.075) 1px,transparent 1px);
  background-size: 72px 72px;
  content: "";
  mask-image: linear-gradient(180deg,#000,transparent 70%);
  pointer-events: none;
}
.idc button { font-family: inherit; }
.idc-header {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: clamp(30px,5vw,90px);
  align-items: end;
  padding: clamp(42px,5vw,84px) clamp(28px,4.5vw,78px) clamp(32px,3.5vw,58px);
  border-bottom: 1px solid var(--idc-line);
  background: radial-gradient(760px 280px at 24% 20%,rgba(199,160,100,.08),transparent 70%);
}
.idc-header > div { max-width: 850px; }
.idc-eyebrow,.idc-section-number {
  margin: 0 0 16px;
  color: var(--idc-gold);
  font: 600 max(var(--type-micro),.68rem) var(--mono);
  letter-spacing: .16em;
  text-transform: uppercase;
}
.idc-header :is(h1,h2) {
  display: flex;
  margin: 0;
  flex-direction: column;
  font: var(--lumora-heading-weight,300) clamp(3.3rem,5.15vw,6.6rem)/.86 var(--font-display),system-ui,sans-serif;
  letter-spacing: var(--lumora-heading-tracking,-.012em);
}
.idc-header :is(h1,h2) .is-champagne { color: var(--idc-gold); }
.idc-header > div > p:last-child { max-width: 720px; margin: 28px 0 0; color: #aab4c9; font-size: clamp(.94rem,1.05vw,1.08rem); line-height: 1.75; }
.idc-header dl { display: grid; min-width: 350px; margin: 0; grid-template-columns: repeat(3,1fr); border: 1px solid var(--idc-line); }
.idc-header dl div { min-width: 112px; padding: 20px 18px; border-right: 1px solid var(--idc-line); }
.idc-header dl div:last-child { border-right: 0; }
.idc-header dt { color: var(--idc-gold); font: 500 1.35rem var(--mono); }
.idc-header dd { margin: 8px 0 0; color: #aeb8cd; font: 600 max(var(--type-micro),.66rem) var(--mono); letter-spacing: .08em; text-transform: uppercase; }

.idc-collection-switch {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  border-bottom: 1px solid var(--idc-line);
  background: #070e20;
}
.idc-collection-switch button {
  position: relative;
  display: grid;
  min-height: 104px;
  grid-template-columns: auto 1fr auto;
  gap: 18px;
  align-items: center;
  padding: 22px clamp(18px,2.5vw,46px);
  overflow: hidden;
  border: 0;
  border-right: 1px solid var(--idc-line);
  background: linear-gradient(115deg,rgba(15,27,57,.72),rgba(8,16,36,.92));
  color: #aab4c9;
  cursor: pointer;
  text-align: left;
  transition: background .3s ease,color .3s ease;
}
.idc-collection-switch button:last-child { border-right: 0; }
.idc-collection-switch button::before { position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: linear-gradient(90deg,transparent,var(--idc-gold),transparent); content: ""; opacity: 0; transform: scaleX(.35); transition: opacity .3s ease,transform .45s ease; }
.idc-collection-switch button::after { position: absolute; top: -70%; left: -18%; width: 18%; height: 230%; background: linear-gradient(90deg,transparent,rgba(255,244,216,.13),transparent); content: ""; transform: skewX(-18deg); transition: left .7s ease; }
.idc-collection-switch button:hover::after { left: 115%; }
.idc-collection-switch button:hover,.idc-collection-switch button.is-active { background: radial-gradient(circle at 20% 50%,rgba(199,160,100,.14),transparent 40%),linear-gradient(115deg,#111d38,#091329); color: #f0dfbb; }
.idc-collection-switch button.is-active::before { opacity: 1; transform: scaleX(1); }
.idc-collection-switch i { color: var(--idc-gold); font: max(var(--type-micro),.65rem) var(--mono); font-style: normal; }
.idc-collection-switch span { display: grid; gap: 5px; }
.idc-collection-switch strong { font-size: .82rem; letter-spacing: .1em; text-transform: uppercase; }
.idc-collection-switch small { color: var(--idc-muted); font: max(var(--type-micro),.58rem) var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.idc-collection-switch b { color: var(--idc-gold); font-size: 1.05rem; font-weight: 400; }
.idc-collection-switch button > i,.idc-collection-switch button > span,.idc-collection-switch button > b { position: relative; z-index: 2; }
.idc-collection-material { position: absolute; z-index: 1; top: 0; right: 0; bottom: 0; display: block; width: clamp(58px,26%,126px); border-left: 1px solid rgba(211,178,117,.2); text-decoration: none; opacity: .8; pointer-events: none; mask-image: linear-gradient(90deg,transparent 0,#000 42%); }
.idc-collection-material.is-mdf { background: linear-gradient(135deg,#fcfaf5 0 48%,#e5ded2 49% 100%); box-shadow: inset 18px 0 32px rgba(7,14,32,.12); }
.idc-collection-material.is-glass {
  background: linear-gradient(135deg,rgba(225,245,255,.88),rgba(117,157,180,.34) 44%,rgba(246,251,255,.78) 48%,rgba(114,148,169,.3) 54%,rgba(218,241,251,.7));
  box-shadow: inset 18px 0 32px rgba(7,14,32,.13);
}
.idc-collection-material.is-sincro {
  background:
    linear-gradient(90deg,rgba(7,14,32,.08),rgba(7,14,32,.2)),
    repeating-linear-gradient(88deg,rgba(255,240,210,.09) 0 1px,transparent 1px 8px),
    repeating-linear-gradient(96deg,transparent 0 17px,rgba(45,25,12,.14) 18px 20px),
    linear-gradient(105deg,#815633,#bc8d58 38%,#6f492f 72%,#a67545);
  box-shadow: inset 18px 0 32px rgba(7,14,32,.18);
}

.idc-workspace {
  position: relative;
  z-index: 1;
  display: grid;
  min-height: 850px;
  grid-template-columns: minmax(270px,.78fr) minmax(490px,1.34fr) minmax(320px,.88fr);
}
.idc-controls,.idc-specification { background: linear-gradient(160deg,rgba(15,27,57,.98),rgba(8,16,36,.99)); }
.idc-controls { display: grid; align-content: center; gap: 48px; padding: clamp(28px,3vw,50px); border-right: 1px solid var(--idc-line); }
.idc-controls section + section { padding-top: 42px; border-top: 1px solid var(--idc-line); }
.idc-glass-choice { margin-top: 30px; padding-top: 28px; border-top: 1px solid var(--idc-line); }
.idc-glass-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:18px; }
.idc-glass-grid button { display:grid; min-height:82px; grid-template-columns:42px 1fr; gap:12px; align-items:center; padding:12px; border:1px solid var(--idc-line); background:rgba(5,13,31,.46); color:#abb5c9; cursor:pointer; text-align:left; transition:border-color .25s ease,background .25s ease,color .25s ease,transform .25s ease; }
.idc-glass-grid button:hover,.idc-glass-grid button.is-active { border-color:var(--idc-gold); background:linear-gradient(135deg,rgba(28,48,86,.9),rgba(8,18,42,.94)); color:var(--idc-gold-hi); transform:translateY(-2px); }
.idc-glass-grid i { width:42px; aspect-ratio:1; border:1px solid rgba(224,244,255,.48); box-shadow:inset 0 0 18px rgba(255,255,255,.22),0 8px 18px rgba(0,0,0,.2); }
.idc-glass-grid i.is-clear { background:linear-gradient(135deg,rgba(227,247,255,.72),rgba(102,151,178,.2),rgba(246,252,255,.62)); }
.idc-glass-grid i.is-ornament { background:repeating-radial-gradient(circle at 30% 30%,rgba(255,255,255,.65) 0 1px,rgba(141,178,197,.3) 2px 4px),linear-gradient(135deg,rgba(225,241,247,.74),rgba(119,153,169,.42)); }
.idc-glass-grid span { font:650 max(var(--type-micro),.62rem)/1.35 var(--mono); letter-spacing:.04em; text-transform:uppercase; }
.idc-controls h3 { margin: 0 0 8px; font-size: clamp(1.12rem,1.25vw,1.4rem); font-weight: 650; letter-spacing: .02em; text-transform: uppercase; }
.idc-help { margin: 0 0 18px; color: var(--idc-muted); font-size: .78rem; line-height: 1.65; }
.idc-swatch-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 7px; }
.idc-swatch-grid button {
  position: relative;
  display: grid;
  min-width: 0;
  gap: 5px;
  padding: 5px;
  border: 1px solid transparent;
  background: rgba(4,10,24,.64);
  color: #7f8aa2;
  cursor: pointer;
  transition: border-color .2s ease,color .2s ease,transform .2s ease;
}
.idc-swatch-grid button:hover,.idc-swatch-grid button.is-active { border-color: var(--idc-gold); color: var(--idc-gold-hi); transform: translateY(-2px); }
.idc-swatch-grid button.is-active::after { position: absolute; inset: -4px; border: 1px solid rgba(199,160,100,.25); content: ""; }
.idc-swatch-grid i { display: block; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.1); background: var(--idc-swatch); box-shadow: inset 0 0 16px rgba(0,0,0,.16); }
.idc-swatch-grid span { overflow: hidden; font: max(var(--type-micro),.55rem) var(--mono); letter-spacing: .04em; text-overflow: ellipsis; }
.idc-swatch-grid .idc-other-color > i {
  position: relative;
  overflow: hidden;
  margin: 7%;
  border: 1px solid rgba(255,255,255,.6);
  border-radius: 50%;
  background: conic-gradient(from 0deg,#e4c477 0 12.5%,#b56f55 12.5% 25%,#74567f 25% 37.5%,#55729a 37.5% 50%,#668c78 50% 62.5%,#a4a773 62.5% 75%,#c89a68 75% 87.5%,#ded5c7 87.5% 100%);
  box-shadow: inset 0 0 0 3px rgba(7,13,30,.16),inset 0 0 16px rgba(255,255,255,.24),0 0 14px rgba(199,160,100,.22);
}
.idc-swatch-grid .idc-other-color > i::after,.idc-swatch-grid .idc-other-color > i > b { display:none; }
.idc-swatch-grid .idc-other-color > span { font-size: max(var(--type-micro), .48rem); font-weight: 750; }
.idc-selected-decor { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: -3px 0 12px; padding-bottom: 10px; border-bottom: 1px solid var(--idc-line); }
.idc-selected-decor span { color: var(--idc-muted); font: max(var(--type-micro),.52rem) var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.idc-selected-decor strong { overflow: hidden; color: var(--idc-gold-hi); font-size: max(var(--type-micro), .65rem); letter-spacing: .05em; text-overflow: ellipsis; white-space: nowrap; }
.idc-decor-picker { position: relative; isolation: isolate; container: idc-decors / inline-size; }
.idc-decor-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 6px; }
.idc-decor-grid button { position: relative; display: grid; min-width: 0; gap: 5px; padding: 4px; border: 1px solid var(--idc-line); background: rgba(4,10,24,.6); color: #8994aa; cursor: pointer; transition: border-color .2s ease,color .2s ease,transform .2s ease; }
.idc-decor-grid button:hover,.idc-decor-grid button.is-active { border-color: var(--idc-gold); color: var(--idc-gold-hi); transform: translateY(-2px); }
.idc-decor-grid button.is-active::after { position: absolute; inset: -3px; border: 1px solid rgba(199,160,100,.22); content: ""; pointer-events: none; }
.idc-decor-grid button > span { position: relative; display: block; aspect-ratio: 1; overflow: hidden; }
.idc-decor-grid img { object-fit: cover; }
.idc-decor-grid b { overflow: hidden; padding-inline: 1px; font: max(var(--type-micro),.44rem)/1.25 var(--mono); letter-spacing: .02em; text-overflow: ellipsis; white-space: nowrap; }
/* Decor names (ROVERE LANGHE, ROVERE LIMONE ...) need two lines in the narrow grid columns,
   ROVERE LJUBLIANA TENUE three (IC2-06). The data writes them as names ("Rovere Langhe",
   CP2-08); the tile capitals come from text-transform, as on the decor dialog cards. */
.idc-decor-grid button:not(.idc-decor-expand) > b { display: -webkit-box; min-height: 2.5em; white-space: normal; text-transform: uppercase; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.idc-decor-grid .idc-decor-expand { position: relative; z-index: 1; display: grid; min-height: 0; align-content: center; justify-items: center; gap: 5px; overflow: hidden; padding: 7px 5px 6px; border-color: rgba(231,208,160,.56); background: radial-gradient(circle at 50% 26%,rgba(199,160,100,.2),transparent 36%),linear-gradient(145deg,#101b35,#050b19); box-shadow: 0 14px 30px -18px rgba(0,0,0,.95),inset 0 0 0 1px rgba(255,255,255,.025); color: var(--idc-gold-hi); isolation: isolate; transform: none; }
.idc-decor-grid .idc-decor-expand:hover { border-color: rgba(238,211,158,.92); box-shadow: 0 18px 36px -17px rgba(0,0,0,.98),0 0 22px rgba(199,160,100,.17),inset 0 0 0 1px rgba(255,255,255,.05); color: #f4dfb4; transform: translateY(-2px); }
.idc-decor-expand::before { position: absolute; z-index: -1; inset: 4px; border: 1px solid rgba(231,208,160,.18); content: ""; box-shadow: inset 0 0 16px rgba(199,160,100,.06); animation: idc-decor-invite-pulse 2.4s ease-in-out infinite; }
.idc-decor-expand::after { position: absolute; z-index: -1; top: -90%; left: -45%; width: 28%; height: 280%; background: linear-gradient(90deg,transparent,rgba(255,244,216,.24),transparent); content: ""; transform: skewX(-18deg); animation: idc-decor-invite-shine 3.8s ease-in-out infinite; }
.idc-decor-grid .idc-decor-expand > span { position:relative; display: grid; width: 44px; height:35px; margin: 2px auto 1px; place-items: center; overflow: visible; border: 1px solid rgba(231,208,160,.48); border-radius:0; background:linear-gradient(110deg,rgba(109,72,37,.72),rgba(206,172,113,.54)); box-shadow: 5px 4px 0 -1px rgba(199,160,100,.16),-5px -4px 0 -1px rgba(231,208,160,.09),0 8px 18px rgba(0,0,0,.24); transform:rotate(-2deg); }
.idc-decor-grid .idc-decor-expand > span::before { position:absolute; inset:4px; border:1px solid rgba(255,244,216,.22); content:""; }
.idc-decor-expand strong { position:relative; z-index:1; color:#fff0cf; font: 300 1.35rem/1 var(--font-display),system-ui,sans-serif; text-shadow:0 2px 10px rgba(0,0,0,.45); transform:rotate(2deg); }
.idc-decor-grid .idc-decor-expand > b { min-width: 0; max-width: 100%; overflow: visible; color: var(--idc-gold-hi); font: 820 max(var(--type-micro),.58rem)/1.12 system-ui,sans-serif; letter-spacing: 0; text-align: center; text-transform: uppercase; white-space: normal; }
.idc-decor-grid .idc-decor-expand > small { min-width: 0; max-width: 100%; color: #aab3c4; font: max(var(--type-micro),.34rem)/1.2 var(--mono); letter-spacing: .02em; overflow-wrap: anywhere; text-align: center; }
/* Keep the action's full words readable in the actual sidebar width. */
@container idc-decors (max-width: 344px) {
  .idc-decor-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@container idc-decors (max-width: 274px) {
  .idc-decor-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@keyframes idc-decor-invite-pulse { 0%,100% { border-color:rgba(231,208,160,.16); box-shadow:0 0 0 4px rgba(199,160,100,.02),inset 0 0 19px rgba(199,160,100,.05); } 50% { border-color:rgba(231,208,160,.52); box-shadow:0 0 0 4px rgba(199,160,100,.055),0 0 22px rgba(199,160,100,.2),inset 0 0 24px rgba(199,160,100,.1); } }
@keyframes idc-decor-invite-shine { 0%,35% { left:-45%; opacity:0; } 58% { opacity:1; } 78%,100% { left:125%; opacity:0; } }
.idc-hardware-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.idc-hardware-grid button { position: relative; min-width: 0; padding: 0; border: 1px solid var(--idc-line); background: #081027; cursor: pointer; transition: border-color .2s ease,background .2s ease,transform .2s ease; }
.idc-hardware-grid button:hover,.idc-hardware-grid button.is-active { border-color: var(--idc-gold); background: #101b36; transform: translateY(-2px); }
.idc-hardware-grid button > i { position: absolute; top: 7px; left: 8px; z-index: 2; color: var(--idc-gold); font: max(var(--type-micro),.55rem) var(--mono); font-style: normal; }
.idc-hardware-thumb { position: relative; display: block; aspect-ratio: 1; overflow: hidden; background: transparent; isolation: isolate; }
.idc-hardware-thumb::before { position: absolute; z-index: -1; inset: 14%; border: 1px solid rgba(199,160,100,.25); border-radius: 50%; background: #f8f5ed; content: ""; box-shadow: 0 0 0 1px rgba(255,255,255,.28),0 0 18px rgba(199,160,100,.16); }
.idc-hardware-thumb::after { position: absolute; inset: 17%; border: 1px solid rgba(138,111,70,.28); border-radius: 50%; content: ""; pointer-events: none; }
.idc-hardware-thumb img { z-index: 1; object-fit: contain; filter: drop-shadow(0 8px 9px rgba(0,0,0,.2)); transform: none; }
html:not([data-theme="day"]) .idc-hardware-thumb::before { inset: 11%; border-color: rgba(255,249,235,.94); background: #faf7ef; box-shadow: 0 0 0 1px rgba(199,160,100,.5),0 0 0 8px rgba(199,160,100,.1),0 0 22px rgba(231,208,160,.24); }
html:not([data-theme="day"]) .idc-hardware-thumb::after { inset: 14%; border-color: rgba(119,91,50,.38); box-shadow: inset 0 0 12px rgba(199,160,100,.08); }
.idc-hardware-grid .idc-hardware-expand { position:relative; z-index:1; display:grid; min-height:0; align-content:center; justify-items:center; gap:4px; overflow:hidden; padding:6px 4px 5px; border-color:rgba(231,208,160,.58); background:radial-gradient(circle at 50% 30%,rgba(199,160,100,.2),transparent 38%),linear-gradient(145deg,#101b35,#050b19); box-shadow:0 14px 30px -18px rgba(0,0,0,.95),inset 0 0 0 1px rgba(255,255,255,.025); color:var(--idc-gold-hi); isolation:isolate; transform:none; }
.idc-hardware-grid .idc-hardware-expand:hover { border-color:rgba(238,211,158,.92); background:radial-gradient(circle at 50% 30%,rgba(199,160,100,.28),transparent 40%),linear-gradient(145deg,#152342,#071027); box-shadow:0 18px 36px -17px rgba(0,0,0,.98),0 0 22px rgba(199,160,100,.2),inset 0 0 0 1px rgba(255,255,255,.05); transform:translateY(-2px); }
.idc-hardware-expand::before { position:absolute; z-index:-1; inset:4px; border:1px solid rgba(231,208,160,.18); content:""; box-shadow:inset 0 0 16px rgba(199,160,100,.06); animation:idc-decor-invite-pulse 2.4s ease-in-out infinite; }
.idc-hardware-expand::after { position:absolute; z-index:-1; top:-90%; left:-45%; width:28%; height:280%; background:linear-gradient(90deg,transparent,rgba(255,244,216,.24),transparent); content:""; transform:skewX(-18deg); animation:idc-decor-invite-shine 3.8s ease-in-out infinite; }
.idc-hardware-grid .idc-hardware-expand > span { position:relative; display:block; width:58px; height:48px; margin:0 auto 1px; }
.idc-hardware-expand > span > b { position:absolute; top:2px; right:5px; width:31px; height:43px; border:1px solid rgba(247,226,183,.68); background:linear-gradient(145deg,rgba(227,197,143,.2),rgba(70,48,27,.32)); box-shadow:7px 5px 0 -3px rgba(199,160,100,.18),0 8px 18px rgba(0,0,0,.28),inset 0 0 0 3px rgba(4,11,27,.2); transform:perspective(100px) rotateY(-8deg); }
.idc-hardware-expand > span > b::before { position:absolute; inset:5px; border:1px solid rgba(247,226,183,.2); content:""; }
.idc-hardware-expand > span > b::after { position:absolute; top:20px; right:5px; width:3px; height:3px; border-radius:50%; background:#f1d59d; box-shadow:0 0 8px rgba(241,213,157,.42); content:""; }
.idc-hardware-expand > span > i { position:absolute; top:9px; left:14px; z-index:2; width:5px; height:29px; border:1px solid rgba(255,238,201,.72); border-radius:3px; background:linear-gradient(90deg,#7c572f,#edcf95 48%,#8d6539); box-shadow:0 5px 11px rgba(0,0,0,.34),0 0 10px rgba(199,160,100,.2); }
.idc-hardware-expand > span > i::before,.idc-hardware-expand > span > i::after { position:absolute; left:4px; width:11px; height:2px; background:linear-gradient(90deg,#e6c78f,#73502c); content:""; }
.idc-hardware-expand > span > i::before { top:3px; }
.idc-hardware-expand > span > i::after { bottom:3px; }
.idc-hardware-expand > span > strong { position:absolute; z-index:3; right:2px; bottom:0; display:grid; width:19px; height:19px; place-items:center; border:1px solid rgba(255,237,198,.75); border-radius:50%; background:#09142a; color:#f4dca9; font:600 1rem/1 system-ui,sans-serif; box-shadow:0 0 14px rgba(199,160,100,.42); }
.idc-hardware-grid .idc-hardware-expand > em { max-width:100%; color:var(--idc-gold-hi); font:820 max(var(--type-micro),.58rem)/1.12 system-ui,sans-serif; font-style:normal; letter-spacing:.015em; text-transform:uppercase; white-space:nowrap; }
.idc-hardware-grid .idc-hardware-expand > small { color:#aab3c4; font:max(var(--type-micro),.34rem)/1.2 var(--mono); letter-spacing:.02em; }
.idc-decor-grid .idc-decor-expand.is-active,
.idc-hardware-grid .idc-hardware-expand.is-active { border-color:rgba(238,211,158,.98); background:radial-gradient(circle at 50% 28%,rgba(199,160,100,.34),transparent 42%),linear-gradient(145deg,#17284a,#071027); box-shadow:0 18px 38px -18px rgba(0,0,0,.98),0 0 28px rgba(199,160,100,.32),inset 0 0 0 1px rgba(255,255,255,.07); color:#f5dfb3; }
.idc-model-rail .idc-model-expand.is-active { border-color:rgba(231,208,160,.78); background:radial-gradient(circle at 50% 40%,rgba(199,160,100,.28),transparent 38%),linear-gradient(145deg,#17284a,#071027); box-shadow:-16px 0 38px rgba(1,5,15,.24),0 0 28px rgba(199,160,100,.24); }
.idc-model-rail .idc-model-expand.is-active::before { border-color:rgba(231,208,160,.62); box-shadow:0 0 0 12px rgba(199,160,100,.05),0 0 48px rgba(199,160,100,.3),inset 0 0 34px rgba(199,160,100,.08); }

.idc-stage {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 850px;
  place-items: center;
  overflow: hidden;
  /* Item 58: the door stands on a floor in soft light (no glowing ring under it). */
  --idc-floor-line:rgba(199,160,100,.36);
  --idc-floor-near:#111c38;
  --idc-floor-far:#0a1229;
  --idc-contact:rgba(0,0,0,.62);
  background: radial-gradient(60% 52% at 50% 36%,rgba(42,61,112,.42),transparent 76%),#071027;
}
.idc-stage::before { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(3,8,21,.6),transparent 15%,transparent 85%,rgba(3,8,21,.55)); content: ""; pointer-events: none; }
.idc-stage-label { position: absolute; top: 28px; left: 30px; z-index: 4; display: flex; max-width: calc(100% - 60px); gap: 10px; flex-direction: column; }
.idc-stage-label span { color: var(--idc-gold); font: max(var(--type-micro),.62rem) var(--mono); letter-spacing: .14em; text-transform: uppercase; }
/* The whole selection (model, finish, glass, handle, fixed accent) wraps instead of ending in an
   ellipsis: two lines above the door on wider screens, four on phones (IC2-01, IC2-02). */
.idc-stage-label strong { display: -webkit-box; overflow: hidden; color: #8e9ab2; font: 500 max(var(--type-micro),.62rem)/1.35 var(--mono); letter-spacing: .04em; text-overflow: ellipsis; white-space: normal; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
@media (max-width:700px) { .idc-stage-label strong { -webkit-line-clamp: 4; } }
.idc-door-canvas { position: relative; z-index: 2; width: min(94%,680px); aspect-ratio: 1; }
.idc-door-canvas > img { z-index: 2; object-fit: contain; filter: drop-shadow(0 35px 28px rgba(0,0,0,.42)); }
.idc-door-canvas .idc-glass-layer { z-index: 3; filter:none; }
.idc-door-canvas .idc-hardware-layer { z-index: 4; filter: drop-shadow(0 6px 8px rgba(0,0,0,.32)); }
.idc-visual-pending { position: absolute; z-index: 2; inset: 17% 18%; display: grid; place-content: center; justify-items: center; padding: 30px; border: 1px solid rgba(199,160,100,.34); background: radial-gradient(circle at 50% 42%,rgba(199,160,100,.16),transparent 28%),linear-gradient(145deg,rgba(18,31,62,.88),rgba(6,13,30,.95)); text-align: center; box-shadow: 0 28px 60px rgba(0,0,0,.24),inset 0 0 0 1px rgba(255,255,255,.025); }
.idc-visual-pending::before,.idc-visual-pending::after { position: absolute; width: 44px; height: 44px; border-color: var(--idc-gold); border-style: solid; content: ""; opacity: .7; }
.idc-visual-pending::before { top: 12px; left: 12px; border-width: 1px 0 0 1px; }
.idc-visual-pending::after { right: 12px; bottom: 12px; border-width: 0 1px 1px 0; }
.idc-visual-pending > i { width: 56px; height: 82px; margin-bottom: 22px; border: 1px solid var(--idc-gold); background: linear-gradient(145deg,rgba(199,160,100,.2),transparent 48%); box-shadow: 13px 10px 0 -7px rgba(199,160,100,.14),0 0 28px rgba(199,160,100,.18); transform: perspective(120px) rotateY(-8deg); }
.idc-visual-pending strong { color: var(--idc-gold-hi); font: 500 clamp(1.2rem,2vw,1.8rem) var(--font-display),system-ui,sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.idc-visual-pending span { margin-top: 10px; color: var(--idc-muted); font: max(var(--type-micro),.56rem) var(--mono); letter-spacing: .09em; text-transform: uppercase; }
.idc-loupe { position: absolute; top: 50.6%; left: 71.5%; z-index: 5; display: grid; width: clamp(180px,12vw,215px); place-items: center; transform: translateY(-50%); }
.idc-loupe > div { position: relative; width: clamp(154px,10.5vw,188px); aspect-ratio: 1; overflow: hidden; border: 1px solid var(--idc-gold); border-radius: 50%; background: radial-gradient(circle,#f8f3e9 0 48%,#d5bea0 100%); box-shadow: 0 22px 54px rgba(0,0,0,.42),0 0 0 7px rgba(199,160,100,.1),0 0 0 8px rgba(231,208,160,.32),inset 0 0 34px rgba(255,255,255,.35); }
.idc-loupe img { object-fit: contain; filter: drop-shadow(0 10px 10px rgba(0,0,0,.22)); transform: none; }
.idc-loupe > span { box-sizing: border-box; max-width: 100%; margin-top: 15px; padding: 3px 4px; background: var(--idc-bg); color: var(--idc-gold-hi); font: max(var(--type-micro),.57rem)/1.4 var(--mono); letter-spacing: .11em; text-align: center; text-transform: uppercase; }
/* Floor line at the threshold (--door-floor from scripts/generate-door-floor-lines.mjs, in the
   1254 layer space) with a warm gradient below, across the stage (which clips it). */
.idc-stage-floor { position: absolute; z-index: 1; top: calc(var(--door-floor,.9408) * 100%); left: 50%; width: 400vw; height: 100vh; border-top: 1px solid var(--idc-floor-line); background: linear-gradient(180deg,var(--idc-floor-near),var(--idc-floor-far) min(240px,60%)); transform: translateX(-50%); pointer-events: none; }
.idc-stage-floor i { display: none; }
/* Contact shadow, narrow and exactly under the door leaf and frame. */
.idc-door-canvas::after { position: absolute; z-index: 1; top: calc(var(--door-floor,.9408) * 100% - 5px); left: calc(var(--door-left,.2863) * 100% - 1.5%); width: calc((var(--door-right,.7121) - var(--door-left,.2863)) * 100% + 3%); height: 12px; border-radius: 50%; background: radial-gradient(closest-side,var(--idc-contact),transparent); content: ""; pointer-events: none; }

.idc-specification { display: flex; min-width: 0; flex-direction: column; padding: clamp(34px,3.2vw,58px); border-left: 1px solid var(--idc-line); }
.idc-specification header { padding-bottom: 32px; border-bottom: 1px solid var(--idc-line); }
.idc-specification header > p { margin: 0 0 16px; color: #73809b; font: max(var(--type-micro),.68rem) var(--mono); }
.idc-specification header > p span { color: var(--idc-gold); }
.idc-specification h3 { margin: 0 0 13px; color: #fff; font-size: clamp(2.2rem,3vw,3.5rem); font-weight: 600; letter-spacing: -.035em; }
.idc-specification header small { color: var(--idc-muted); font-size: .78rem; line-height: 1.65; }
.idc-specification > .idc-section-number { margin-top: 34px; }
.idc-specification dl { margin: 0; }
.idc-specification dl > div { display: grid; grid-template-columns: minmax(125px,.9fr) minmax(115px,1.1fr); gap: 16px; padding: 13px 0; border-bottom: 1px solid var(--idc-line); }
.idc-specification dt { color: #d8deea; font-size: .69rem; font-weight: 600; line-height: 1.45; text-transform: uppercase; }
.idc-specification dt i { margin-right: 9px; color: var(--idc-gold); font: max(var(--type-micro),.57rem) var(--mono); font-style: normal; }
.idc-specification dd { margin: 0; color: #919db5; font-size: .7rem; line-height: 1.5; text-align: right; }
.idc-technical-note { margin: 25px 0; color: #737f96; font-size: max(var(--type-micro), .67rem); line-height: 1.65; }
.idc-primary-action,.idc-secondary-action { display: flex; width: 100%; min-height: 55px; align-items: center; justify-content: space-between; padding: 0 18px; cursor: pointer; font-size: max(var(--type-micro), .68rem); font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.idc-primary-action { position: relative; overflow: hidden; border: 1px solid var(--idc-gold-hi); background: linear-gradient(105deg,#aa8148,#d7b679 52%,#ad844b); color: #071027; box-shadow: 0 15px 36px -22px rgba(199,160,100,.9),inset 0 1px rgba(255,244,217,.5); isolation: isolate; }
.idc-primary-action::before { position: absolute; z-index: -1; top: -60%; bottom: -60%; left: -34%; width: 22%; background: linear-gradient(90deg,transparent,rgba(255,250,232,.72),transparent); content: ""; transform: skewX(-20deg); transition: left .75s cubic-bezier(.18,.72,.2,1); }
.lumora-interior-page--configurator-first .idc-primary-action > span { position:relative; display:block; width:30px; height:30px; flex:0 0 30px; padding:0; border:1px solid currentColor; border-radius:50%; font-size:0; line-height:0; box-shadow:inset 0 0 0 4px rgba(255,255,255,.08); transition:transform .25s ease,box-shadow .25s ease; }
.lumora-interior-page--configurator-first .idc-primary-action > span::before,.lumora-interior-page--configurator-first .idc-primary-action > span::after { position:absolute; top:50%; left:50%; width:10px; height:1px; background:currentColor; content:""; transform:translate(-50%,-50%); transform-origin:center; }
.lumora-interior-page--configurator-first .idc-primary-action > span::after { transform:translate(-50%,-50%) rotate(90deg); }
.lumora-interior-page--configurator-first .idc-primary-action:is(:hover,:focus-visible) > span { transform:rotate(90deg); box-shadow:inset 0 0 0 4px rgba(255,255,255,.12),0 0 18px rgba(255,245,220,.34); }
.lumora-interior-page--configurator-first .idc-primary-action:focus-visible { outline:2px solid var(--idc-gold-hi); outline-offset:3px; }
.idc-secondary-action { margin-top: 8px; border: 1px solid var(--idc-line); background: transparent; color: #b3bdd0; }
.idc-primary-action:hover { background: linear-gradient(105deg,#c39b61,#ead3a5 52%,#c39b61); }
.idc-primary-action:hover::before { left: 116%; }
.idc-secondary-action:hover { border-color: var(--idc-gold); color: var(--idc-gold-hi); }
.idc .idc-project-sales { position: relative; overflow: hidden; margin-top: 30px; padding: 25px 24px 23px; border: 1px solid rgba(199,160,100,.34); background: radial-gradient(circle at 92% 5%,rgba(199,160,100,.16),transparent 35%),linear-gradient(145deg,rgba(20,32,59,.96),rgba(6,13,29,.98)); box-shadow: 0 22px 50px -34px rgba(0,0,0,.95),inset 0 0 0 1px rgba(255,255,255,.018); isolation: isolate; }
.idc .idc-project-sales::before { position:absolute; top:0; left:0; width:38%; height:1px; background:linear-gradient(90deg,var(--idc-gold),rgba(231,208,160,.2),transparent); content:""; }
.idc .idc-project-sales::after { position:absolute; right:-42px; bottom:-64px; width:150px; aspect-ratio:1; border:1px solid rgba(199,160,100,.11); border-radius:50%; box-shadow:0 0 0 25px rgba(199,160,100,.025),0 0 0 50px rgba(199,160,100,.018); content:""; pointer-events:none; }
.idc .idc-project-sales > .idc-section-number { margin: 0 0 13px; }
.idc .idc-project-sales h4 { max-width: 390px; margin: 0; color: #f3f5f9; font-size: 1rem; letter-spacing: .015em; line-height: 1.3; text-transform: uppercase; }
.idc .idc-project-sales > p:not(.idc-section-number) { max-width: 430px; margin: 11px 0 20px; color: #a8b2c5; font-size: .72rem; line-height: 1.72; }
.idc .idc-project-sales button { position:relative; z-index:1; display: inline-flex; align-items: center; gap: 13px; min-height:38px; padding:0 15px; border:1px solid rgba(231,208,160,.42); background:rgba(199,160,100,.06); color: var(--idc-gold-hi); cursor: pointer; font: 700 max(var(--type-micro),.59rem) var(--mono); letter-spacing: .07em; text-transform: uppercase; transition:border-color .2s ease,background .2s ease,box-shadow .2s ease; }
.idc .idc-project-sales button span { transition: transform .22s ease; }
.idc .idc-project-sales button:hover { border-color:rgba(238,211,158,.88); background:rgba(199,160,100,.12); box-shadow:0 0 24px rgba(199,160,100,.12); }
.idc .idc-project-sales button:hover span { transform: translate(3px,-3px); }
.idc-privacy { align-self: center; margin-top: 16px; color: #68748e; font: max(var(--type-micro),.56rem) var(--mono); letter-spacing: .08em; text-transform: uppercase; }

.idc-model-rail { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(220px,.65fr) minmax(0,2.35fr); align-items: stretch; border-top: 1px solid var(--idc-line); background: #060c1c; }
.idc-model-rail > div:first-child { display: flex; justify-content: center; padding: 32px clamp(24px,3vw,50px); flex-direction: column; border-right: 1px solid var(--idc-line); }
.idc-model-rail > div:first-child p { margin: 0; font-size: 1.1rem; font-weight: 650; text-transform: uppercase; }
.idc-model-rail > div:first-child small { margin-top: 7px; color: var(--idc-muted); font: max(var(--type-micro),.58rem) var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.idc-model-strip { display: grid; min-width: 0; grid-template-columns: minmax(0,1fr) clamp(155px,10vw,195px); }
.idc-model-list { display: grid; min-width: 0; grid-template-columns: repeat(5,minmax(0,1fr)); }
/* The scrolling rail clips an outside outline, so keyboard focus is drawn inside the card. */
/* LM-IC-10, IC2-04: one inset gold ring on every configurator choice, so a scrolling grid cannot
   clip it and a neighbouring card cannot paint over it. */
.idc-model-list > button:focus-visible,.idc-model-panel-card:focus-visible,.idc-decor-panel-card:focus-visible,.idc-hardware-panel-card:focus-visible,.idc-decor-grid button:focus-visible,.idc-hardware-grid button:focus-visible,.idc-swatch-grid button:focus-visible { outline: 2px solid var(--idc-gold-hi); outline-offset: -3px; }
.idc-model-rail button { position: relative; display: grid; min-width: 0; min-height: 210px; grid-template-rows: 1fr auto; padding: 15px 16px 18px; border: 0; border-right: 1px solid var(--idc-line); background: #081027; color: #a9b3c8; cursor: pointer; text-align: left; transition: background .25s ease,color .25s ease; }
.idc-model-rail button:last-child { border-right: 0; }
.idc-model-rail button:hover,.idc-model-rail button.is-active { background: linear-gradient(180deg,#12203e,#0a1430); color: var(--idc-gold-hi); }
.idc-model-rail button.is-active::before { position: absolute; top: 0; right: 0; left: 0; height: 2px; background: var(--idc-gold); content: ""; box-shadow: 0 0 24px rgba(199,160,100,.6); }
.idc-model-rail button > span { position: relative; min-height: 145px; overflow: hidden; }
.idc-model-rail button img { object-fit: contain; transition: transform .3s ease; }
.idc-model-rail button img.idc-model-preview-base { z-index:1; }
.idc-model-rail button img.idc-model-preview-glass { z-index:2; filter:none; }
.idc-model-rail button:hover img,.idc-model-rail button.is-active img { transform: scale(1.05); }
.idc-model-rail button > i { position: absolute; top: 16px; left: 17px; z-index: 2; color: var(--idc-gold); font: max(var(--type-micro),.62rem) var(--mono); font-style: normal; }
.idc-model-rail button > b { font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.idc-model-system-badge { position: absolute; z-index: 4; top: 12px; right: 12px; display: inline-flex; min-height: 22px; align-items: center; padding: 0 8px; border: 1px solid rgba(214,182,121,.28); background: rgba(5,12,29,.76); color: #e7d3aa; font: 600 max(var(--type-micro),.43rem) var(--mono); letter-spacing: .1em; text-transform: uppercase; backdrop-filter: blur(9px); box-shadow: 0 8px 22px rgba(0,0,0,.15); }
.idc-model-system-badge.is-sincro-dekori { border-color: rgba(214,182,121,.52); background: linear-gradient(120deg,rgba(74,48,27,.88),rgba(19,28,44,.84)); color: #f0d8aa; }
.idc-model-system-badge.is-mdf-staklo { border-color:rgba(165,211,233,.58); background:linear-gradient(120deg,rgba(38,77,101,.88),rgba(12,27,49,.86)); color:#dff6ff; }
.idc-model-placeholder { position: absolute; top: 50%; left: 50%; display: block; width: 48px; height: 84px; border: 1px solid rgba(199,160,100,.7); background: linear-gradient(145deg,rgba(199,160,100,.16),rgba(255,255,255,.015)); box-shadow: 10px 9px 0 -6px rgba(199,160,100,.1),0 0 28px rgba(199,160,100,.12); transform: translate(-50%,-50%) perspective(100px) rotateY(-7deg); }
.idc-model-rail .idc-model-expand { position: relative; z-index: 3; place-items: center; grid-template-rows: 1fr auto auto; overflow: hidden; border-left: 1px solid rgba(199,160,100,.35); border-right: 0; background: radial-gradient(circle at 50% 40%,rgba(199,160,100,.15),transparent 34%),linear-gradient(145deg,#101b35,#070e20); text-align: center; box-shadow: -16px 0 38px rgba(1,5,15,.2); isolation: isolate; }
.idc-model-rail .idc-model-expand::before { position: absolute; z-index: -1; inset: 8%; border: 1px solid rgba(199,160,100,.2); border-radius: 48% 52% 50% 50%; content: ""; box-shadow: 0 0 0 12px rgba(199,160,100,.025),0 0 36px rgba(199,160,100,.14),inset 0 0 30px rgba(199,160,100,.04); transition: border-color .3s ease,box-shadow .3s ease,transform .45s ease; }
.idc-model-rail .idc-model-expand::after { position: absolute; z-index: -1; top: -80%; left: -30%; width: 28%; height: 260%; background: linear-gradient(90deg,transparent,rgba(255,245,218,.18),transparent); content: ""; transform: skewX(-18deg); transition: left .75s ease; pointer-events: none; }
.idc-model-rail .idc-model-expand:hover::before { border-color: rgba(231,208,160,.52); box-shadow: 0 0 0 12px rgba(199,160,100,.04),0 0 48px rgba(199,160,100,.26),inset 0 0 34px rgba(199,160,100,.07); transform: scale(.97); }
.idc-model-rail .idc-model-expand:hover::after { left: 125%; }
.idc-model-rail .idc-model-expand > span { display: grid; min-height: 145px; place-content: center; overflow: visible; }
.idc-model-rail .idc-model-expand > span strong { color: #f0d8a7; font: 300 clamp(2.2rem,3vw,3.5rem)/1 var(--font-display),system-ui,sans-serif; text-shadow: 0 0 18px rgba(199,160,100,.62),0 0 40px rgba(199,160,100,.2); }
.idc-model-rail .idc-model-expand > span small { margin-top: 8px; color: var(--idc-muted); font: max(var(--type-micro),.55rem) var(--mono); letter-spacing: .14em; }
.idc-model-rail .idc-model-expand > em { margin-top: 6px; color: var(--idc-muted); font: max(var(--type-micro),.48rem) var(--mono); font-style: normal; letter-spacing: .08em; text-transform: uppercase; }

.idc-model-overlay { position: fixed; z-index: 10020; inset: 0; display: grid; place-items: center; padding: clamp(18px,3vw,48px); background: rgba(1,5,15,.82); backdrop-filter: blur(18px) saturate(.78); animation: idc-model-overlay-in .28s ease both; }
.idc-model-panel { position: relative; display: grid; width: min(1480px,100%); max-height: calc(100dvh - clamp(36px,6vw,96px)); grid-template-rows: auto minmax(0,1fr); overflow: hidden; border: 1px solid rgba(211,178,117,.42); background: linear-gradient(145deg,rgba(17,29,55,.985),rgba(4,10,25,.99)); box-shadow: 0 42px 120px rgba(0,0,0,.58),0 0 0 1px rgba(255,255,255,.025),inset 0 1px rgba(255,244,217,.09); }
.idc-model-panel::before { position: absolute; z-index: 0; top: -46%; left: 12%; width: 62%; aspect-ratio: 1; border: 1px solid rgba(211,178,117,.13); border-radius: 50%; background: radial-gradient(circle,rgba(199,160,100,.12),transparent 63%); content: ""; pointer-events: none; }
.idc-model-panel > header { position: relative; z-index: 1; display: flex; min-height: 126px; align-items: center; justify-content: space-between; gap: 28px; padding: 25px clamp(24px,4vw,60px); border-bottom: 1px solid rgba(211,178,117,.26); background: linear-gradient(90deg,rgba(255,255,255,.035),transparent 58%); }
.idc-model-panel > header p { margin: 0 0 8px; color: var(--idc-gold); font: max(var(--type-micro),.58rem) var(--mono); letter-spacing: .14em; text-transform: uppercase; }
.idc-model-panel > header h3 { margin: 0; color: #f5f1e8; font: 430 clamp(1.8rem,3vw,3.25rem)/1 var(--font-display),system-ui,sans-serif; letter-spacing: .035em; text-transform: uppercase; }
.idc-model-panel > header div > span { display: block; margin-top: 9px; color: var(--idc-muted); font: max(var(--type-micro),.58rem) var(--mono); letter-spacing: .11em; text-transform: uppercase; }
.idc-model-panel-close { display: inline-flex; min-height: 52px; align-items: center; gap: 13px; padding: 0 20px; border: 1px solid rgba(211,178,117,.44); background: rgba(5,12,29,.7); color: #e3d6bb; cursor: pointer; font: 650 max(var(--type-micro),.58rem) var(--mono); letter-spacing: .12em; text-transform: uppercase; transition: border-color .25s ease,background .25s ease,color .25s ease; }
.idc-model-panel-close i { position: relative; display: block; width: 19px; height: 19px; transform: rotate(45deg); }
.idc-model-panel-close i::before,.idc-model-panel-close i::after { position: absolute; top: 50%; left: 50%; background: currentColor; content: ""; transform: translate(-50%,-50%); }
.idc-model-panel-close i::before { width: 18px; height: 1px; }
.idc-model-panel-close i::after { width: 1px; height: 18px; }
.idc-model-panel-close:hover { border-color: var(--idc-gold-hi); background: rgba(199,160,100,.12); color: #fff5df; }
.idc-model-panel-grid { position: relative; z-index: 1; display: grid; min-height: 0; grid-template-columns: repeat(4,minmax(0,1fr)); grid-auto-rows: minmax(max-content,auto); gap: 1px; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; background: rgba(211,178,117,.16); scrollbar-color: var(--idc-gold) rgba(4,10,25,.6); }
.idc-model-panel-card { position: relative; display: grid; min-width: 0; min-height: clamp(250px,31vh,390px); grid-template-rows: minmax(160px,auto) auto auto auto auto; align-content: start; padding: 40px clamp(18px,2vw,30px) 25px; border: 0; background: linear-gradient(160deg,#0d1933,#071027); color: #aab5ca; cursor: pointer; text-align: left; isolation: isolate; transition: background .28s ease,color .28s ease; }
.idc-model-panel-card::before { position: absolute; z-index: -1; inset: 0; background: radial-gradient(circle at 50% 42%,rgba(199,160,100,.14),transparent 33%); content: ""; opacity: 0; transition: opacity .3s ease; }
.idc-model-panel-card::after { position: absolute; top: 0; right: 0; left: 0; height: 2px; background: linear-gradient(90deg,transparent,var(--idc-gold),transparent); content: ""; opacity: 0; box-shadow: 0 0 26px rgba(199,160,100,.62); }
.idc-model-panel-card:hover,.idc-model-panel-card.is-active { background: linear-gradient(160deg,#152543,#09142e); color: #f2e5c8; }
.idc-model-panel-card:hover::before,.idc-model-panel-card.is-active::before,.idc-model-panel-card.is-active::after { opacity: 1; }
.idc-model-panel-card > span { position: relative; min-height: 170px; }
.idc-model-panel-card > span img { object-fit: contain; filter: drop-shadow(0 24px 25px rgba(0,0,0,.28)); transition: transform .38s cubic-bezier(.2,.7,.2,1),filter .3s ease; }
.idc-model-panel-card > span img.idc-model-preview-base { z-index:1; }
.idc-model-panel-card > span img.idc-model-preview-glass { z-index:2; filter:none; }
.idc-model-panel-card:hover > span img { filter: drop-shadow(0 28px 28px rgba(0,0,0,.38)); transform: translateY(-5px) scale(1.035); }
.idc-model-panel-card > i { margin-top: 12px; color: var(--idc-gold); font: max(var(--type-micro),.58rem) var(--mono); font-style: normal; letter-spacing: .12em; }
.idc-model-panel-card > b { margin-top: 7px; color: #f2f4f8; font-size: .85rem; letter-spacing: .09em; text-transform: uppercase; }
.idc-model-panel-card > .idc-model-preview-finish { margin-top: 7px; color: var(--idc-gold-hi); font: max(var(--type-micro),.5rem) var(--mono); letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.idc-model-panel-card > em { display: -webkit-box; overflow: hidden; min-height: 2.9em; margin-top: 8px; color: var(--idc-muted); font-size: max(var(--type-micro), .67rem); font-style: normal; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.idc-decor-panel-grid { position: relative; z-index: 1; display: grid; min-height: 0; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 1px; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; background: rgba(211,178,117,.16); scrollbar-color: var(--idc-gold) rgba(4,10,25,.6); }
.idc-decor-panel-card { position: relative; display: grid; min-width: 0; min-height: clamp(210px,28vh,330px); grid-template-rows: minmax(145px,1fr) auto auto; padding: 18px 20px 21px; border: 0; background: linear-gradient(160deg,#0d1933,#071027); color: #aab5ca; cursor: pointer; text-align: left; isolation: isolate; transition: background .28s ease,color .28s ease; }
.idc-decor-panel-card::after { position: absolute; top: 0; right: 0; left: 0; height: 2px; background: linear-gradient(90deg,transparent,var(--idc-gold),transparent); content: ""; opacity: 0; box-shadow: 0 0 26px rgba(199,160,100,.62); }
.idc-decor-panel-card:hover,.idc-decor-panel-card.is-active { background: radial-gradient(circle at 50% 43%,rgba(199,160,100,.13),transparent 35%),linear-gradient(160deg,#152543,#09142e); color: #f2e5c8; }
.idc-decor-panel-card:hover::after,.idc-decor-panel-card.is-active::after { opacity: 1; }
.idc-decor-panel-card > span { position: relative; min-height: 145px; }
.idc-decor-panel-card img { object-fit: contain; filter: drop-shadow(0 20px 20px rgba(0,0,0,.3)); transition: transform .35s cubic-bezier(.2,.7,.2,1); }
.idc-decor-panel-card:hover img { transform: translateY(-4px) scale(1.035); }
.idc-decor-panel-card > i { margin-top: 11px; color: var(--idc-gold); font: max(var(--type-micro),.55rem) var(--mono); font-style: normal; letter-spacing: .1em; }
.idc-decor-panel-card > b { margin-top: 6px; overflow: hidden; color: #f2f4f8; font-size: .74rem; letter-spacing: .06em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.idc-hardware-panel-grid { position:relative; z-index:1; display:grid; min-height:0; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1px; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; background:rgba(211,178,117,.16); scrollbar-color:var(--idc-gold) rgba(4,10,25,.6); }
.idc-hardware-panel-card { position:relative; display:grid; min-width:0; min-height:clamp(220px,29vh,350px); grid-template-rows:minmax(150px,1fr) auto auto; padding:18px 20px 22px; border:0; background:linear-gradient(160deg,#0d1933,#071027); color:#aab5ca; cursor:pointer; text-align:left; isolation:isolate; transition:background .28s ease,color .28s ease; }
.idc-hardware-panel-card::after { position:absolute; top:0; right:0; left:0; height:2px; background:linear-gradient(90deg,transparent,var(--idc-gold),transparent); content:""; opacity:0; box-shadow:0 0 26px rgba(199,160,100,.62); }
.idc-hardware-panel-card:hover,.idc-hardware-panel-card.is-active { background:radial-gradient(circle at 50% 43%,rgba(199,160,100,.13),transparent 36%),linear-gradient(160deg,#152543,#09142e); color:#f2e5c8; }
.idc-hardware-panel-card:hover::after,.idc-hardware-panel-card.is-active::after { opacity:1; }
.idc-hardware-panel-card > .idc-hardware-thumb { min-height:150px; aspect-ratio:auto; }
.idc-hardware-panel-card > .idc-hardware-thumb::before { inset:10%; }
.idc-hardware-panel-card > .idc-hardware-thumb::after { inset:13%; }
.idc-hardware-panel-card:hover img { transform:translateY(-4px) scale(1.035); }
.idc-hardware-panel-card > i { margin-top:11px; color:var(--idc-gold); font:max(var(--type-micro),.55rem) var(--mono); font-style:normal; letter-spacing:.1em; }
.idc-hardware-panel-card > b { display:-webkit-box; overflow:hidden; margin-top:6px; color:#f2f4f8; font-size:.72rem; line-height:1.35; letter-spacing:.04em; text-transform:uppercase; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
@keyframes idc-model-overlay-in { from { opacity: 0; } to { opacity: 1; } }

@media (max-width:1050px) {
  .idc-model-panel-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .idc-decor-panel-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .idc-hardware-panel-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:720px) {
  .idc-model-overlay { padding:10px; }
  .idc-model-panel { max-height:calc(100dvh - 20px); }
  .idc-model-panel > header { min-height:104px; padding:18px; }
  .idc-model-panel > header h3 { font-size:1.55rem; }
  .idc-model-panel > header div > span,.idc-model-panel-close span { display:none; }
  .idc-model-panel-close { min-width:48px; padding:0 14px; }
  .idc-model-panel-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .idc-decor-panel-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .idc-hardware-panel-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  /* IC2-07: the collection badge sits above the door picture, as on desktop. */
  .idc-model-panel-card { min-height:245px; padding:40px 12px 18px; }
  .idc-decor-panel-card { min-height:215px; padding:14px 11px 16px; }
  .idc-hardware-panel-card { min-height:215px; padding:14px 11px 16px; }
  .idc-model-panel-card > span { min-height:150px; }
}

/* Desktop Studio: cijeli konfigurator ostaje u jednom jasnom kadru na FHD/2K, bez skaliranja i gubitka oštrine. */
@media (min-width:1281px) and (min-height:800px) {
  .lumora-interior-config-section { padding-block:18px; }
  .idc-header { align-items:center; padding:28px clamp(34px,3.5vw,58px) 24px; }
  .idc-header :is(h1,h2) { font-size:clamp(3.05rem,3.8vw,4.7rem); line-height:.9; }
  .idc-header > div > p:last-child { margin-top:15px; font-size:.9rem; line-height:1.52; }
  .idc-header dl { min-width:330px; }
  .idc-header dl div { padding:13px 15px; }
  .idc-header dd { margin-top:5px; font-size:max(var(--type-micro), .58rem); }
  .idc-workspace { min-height:580px; }
  .idc-controls { align-content:center; gap:18px; padding:22px clamp(20px,2vw,34px); }
  .idc-controls section + section { padding-top:18px; }
  .idc-eyebrow,.idc-section-number { margin-bottom:10px; font-size:max(var(--type-micro), .59rem); }
  .idc-controls h3 { margin-bottom:5px; font-size:1.05rem; }
  .idc-help { margin-bottom:10px; font-size:max(var(--type-micro), .68rem); line-height:1.45; }
  .idc-swatch-grid { gap:4px; }
  .idc-swatch-grid button { gap:3px; padding:3px; }
  .idc-swatch-grid span { font-size:max(var(--type-micro), .49rem); }
  .idc-hardware-grid { gap:5px; }
  .idc-stage { min-height:580px; }
  .idc-stage-label { top:19px; left:22px; }
  .idc-door-canvas { width:min(91%,560px); }
  .idc-loupe { width:164px; }
  .idc-loupe > div { width:140px; }
  .idc-loupe > span { margin-top:10px; font-size:max(var(--type-micro), .49rem); }
  .idc-specification { padding:26px clamp(22px,2.4vw,42px); }
  .idc-specification header { padding-bottom:17px; }
  .idc-specification header > p { margin-bottom:9px; }
  .idc-specification h3 { margin-bottom:8px; font-size:clamp(2rem,2.45vw,2.8rem); }
  .idc-specification header small { font-size:.73rem; line-height:1.48; }
  .idc-specification > .idc-section-number { margin-top:18px; }
  .idc-specification dl > div { gap:12px; padding:8px 0; }
  .idc-specification dt { font-size:max(var(--type-micro), .68rem); line-height:1.4; }
  .idc-specification dd { color:#aab6cd; font-size:.78rem; line-height:1.45; }
  .idc-technical-note { margin:14px 0; font-size:max(var(--type-micro), .63rem); line-height:1.5; }
  .idc-primary-action,.idc-secondary-action { min-height:47px; }
  .idc-privacy { margin-top:10px; }
  .idc-model-rail > div:first-child { padding:26px 34px; }
  .idc-model-rail > div:first-child p { font-size:1.2rem; }
  .idc-model-rail > div:first-child small { margin-top:9px; font-size:max(var(--type-micro), .62rem); }
  .idc-model-rail button { min-height:clamp(190px,18vh,230px); padding:14px 15px 17px; }
  .idc-model-rail button > span { min-height:clamp(132px,12.5vh,164px); }
  .idc-model-rail button > b { font-size:.78rem; }
  .idc-model-rail .idc-model-expand > span { min-height:clamp(132px,12.5vh,164px); }
  .idc-model-rail button > i { top:14px; left:15px; }
}

@media (max-width: 1280px) {
  .idc-workspace { grid-template-columns: minmax(270px,.78fr) minmax(430px,1.22fr); }
  .idc-specification { display: grid; grid-column: 1 / -1; grid-template-columns: minmax(250px,.75fr) minmax(360px,1.25fr); gap: 0 50px; border-top: 1px solid var(--idc-line); border-left: 0; }
  .idc-specification header { grid-row: 1 / span 3; padding-right: 42px; border-right: 1px solid var(--idc-line); border-bottom: 0; }
  .idc-specification > .idc-section-number,.idc-specification dl,.idc-specification .idc-technical-note,.idc-specification button,.idc-specification .idc-privacy { grid-column: 2; }
  .idc-specification > .idc-section-number { margin-top: 0; }
  .idc-loupe { left: 70%; width: 160px; }
  .idc-loupe > div { width: 138px; }
}

@media (max-width: 900px) {
  .idc-header { grid-template-columns: 1fr; }
  .idc-header dl { min-width: 0; }
  .idc-collection-switch { grid-template-columns:1fr; }
  .idc-collection-switch button { border-right:0; border-bottom:1px solid var(--idc-line); }
  .idc-collection-switch button:last-child { border-bottom:0; }
  .idc-workspace { display:flex; flex-direction:column; }
  .idc-stage { min-height: min(125vw,720px); order: 1; border-bottom: 1px solid var(--idc-line); }
  /* IC2-01: room above the door for the wrapped selection label (it ended on the door frame).
     The detail circle is placed within the door canvas, so it already moves down with the door. */
  .idc-stage { --idc-label-room: 56px; padding-top: var(--idc-label-room); }
  .idc-controls { order: 2; border-right: 0; }
  .idc-decor-picker { display: block; }
  .idc-specification { display:flex; order:3; border-top:1px solid var(--idc-line); }
  /* BS/SL/DE master mobile order: stage, controls, models, then specification. */
  html:is([lang="bs"],[data-shell="master"]) .idc { display:flex; flex-direction:column; }
  html:is([lang="bs"],[data-shell="master"]) .idc-workspace { display:contents; }
  html:is([lang="bs"],[data-shell="master"]) .idc-stage { order:1; }
  html:is([lang="bs"],[data-shell="master"]) .idc-controls { order:2; }
  html:is([lang="bs"],[data-shell="master"]) .idc-model-rail { order:3; }
  html:is([lang="bs"],[data-shell="master"]) .idc-specification { order:4; }
  html:is([lang="bs"],[data-shell="master"]) .idc :is(.idc-stage,.idc-controls,.idc-model-rail,.idc-specification) {
    content-visibility:auto;
  }
  html:is([lang="bs"],[data-shell="master"]) .idc-stage { contain-intrinsic-size:auto 520px; }
  html:is([lang="bs"],[data-shell="master"]) .idc-controls { contain-intrinsic-size:auto 872px; }
  html:is([lang="bs"],[data-shell="master"]) .idc-model-rail { contain-intrinsic-size:auto 308px; }
  html:is([lang="bs"],[data-shell="master"]) .idc-specification { contain-intrinsic-size:auto 1212px; }
  .idc-specification header { padding-right: 0; border-right: 0; border-bottom: 1px solid var(--idc-line); }
  .idc-specification > .idc-section-number { margin-top: 34px; }
  .idc-model-rail { grid-template-columns: 1fr; }
  .idc-model-rail > div:first-child { border-right: 0; border-bottom: 1px solid var(--idc-line); }
  .idc-model-strip { grid-template-columns:minmax(0,1fr) 170px; }
  .idc-model-list { display:flex; overflow-x:auto; scrollbar-width:none; scroll-snap-type:x mandatory; }
  .idc-model-list::-webkit-scrollbar { display:none; }
  .idc-model-list > button { min-width:220px; scroll-snap-align:start; }
}

@media (max-width: 600px) {
  .idc-header { padding: 44px 20px 32px; }
  .idc-header :is(h1,h2) { font-size: clamp(2.42rem,13vw,3.45rem); letter-spacing: var(--lumora-heading-tracking,-.012em); }
  .idc-header dl { grid-template-columns: 1fr; }
  .idc-header dl div { display: flex; min-width: 0; align-items: center; justify-content: space-between; padding: 13px 15px; border-right: 0; border-bottom: 1px solid var(--idc-line); }
  .idc-header dl div:last-child { border-bottom: 0; }
  .idc-header dd { margin-top: 0; }
  .idc-stage { --idc-label-room: 72px; min-height: 520px; }
  .idc-stage-label { top: 18px; left: 18px; max-width: calc(100% - 36px); }
  .idc-stage-label strong { max-width: 72vw; }
  .idc-door-canvas { width: 112%; }
  /* The canvas is wider than its stage; keep the detail circle inside the stage. */
  .idc-loupe { top: 50.5%; left: min(66%, calc(94% - 130px)); width: 122px; }
  .idc-loupe > div { width: 104px; }
  .idc-loupe > span { font-size: max(var(--type-micro), .45rem); }
  .idc-controls,.idc-specification { padding: 40px 20px; }
  .idc-swatch-grid { grid-template-columns: repeat(6,1fr); }
  .idc-decor-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .idc-swatch-grid button { padding: 3px; }
  .idc-swatch-grid span { font-size: max(var(--type-micro), .48rem); }
  .idc-hardware-grid { gap: 6px; }
  .idc-specification dl > div { grid-template-columns: 1fr; gap: 5px; }
  .idc-specification dd { padding-left: 27px; text-align: left; }
  .idc-model-rail > div:first-child { padding: 24px 20px; }
  .idc-model-strip { grid-template-columns:minmax(0,1fr) 132px; }
  .idc-model-list > button { min-width:48vw; }
  .idc-model-rail .idc-model-expand { min-width:132px; padding-inline:8px; }
  .idc-model-rail .idc-model-expand > em { font-size:max(var(--type-micro), .4rem); }
}

@media (prefers-reduced-motion: reduce) {
  .idc button,.idc img { transition: none !important; }
  .lumora-interior-page--configurator-first .idc-primary-action > span { transition:none; }
  .lumora-interior-page--configurator-first .idc-primary-action:is(:hover,:focus-visible) > span { transform:none; }
}

/* Unutrašnja vrata: kompaktan, arhitektonski projektni poziv umjesto praznog svijetlog polja. */
.lumora-interior-page > .cta-section { position:relative; overflow:hidden; padding-block:clamp(42px,4vw,64px); isolation:isolate; }
.lumora-interior-page > .cta-section::before { position:absolute; z-index:-1; top:-75%; right:-8%; width:48%; aspect-ratio:1; border:1px solid rgba(199,160,100,.1); border-radius:50%; box-shadow:0 0 0 78px rgba(199,160,100,.025),0 0 0 156px rgba(199,160,100,.018); content:""; }
.lumora-interior-page > .cta-section .cta-inner { position:relative; overflow:hidden; min-height:230px; padding:clamp(34px,4vw,58px); box-shadow:0 35px 85px -58px rgba(0,0,0,.9),inset 0 1px rgba(255,255,255,.035); isolation:isolate; }
.lumora-interior-page > .cta-section .cta-inner::before { position:absolute; z-index:-1; top:0; bottom:0; left:0; width:3px; background:linear-gradient(#e7d0a0,#8b6636); box-shadow:0 0 22px rgba(199,160,100,.45); content:""; }
.lumora-interior-page > .cta-section .cta-inner::after { position:absolute; z-index:-1; top:-120%; right:-8%; width:46%; aspect-ratio:1; border:1px solid rgba(199,160,100,.12); border-radius:50%; box-shadow:0 0 0 54px rgba(199,160,100,.025),0 0 0 108px rgba(199,160,100,.018); content:""; }
.lumora-interior-page > .cta-section .cta-inner h2 { max-width:780px; font-size:clamp(2.15rem,3.55vw,4.35rem); line-height:1.02; letter-spacing:var(--lumora-heading-tracking,-.012em); }
.lumora-interior-page > .cta-section .button-primary { position:relative; min-width:220px; overflow:hidden; box-shadow:0 18px 40px -24px rgba(199,160,100,.9); }
.lumora-interior-page > .cta-section .button-primary::after { position:absolute; top:-70%; bottom:-70%; left:-40%; width:24%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.62),transparent); content:""; transform:skewX(-20deg); transition:left .7s ease; }
.lumora-interior-page > .cta-section .button-primary:hover::after { left:118%; }
html[data-theme="day"] .lumora-interior-page > .cta-section .cta-inner { border-color:rgba(112,83,46,.25); background:linear-gradient(118deg,rgba(255,253,248,.98),rgba(237,227,212,.92)); box-shadow:0 35px 85px -58px rgba(72,51,26,.48),inset 0 1px #fff; }
html[data-theme="day"] .lumora-interior-page > .cta-section .cta-inner::after { border-color:rgba(112,83,46,.12); }
@media (max-width:760px) {
  .lumora-interior-page > .cta-section .cta-inner { min-height:0; align-items:flex-start; padding:30px 24px; flex-direction:column; }
  .lumora-interior-page > .cta-section .button-primary { width:100%; }
}

/* BS vodi direktno u konfigurator, uz očuvan, server-renderovan naslov stranice. */
.lumora-interior-page--configurator-first .lumora-interior-config-section { padding-top:clamp(26px,3vw,52px); }
.lumora-configurator-first-heading {
  width:min(100% - 40px,1760px);
  margin:0 auto clamp(22px,2.8vw,42px);
  padding:clamp(22px,2.5vw,38px) clamp(20px,3vw,48px);
  border:1px solid rgba(199,160,100,.24);
  background:linear-gradient(120deg,rgba(16,29,57,.96),rgba(7,15,34,.98));
  box-shadow:0 28px 70px -52px rgba(0,0,0,.9),inset 0 1px rgba(255,255,255,.035);
}
.lumora-configurator-first-heading .breadcrumb { margin-bottom:clamp(22px,2vw,32px); }
html[data-theme="night"] .lumora-configurator-first-heading .breadcrumb { color:#8f9bb4; }
.lumora-configurator-first-heading h1 {
  max-width:18ch;
  margin:10px 0 0;
  color:#f4f7fc;
  font-size:clamp(2.5rem,5.2vw,6.1rem);
  font-weight:var(--lumora-heading-weight,300);
  line-height:.96;
  letter-spacing:var(--lumora-heading-tracking,-.012em);
  text-wrap:balance;
}
html[data-theme="day"] .lumora-configurator-first-heading {
  border-color:rgba(126,91,43,.25);
  background:radial-gradient(circle at 92% 0,rgba(199,160,100,.16),transparent 36%),linear-gradient(120deg,#fffdf8,#eee4d5);
  box-shadow:0 28px 70px -52px rgba(75,52,26,.48),inset 0 1px #fff;
}
html[data-theme="day"] .lumora-configurator-first-heading h1 { color:#171b24; }
@media (max-width:760px) {
  .lumora-configurator-first-heading { width:calc(100% - 24px); margin-bottom:18px; padding:22px 18px; }
  .lumora-configurator-first-heading h1 { font-size:clamp(2.2rem,12vw,3.5rem); }
}

/* Approved LUMORA probes 146. */
/* i18n:bs-length-lock */ html[lang="bs"] body .lumora-bs-scope main .idc .idc-swatch-grid button > span {
  font-size: 11px;
  line-height: 1.35;
  letter-spacing: 0;
  overflow: visible;
  text-overflow: clip;
}
html:is([lang="bs"],[data-shell="master"]) body .lumora-bs-scope main .idc .idc-hardware-grid button > i,
html:is([lang="bs"],[data-shell="master"]) body .lumora-bs-scope main .idc .idc-collection-switch button small {
  font-size: 11px;
  line-height: 1.35;
}
@media (max-width:360px) {
  html:is([lang="bs"],[data-shell="master"]) body .lumora-bs-scope main .idc .idc-swatch-grid { grid-template-columns: repeat(5,minmax(0,1fr)); }
}
/* K5 hr/sr (Oct 2026, H7), translated pages only: the BS length lock above stays BS-only (W6 F3),
   so on hr and sr pages the same word "OSTALO" was clipped to "OSTAL…" (1440, 1024 and 390 px):
   the label is 41 px wide, 3 px more than the tile's text box, which BS lets run into the tile's
   own padding. The "other colour" tile alone gets the BS label rules back (no tracking, visible,
   no ellipsis), so the same word looks as it does in BS; the colour tiles keep the foreign rules. */
html:not(:lang(bs)) body .lumora-bs-scope main .idc .idc-swatch-grid .idc-other-color > span { letter-spacing: 0; overflow: visible; text-overflow: clip; }

/* Keep the hardware index readable over both light and dark photography. */
html:is([lang="bs"],[data-shell="master"]) .idc .idc-hardware-grid button > i { padding:2px 3px; background:#101b36; color:#e7d0a0; }
html:is([lang="bs"],[data-shell="master"])[data-theme="day"] .idc .idc-hardware-grid button > i { background:#f9f5ed; color:#68491f; }

/* Room for longer translated labels (length probe, fixes 4 and 6), translated pages only: a word
   wider than its tile or card breaks inside it instead of spilling out, so the "+ N" decor tile
   and the panel cards grow with the label. Scoped away from BS (html lang="bs"): 'PRIKAŽITE' and
   'LJUBLIANA' are a fraction of a pixel wider than the 58 px decor tile text box and show whole
   (or as 'LJUBLIA…') today, so 'anywhere' would split them. :where() keeps the specificity. */
:where(:root:not(:lang(bs))) .idc-decor-grid .idc-decor-expand > b,
:where(:root:not(:lang(bs))) .idc-decor-grid button:not(.idc-decor-expand) > b,
:where(:root:not(:lang(bs))) .idc-model-panel-card > :is(i, b, em, small, .idc-model-preview-finish),
:where(:root:not(:lang(bs))) .idc-decor-panel-card > :is(i, b),
:where(:root:not(:lang(bs))) .idc-hardware-panel-card > :is(i, b) { overflow-wrap: anywhere; }

/* K5 sv, length-guarded locales only (never BS): the glass choice "ORNAMENTGLAS (FROSTAT)" ran 2.8 px past its card at
   1024 px. A smaller swatch and gap give the label the room; the word stays whole (10.9 px inside the card after). */
:where(html:not(:lang(bs))[data-length-guard]) .idc-glass-grid button { grid-template-columns: 34px 1fr; gap: 9px; }
:where(html:not(:lang(bs))[data-length-guard]) .idc-glass-grid i { width: 34px; }
:where(html:not(:lang(bs))[data-length-guard]) .idc-glass-grid span { letter-spacing: .02em; }
