.layout-choices{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:24px 0 16px}
.layout-choice{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:12px;padding:16px;text-align:left;cursor:pointer;font:inherit;min-height:112px}
.layout-choice span,.layout-choice strong,.layout-choice small{display:block}.layout-choice span{font-size:12px;color:var(--muted)}.layout-choice strong{margin:5px 0;font-size:15px}.layout-choice small{font-size:12px;color:var(--muted)}
.layout-choice[aria-pressed=true]{border-color:var(--green);box-shadow:inset 0 -4px 0 var(--green)}
.layout-stage{background:var(--surface);border-radius:18px;border:1px solid var(--line);overflow:hidden}.layout-stage__head{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:24px 28px}.layout-stage__head p{margin:0 0 6px;color:var(--muted);font-size:14px}.layout-stage__head h3{margin:0;font-size:24px}.layout-capacity{font-size:14px;color:var(--green);text-align:right}.layout-image{display:block;border:0;border-radius:0;padding:0;background:#F4F0E8;width:100%;cursor:zoom-in;position:relative;color:#383E42}.layout-image img{width:100%;height:auto;display:block}.layout-image>span{position:absolute;bottom:8px;right:12px;font:600 12px var(--font-body);background:#fff;padding:7px 12px;border-radius:5px;border:1px solid #d9d6cc}.layout-stage__foot{display:grid;grid-template-columns:1fr auto;gap:26px;padding:24px 28px;align-items:center}.layout-stage__foot p{max-width:660px;margin:0 0 8px}.layout-note,.layouts-explainer{font-size:13px;line-height:1.6;color:var(--muted)}.layouts-explainer{max-width:1000px;margin:18px 0 0}.layout-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.layout-stage__foot .layout-actions{flex-direction:column;align-items:stretch}.layout-download{text-align:center;font-size:14px;text-decoration:underline;padding:6px}
.custom-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;margin-top:64px;padding-top:48px;border-top:1px solid var(--line);scroll-margin-top:100px}.custom-layout__offer h3{font-size:30px;line-height:1.3;margin:12px 0 22px}.custom-layout__offer>p{max-width:470px}.custom-layout__offer>.btn{margin-top:16px}.custom-layout__price{font:700 clamp(36px,5vw,56px) var(--font-head);color:var(--gold);margin:22px 0 12px}.custom-layout__price span{font-size:28px}.sketch-form{scroll-margin-top:100px;padding:28px;background:var(--bg-2);border:1px solid var(--line);border-radius:16px}.sketch-form h3{font-size:23px;margin:0 0 10px}.sketch-form>p{margin:8px 0 18px}.sketch-form label:not(.sketch-drop):not(.sketch-consent){display:block;font-size:14px;margin:15px 0 6px}.sketch-form input:not([type=checkbox]),.sketch-form select,.sketch-form textarea,#calc-layout{width:100%;font:inherit;font-size:16px;background:var(--field-bg);border:1px solid var(--field-line);color:var(--text);border-radius:8px;padding:12px;box-sizing:border-box}.sketch-form select option,#calc-layout option{background:var(--bg);color:var(--text)}.sketch-form textarea{resize:vertical}.sketch-drop{display:block;margin-top:20px;border:1.5px dashed var(--green);padding:18px;border-radius:10px;cursor:pointer}.sketch-drop strong,.sketch-drop span{display:block}.sketch-drop span{font-size:13px;color:var(--muted);margin:5px 0 12px}.sketch-drop input{padding:4px!important;font-size:13px!important;border:none!important}.sketch-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sketch-consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.6;margin:18px 0}.sketch-consent input{margin-top:4px;width:18px;height:18px;flex-shrink:0;accent-color:var(--green)}.sketch-consent a{text-decoration:underline}.sketch-form>.btn{width:100%;white-space:normal}.sketch-form button:disabled{opacity:.65;cursor:wait}.sketch-result{margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}.sketch-result[hidden]{display:none}.sketch-result h4{margin:0;font-size:20px}.sketch-result p{font-size:14px}.sketch-result .btn--outline{border:1px solid var(--line);background:var(--surface);color:var(--text)}.layout-dialog{width:min(1440px,96vw);max-width:96vw;max-height:92vh;border:0;border-radius:14px;padding:0;color:#141616;background:#F4F0E8}.layout-dialog::backdrop{background:rgba(0,0,0,.8)}.layout-dialog__bar{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;gap:20px}.layout-dialog__bar h2{font:700 18px var(--font-body);margin:0}.layout-dialog__bar button{border:1px solid #7b8279;border-radius:6px;padding:12px;background:white;color:#141616;cursor:pointer;min-height:44px}.layout-dialog__canvas{overflow:auto}.layout-dialog__canvas img{display:block;width:100%;min-width:960px;height:auto}.layout-dialog>p{margin:12px 22px;font-size:13px}.layouts :focus-visible,#calc-layout:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.layout-dialog :focus-visible{outline:3px solid #356347;outline-offset:3px}
@media(max-width:900px){.layout-choices{grid-template-columns:repeat(3,1fr)}.custom-layout{grid-template-columns:1fr;gap:28px}.custom-layout__offer>p{max-width:680px}.layout-stage__foot{grid-template-columns:1fr}.layout-stage__foot .layout-actions{flex-direction:row;align-items:center}.layout-stage__head{padding:20px}.layout-stage__head h3{font-size:20px}}
@media(max-width:560px){.layout-choices{grid-template-columns:1fr 1fr}.layout-choice{padding:13px;min-height:104px}.layout-choice:last-child{grid-column:1/-1;min-height:80px}.layout-stage__head{align-items:flex-start;flex-direction:column;gap:10px}.layout-stage__head h3{font-size:19px}.layout-image{overflow-x:auto}.layout-image img{min-width:660px}.layout-image>span{position:sticky;float:right;bottom:8px;right:8px;margin-top:-32px}.layout-stage__foot{padding:20px}.layout-stage__foot .layout-actions{align-items:stretch;flex-direction:column}.custom-layout{margin-top:40px;padding-top:32px}.custom-layout__offer h3{font-size:25px}.sketch-form{padding:20px}.sketch-fields{grid-template-columns:1fr;gap:0}.layout-dialog__bar{padding:12px}.layout-dialog__bar h2{font-size:15px}.layout-dialog__bar button{font-size:13px}}
/* Phones: swipeable plan cards, whole plan in view, room areas, full-screen zoom (2026-09-24). */
.layout-viewer{position:relative}.layout-nav,.layout-count,.layout-rooms{display:none}
@media(max-width:700px){
.layout-choices{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:20px;margin:20px -20px 14px;padding:2px 20px 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.layout-choices::-webkit-scrollbar{display:none}
.layout-choice,.layout-choice:last-child{flex:0 0 auto;grid-column:auto;min-height:0;padding:10px 14px;border-radius:12px;scroll-snap-align:center;max-width:72vw}
.layout-choice strong{margin:3px 0 0;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.layout-choice small{display:none}
.layout-choice[aria-pressed=true]{background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--green)}
.layout-stage{border-radius:16px}
.layout-stage__head{padding:16px 16px 12px;flex-direction:row;align-items:flex-end;gap:12px}
.layout-stage__head p{font-size:13px;margin:0 0 4px}.layout-stage__head h3{font-size:19px;line-height:1.25}
.layout-capacity{font-size:13px;flex-shrink:0;max-width:40%}
.layout-viewer{display:grid;grid-template-columns:60px 1fr 60px;align-items:center;row-gap:6px;padding-bottom:4px}
.layout-viewer .layout-image{grid-column:1/-1;overflow:visible}
.layout-viewer .layout-image img{min-width:0;width:100%}
.layout-viewer .layout-image>span{position:absolute;float:none;margin:0;top:6px;bottom:auto;left:6px;right:auto;font-size:11px;padding:5px 9px}
.layout-nav{grid-row:2;grid-column:1;justify-self:center;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--text);cursor:pointer;padding:0}
.layout-nav--next{grid-column:3}
.layout-nav:before{content:'';width:9px;height:9px;border:solid currentColor;border-width:0 0 2px 2px;transform:translateX(2px) rotate(45deg)}
.layout-nav--next:before{transform:translateX(-2px) rotate(-135deg)}
.layout-count{grid-row:2;grid-column:2;display:block;text-align:center;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.layout-rooms{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:8px 16px 0}
.layout-rooms li{display:flex;gap:6px;align-items:baseline;font-size:13px;line-height:1.3;padding:6px 10px;border-radius:999px;background:var(--bg-2);color:var(--text)}
.layout-rooms b{font-weight:600;color:var(--green)}
.layout-stage__foot{padding:14px 16px 18px;gap:14px}
.layout-stage__foot p{font-size:15px}
.layout-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}
.layout-dialog[open]{display:flex;flex-direction:column}
.layout-dialog__bar{padding:10px 12px;padding-top:max(10px,env(safe-area-inset-top))}
.layout-dialog__canvas{flex:1;display:flex;align-items:center;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}
.layout-dialog__canvas img{flex-shrink:0;width:auto;height:auto;min-width:1000px;max-width:none}
.layout-dialog>p{margin:10px 16px;padding-bottom:env(safe-area-inset-bottom)}
}
@media(max-width:700px) and (prefers-reduced-motion:reduce){.layout-choices{scroll-behavior:auto}}
