/* Detail-only layout. Catalogues and the independent calculator are unaffected. */
body:has(.ec-project) .content .inner{width:min(1140px,100%);padding:0;margin:auto;box-sizing:border-box;background:#fff}
body:has(.ec-project) .content .conwrap{display:flex;flex-direction:column;padding:32px clamp(16px,3vw,40px);background:#fff;border:0;box-sizing:border-box}
body:has(.ec-project) .cright{order:0;float:none;width:100%;padding:0;box-sizing:border-box;min-width:0}
body:has(.ec-project) .cleft{order:1;float:none;width:100%;margin:40px 0 0;padding-top:24px;border-top:1px solid #e3e8e3;display:grid;grid-template-columns:1fr;gap:24px}
body:has(.ec-project) .cleft .leftmenu{background:#f5f7f4;border:0;padding:20px;border-radius:12px}
body:has(.ec-project) .cleft .lm,body:has(.ec-project) .cleft .stage{display:none}
body:has(.ec-project) .cleft .articles .heading{background:none;color:#25352c;padding:0;font-weight:700}
.ec-project{font:16px/1.6 Arial,sans-serif;color:#26382d;overflow-wrap:anywhere}
.ec-project *{box-sizing:border-box}
.ec-project h1{font:700 clamp(25px,3vw,36px)/1.2 Arial,sans-serif;color:#203329;text-align:left;margin:0 0 22px;padding:0}
.ec-project h2{font:700 26px/1.3 Arial,sans-serif;color:#203329;margin:0 0 22px}
.ec-project h3,.ec-project h4{color:#26382d}
.ec-top{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,1fr);gap:28px;align-items:start}
.ec-gallery{min-width:0}
.ec-main-photo{display:block;aspect-ratio:4/3;background:#f5f6f3;border-radius:14px;overflow:hidden;border:1px solid #e5e9e2}
.ec-project .ec-main-photo img{width:100%;height:100%;max-width:100%;object-fit:contain;display:block;border:0;margin:0}
.ec-thumbs{display:flex;gap:10px;overflow-x:auto;padding:12px 0 6px}
.ec-project .ec-thumb{flex:0 0 88px;width:88px;height:68px;border:2px solid transparent;background:#f4f6f2;border-radius:8px;padding:2px;cursor:pointer}
.ec-project .ec-thumb[aria-pressed=true]{border-color:#3d723f}
.ec-project .ec-thumb img{width:100%;height:100%;object-fit:contain;margin:0;border:0;display:block}
.ec-muted{font-size:13px;color:#67756a;margin:4px 0 16px}
.ec-specs{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;margin:0 0 22px}
.ec-specs div{border-bottom:1px solid #e5e9e3;padding-bottom:10px}
.ec-specs dt{font-size:13px;color:#728074}
.ec-specs dd{font-size:18px;font-weight:600;margin:2px 0 0;color:#25372b}
.ec-prices{display:grid;gap:12px}
.ec-price-block{border:1px solid #dfe7dd;border-radius:12px;padding:14px 16px;background:#fafbf8}
.ec-price-block p{margin:0;color:#526350;font-size:14px}
.ec-price-block strong{display:block;font-size:27px;line-height:1.2;letter-spacing:-.5px;margin:6px 0 12px;color:#233a28}
.ec-project .ec-cta{display:block;width:100%;min-height:44px;padding:10px 12px;border:1px solid #3c713e;border-radius:7px;background:#3c713e;color:white;font:600 15px/1.4 Arial,sans-serif;text-align:center;cursor:pointer}
.ec-project .ec-cta:hover{background:#2f5c31}
.ec-project button:focus-visible,.ec-project a:focus-visible{outline:3px solid #829e3b;outline-offset:3px}
.ec-tabs{display:flex;gap:26px;flex-wrap:wrap;border-bottom:1px solid #e1e7df;padding:26px 0 16px;margin:15px 0 0}
.ec-tabs a{font-size:14px;color:#35663a;text-decoration:none}
.ec-section{padding:36px 0;border-bottom:1px solid #e5e9e3;scroll-margin-top:20px}
.ec-project .ec-plan{max-width:650px;width:100%;height:auto;display:block;background:#f8f9f6;border-radius:10px}
.ec-copy{max-width:900px;color:#455347;font-size:16px;line-height:1.8}
.ec-copy ul,.ec-copy ol{padding-left:24px}
.ec-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ec-project .ec-photo-grid img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#f7f8f5;border-radius:10px;margin:0}
.ec-preview-note{background:#eff4eb;color:#42583d;padding:9px 16px;text-align:center;font:13px Arial,sans-serif}
.ec-preview-modal{border:0;border-radius:14px;width:min(440px,calc(100% - 32px));padding:24px;color:#26382d;font:16px/1.5 Arial,sans-serif;box-shadow:0 20px 80px #0004}
.ec-preview-modal::backdrop{background:#10201699}
.ec-preview-modal input{display:block;width:100%;padding:12px;margin:12px 0;border:1px solid #cbd6c7;border-radius:6px;font:inherit}
.ec-preview-modal button{background:#3c713e;color:white;padding:10px 20px;border:0;border-radius:6px;cursor:pointer}
@media(max-width:900px){.ec-top{gap:24px;grid-template-columns:minmax(0,1fr) minmax(300px,1fr)}.ec-price-block{padding:16px}.ec-price-block strong{font-size:27px}}
@media(max-width:700px){.ec-top{grid-template-columns:1fr;gap:22px}.ec-specs{margin-top:0}.ec-project h1{font-size:27px}.ec-project h2{font-size:23px}.ec-thumbs{gap:8px}.ec-thumb{flex-basis:72px!important;width:72px!important;height:56px!important}.ec-tabs{gap:12px 20px;padding-top:18px}.ec-photo-grid{grid-template-columns:1fr 1fr}.ec-section{padding:28px 0}body:has(.ec-project) .cleft{grid-template-columns:1fr}}
/* Fit the existing order form inside detail-page viewports. */
body:has(.ec-project) .modal{box-sizing:border-box;width:min(400px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;left:50%;top:50%;margin-left:0;transform:translate(-50%,-50%)}
body:has(.ec-project) .modal .form{box-sizing:border-box;padding:24px}
body:has(.ec-project) .modal .form input[type="text"],body:has(.ec-project) .modal .form textarea{box-sizing:border-box;width:100%;max-width:100%}
body:has(.ec-project) .modalclose{margin:0;right:10px;top:10px}
body:has(.ec-project) .modal .heading{padding-right:32px;height:auto;min-height:40px;line-height:1.4;padding-top:10px;padding-bottom:10px;box-sizing:border-box}

/* Override legacy slider navigation only inside the new detail component. */
.ec-project .ec-tabs a{position:static;float:none;inset:auto;transform:none;width:auto;height:auto;margin:0;padding:0;background:none;line-height:1.6}
body:has(.ec-project) .content .conwrap{padding-top:64px}

/* Narrow detail layout and explicit catalogue return. */
.ec-project .ec-back{display:inline-flex;align-items:center;min-height:42px;padding:9px 15px;margin:0 0 18px;border:1px solid #a9bfa8;border-radius:7px;background:#f0f5ec;color:#2f5734;font:600 14px/1.5 Arial,sans-serif;text-decoration:none;position:static;float:none}
.ec-project .ec-back:hover{background:#e4eddf;border-color:#3c713e}
body:has(.ec-project) .bread{padding:10px 14px;margin-bottom:18px;background:#f5f7f3;border:1px solid #e0e7dc;border-radius:8px;font:14px/1.6 Arial,sans-serif;color:#4b5e4e}
body:has(.ec-project) .bread a{font:inherit;color:#365c3c;text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.ec-project .ec-back{margin-bottom:14px}.ec-project .ec-price-block{padding:14px}.ec-project .ec-price-block strong{font-size:26px}}