[hidden]{display:none!important}.brand-logo{width:154px;max-height:58px;object-fit:contain}.stage-brand .brand-logo{width:140px;max-height:64px}.backoffice-link{font-size:13px;color:#42503c;text-decoration:none;border-bottom:1px solid #a1ad98;padding:8px 0}.image-missing{display:grid;place-items:center;text-align:center;font-size:12px;color:#6b7068;padding:12px}.stage-brand{background:#162018df;border:1px solid #ffffff24;border-radius:4px;padding:10px 14px}.presentation .stage-brand{display:flex;flex-direction:column;align-items:flex-start;gap:5px;top:max(14px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left))}.stage-wordmark{font-size:20px}.stage-caption{font-size:11px;letter-spacing:.06em;margin:0;color:#d3dccd}.presentation .floorplan-wrap{position:absolute;inset:0;height:100%;width:100%;padding:0;background:#151916}.presentation .floorplan{display:block;width:100%;height:100%;max-height:none;aspect-ratio:auto;touch-action:none;user-select:none;animation:none}.presentation .floorplan .pin{r:34px}.presentation .floorplan .pin-number{font-size:30px}.presentation .stage-help{width:auto;max-width:70%;font-size:12px;bottom:87px;background:#152017d9;padding:5px 10px;border-radius:3px;color:#eee}.presentation .area-navigation{bottom:max(14px,env(safe-area-inset-bottom));padding:5px;gap:5px;width:min(620px,calc(100% - 28px))}.presentation .area-button{min-height:44px;font-size:13px;padding:7px}.area-button>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-controls{display:none}.presentation .map-controls{display:flex;gap:4px;position:fixed;right:max(14px,env(safe-area-inset-right));bottom:90px;z-index:20}.map-controls button{border:1px solid #ffffff40;border-radius:4px;background:#162018ef;color:#fff;min-height:44px;min-width:44px;padding:8px 12px;font-size:13px}.map-controls [data-zoom]{font-size:20px}.presentation .stage-exit{top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right))}.product-button,.presentation .mobile-dialog .product-button{grid-template-columns:76px minmax(0,1fr);gap:12px;padding:10px 0}.product-name{font-size:14px;margin-bottom:3px}.product-price{font-size:16px}.product-unit{margin-top:2px}.product-info .article-ref{margin-bottom:4px}.product-more{font-size:12px;margin-top:4px}.detail-image,.mobile-dialog .detail-image,.presentation .mobile-dialog .detail-image{height:108px}.detail-title .big-number{font-size:36px}.detail-title h2{font-size:23px}.detail-title p{font-size:12px}.detail-body,.mobile-dialog .detail-body{padding:13px 18px 0}.section-heading{margin-bottom:8px}.section-heading h3{font-size:14px}.demo-notice{padding:7px 9px;font-size:12px;line-height:1.4}.detail-footer{padding:10px 18px}.side-panel{min-height:470px}.product-dialog{width:min(1100px,calc(100vw - 32px));max-height:94dvh}.product-sheet{grid-template-columns:40% 60%;min-height:0}.product-visual{padding:54px 25px 25px}.piece-info{padding:48px 27px 20px}.piece-info h2{font-size:27px;margin-bottom:7px}.piece-info .eyebrow{font-size:12px;margin-bottom:7px}.piece-ref{font-size:12px;margin-bottom:12px}.piece-price{font-size:22px;margin-bottom:13px}.piece-description{font-size:13px;line-height:1.5;margin-bottom:13px;white-space:pre-line}.spec-row{padding:8px 0;gap:12px;grid-template-columns:85px minmax(0,1fr)}.spec-row dt,.spec-row dd{font-size:13px;line-height:1.45;white-space:pre-line}.piece-demo{font-size:12px;line-height:1.4;padding:8px 10px;margin:12px 0}.piece-navigation{margin-top:13px}.piece-counter{font-size:12px;letter-spacing:.02em;top:20px;left:20px}.presentation .mobile-dialog{width:390px}.piece-info,.product-info,.detail-title{overflow-wrap:anywhere}
.editing{background:#f2f4f0;overflow:auto}.editing>.topbar,.editing>main,.editing>.stage-brand,.editing>.stage-exit,.editing>.stage-help,.editing>.map-controls{display:none!important}#backoffice{font-family:var(--sans,Arial,sans-serif);color:#253024;min-height:100dvh}.editor-header{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:15px 28px;background:#202b23;color:#fff;box-shadow:0 2px 12px #0002}.editor-brand{font-size:17px;letter-spacing:.14em}.editor-brand small{font-size:12px;letter-spacing:.02em;color:#cad1c7;display:block;margin-top:5px}.editor-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.editor-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 15px;border:1px solid #c7cec2;border-radius:4px;font:500 14px inherit;font-size:14px;color:#344130;background:#fff;text-decoration:none;cursor:pointer;gap:6px}.editor-button.primary{background:#afc59d;color:#172314;border-color:#afc59d;font-weight:600}.editor-button.quiet{background:transparent;color:inherit;border-color:#ffffff50}.editor-button.danger{color:#934334;border-color:#d3b2a7;background:#fff}.editor-button:disabled{opacity:.5;cursor:wait}.editor-layout{display:grid;grid-template-columns:235px minmax(0,1fr);max-width:1400px;margin:0 auto;min-height:calc(100dvh - 78px)}.editor-sidebar{border-right:1px solid #d8dfd2;padding:26px 18px;position:sticky;top:77px;height:calc(100dvh - 77px);overflow:auto}.editor-sidebar p{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#6d7966;margin:8px 12px 12px}.editor-tab{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:0;background:transparent;border-radius:4px;padding:13px 12px;min-height:45px;font-size:14px;color:#46523d;margin-bottom:5px;cursor:pointer}.editor-tab[aria-current=true]{background:#e1e8da;color:#1c3013;font-weight:600}.editor-tab .tab-dot{width:8px;height:8px;border-radius:50%;flex:none}.editor-sidebar .editor-link{display:block;font-size:13px;padding:14px 12px;color:#65735c}.editor-content{padding:30px 38px 60px;min-width:0}.editor-content h1{font:400 30px var(--serif,Georgia,serif);margin:0 0 8px}.editor-content h2{font-size:17px;font-weight:600;margin:0 0 16px}.editor-intro{font-size:14px;line-height:1.5;color:#63705b;margin:0 0 24px}.editor-card{padding:23px;background:#fff;border:1px solid #d7decf;border-radius:6px;margin-bottom:18px}.editor-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.editor-field{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:500;color:#44503b;min-width:0}.editor-field.full{grid-column:1/-1}.editor-field input,.editor-field textarea{width:100%;background:#fbfcfa;color:#253024;border:1px solid #bdc8b4;border-radius:4px;padding:10px 12px;min-height:43px;font:400 16px/1.45 system-ui;resize:vertical}.editor-field input:focus,.editor-field textarea:focus{outline:2px solid #688454;outline-offset:1px}.editor-field small,.editor-help{font-size:12px;line-height:1.5;font-weight:400;color:#6b7763}.editor-status{padding:11px 28px;background:#e4eade;color:#34472b;font-size:13px;border-bottom:1px solid #cbd7bf;min-height:40px}.editor-status[data-error=true]{background:#fff0e9;color:#8e3920;border-color:#dfb2a0}.editor-upload{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:18px}.editor-preview{display:grid;place-items:center;width:164px;height:145px;background:repeating-conic-gradient(#e5e9e1 0 25%,#f6f8f2 0 50%) 50%/18px 18px;border:1px solid #dce1d6;border-radius:4px;overflow:hidden}.editor-preview img,.editor-preview svg{width:100%;height:100%;object-fit:contain}.editor-preview .product-image{aspect-ratio:auto;mix-blend-mode:multiply}.editor-upload-controls{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.editor-upload input{max-width:100%;font-size:13px}.editor-toggle{display:flex;align-items:flex-start;gap:11px;font-size:14px;line-height:1.5}.editor-toggle input{width:20px;height:20px;accent-color:#526d43;flex:none}.editor-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:28px 0 15px}.editor-toolbar h2{margin:0}.editor-piece{background:#fff;border:1px solid #d3dccb;border-radius:5px;margin-bottom:12px}.editor-piece summary{display:flex;align-items:center;gap:13px;padding:12px 17px;cursor:pointer;min-height:74px}.editor-piece summary::after{content:'+';margin-left:auto;font-size:22px;font-weight:300;color:#587247}.editor-piece[open] summary::after{content:'−'}.editor-piece summary .product-image{width:54px;height:54px;flex:none}.editor-piece-title{font-size:15px;font-weight:600;min-width:0;overflow-wrap:anywhere}.editor-piece-title small{display:block;font-size:12px;font-weight:400;color:#72806a;margin-top:4px}.editor-piece-body{padding:22px;border-top:1px solid #dde3d8}.editor-piece-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px;flex-wrap:wrap}.editor-count{font-size:13px;color:#64725b}.editor-empty{padding:28px;text-align:center;border:1px dashed #b6c5a9;border-radius:5px;color:#64745a;font-size:14px}.editor-form-note{padding:14px 18px;background:#e8eedf;border-radius:4px;color:#47593a;font-size:13px;line-height:1.6}.editor-content .editor-button:focus-visible,.editor-tab:focus-visible{outline:2px solid #627e4f;outline-offset:3px}#backoffice fieldset{border:0;padding:0;margin:0;min-width:0}#backoffice fieldset:disabled{opacity:.65;pointer-events:none}
@media(max-width:900px){.editor-layout{grid-template-columns:190px minmax(0,1fr)}.editor-content{padding:25px 22px 50px}.editor-header{padding:14px 20px}.editor-status{padding:10px 20px}.editor-sidebar{padding:20px 10px}.product-sheet{grid-template-columns:37% 63%}.piece-info{padding:47px 21px 18px}.product-visual{padding:48px 16px 23px}.product-visual .product-image{max-width:320px}.presentation .stage-help{display:none}.presentation .map-controls{bottom:83px}}
@media(max-width:650px){.editor-header{padding:13px 15px;align-items:flex-start}.editor-brand{font-size:14px;letter-spacing:.07em}.editor-actions{justify-content:flex-end;gap:6px}.editor-actions .editor-button{font-size:12px;padding:8px 10px}.editor-layout{display:block}.editor-sidebar{display:flex;align-items:center;gap:4px;padding:9px 12px;position:sticky;top:75px;height:auto;overflow-x:auto;background:#f0f3ec;z-index:30;border-bottom:1px solid #cfdac5}.editor-sidebar p,.editor-sidebar .editor-link{display:none}.editor-tab{width:auto;flex:none;white-space:nowrap;font-size:13px;margin:0;padding:9px 11px}.editor-content{padding:22px 15px 45px}.editor-content h1{font-size:27px}.editor-card,.editor-piece-body{padding:17px}.editor-fields{grid-template-columns:1fr;gap:14px}.editor-field.full{grid-column:auto}.editor-upload{gap:16px}.editor-preview{width:125px;height:110px}.editor-upload-controls{max-width:100%}.editor-status{padding:10px 15px}.editor-toolbar{flex-wrap:wrap}.product-sheet{display:block}.product-visual{height:155px;padding:25px 20px 10px}.product-visual .product-image{max-width:140px;max-height:135px}.piece-counter{left:13px;top:12px;font-size:11px;max-width:95px}.image-caption{position:absolute;bottom:6px;left:12px;font-size:11px}.piece-info{padding:18px 20px 17px}.piece-info h2{font-size:24px}.piece-info .eyebrow{margin-bottom:5px}.piece-ref{margin-bottom:9px}.piece-price{font-size:20px;margin-bottom:10px}.piece-description{font-size:13px}.product-dialog{width:calc(100vw - 14px)}.product-button{grid-template-columns:70px minmax(0,1fr);padding:9px 0}.presentation .mobile-dialog{width:100%;max-height:93dvh}.presentation .floorplan .pin{r:35px}.presentation .floorplan .pin-number{font-size:30px}.stage-brand .brand-logo{width:100px;max-height:45px}.stage-wordmark{font-size:17px}.stage-caption{font-size:10px}.presentation .area-button{font-size:12px;gap:4px}.map-controls button{min-height:42px}.heading-actions{flex-wrap:wrap}}
@media(max-height:520px){.presentation .stage-brand{padding:5px 9px}.stage-caption{display:none}.presentation .map-controls{bottom:75px}.product-visual{min-height:0}.piece-info{padding-top:45px}}

/* The plan uses borderless colour shading; keyboard focus also changes the fill. */
.floorplan .zone .surface{stroke:none!important;stroke-width:0!important;fill-opacity:.12;transition:fill-opacity .2s ease}
.floorplan .zone:hover .surface{fill-opacity:.22}
.floorplan .zone[aria-pressed="true"] .surface{fill-opacity:.28}
.floorplan .zone:focus-visible .surface{fill-opacity:.36}
.editor-field input[type="color"]{width:100%;max-width:240px;height:48px;padding:5px;cursor:pointer}
/* Public catalogue palette; backoffice keeps its own readable controls. */
body:not(.editing) .topbar,body:not(.editing) .side-panel,body:not(.editing) .mobile-dialog,body:not(.editing) .product-dialog,body:not(.editing) .piece-info,body:not(.editing) .piece-navigation{background:var(--surface);color:var(--ink)}
body:not(.editing) .content-note,body:not(.editing) .product-visual{background:var(--paper);color:var(--muted)}
body:not(.editing) .floorplan-wrap,body:not(.editing) .area-navigation,body:not(.editing) .plan-card{background:var(--dark)}
body:not(.editing) .piece-description,body:not(.editing) .spec-row,body:not(.editing) .product-name,body:not(.editing) .piece-info h2,body:not(.editing) .piece-price{color:var(--ink)}
body:not(.editing) .product-reference,body:not(.editing) .product-more,body:not(.editing) .image-caption,body:not(.editing) .piece-reference,body:not(.editing) .spec-row dt{color:var(--muted)}
body:not(.editing) .welcome-icon,body:not(.editing) .index-button:hover{color:var(--accent)}
body:not(.editing) .presentation-toggle,body:not(.editing) .piece-nav{background:var(--button);color:var(--buttonText);border-color:var(--button)}
body.editing{background:#f5f5f2;color:#242826;--paper:#f5f5f2;--ink:#242826;--muted:#646c67;--dark:#161918;--accent:#a78b62}

.editor-language{margin:20px 0 26px;padding:16px 18px;border:1px solid #d9d9cf;border-radius:6px;background:#fafaf7}.editor-language p{margin:10px 0 0;font-size:13px;line-height:1.6;color:#61665e}.editor-language button{padding:0 15px}.translation-notice{color:#8a5623;font-size:12px;line-height:1.5;display:block;margin-top:5px}.editor-field textarea{white-space:pre-wrap}

.editor-plan-preview{padding:16px;margin-bottom:24px;background:var(--dark);border-radius:4px}.editor-plan-preview img{display:block;width:100%;height:auto;max-height:540px;object-fit:contain}[data-print-terms]{margin-bottom:24px}
