:root{--icf-red:#7f3345;--icf-red2:#672939;--icf-ink:#171817;--icf-muted:#77746f;--icf-line:#e3ded6;--icf-bg:#f3f0eb;--icf-panel:#fffdfa;--icf-green:#45c14c;--icf-shadow:0 14px 40px rgba(44,38,30,.10)}
*{box-sizing:border-box}.icf-root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--icf-ink);background:var(--icf-bg);min-height:calc(100vh - 32px)}
.icf-root button,.icf-root input,.icf-root select,.icf-root textarea{font:inherit}.icf-root button{cursor:pointer}.icf-app{height:calc(100vh - 32px);min-height:720px;display:flex;flex-direction:column;background:linear-gradient(180deg,#f7f4ef 0,#efebe5 100%)}
.icf-header{height:78px;display:grid;grid-template-columns:285px minmax(520px,1fr) 180px;align-items:center;gap:22px;padding:0 24px;background:rgba(255,255,255,.94);border-bottom:1px solid #e5e0d9;backdrop-filter:blur(12px);z-index:10}.icf-brand{display:flex;align-items:center;gap:12px}.icf-brand img{width:92px;height:auto;max-height:34px;object-fit:contain}.icf-brand div{display:flex;flex-direction:column;gap:2px}.icf-brand strong{font-size:12px;letter-spacing:.13em}.icf-brand span{font-size:10px;color:#88827b}
.icf-steps{display:grid;grid-template-columns:repeat(6,minmax(70px,1fr));gap:5px}.icf-steps button{height:45px;border:0;background:transparent;border-radius:12px;display:flex;align-items:center;gap:8px;padding:0 10px;color:#8b8680}.icf-steps button b{width:25px;height:25px;border:1px solid #d9d3cb;border-radius:50%;display:grid;place-items:center;font-size:11px;background:#fff}.icf-steps button span{font-size:11px;font-weight:700;white-space:nowrap}.icf-steps button.active{background:#fff;box-shadow:0 5px 18px rgba(25,22,18,.08);color:#1d1c1a}.icf-steps button.active b{background:var(--icf-red);border-color:var(--icf-red);color:#fff}.icf-steps button.done b{background:var(--icf-green);border-color:var(--icf-green);color:#fff}.icf-steps button.done{color:#34322f}

.icf-main{flex:1;min-height:0;display:grid;grid-template-columns:348px minmax(560px,1fr) 300px;gap:14px;padding:14px}.icf-sidebar,.icf-stage,.icf-inspector{background:var(--icf-panel);border:1px solid #e4dfd7;border-radius:18px;box-shadow:var(--icf-shadow);min-height:0}.icf-sidebar{display:flex;flex-direction:column;overflow:hidden}.icf-step-panel{flex:1;overflow:auto;padding:26px 24px 18px;scrollbar-width:thin}.icf-nav{padding:12px 14px;border-top:1px solid #e8e3dc;background:#fff;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.38fr);align-items:stretch;gap:8px;overflow:hidden}.icf-nav .icf-btn{width:100%;min-width:0;max-width:100%;height:42px;min-height:42px;padding:0 10px;font-size:13px;flex:none}.icf-nav [data-submit]{font-size:12px;padding-inline:8px;white-space:normal;line-height:1.05}.icf-kicker{color:var(--icf-red);font-size:10px;font-weight:800;letter-spacing:.16em;margin-bottom:8px}.icf-step-panel h2{font-size:24px;line-height:1.15;margin:0 0 7px;font-weight:600;letter-spacing:-.025em}.icf-step-panel h3{font-size:12px;margin:22px 0 10px}.icf-lead{font-size:12px;line-height:1.55;color:#77726b;margin:0 0 20px}.icf-options{display:grid;gap:9px}.icf-option{position:relative;border:1px solid #ded8cf;background:#fff;border-radius:14px;text-align:left;padding:16px 15px;min-height:74px;display:flex;flex-direction:column;gap:3px;transition:.18s}.icf-option:hover{border-color:#c4bab0;transform:translateY(-1px)}.icf-option.active{border-color:var(--icf-red);background:#fff8f8;box-shadow:0 0 0 1px rgba(127,51,69,.08)}.icf-option strong{font-size:14px}.icf-option small{font-size:10px;line-height:1.4;color:#807b74;padding-right:24px}.icf-check{position:absolute;right:12px;top:12px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--icf-red);color:white;font-size:11px}.icf-option:not(.active) .icf-check{display:none}
.icf-segment{display:grid;grid-template-columns:1fr 1fr;border:1px solid #ddd7cf;border-radius:12px;padding:3px;background:#f7f5f2}.icf-segment button{border:0;background:transparent;border-radius:9px;padding:10px 6px;font-size:11px;font-weight:700}.icf-segment button.active{background:#1e1f1f;color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.13)}
.icf-formgrid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.icf-formgrid label,.icf-widefield,.icf-ins-field{font-size:10px;color:#625e58;font-weight:700}.icf-formgrid label span,.icf-widefield span{float:right;color:#a6a099;font-weight:500}.icf-formgrid input,.icf-widefield input,.icf-ins-field input,.icf-ins-field select,.icf-formgrid select{display:block;width:100%;margin-top:6px;height:44px;border:1px solid #d8d2ca;border-radius:10px;background:#fff;padding:0 12px;color:#191919;font-weight:650;outline:none}.icf-formgrid input:focus,.icf-widefield input:focus,.icf-ins-field input:focus,.icf-ins-field select:focus{border-color:#b9a99d;box-shadow:0 0 0 3px rgba(120,104,90,.08)}.icf-formgrid.compact input{height:40px}.icf-note{margin-top:16px;border:1px solid #eadfbf;background:#fff9e7;border-radius:11px;padding:12px;font-size:10px;line-height:1.5;color:#745e25}
.icf-label{font-size:10px;font-weight:800;color:#68635d}.icf-count{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin:8px 0 16px}.icf-count button{border:1px solid #ddd7cf;background:#fff;border-radius:9px;height:38px;font-weight:800}.icf-count button.active{border-color:var(--icf-red);background:var(--icf-red);color:#fff}.icf-modulewidths{display:grid;gap:7px}.icf-modulewidths label{display:grid;grid-template-columns:34px 1fr 66px;align-items:center;gap:7px;border:1px solid #e3ddd5;border-radius:10px;padding:7px 9px;font-size:10px;font-weight:700}.icf-modulewidths input{height:32px;border:0;background:#f3f1ed;border-radius:7px;padding:0 8px;font-weight:700;width:100%}.icf-modulewidths span{font-size:9px;color:#8b857e}.icf-linkbtn,.icf-ins-wide{border:0;background:transparent;color:var(--icf-red);font-size:10px;font-weight:800;padding:10px 0;text-align:left}.icf-switchrow{margin-top:14px;border-top:1px solid #ebe6df;padding-top:15px;display:flex;align-items:center;justify-content:space-between}.icf-switchrow div{display:flex;flex-direction:column;gap:3px}.icf-switchrow strong{font-size:11px}.icf-switchrow small{font-size:9px;color:#8b857e}.icf-switch{position:relative}.icf-switch input{display:none}.icf-switch span{display:block;width:40px;height:22px;background:#d5d1cc;border-radius:20px;position:relative}.icf-switch span:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;top:3px;left:3px;transition:.18s;box-shadow:0 1px 4px rgba(0,0,0,.2)}.icf-switch input:checked+span{background:var(--icf-red)}.icf-switch input:checked+span:after{left:21px}.icf-widefield{display:block;margin-top:13px}.icf-widefield input{display:inline-block;width:105px;margin-left:8px;height:36px}
.icf-modtabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:9px}.icf-modtabs button{border:1px solid #ded8d0;background:#fff;border-radius:10px;padding:8px 4px;display:flex;flex-direction:column;gap:2px}.icf-modtabs b{font-size:11px}.icf-modtabs span{font-size:8px;color:#8d877f}.icf-modtabs button.active{border-color:var(--icf-red);background:#fff6f6}.icf-moduleinfo{font-size:9px;color:#79736c;background:#f4f1ed;border-radius:9px;padding:10px;margin-bottom:12px}.icf-moduleinfo strong{display:block;color:#242321;margin-top:2px}.icf-catalog{display:grid;gap:7px}.icf-catalog>button{display:grid;grid-template-columns:38px 1fr 24px;align-items:center;gap:8px;text-align:left;border:1px solid #e0dad2;border-radius:11px;background:#fff;padding:8px 9px}.icf-catalog>button:hover{border-color:#bcaea3;box-shadow:0 4px 12px rgba(0,0,0,.05)}.icf-cat-icon{width:34px;height:34px;border-radius:9px;background:#f1eeea;display:grid;place-items:center;font-size:15px}.icf-catalog strong{display:block;font-size:10px}.icf-catalog small{display:block;font-size:8px;color:#938c84;margin-top:2px}.icf-catalog b{color:var(--icf-red);font-size:16px}.icf-list{display:grid;gap:5px;margin-top:5px}.icf-list button{border:1px solid #e2dcd4;background:#fff;border-radius:9px;text-align:left;padding:7px 9px;display:flex;justify-content:space-between;align-items:center}.icf-list button.active{border-color:var(--icf-red);background:#fff8f8}.icf-list span{font-size:9px;font-weight:700}.icf-list small{font-size:8px;color:#8d877f}.icf-list em{font-size:9px;color:#9c968f;padding:7px}
.icf-swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.icf-swatches button{border:1px solid #ded8d0;background:#fff;border-radius:10px;padding:7px 5px;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:8px}.icf-swatches button.active{border-color:var(--icf-red);box-shadow:inset 0 0 0 1px var(--icf-red)}.sw{width:30px;height:30px;border-radius:50%;border:1px solid rgba(0,0,0,.09);display:block}.sw.white{background:#f3f1eb}.sw.oak{background:repeating-linear-gradient(90deg,#d0aa7b 0,#c69a69 3px,#dfbd91 6px)}.sw.walnut{background:repeating-linear-gradient(90deg,#513522 0,#765039 3px,#3e2a1e 6px)}.sw.grey{background:#b6b6b1}
.icf-front-panels{display:grid;gap:10px;margin-top:10px}.icf-front-panel-row{border:1px solid #e3ddd5;border-radius:11px;padding:10px;background:#fbfaf7}.icf-front-panel-row>span{display:block;font-size:10px;font-weight:800;color:#5d5852;margin-bottom:8px}.icf-swatches.compact button{padding:6px 4px}.icf-swatches.compact .sw{width:22px;height:22px}
.icf-summarygrid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.icf-summarygrid div,.icf-ins-card{border:1px solid #e2dcd4;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:4px}.icf-summarygrid span,.icf-ins-card span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#99928a}.icf-summarygrid strong,.icf-ins-card strong{font-size:10px}.icf-summaryline{margin-top:8px;border:1px solid #e2dcd4;border-radius:10px;padding:10px;font-size:9px;line-height:1.45}.icf-validation{margin-top:8px;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:4px}.icf-validation.ok{background:#edf8f2;color:#276b50}.icf-validation.bad{background:#fff0f0;color:#9e1720}.icf-validation strong{font-size:9px}.icf-validation small{font-size:8px}.icf-step-panel textarea{margin-top:9px;width:100%;min-height:70px;border:1px solid #ddd6ce;border-radius:10px;padding:10px;resize:vertical}.icf-privacy{font-size:9px;display:flex;gap:7px;align-items:flex-start;margin-top:12px;line-height:1.4}.icf-privacy a{color:var(--icf-red)}.icf-submiterr{margin-top:9px;color:#9f1520;background:#fff0f1;border-radius:8px;padding:8px;font-size:9px}
.icf-btn{min-height:44px;height:44px;border-radius:11px;border:1px solid #dcd6ce;padding:0 18px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1.1;text-align:center;white-space:nowrap;vertical-align:middle}.icf-btn.primary{background:var(--icf-red);color:#fff;border-color:var(--icf-red)}.icf-btn.primary:hover{background:var(--icf-red2)}.icf-btn.ghost{background:#fff}.icf-btn:disabled{opacity:.35;cursor:not-allowed}
.icf-stage{display:flex;flex-direction:column;overflow:hidden;position:relative}.icf-toolbar{height:52px;display:flex;align-items:center;justify-content:space-between;padding:8px 11px;border-bottom:1px solid #e7e2db;background:#fff}.icf-toolgroup{display:flex;gap:5px}.icf-toolbar button{border:1px solid #ddd7cf;background:#fff;border-radius:9px;height:34px;padding:0 10px;font-size:9px;font-weight:800;color:#3f3c38}.icf-toolbar button:hover{background:#f4f1ed}.icf-toolbar button.active{background:#1f201f;color:#fff;border-color:#1f201f}.icf-toolbar button:disabled{opacity:.3}.icf-viewer-wrap{position:relative;flex:1;min-height:0;background:#eeece8;overflow:hidden}.icf-viewer{position:absolute;inset:0;transition:opacity .15s}.icf-viewer.hide{opacity:0;pointer-events:none}.icf-viewer canvas{display:block;width:100%;height:100%;touch-action:none}.icf-technical{position:absolute;inset:0;display:none;background:#fbfaf7;padding:10px}.icf-technical.show{display:block}.icf-technical svg{width:100%;height:100%}.icf-measure{position:absolute;z-index:4;font-size:10px;font-weight:800;color:#30302e;background:rgba(255,255,255,.88);padding:4px 8px;border-radius:7px;pointer-events:none;box-shadow:0 2px 8px rgba(0,0,0,.08)}.icf-measure-w{top:14px;left:50%;transform:translateX(-50%)}.icf-measure-h{right:14px;top:50%;transform:translateY(-50%) rotate(90deg)}.icf-canvas-hint{position:absolute;left:16px;bottom:12px;z-index:4;background:rgba(20,21,20,.76);color:#fff;border-radius:999px;padding:7px 11px;font-size:8px;pointer-events:none;backdrop-filter:blur(5px)}.icf-status{min-height:62px;border-top:1px solid #e6e1da;background:#fff;padding:8px 12px;display:flex;align-items:center;gap:14px;overflow:hidden}.icf-modelstatus{display:flex;align-items:center;gap:8px;min-width:240px}.icf-modelstatus i{width:9px;height:9px;border-radius:50%;background:var(--icf-green);box-shadow:0 0 0 4px rgba(69,193,76,.11)}.icf-modelstatus.bad i{background:var(--icf-red);box-shadow:0 0 0 4px rgba(127,51,69,.10)}.icf-modelstatus span{display:flex;flex-direction:column;gap:2px}.icf-modelstatus strong{font-size:9px}.icf-modelstatus small{font-size:8px;color:#8c867e}.icf-modelchips{display:flex;gap:5px;flex-wrap:wrap}.icf-modelchips b{font-size:8px;font-weight:650;color:#8a847d;border:1px solid #e4dfd8;border-radius:999px;padding:5px 8px}.icf-flash{width:100%;border-radius:9px;padding:10px;font-size:9px;font-weight:700}.icf-flash.ok{background:#edf8f2;color:#1f7754}.icf-flash.warn{background:#fff8e7;color:#856821}.icf-flash.error{background:#fff0f1;color:#a2141e}
.icf-inspector{padding:20px 17px;overflow:auto}.icf-ins-title span{font-size:8px;color:var(--icf-red);font-weight:800;letter-spacing:.12em}.icf-ins-title h3{font-size:19px;margin:5px 0 2px}.icf-ins-title small{font-size:7px;color:#aaa39b}.icf-ins-card{margin-top:8px}.icf-ins-card strong.green{color:var(--icf-green)}.icf-ins-card strong.red{color:var(--icf-red)}.icf-ins-help{margin-top:15px;border-top:1px solid #e5dfd7;padding-top:13px}.icf-ins-help b{font-size:10px}.icf-ins-help p{font-size:9px;color:#817a73;line-height:1.55}.icf-ins-field{display:block;margin-top:13px}.icf-ins-field small{display:block;font-size:8px;color:#979088;margin-top:4px;font-weight:500}.icf-ins-row{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:13px}.icf-ins-row button,.icf-ins-wide{border:1px solid #ddd6ce;background:#fff;border-radius:9px;min-height:36px;padding:0 8px;font-size:9px;font-weight:700}.icf-ins-row button.danger{color:#b3141e}.icf-ins-wide{width:100%;margin-top:7px;text-align:center;color:#554e47}
.icf-success{min-height:calc(100vh - 32px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#f6f3ee;padding:40px}.icf-success img{width:160px;margin-bottom:28px}.icf-success>span{font-size:10px;font-weight:800;letter-spacing:.16em;color:var(--icf-green)}.icf-success h2{font-size:36px;margin:10px 0}.icf-success p{max-width:560px;color:#6f6b65;line-height:1.6}.icf-success .icf-btn{margin-top:14px}
@media(max-width:1380px){.icf-main{grid-template-columns:320px minmax(520px,1fr) 260px}.icf-header{grid-template-columns:235px 1fr 150px}.icf-brand span{display:none}.icf-steps button span{font-size:9px}.icf-inspector{padding:16px 13px}}
@media(max-width:1120px){.icf-app{height:auto;min-height:100vh}.icf-header{position:sticky;top:0;grid-template-columns:180px 1fr 130px}.icf-steps button span{display:none}.icf-main{grid-template-columns:330px 1fr;padding:10px}.icf-inspector{grid-column:1/2;grid-row:2;border-radius:14px}.icf-stage{min-height:650px}.icf-sidebar{min-height:650px}.icf-inspector{display:none}}
@media(max-width:760px){.icf-viewer canvas{touch-action:pan-y pinch-zoom}.icf-header{height:auto;padding:10px;grid-template-columns:1fr;gap:8px}.icf-brand{grid-column:1}.icf-steps{grid-column:1;grid-row:2}.icf-main{display:flex;flex-direction:column}.icf-sidebar{min-height:570px;order:2}.icf-stage{min-height:520px;order:1}.icf-viewer-wrap{min-height:410px}.icf-step-panel{padding:20px 16px}.icf-toolbar{overflow:auto}.icf-canvas-hint{display:none}.icf-status{display:none}.icf-formgrid{grid-template-columns:1fr}.icf-nav{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:stretch}.icf-nav .icf-btn{width:100%;min-width:0}}

.icf-module-config{border:1px solid #e3ddd5;border-radius:12px;padding:7px;background:#fff;display:grid;gap:7px}.icf-module-config>label{border:0!important;padding:0!important;border-radius:0!important}.icf-module-width-block{border:1px solid #e3ddd5;border-radius:10px;padding:8px 10px;background:#fff}.icf-module-width-head{display:block;margin-bottom:6px}.icf-module-width-head strong{display:block;font-size:11px;line-height:1.15;color:#1f1d1a}.icf-module-width-row{display:grid;grid-template-columns:minmax(0,110px) auto;align-items:center;gap:8px}.icf-module-width-row input{height:32px;border:0;background:#f3f1ed;border-radius:7px;padding:0 8px;font-weight:700;width:100%;min-width:0}.icf-module-width-row span{font-size:9px;color:#8b857e;white-space:nowrap}.icf-module-openings{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.icf-module-openings button{border:1px solid #ddd6ce;background:#f8f6f3;border-radius:8px;height:30px;font-size:8px;font-weight:800;color:#5f5a54}.icf-module-openings button.active{background:var(--icf-red);border-color:var(--icf-red);color:#fff}.icf-module-openings button:hover{border-color:var(--icf-red)}.icf-module-doors{display:grid;gap:5px}.icf-module-doors>span{font-size:10px;font-weight:800;color:#5f5a54}.icf-module-door-counts{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.icf-module-door-counts button{border:1px solid #ddd6ce;background:#f8f6f3;border-radius:8px;height:28px;font-size:10px;font-weight:800;color:#5f5a54}.icf-module-door-counts button.active{background:var(--icf-red);border-color:var(--icf-red);color:#fff}.icf-module-doors small{font-size:9px;color:#8b857e;line-height:1.35}
.icf-helpbox{margin:12px 0 14px;padding:10px 12px;border:1px solid var(--icf-line);background:#faf7f3;border-radius:12px;font-size:12px;line-height:1.45;color:#5a564f}.icf-muted{display:block;margin-top:6px;font-size:11px;color:var(--icf-muted)}.icf-module-config input:disabled{background:#f1eeea;color:#8b857d;cursor:not-allowed}.icf-stockstamp{display:inline-flex;align-items:center;gap:6px;margin:0 0 12px;padding:6px 9px;border-radius:999px;background:#eef7ef;color:#2f6d45;font-size:9px;font-weight:800;border:1px solid #d7eadb}
.icf-material-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:12px}
.icf-material-card{min-height:58px;border:1px solid #ded8d0;background:#fff;border-radius:10px;padding:7px;text-align:left;display:grid;grid-template-columns:38px 1fr;gap:8px;align-items:center;color:#3f3c38}
.icf-material-card:hover{border-color:var(--icf-red)}
.icf-material-card.active{border-color:var(--icf-red);box-shadow:inset 0 0 0 1px var(--icf-red);background:#fffafb}
.icf-material-card>i{display:block;width:38px;height:38px;border-radius:7px;border:1px solid rgba(0,0,0,.08);background-size:100% 100%!important}
.icf-material-card>span{min-width:0;display:flex;flex-direction:column;gap:2px}
.icf-material-card b{font-size:9px;line-height:1.2;white-space:normal}
.icf-material-card small{font-size:7.5px;color:#847e76;line-height:1.2}
.icf-material-card em{font-style:normal;font-size:7.5px;color:#3f855b;font-weight:700}
.icf-ral-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px}
.icf-ral-grid button{border:1px solid #ded8d0;background:#fff;border-radius:9px;padding:6px;display:grid;grid-template-columns:24px 1fr;gap:7px;align-items:center;text-align:left;font-size:8px;color:#4d4944}
.icf-ral-grid button i{width:24px;height:24px;border-radius:6px;border:1px solid rgba(0,0,0,.12)}
.icf-ral-grid button.active{border-color:var(--icf-red);box-shadow:inset 0 0 0 1px var(--icf-red)}
.icf-segment button:disabled{opacity:.35;cursor:not-allowed}
.icf-note.compact{margin-top:8px;font-size:8.5px;line-height:1.35;padding:8px 10px}
.icf-front-panel-row select{width:100%;height:34px;border:1px solid #ddd7cf;border-radius:8px;background:#fff;padding:0 8px;font-size:9px;color:#4b4742}
@media(max-width:700px){.icf-material-grid,.icf-ral-grid{grid-template-columns:1fr}.icf-material-card{min-height:54px}}
.icf-material-section{margin:14px 0 18px;padding:12px;border:1px solid #e2ddd5;border-radius:14px;background:#fff}.icf-material-section.compact{background:#fbfaf8}.icf-material-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:9px}.icf-material-section-head>div{display:flex;flex-direction:column;gap:2px}.icf-material-section-head span{font-size:8px;letter-spacing:.11em;font-weight:900;color:var(--icf-red)}.icf-material-section-head strong{font-size:11px;color:#252321}.icf-material-section-head>b{font-size:8px;padding:4px 7px;border-radius:999px;background:#f4f1ed;color:#655f57;white-space:nowrap}.icf-material-types{margin-bottom:10px}.icf-material-families{display:flex;gap:5px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:thin}.icf-material-families button{border:1px solid #ddd7cf;background:#faf8f5;color:#5a554e;border-radius:999px;padding:6px 9px;font-size:8px;font-weight:800;white-space:nowrap}.icf-material-families button.active{background:var(--icf-red);border-color:var(--icf-red);color:#fff}.icf-material-card u{text-decoration:none;font-size:7px;color:#9a938b;white-space:normal}.icf-material-caption{font-size:9px;color:#6d675f;margin:0 0 8px}.icf-ral-search{margin:0 0 9px}.icf-ral-search input{width:100%;height:36px;border:1px solid #dcd6ce;border-radius:9px;padding:0 10px;font-size:10px;background:#fff}.icf-color-warning{font-size:8px;line-height:1.4;color:#7d756c;padding:8px 10px;border-radius:9px;background:#f7f4f0;margin-top:-3px;margin-bottom:8px}

.icf-viewer-wrap.plan2d-mode .icf-measure,.icf-viewer-wrap.plan2d-mode .icf-canvas-hint{display:none!important}.icf-viewer-wrap.plan2d-mode{background:#fbfaf7}.icf-technical.show{padding:6px 8px}

/* v1.6.0 · ofertas cargables */

.icf-startblank{margin:0 0 10px;padding:12px;border:1px solid #ddd7cf;border-radius:13px;background:#fff;display:block}
.icf-startblank>div{display:flex;min-width:0;flex-direction:column;gap:3px}.icf-startblank strong{font-size:11px}.icf-startblank small{font-size:8.5px;line-height:1.35;color:#827b74}
.icf-offers-cta{width:100%;min-height:46px;margin:0 0 20px;border:1px solid var(--icf-red);background:var(--icf-red);color:#fff;border-radius:11px;padding:0 14px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:10px;font-weight:900;letter-spacing:.08em;box-shadow:0 7px 16px rgba(127,51,69,.18);transition:.18s}.icf-offers-cta:hover{background:var(--icf-red2);border-color:var(--icf-red2);transform:translateY(-1px)}
.icf-offers{display:grid;gap:8px;margin:0 0 20px}.icf-offers-title{padding:0 2px 4px;display:flex;flex-direction:column;gap:3px}.icf-offers-title strong{font-size:11px}.icf-offers-title small{font-size:8.5px;line-height:1.4;color:#827b74}
.icf-offer-card{border:1px solid #ddd7cf;border-radius:12px;background:#fff;padding:11px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;align-items:center}.icf-offer-card>div:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}.icf-offer-card>div:first-child span{font-size:7.5px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--icf-red)}.icf-offer-card>div:first-child strong{font-size:11px}.icf-offer-card>div:first-child small{font-size:7.5px;line-height:1.35;color:#8b847c}
.icf-offer-price{text-align:right;display:flex;flex-direction:column;gap:1px;white-space:nowrap}.icf-offer-price{font-size:13px;font-weight:850;color:#302d2a}.icf-offer-price small{font-size:7px;font-weight:600;color:#918981}.icf-offer-price em{font-size:9px;font-style:normal;color:#918981}
.icf-offer-card>button{grid-column:1/-1;border:0;background:var(--icf-red);color:#fff;border-radius:9px;min-height:34px;font-size:9px;font-weight:800}.icf-offer-card>button:hover:not(:disabled){background:var(--icf-red2)}.icf-offer-card>button:disabled{cursor:not-allowed;background:#d8d2cb;color:#807970}.icf-offer-card.disabled{background:#f7f4f0;opacity:.82}.icf-offer-card>p{grid-column:1/-1;margin:0;font-size:7.5px;line-height:1.4;color:#8a5b32}
@media(max-width:760px){.icf-offer-card{grid-template-columns:1fr}.icf-offer-price{text-align:left}.icf-offers-cta{min-height:48px}}

/* v1.8.0 · Imágenes realistas IA */

/* v1.8.1 · Presentación comercial sin servicio IA */
.icf-presentation-card{margin:12px 0;border:1px solid #d9d2ca;border-radius:14px;background:linear-gradient(135deg,#fff 0,#fbf7f5 100%);padding:13px;box-shadow:0 8px 24px rgba(50,38,34,.05)}
.icf-presentation-card>div{display:flex;flex-direction:column;gap:3px}.icf-presentation-card span{font-size:8px;font-weight:900;letter-spacing:.12em;color:var(--icf-red)}.icf-presentation-card strong{font-size:12px}.icf-presentation-card p{margin:2px 0 0;font-size:9px;line-height:1.5;color:#746d66}

/* v1.8.7 · Biblioteca de proyectos por usuario */
/* v1.9.0 · armarios lineales / L / U */
.icf-layout-options{margin-bottom:18px}.icf-run-section{border:1px solid #ded7ce;border-radius:14px;padding:12px;margin:0 0 14px;background:#fff}.icf-run-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.icf-run-head span{display:block;font-size:9px;letter-spacing:.12em;color:#8e314b;font-weight:800}.icf-run-head h3{margin:2px 0 0;font-size:15px}.icf-run-head>b{font-size:12px;color:#5e5953;background:#f6f2ed;border:1px solid #e5ddd3;border-radius:9px;padding:6px 8px}.icf-run-section .icf-modulewidths{margin-top:10px}.icf-run-section .icf-linkbtn{margin-top:8px}

/* v1.9.5 · Tablet: navegación de pasos siempre accesible y viewport dinámico */
@media (pointer:coarse) and (max-width:1400px){
  .icf-root{min-height:100dvh;height:100dvh;overflow:hidden}
  .icf-app{height:100dvh;min-height:0;max-height:100dvh;overflow:hidden}
  .icf-main{min-height:0;overflow:hidden}
  .icf-sidebar{min-height:0!important;height:100%;max-height:100%;overflow:hidden}
  .icf-step-panel{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:24px}
  .icf-nav{position:relative;bottom:auto;z-index:25;flex:0 0 auto;min-height:66px;padding-bottom:calc(12px + env(safe-area-inset-bottom));box-shadow:0 -8px 18px rgba(44,38,32,.06)}
  .icf-nav .icf-btn{min-height:46px;touch-action:manipulation}
}
@media (pointer:coarse) and (max-width:1120px){
  .icf-app{height:100dvh!important;min-height:0!important}
  .icf-main{height:auto;flex:1;min-height:0}
  .icf-stage,.icf-sidebar{min-height:0!important}
}

/* v1.9.6 · Altillo no disponible por debajo de 1950 mm */
.icf-switchrow.disabled{opacity:.58}.icf-switchrow.disabled .icf-switch span{cursor:not-allowed;background:#d8d3cd}.icf-switchrow.disabled small{color:#8e3148;font-weight:700}

/* v2.0.5 · opción visible de puertas independientes de altillo */
.icf-front-altillo-option{margin:4px 0 12px;padding:11px 10px;border:1px solid #ded7cf;border-radius:11px;background:#faf8f5}.icf-front-altillo-option>div{padding-right:10px}.icf-front-altillo-option strong{font-size:10px}.icf-front-altillo-option small{font-size:8px;line-height:1.45}


/* v2.0.11 · fix cajoneras vistas sin hueco libre */
.icf-handle-config{margin-top:13px;padding-top:12px;border-top:1px solid #ebe6df}.icf-handle-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.icf-handle-title span{font-size:8px;letter-spacing:.11em;font-weight:900;color:var(--icf-red)}.icf-handle-title strong{font-size:10px}.icf-handle-type{margin-bottom:10px}.icf-handle-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:9px 0}.icf-handle-grid label{font-size:9px;font-weight:800;color:#625e58}.icf-handle-grid input{width:100%;height:36px;margin-top:5px;border:1px solid #d8d2ca;border-radius:9px;background:#fff;padding:0 9px;font-weight:750}.icf-handle-grid span{display:block;margin-top:3px;font-size:7px;color:#9a938b;font-weight:500}.icf-handle-finish-label{font-size:8px;font-weight:900;color:#655f58;margin:10px 0 6px}.icf-handle-finishes{grid-template-columns:repeat(3,1fr)}.icf-handle-finishes button{display:flex;align-items:center;justify-content:center;gap:5px;font-size:9px}.icf-handle-swatch{width:12px;height:12px;border-radius:50%;border:1px solid rgba(0,0,0,.12);display:inline-block;flex:0 0 auto}.icf-handle-swatch.stainless{background:linear-gradient(135deg,#cfd4da,#f3f5f7,#d9dde2)}.icf-handle-swatch.black{background:#242629}.icf-handle-swatch.brass{background:linear-gradient(135deg,#b78f00,#e0b900,#d2a900)}.icf-handle-safe{display:block;margin-top:7px;font-size:8px;line-height:1.45;color:#857e76}.icf-segment button.active .icf-handle-swatch{border-color:rgba(255,255,255,.55)}

/* IRISAL público: capa de solicitud, aislada del motor 3D. */
.icf-upload{display:block;margin:14px 0;padding:12px;border:1px dashed #cfc4b9;border-radius:12px;background:#fbfaf8;font-size:10px;font-weight:800;color:#57524d}.icf-upload span{display:flex;justify-content:space-between;gap:10px;align-items:center}.icf-upload small{font-weight:500;color:#8d857d}.icf-upload input{display:block;width:100%;margin-top:9px;font-size:10px}.icf-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.icf-turnstile{margin:12px 0;min-height:1px}.icf-data-note{margin:8px 0;background:transparent;border:0;padding:0;color:#8a837c}
@media(max-width:760px){.icf-upload span{display:block}.icf-upload small{display:block;margin-top:3px}}
/* v2.1.0 · módulos mixtos, frentes parciales y nichos personalizados */
.icf-front-composition{margin:0 0 14px;padding:12px;border:1px solid #e2dcd4;border-radius:13px;background:#fff}
.icf-front-module-tabs{margin:10px 0}.icf-front-mode{margin:8px 0 10px}
.icf-front-zone{border:1px solid #e5dfd8;border-radius:11px;padding:9px;margin:8px 0;background:#fbfaf8}
.icf-front-zone.open{background:#f5f9f7}.icf-front-zone.hinged{background:#fbf6f7}.icf-front-zone.drawer{background:#faf7ef}.icf-front-zone.fixed{background:#f4f2ef}
.icf-zone-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:7px}.icf-zone-head strong{font-size:10px}.icf-zone-head small{display:block;font-size:7px;color:#8d867e;margin-top:2px}.icf-zone-head b{font-size:8px;color:#8e3148;white-space:nowrap}
.icf-zone-types{display:grid;grid-template-columns:1fr 1fr;gap:5px}.icf-zone-types button,.icf-zone-door-count button{border:1px solid #d9d2ca;background:#fff;border-radius:8px;min-height:31px;font-size:8px;font-weight:800}.icf-zone-types button.active,.icf-zone-door-count button.active{background:#202222;color:#fff;border-color:#202222}
.icf-zone-fixed-type{font-size:8px;font-weight:800;color:#6d675f;padding:6px 0}.icf-zone-door-count{display:flex;align-items:center;gap:5px;margin-top:7px}.icf-zone-door-count span{font-size:8px;font-weight:800;margin-right:auto}.icf-zone-door-count button{min-width:34px;padding:0 8px}
.icf-zone-niche{display:block;margin-top:8px;font-size:8px;font-weight:800;color:#625d56}.icf-zone-niche select{width:100%;height:34px;margin-top:4px;border:1px solid #d9d2ca;border-radius:8px;background:#fff;padding:0 7px;font-size:8px}.icf-zone-niche small{display:block;margin-top:3px;font-size:7px;font-weight:500;color:#8c857c}
@media(max-width:720px){.icf-front-composition{padding:9px}.icf-zone-head{flex-direction:column}.icf-zone-types{grid-template-columns:1fr}}
.icf-front-summary{margin:10px 0;padding:10px 12px;border:1px solid #e4ddd5;border-radius:11px;background:#fbfaf8;display:grid;gap:6px}.icf-front-summary>strong{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--icf-red)}.icf-front-summary>div{display:grid;grid-template-columns:34px 1fr;gap:7px;align-items:start;font-size:9px}.icf-front-summary>div b{color:#332f2c}.icf-front-summary>div span{color:#6f675f;line-height:1.4}


/* IRISAL público v1.2.1 · ajuste visual final y nomenclatura comercial */
.icf-header{grid-template-columns:minmax(390px,470px) minmax(520px,1fr)}
.icf-brand{min-width:0}.icap-brand-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.icap-brand-copy>strong{font-size:10px;letter-spacing:.11em;line-height:1.2;white-space:normal}.icap-brand-copy>small{font-size:7px;line-height:1.25;color:#7a746e;font-weight:600}.icap-brand-contact{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:8px;line-height:1.2}.icap-brand-contact a{color:#5d5752;text-decoration:none;font-weight:800}.icap-brand-contact a:hover,.icap-brand-contact a:focus{color:var(--icf-red);text-decoration:underline}.icap-brand-contact i{font-style:normal;color:#b5ada5}
.icap-legal-short{flex:0 0 auto;padding:9px 14px 10px;text-align:center;color:var(--icf-red);font-size:15px;line-height:1.3;font-weight:800;letter-spacing:.01em;background:#fff;border-top:1px solid #eee8e1}
.icap-legal-full{margin:12px 0 4px;padding:11px 12px;border:1px solid rgba(142,49,72,.22);border-radius:10px;background:#fff8f9;color:var(--icf-red);font-size:8px;line-height:1.55}.icap-legal-full strong{display:block;margin-bottom:2px;font-size:8px}
@media(max-width:1240px){.icf-header{grid-template-columns:minmax(320px,390px) minmax(440px,1fr)}.icap-brand-copy>small{display:none}.icap-brand-contact{font-size:7px}}
@media(max-width:900px){.icf-header{grid-template-columns:1fr}.icap-brand-contact{gap:4px}.icap-brand-copy>strong{font-size:9px}.icap-legal-short{font-size:13px;padding:8px 9px}}
@media(max-width:520px){.icap-brand-contact i{display:none}.icap-brand-contact{display:grid;grid-template-columns:1fr 1fr;gap:2px 8px}.icap-brand-contact a:first-child{grid-column:1/-1}.icap-legal-short{font-size:12px;padding:8px 7px}}

/* ========================================================================== */
/* IRISAL público v1.3.3 · accesibilidad móvil real                           */
/* Vertical: orientación guiada. Horizontal: configuración izquierda + 3D derecha. */
/* Replica la lógica usable de tablet sin degradar escritorio.                 */
/* ========================================================================== */
.icf-root .icap-mobile-orientation,.icf-root .icap-mobile-head-actions,.icf-root .icap-mobile-backdrop,.icf-root .icap-mobile-drawer-head{display:none}
.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Móvil vertical: no se intenta comprimir el configurador completo. */
@media (max-width:767px) and (orientation:portrait){
  html.icap-configurator-phone-portrait,body.icap-configurator-phone-portrait{overflow:hidden!important;overscroll-behavior:none}
  .icf-root{height:100dvh;min-height:100dvh;overflow:hidden;background:#f4f0ea}
  .icf-root .icf-app{visibility:hidden;pointer-events:none;height:100dvh!important;min-height:100dvh!important;overflow:hidden!important}
  .icf-root .icap-mobile-orientation{display:grid;position:fixed;inset:0;z-index:2147483000;place-items:center;padding:calc(22px + env(safe-area-inset-top)) calc(18px + env(safe-area-inset-right)) calc(22px + env(safe-area-inset-bottom)) calc(18px + env(safe-area-inset-left));background:radial-gradient(circle at 50% 22%,#fff 0,#f7f2ec 42%,#ede5dc 100%);overflow:hidden;color:var(--icf-ink)}
  .icf-root .icap-mobile-orientation-card{width:min(100%,420px);display:flex;flex-direction:column;align-items:center;text-align:center;padding:28px 22px;border:1px solid #ded6cc;border-radius:24px;background:rgba(255,253,250,.96);box-shadow:0 22px 60px rgba(51,41,34,.15)}
  .icf-root .icap-mobile-orientation-logo{width:112px;height:auto;max-height:44px;object-fit:contain;margin-bottom:18px}
  .icf-root .icap-mobile-rotate-icon{width:92px;height:76px;color:var(--icf-red);margin:0 auto 10px;transform-origin:50% 50%;animation:icap-phone-rotate 2.3s ease-in-out infinite}
  .icf-root .icap-mobile-rotate-icon svg{display:block;width:100%;height:100%}
  .icf-root .icap-mobile-orientation-kicker{font-size:10px;line-height:1.3;font-weight:850;letter-spacing:.13em;color:var(--icf-red);margin:3px 0 8px}
  .icf-root .icap-mobile-orientation h1{font-size:clamp(25px,8vw,34px);line-height:1.05;letter-spacing:-.03em;margin:0 0 12px;color:#23211f}
  .icf-root .icap-mobile-orientation p{max-width:330px;margin:0;font-size:16px;line-height:1.5;color:#5f5952}
  .icf-root .icap-mobile-orientation small{display:block;max-width:320px;margin-top:14px;font-size:13px;line-height:1.45;color:#857d75}
  @keyframes icap-phone-rotate{0%,24%{transform:rotate(0deg)}55%,78%{transform:rotate(90deg)}100%{transform:rotate(0deg)}}
  @media (prefers-reduced-motion:reduce){.icf-root .icap-mobile-rotate-icon{animation:none;transform:rotate(90deg)}}
}

/* Smartphones en horizontal: misma arquitectura útil que tablet.
   Configuración siempre visible a la izquierda; visor/armario a la derecha.
   El único scroll vertical es el panel de configuración. */
@media (max-width:950px) and (max-height:520px) and (orientation:landscape){
  :root{--icap-mobile-header-h:50px}
  html.icap-configurator-phone-landscape,body.icap-configurator-phone-landscape{width:100%;height:100%;overflow:hidden!important;overscroll-behavior:none;background:#eeeae4}
  .icf-root{width:100%;height:100dvh;min-height:100dvh;overflow:hidden;background:#eeeae4}
  .icf-app{height:100dvh!important;min-height:0!important;max-height:100dvh!important;overflow:hidden!important;display:flex;flex-direction:column}
  .icf-header{position:relative!important;top:auto!important;flex:0 0 var(--icap-mobile-header-h);height:var(--icap-mobile-header-h)!important;min-height:var(--icap-mobile-header-h);display:grid!important;grid-template-columns:58px minmax(210px,1fr) auto!important;align-items:center;gap:5px;padding:3px calc(6px + env(safe-area-inset-right)) 3px calc(6px + env(safe-area-inset-left));border-bottom:1px solid #ddd7cf;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);z-index:1100}
  .icf-brand{min-width:0;gap:0}.icf-brand img{width:56px;max-height:28px}.icap-brand-copy{display:none!important}
  .icf-steps{min-width:0;display:grid;grid-template-columns:repeat(6,minmax(32px,38px));justify-content:center;gap:2px;overflow:hidden}
  .icf-steps button{width:100%;height:44px;min-height:44px;padding:0;justify-content:center;border-radius:10px;touch-action:manipulation}
  .icf-steps button b{width:29px;height:29px;font-size:11px}.icf-steps button span{display:none!important}
  .icf-root .icap-mobile-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0}
  .icf-root .icap-mobile-head-actions [data-mobile-config]{display:none!important}
  .icf-root .icap-mobile-head-actions [data-mobile-inspector]{display:inline-flex;align-items:center;justify-content:center;min-width:76px;height:44px;min-height:44px;border:1px solid #d8d1c9;border-radius:10px;background:#fff;color:#3d3935;padding:0 8px;font-size:10px;line-height:1;font-weight:850;touch-action:manipulation}
  .icf-root.icap-inspector-open .icap-mobile-head-actions [data-mobile-inspector]{border-color:var(--icf-red);box-shadow:0 0 0 2px rgba(127,51,69,.14)}

  .icf-main{position:relative;flex:1;min-height:0!important;height:auto!important;display:grid!important;grid-template-columns:clamp(248px,36vw,330px) minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important;gap:6px!important;padding:4px calc(4px + env(safe-area-inset-right)) calc(4px + env(safe-area-inset-bottom)) calc(4px + env(safe-area-inset-left));overflow:hidden!important}

  .icf-sidebar{display:flex!important;position:relative!important;z-index:2;grid-column:1!important;grid-row:1!important;width:auto!important;height:100%!important;min-width:0!important;min-height:0!important;max-height:100%!important;border-radius:11px!important;transform:none!important;transition:none!important;overflow:hidden!important;visibility:visible!important;box-shadow:0 8px 24px rgba(44,38,30,.08)!important;background:var(--icf-panel)}
  .icf-root .icap-mobile-drawer-head{display:none!important}
  .icf-step-panel{flex:1 1 auto!important;min-height:0!important;height:auto!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior-y:contain!important;-webkit-overflow-scrolling:touch;touch-action:pan-y!important;scrollbar-width:thin;scrollbar-gutter:stable;padding:12px 12px 20px!important}
  .icf-step-panel h2{font-size:19px;line-height:1.08}.icf-step-panel h3{font-size:12px;margin:16px 0 8px}.icf-lead{font-size:11px;line-height:1.4;margin-bottom:13px}
  .icf-option{min-height:54px;padding:10px 11px}.icf-option strong{font-size:13px}.icf-option small{font-size:10px}.icf-check{width:23px;height:23px}
  .icf-formgrid{grid-template-columns:1fr!important;gap:8px}.icf-formgrid label,.icf-widefield,.icf-ins-field{font-size:11px}
  .icf-formgrid input,.icf-widefield input,.icf-ins-field input,.icf-ins-field select,.icf-formgrid select,.icf-step-panel textarea,.icf-step-panel select{font-size:16px!important;min-height:44px}
  /* v1.3.3 · En teléfono horizontal los campos de medidas ocupan solo el 50% del ancho del panel. */
  .icf-formgrid label span{float:none!important;margin-left:4px}
  .icf-formgrid input{width:50%!important;max-width:50%!important;min-width:0!important;box-sizing:border-box}
  .icf-segment button,.icf-count button,.icf-module-openings button,.icf-module-door-counts button,.icf-zone-types button,.icf-zone-door-count button,.icf-material-families button{min-height:44px!important;font-size:11px}
  .icf-catalog>button,.icf-list button,.icf-material-card{min-height:50px}
  .icf-offers-cta,.icf-presentation-card{display:none!important}
  .icf-nav{flex:0 0 auto!important;min-height:56px;padding:6px 7px calc(6px + env(safe-area-inset-bottom));gap:6px;box-shadow:0 -7px 18px rgba(44,38,32,.06);background:#fff;z-index:4}
  .icf-nav .icf-btn{height:44px;min-height:44px;font-size:11px}

  .icf-stage{display:flex!important;position:relative!important;z-index:1;grid-column:2!important;grid-row:1!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-height:100%!important;border-radius:11px;overflow:hidden!important;box-shadow:0 8px 24px rgba(44,38,30,.08)}
  .icf-toolbar{flex:0 0 52px;height:52px;min-height:52px;display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:4px 6px;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:thin;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;white-space:nowrap}
  .icf-toolgroup{display:flex;flex:0 0 auto;gap:4px}
  .icf-toolbar button{height:44px;min-height:44px;min-width:44px;padding:0 10px;font-size:10px;border-radius:9px;touch-action:manipulation;white-space:nowrap}
  .icf-viewer-wrap{flex:1!important;min-height:0!important;height:auto!important;background:#e7e1db;overflow:hidden!important}
  .icf-viewer,.icf-technical{inset:0}.icf-viewer canvas{width:100%!important;height:100%!important;touch-action:none!important;overscroll-behavior:none}
  .icf-technical.show{padding:4px}.icf-technical svg{max-width:100%;max-height:100%}
  .icf-measure{font-size:9px;padding:3px 7px}.icf-measure-w{top:8px}.icf-measure-h{right:7px}.icf-canvas-hint,.icf-status{display:none!important}
  .icap-legal-short{display:none!important}

  .icf-inspector{display:block!important;position:fixed!important;z-index:2250;right:0;top:var(--icap-mobile-header-h);bottom:0;width:min(360px,70vw);height:auto!important;min-height:0!important;max-height:none!important;padding:22px 16px calc(18px + env(safe-area-inset-bottom));overflow-y:auto!important;overscroll-behavior:contain;border-radius:14px 0 0 14px;transform:translate3d(105%,0,0);transition:transform .22s ease;box-shadow:-18px 0 46px rgba(35,30,26,.22);visibility:hidden;background:var(--icf-panel)}
  .icf-root.icap-inspector-open .icf-inspector{transform:translate3d(0,0,0);visibility:visible}
  .icf-inspector input,.icf-inspector select{font-size:16px!important;min-height:44px}.icf-ins-row button,.icf-ins-wide{min-height:44px;font-size:11px}

  .icf-root .icap-mobile-backdrop{display:block;position:fixed;z-index:2100;inset:var(--icap-mobile-header-h) 0 0;border:0;background:rgba(24,21,18,.34);opacity:0;pointer-events:none;transition:opacity .18s}
  .icf-root.icap-inspector-open .icap-mobile-backdrop{opacity:1;pointer-events:auto}
}

/* Teléfonos compactos: el panel izquierdo no baja de un ancho utilizable. */
@media (max-width:667px) and (max-height:430px) and (orientation:landscape){
  .icf-header{grid-template-columns:50px minmax(192px,1fr) auto!important;gap:3px;padding-left:calc(3px + env(safe-area-inset-left));padding-right:calc(3px + env(safe-area-inset-right))}
  .icf-brand img{width:48px}.icf-steps{grid-template-columns:repeat(6,minmax(30px,34px));gap:1px}.icf-steps button{height:42px;min-height:42px}.icf-steps button b{width:27px;height:27px;font-size:10px}
  .icf-root .icap-mobile-head-actions [data-mobile-inspector]{min-width:66px;padding:0 6px;font-size:9px}
  .icf-main{grid-template-columns:clamp(238px,42vw,270px) minmax(0,1fr)!important;gap:4px!important}
  .icf-toolbar button{padding-inline:8px}
}

/* Tablet: conserva el configurador completo; no aplica el bloqueo de orientación. */
@media (min-width:768px) and (max-width:1120px) and (min-height:521px){
  .icf-root .icap-mobile-orientation,.icf-root .icap-mobile-head-actions,.icf-root .icap-mobile-backdrop,.icf-root .icap-mobile-drawer-head{display:none!important}
}

/* Tablet 768–1120: el sidebar se conserva y el inspector vuelve a estar disponible como drawer. */
@media (min-width:768px) and (max-width:1120px) and (min-height:521px){
  .icf-header{height:78px!important;min-height:78px;grid-template-columns:180px minmax(0,1fr) auto!important;gap:8px;padding:0 12px}
  .icf-brand{min-width:0}.icf-brand img{width:78px}.icap-brand-copy>strong{font-size:9px}.icap-brand-copy>small,.icap-brand-contact{display:none!important}
  .icf-steps{min-width:0;grid-template-columns:repeat(6,minmax(42px,1fr));gap:3px}.icf-steps button{min-width:0;padding:0 5px;justify-content:center}.icf-steps button span{display:none!important}
  .icf-root .icap-mobile-head-actions{display:flex!important;align-items:center}.icf-root .icap-mobile-head-actions [data-mobile-config]{display:none!important}.icf-root .icap-mobile-head-actions [data-mobile-inspector]{display:inline-flex;align-items:center;justify-content:center;height:44px;min-height:44px;min-width:82px;border:1px solid #d8d1c9;border-radius:10px;background:#fff;color:#3d3935;padding:0 10px;font-size:10px;font-weight:850}
  .icf-root.icap-inspector-open .icap-mobile-head-actions [data-mobile-inspector]{border-color:var(--icf-red);box-shadow:0 0 0 2px rgba(127,51,69,.12)}
  .icf-inspector{display:block!important;position:fixed!important;z-index:2250;right:0;top:78px;bottom:0;width:min(380px,52vw);height:auto!important;min-height:0!important;max-height:none!important;padding:22px 18px calc(22px + env(safe-area-inset-bottom));overflow-y:auto!important;overscroll-behavior:contain;border-radius:14px 0 0 14px;transform:translate3d(105%,0,0);transition:transform .22s ease;box-shadow:-18px 0 46px rgba(35,30,26,.22);visibility:hidden;background:var(--icf-panel)}
  .icf-root.icap-inspector-open .icf-inspector{transform:translate3d(0,0,0);visibility:visible}
  .icf-inspector input,.icf-inspector select{font-size:16px!important;min-height:44px}.icf-ins-row button,.icf-ins-wide{min-height:44px}
  .icf-root .icap-mobile-backdrop{display:block;position:fixed;z-index:2100;inset:78px 0 0;border:0;background:rgba(24,21,18,.30);opacity:0;pointer-events:none;transition:opacity .18s}
  .icf-root.icap-inspector-open .icap-mobile-backdrop{opacity:1;pointer-events:auto}
}

@media (max-width: 1024px){.icf-module-width-row{grid-template-columns:minmax(0,92px) auto;gap:6px}.icf-module-width-head strong{font-size:10px}}
@media (max-width: 640px){.icf-module-width-block{padding:7px 8px}.icf-module-width-row{grid-template-columns:minmax(0,78px) auto;gap:5px}.icf-module-width-row span{font-size:8px}}

/* v1.3.5 · selector de acabado espejo */
.icf-material-types{grid-template-columns:repeat(4,minmax(0,1fr))}
.icf-front-panel-row>strong{font-size:9px;color:#4f5b60;background:linear-gradient(135deg,#eef4f6,#b8c8ce 48%,#f8fbfc);border:1px solid #c8d4d8;border-radius:8px;padding:8px 10px;text-align:center}
