/* Almeers Living stacking calculator — scoped styles to avoid changing global site styles */
.alc-page{max-width:1440px;margin:0 auto;padding:42px clamp(16px,3.5vw,52px) 52px;color:#292820;font-family:Montserrat,Arial,sans-serif}
.alc-page *{box-sizing:border-box}
.alc-intro{text-align:center;max-width:800px;margin:0 auto 30px}
.alc-eyebrow{margin:0 0 9px;font-size:9px;line-height:1.4;letter-spacing:2px;font-weight:700;color:#9c7953}
.alc-intro h1{font-family:"Playfair Display",Georgia,serif;font-size:clamp(31px,4vw,46px);font-weight:600;line-height:1.12;margin:0 0 12px;color:#292820}
.alc-intro>p:last-child{font-size:13px;line-height:1.75;color:#777268;max-width:650px;margin:0 auto}
.alc-layout{display:grid;grid-template-columns:minmax(280px,350px) minmax(0,1fr);gap:20px;align-items:start}
.alc-card{background:#fffefa;border:1px solid #e7e0d6;border-radius:5px;box-shadow:0 8px 26px rgba(50,40,25,.045)}
.alc-controls{padding:23px 22px}
.alc-section-heading,.alc-visual-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.alc-page h2{font-family:"Playfair Display",Georgia,serif;font-size:22px;line-height:1.2;font-weight:600;color:#302d26;margin:0}
.alc-field{margin-top:20px}
.alc-field label,.alc-label-row label{display:block;font-size:11px;line-height:1.4;font-weight:600;margin:0 0 8px;color:#39362f}
.alc-field label span{color:#827b70;font-weight:400}
.alc-number{height:42px;border:1px solid #dcd4c8;background:white;display:flex;align-items:center;border-radius:3px;overflow:hidden}
.alc-number input{width:100%;min-width:0;border:0;outline:none;background:transparent;padding:10px 11px;font:500 14px Montserrat,Arial,sans-serif;color:#292820}
.alc-number span{height:100%;display:flex;align-items:center;padding:0 12px;border-left:1px solid #e9e2d8;color:#81796e;font-size:11px}
.alc-help{font-size:10px;line-height:1.6;color:#817b70;margin:7px 0 0}
.alc-two-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.alc-two-fields .alc-field{min-width:0}
.alc-field select{width:100%;height:42px;padding:0 10px;border:1px solid #dcd4c8;border-radius:3px;background:#fff;color:#39362f;font:11px Montserrat,Arial,sans-serif}
.alc-segment{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #e3dbd0;border-radius:3px;overflow:hidden}
.alc-segment button{padding:10px 3px;border:0;border-right:1px solid #e3dbd0;background:#fff;color:#766f64;font:10px Montserrat,Arial,sans-serif;cursor:pointer}
.alc-segment button:last-child{border-right:0}
.alc-segment button.is-active{background:#eee5d9;color:#584632;font-weight:700}
.alc-label-row{display:flex;justify-content:space-between;gap:8px;align-items:center}
.alc-label-row label{margin-bottom:0}
.alc-label-row strong{font-size:10px;color:#8d6b45}
.alc-range{width:100%;accent-color:#8b6c4c;margin:13px 0 0;cursor:pointer}
.alc-range-labels{display:flex;justify-content:space-between;color:#8b8479;font-size:9px;margin-top:4px}
.alc-actions{display:flex;gap:9px;margin-top:23px}
.alc-btn{flex:1;min-height:41px;padding:10px;border-radius:3px;border:1px solid #70583f;font:600 10px Montserrat,Arial,sans-serif;cursor:pointer}
.alc-btn-outline{background:transparent;color:#70583f}.alc-btn-fill{background:#70583f;color:#fff}
.alc-disclaimer{font-size:9px;line-height:1.65;color:#827b70;margin:14px 0 0}
.alc-results-area{min-width:0;display:grid;gap:16px}
.alc-visual-card{padding:23px}
.alc-live{font-size:8px;letter-spacing:.6px;color:#667d68;display:flex;align-items:center;gap:6px;white-space:nowrap;margin-top:4px}
.alc-live i{width:6px;height:6px;border-radius:50%;background:#719273;box-shadow:0 0 0 3px #71927320}
.alc-scene{height:390px;position:relative;overflow:hidden;margin-top:19px;border:1px solid #ded5c8;background:#e8e0d4;isolation:isolate}
.alc-wall{position:absolute;inset:0 0 22%;background:linear-gradient(112deg,#f1eee8,#e4dcd0 72%,#d7cbbb)}
.alc-side-wall{position:absolute;right:0;top:0;width:10%;height:80%;background:linear-gradient(90deg,#ddd2c3,#c9bba9);clip-path:polygon(35% 0,100% 0,100% 100%,0 96%);opacity:.8}
.alc-floor{position:absolute;bottom:0;left:0;right:0;height:24%;background:repeating-linear-gradient(90deg,transparent 0,transparent 95px,#c5b49e 96px,#c5b49e 97px),repeating-linear-gradient(0deg,#d5c6b4 0,#d5c6b4 1px,#e6d9c8 1px,#e6d9c8 34px);transform:perspective(420px) rotateX(5deg);transform-origin:top}
.alc-window-unit{position:absolute;top:14%;height:62%;left:10%;width:80%;transition:left .2s,width .2s}
.alc-outside{position:absolute;inset:0;overflow:hidden;background:linear-gradient(#cbdad6 0%,#e9e4d8 52%,#9da98f 53%,#6d8168 100%);border:7px solid #faf7f0;box-shadow:0 5px 13px #46382727}
.alc-outside-sky{position:absolute;inset:0 0 42%;background:linear-gradient(#c6d7d6,#f2e9da)}
.alc-outside-land{position:absolute;bottom:0;left:0;right:0;height:46%;background:linear-gradient(170deg,#a4b092,#71846b)}
.alc-outside-building{position:absolute;right:8%;bottom:18%;height:60%;width:25%;background:#e7dac7;box-shadow:inset 8px 0 #d1c0ac}
.alc-outside-building:before{content:"";position:absolute;left:15%;right:15%;top:16%;height:42%;background:repeating-linear-gradient(90deg,#a8bbb7 0,#a8bbb7 18%,#f1e7d9 18%,#f1e7d9 24%)}
.alc-glass-mullion{position:absolute;z-index:2;background:#fbf7f0;box-shadow:0 0 2px #625442}
.alc-mullion-v{top:0;bottom:0;left:50%;width:6px;transform:translateX(-50%)}
.alc-mullion-h{left:0;right:0;top:52%;height:5px}
.alc-frame{position:absolute;z-index:3;background:#faf6ef;box-shadow:0 0 3px #675745}
.alc-frame-top{left:0;right:0;top:0;height:7px}.alc-frame-bottom{left:0;right:0;bottom:0;height:7px}.alc-frame-left{left:0;top:0;bottom:0;width:7px}.alc-frame-right{right:0;top:0;bottom:0;width:7px}
.alc-track-visual{position:absolute;z-index:8;left:-10%;width:120%;top:-8px;height:7px;background:linear-gradient(#fdfbf7,#a99c89);border-radius:3px;box-shadow:0 2px 5px #493b2a44}
.alc-track-visual span{position:absolute;top:2px;left:0;right:0;height:1px;background:#fff}
.alc-curtain{position:absolute;z-index:6;top:0;bottom:0;width:30%;background-color:#d8d0c2;background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.52) 0,rgba(255,255,255,.52) 2px,rgba(112,93,68,.13) 4px,rgba(255,255,255,.12) 8px,rgba(112,93,68,.17) 12px);box-shadow:inset 0 0 14px #68543a24,4px 0 9px #4e3b2720;transition:width .22s ease,left .22s ease,right .22s ease;overflow:hidden}
.alc-curtain:before{content:"";position:absolute;left:0;right:0;top:0;height:7px;background:repeating-radial-gradient(ellipse at 50% 0,#f6f0e4 0 3px,#b7aa96 3.5px 4.5px,transparent 5px 9px)}
.alc-curtain-left{left:0}.alc-curtain-right{right:0;filter:brightness(.96)}
.alc-stack-guide{position:absolute;z-index:5;top:0;bottom:0;width:0;background:#b79b7930;transition:width .2s;pointer-events:none}
.alc-guide-left{left:0}.alc-guide-right{right:0}
.alc-measure{position:absolute;text-align:center;color:#4f473d;font-size:10px;letter-spacing:.25px;z-index:10}
.alc-measure span{background:#fffdf9e8;padding:4px 10px;border-radius:3px;box-shadow:0 1px 4px #59462b10}
.alc-measure:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:#66816a}
.alc-measure-track{top:7%;left:19%;width:62%}.alc-measure-window{top:82%;left:25%;width:50%}
.alc-extension-label{position:absolute;z-index:10;bottom:9%;font-size:9px;color:#7a654a;background:#fffdf0dc;padding:4px 7px;border-radius:2px}
.alc-extension-left{left:7%}.alc-extension-right{right:7%}
.alc-scene-caption{position:absolute;left:12px;bottom:10px;z-index:11;color:#776c5c;font-size:8px;letter-spacing:.2px}
.alc-legend{display:flex;gap:17px;flex-wrap:wrap;padding:13px 0 17px;border-bottom:1px solid #e9e2d8;color:#81796f;font-size:9px}
.alc-legend span{display:flex;align-items:center;gap:7px}.alc-legend i{width:10px;height:10px;display:inline-block;border-radius:2px}
.alc-legend-fabric{background:#c8b9a4}.alc-legend-glass{background:#b9d0cd}.alc-legend-track{background:#d7c6ad;border:1px solid #b7a286}
.alc-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:17px}
.alc-metric{min-width:0;border:1px solid #e8e0d5;padding:13px 11px;background:#fffefa}
.alc-metric-highlight{background:#f1e9de;border-color:#dfd0bd}
.alc-metric>span{font-size:7.5px;letter-spacing:.8px;line-height:1.4;font-weight:700;color:#7c6b57;display:block;white-space:normal;min-height:21px}
.alc-metric>div{display:flex;align-items:baseline;gap:4px;margin-top:8px}
.alc-metric strong{font:500 clamp(22px,2.4vw,32px)/1 "Playfair Display",Georgia,serif;color:#2e2a23;overflow-wrap:anywhere}
.alc-metric small{font-size:10px;color:#837b70}
.alc-metric p{font-size:8px;line-height:1.45;color:#81796e;margin:7px 0 0}
.alc-result-message{display:flex;gap:9px;margin-top:13px;padding:11px;background:#f8f5ef;border:1px solid #ece4d8}
.alc-result-message>span{flex:0 0 16px;width:16px;height:16px;border:1px solid #b4a18a;border-radius:50%;display:grid;place-items:center;font:italic 10px Georgia;color:#78644c}
.alc-result-message p{font-size:9px;line-height:1.6;color:#7e776c;margin:0}
.alc-guidance{padding:18px 21px}.alc-guidance h2{font-size:19px;margin-bottom:8px}.alc-guidance p{font-size:11px;line-height:1.7;color:#777166;margin:0}
@media(max-width:1000px){.alc-layout{grid-template-columns:1fr}.alc-controls{order:2}.alc-results-area{order:1}.alc-scene{height:360px}}
@media(max-width:560px){.alc-page{padding:28px 12px 38px}.alc-intro{margin-bottom:22px}.alc-intro>p:last-child{font-size:11px}.alc-visual-card{padding:13px}.alc-controls{padding:18px 16px}.alc-page h2{font-size:20px}.alc-scene{height:265px}.alc-window-unit{left:8%;width:84%;top:17%;height:58%}.alc-measure{font-size:8px}.alc-measure-track{top:9%;left:13%;width:74%}.alc-measure-window{top:79%;left:19%;width:62%}.alc-extension-label{font-size:7px;bottom:10%;padding:3px 4px}.alc-extension-left{left:2%}.alc-extension-right{right:2%}.alc-scene-caption{font-size:7px;bottom:6px}.alc-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.alc-metric{padding:11px 9px}.alc-metric strong{font-size:28px}.alc-metric>span{font-size:8px}.alc-live{font-size:7px}.alc-two-fields{gap:7px}}
@media print{.alc-controls,.alc-guidance,.wa-float,.back-to-top{display:none!important}.alc-page{padding:0}.alc-layout{display:block}.alc-visual-card{box-shadow:none}.alc-scene{height:300px}.alc-intro{margin-bottom:12px}}

/* V3 refinements: stronger room depth and clearer interactive states */
.alc-floor{height:28%;background:repeating-linear-gradient(90deg,transparent 0,transparent 100px,#b9a78f 101px,#b9a78f 102px),repeating-linear-gradient(0deg,#d0c0ac 0,#d0c0ac 1px,#e5d7c5 1px,#e5d7c5 35px);transform:perspective(360px) rotateX(10deg);transform-origin:top;box-shadow:0 -7px 16px #75614a12}
.alc-wall{box-shadow:inset 0 -12px 18px #78634a0b}
.alc-curtain{will-change:width,background-color;background-repeat:repeat}
.alc-curtain-left{border-right:1px solid #75624a35}
.alc-curtain-right{border-left:1px solid #75624a35}
.alc-segment button:hover{background:#f4efe7}
.alc-btn:focus-visible,.alc-segment button:focus-visible,.alc-field input:focus-visible,.alc-field select:focus-visible{outline:2px solid #a27d54;outline-offset:2px}
@media(max-width:560px){
 .alc-two-fields .alc-field label{font-size:10px;min-height:28px}
 .alc-segment button{font-size:9px;padding:11px 2px}
 .alc-scene{height:280px}
 .alc-guidance{padding:16px}
}


/* Mobile sticky live preview: scoped to small screens to preserve desktop layout. */
.alc-mobile-sticky{display:none}
@media(max-width:767px){
  .alc-mobile-sticky{position:sticky;top:var(--alc-mobile-sticky-top, 88px);z-index:50;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);align-items:center;gap:10px;margin:0 0 12px;padding:8px;background:rgba(255,254,250,.98);border:1px solid #e4dbcf;box-shadow:0 5px 14px rgba(50,40,25,.12);backdrop-filter:blur(8px)}
  .alc-mobile-sticky-scene{height:104px;min-width:0;overflow:hidden;background:#e8e0d4;border:1px solid #ded5c8;position:relative}
  .alc-mobile-sticky-scene .alc-scene{height:104px!important;margin:0;border:0;width:100%;}
  .alc-mobile-sticky-scene .alc-measure,.alc-mobile-sticky-scene .alc-extension-label,.alc-mobile-sticky-scene .alc-scene-caption{display:none!important}
  .alc-mobile-sticky-scene .alc-window-unit{max-height:80%;}
  .alc-mobile-sticky-summary{min-width:0;display:flex;flex-direction:column;gap:5px}
  .alc-mobile-sticky-summary .alc-eyebrow{font-size:7px;letter-spacing:1.1px;margin:0 0 1px}
  .alc-mobile-stat{display:flex;flex-direction:column;gap:1px;min-width:0}
  .alc-mobile-stat>span{font-size:8px;color:#81796e;line-height:1.2}
  .alc-mobile-stat>strong{font-size:13px;line-height:1.25;font-weight:700;color:#302d26;overflow-wrap:anywhere}
  #alc-mobile-position{font-size:11px}
  .alc-mobile-stackline{display:flex;gap:8px;flex-wrap:wrap;font-size:8px;color:#81796e;border-top:1px solid #e9e2d8;padding-top:4px}
  .alc-mobile-stackline b{color:#584632;font-weight:700}
  .alc-layout{display:flex;flex-direction:column;gap:12px}
  .alc-controls{order:1;width:100%}
  .alc-results-area{order:2;width:100%;display:grid;gap:12px}
  /* The compact sticky scene replaces the full-size preview on mobile only. Keep result metrics visible below the settings. */
  .alc-visual-card>.alc-visual-header,.alc-visual-card>.alc-scene,.alc-visual-card>.alc-legend{display:none!important}
  .alc-visual-card{padding:12px}
}
@media(max-width:380px){
  .alc-mobile-sticky{grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:7px;padding:6px}
  .alc-mobile-sticky-scene,.alc-mobile-sticky-scene .alc-scene{height:92px!important}
  .alc-mobile-stat>strong{font-size:12px}
  .alc-mobile-stackline{font-size:7px;gap:5px}
}
@media(min-width:768px){.alc-mobile-sticky{display:none!important}}
