.configurator-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:24px;align-items:start}
.configurator-main>section{padding:22px;border:1px solid rgba(189,114,255,.25);border-radius:18px;background:#191421}
.configurator-main fieldset{border:0;padding:0;margin:18px 0}
.configurator-main legend{font-weight:700;margin-bottom:12px}
.configurator-main .offer-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:14px;margin:12px 0 20px}
.configurator-main .offer-card,.configurator-main .region-card{display:flex;gap:12px;align-items:flex-start}
.configurator-main .offer-card{height:100%;min-width:0;overflow:hidden}
.configurator-main .offer-card>.config-option-image,.configurator-main .offer-card>.realization-image,.configurator-main .offer-card>.hybrid-offer-photo{display:block;width:100%;max-width:none;height:auto;max-height:none;aspect-ratio:16/9;object-fit:cover;object-position:center 36%;margin:0 0 8px;border-radius:12px;flex:0 0 auto}
.configurator-main .offer-card>.hybrid-offer-photo{object-position:center 5%}
.configurator-main .offer-card input,.configurator-main .region-card input{flex:0 0 auto;margin-top:5px;accent-color:#bd72ff}
.configurator-main .offer-card strong,.configurator-main .region-card strong{display:block}
.configurator-main .offer-card span,.configurator-main .region-card span{display:block}
.configurator-main .config-option-price{margin-top:8px;color:#e5c8ff;font-weight:700}
.configurator-price{padding:16px;border:1px solid rgba(189,114,255,.4);border-radius:12px;background:#21182b;font-size:1.1rem;font-weight:700}
.configurator-summary{position:sticky;top:20px}
.configurator-summary ul{padding-left:20px}
.configurator-controls{display:flex;justify-content:space-between;align-items:center;margin-top:16px}
.configurator-controls button{border:1px solid currentColor;background:transparent;color:inherit;border-radius:8px;padding:10px 14px;cursor:pointer}
.package-configurator [hidden]{display:none!important}
@media(max-width:850px){.configurator-layout{grid-template-columns:1fr}.configurator-summary{position:static;order:-1}.configurator-main>section{padding:16px}}
@media(max-width:560px){.configurator-main .offer-grid{grid-template-columns:1fr}.configurator-main .offer-card>.config-option-image,.configurator-main .offer-card>.realization-image,.configurator-main .offer-card>.hybrid-offer-photo{aspect-ratio:16/9}}
