.kae-configurator-layout { margin-top:28px; padding-top:24px; border-top:1px solid var(--line,#ddd6ca); }
.kae-color-preview,.kae-preview-controls { min-width:0; }
.kae-purchase .kae-color-preview { scroll-margin-top:110px; }
.kae-purchase .kae-color-preview h4 { margin:0 0 5px; font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(24px,2.3vw,30px); font-weight:400; line-height:1.15; }
.kae-purchase .kae-color-preview p { font-size:13px; line-height:1.6; }
.kae-color-preview .kae-preview-intro { margin:0 0 10px; color:#605b52; }
.kae-purchase .kae-preview-room { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:10px; margin:0 0 8px; padding:5px 8px; border:1px solid #a78553; background:#f1ece3; font-size:12px; font-weight:600; }
.kae-purchase .kae-preview-room select { display:block; width:100%; min-height:40px; margin:0; padding:6px 8px; border-color:#a78553; background:#faf7f1; font-size:16px; font-weight:500; cursor:pointer; }
.kae-purchase .kae-preview-room select:focus-visible { outline:2px solid #8c683a; outline-offset:3px; }
.kae-color-preview figure { margin:0; align-self:start; position:relative; z-index:3; background:#faf7f1; }
.kae-preview-workspace { display:grid; gap:14px; align-items:start; }
.kae-preview-toolbar { display:flex; align-items:start; gap:12px; margin-bottom:12px; flex-wrap:wrap; }
.kae-purchase .kae-preview-toolbar .kae-preview-room { flex:1 1 300px; margin:0; }
.kae-area-calculator { position:relative; flex:0 1 235px; z-index:5; color:#30291f; }
.kae-area-calculator summary { cursor:pointer; padding:13px 12px; min-height:52px; border:1px solid #a78553; font-size:12px; font-weight:600; }
.kae-area-calculator summary:focus-visible,.kae-application-consultation a:focus-visible { outline:2px solid #8c683a; outline-offset:3px; }
.kae-area-fields { position:absolute; top:100%; right:0; width:280px; max-width:calc(100vw - 60px); padding:16px; background:#faf7f1; border:1px solid #c9c1b5; box-shadow:0 8px 24px #30291f18; }
.kae-purchase .kae-area-fields label { display:block; font-size:12px; }
.kae-purchase .kae-area-fields input { display:block; width:100%; margin:8px 0; min-height:44px; font-size:16px; }
.kae-area-fields output,.kae-area-fields small { display:block; font-size:12px; line-height:1.5; }
.kae-area-fields small { margin-top:8px; color:#696157; font-size:11px; }
.kae-purchase .kae-quantity-reference { grid-column:1 / -1; display:block; font-size:11px; line-height:1.5; color:#696157; }
.kae-purchase .kae-quantity-reference[hidden] { display:none; }
.kae-application-consultation { margin-top:18px; padding-top:14px; border-top:1px solid #c9c1b5; }
.kae-application-consultation strong { display:block; color:#30291f; font-size:13px; font-weight:500; }
.kae-application-consultation a { display:block; margin:8px 0; padding:10px 12px; border:1px solid #9c7b4e; color:#65481f; font-size:13px; font-weight:600; line-height:1.5; text-decoration:none; transition:background-color .18s ease; }
.kae-application-consultation a:hover { background:#eee8de; }
.kae-application-consultation a[aria-disabled="true"] { opacity:.5; cursor:default; }
.kae-application-consultation small { display:block; font-size:11px; line-height:1.5; color:#696157; }
.kae-purchase .kae-application-consultation [role="status"] { font-size:12px; line-height:1.5; }
.kae-purchase .kae-preview-controls .kae-preview-editing { margin:0 0 12px; font-size:12px; line-height:1.5; }
.kae-preview-scene { position:relative; width:100%; aspect-ratio:3 / 2; overflow:hidden; background:#dfdbd2; }
.kae-preview-scene[aria-busy="true"]::after { content:'Cargando espacio…'; position:absolute; right:12px; bottom:12px; padding:7px 10px; background:#f5f0e8; color:#30291f; font-size:11px; }
.kae-purchase .kae-preview-scene img,.kae-purchase .kae-preview-scene canvas { display:block; width:100%; height:100%; object-fit:contain; border-radius:0; }
.kae-purchase .kae-preview-scene canvas { position:absolute; inset:0; pointer-events:none; }
.kae-purchase .kae-preview-scene canvas[hidden] { display:none; }
.kae-color-preview figcaption { padding:8px 0 10px; color:#696157; font-size:11px; line-height:1.5; }
.kae-preview-surfaces { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:8px; }
.kae-purchase .kae-preview-surfaces button { display:grid; grid-template-columns:1fr auto; align-content:center; column-gap:6px; min-width:0; min-height:44px; padding:5px 8px; text-align:left; letter-spacing:0; background:transparent; color:#292621; border:1px solid #c9c1b5; transition:border-color .18s ease,background-color .18s ease; }
.kae-purchase .kae-preview-surfaces button[aria-pressed="true"] { border-color:#8c683a; background:#eee8de; box-shadow:inset 0 -2px #8c683a; }
.kae-preview-surfaces button:hover { border-color:#8c683a; }
.kae-preview-surfaces strong { display:flex; align-items:center; gap:5px; font-size:12px; font-weight:500; line-height:1.25; }
.kae-preview-recipe-label { display:none; }
.kae-preview-surfaces small { display:block; grid-column:1 / -1; grid-row:2; margin-top:2px; color:#30291f; font-size:11px; font-weight:500; line-height:1.35; overflow-wrap:break-word; font-variant-numeric:tabular-nums; }
.kae-preview-surfaces small span { display:inline; }
.kae-preview-order-state { display:inline-block; grid-column:1 / -1; margin-top:2px; color:#725126; font-size:10px; line-height:1.25; }
.kae-preview-finish { display:block; grid-column:2; grid-row:1; align-self:center; font-size:10px; line-height:1.25; color:#605b52; }
.kae-preview-finish[hidden],.kae-preview-order-state[hidden] { display:none; }
.kae-preview-chip { flex:none; display:inline-block; width:10px; height:10px; border:1px solid #0002; border-radius:50%; background:var(--preview-color,#e0dcd4); }
.kae-purchase .kae-preview-editing { margin:16px 0 0; font-size:13px; color:#605b52; }
.kae-preview-editing strong { color:#30291f; }
.kae-purchase .kae-color-preview button:disabled,.kae-purchase .kae-color-preview input:disabled { cursor:default; }
.kae-purchase .kae-preview-jump { display:inline-block; margin-top:8px; padding:8px 0; width:auto; min-height:44px; color:#725126; background:transparent; text-decoration:underline; text-underline-offset:4px; letter-spacing:0; }
@media(max-width:480px) {
  .kae-purchase .kae-preview-room { grid-template-columns: minmax(0,.8fr) minmax(0,1fr); font-size:11px; gap:7px; }
  .kae-preview-finish { grid-column:1 / -1; grid-row:3; margin-top:2px; }
}
@media(min-width:720px) {
  .kae-preview-surfaces { width:min(100%,620px); }
  .kae-purchase .kae-preview-room { width:min(100%,440px); margin-bottom:12px; }
  .kae-preview-workspace { grid-template-columns:minmax(0,1fr) clamp(220px,20vw,260px); gap:18px; }
  .kae-color-preview figure { position:sticky; top:calc(var(--kae-header-height,82px) + var(--kae-access-height,48px) + 10px); }
  .kae-purchase .kae-preview-controls label { gap:4px; font-size:12px; }
  .kae-purchase .kae-preview-controls :is(input,select) { min-height:40px; padding:8px; }
  .kae-purchase .kae-preview-controls .kae-purchase-variants:first-child { margin-top:0; }
  .kae-purchase .kae-preview-controls .kae-purchase-variants { grid-template-columns:minmax(0,1fr); gap:10px; margin-top:10px; }
  .kae-purchase .kae-preview-controls .kae-purchase-formula { margin-top:12px; font-size:12px; }
  .kae-purchase .kae-preview-controls .kae-purchase-controls { gap:12px; margin-top:14px; }
  .kae-preview-controls [data-cart-add] { width:100%; }
  .kae-purchase .kae-preview-jump { display:none; }
}
@media(max-width:719px) {
  .kae-preview-toolbar { gap:8px; }
  .kae-area-calculator { flex-basis:100%; }
  .kae-area-calculator summary { min-height:44px; padding:10px 12px; }
  .kae-area-fields { left:0; right:auto; width:100%; }
  .kae-color-preview figcaption { padding:7px 0 10px; font-size:10px; line-height:1.4; }
  .kae-preview-controls :is(input,select,button) { scroll-margin-top:calc(var(--kae-header-height,72px) + 32svh + 65px); }
}
@media(max-width:719px) and (min-height:620px) { .kae-color-preview figure { position:sticky; top:calc(var(--kae-header-height,72px) + 8px); } }
@media(prefers-reduced-motion:reduce) { .kae-purchase .kae-preview-surfaces button { transition:none; } }
