/* Focused storefront controls and compact layouts after the copy cleanup. */
.header-inner{gap:24px}
.header-phone{white-space:nowrap}
.header-phone strong{font-size:17px;font-weight:500}
.header-actions{align-items:center;gap:8px;flex-shrink:0}
.header-actions .cart-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:auto;min-width:122px;height:50px;padding:0 14px;border:1px solid #c9d7f0;background:#edf2fd;color:#2c4da4;white-space:nowrap}
.cart-button-label{font-size:15px;font-weight:500;line-height:1.4}
.header-actions .cart-count{position:static;display:inline-flex;align-items:center;justify-content:center;min-width:27px;width:auto;height:27px;padding:0 6px;border:0;border-radius:7px;line-height:1;font-size:15px;font-weight:600;background:#3559c7;color:#fff;font-variant-numeric:tabular-nums}
.header-actions .cart-count[hidden]{display:none}
.header-actions .cart-button>.icon{width:22px;height:22px;flex-shrink:0}
.header-actions .count:not(.cart-count){font-size:13px;min-width:22px;height:22px;line-height:22px}
.hero{min-height:460px}
.hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:44px 0 44px 44px}
.hero-copy>p{font-size:19px;line-height:1.55;margin-top:22px}
.hero-copy>.button{margin-top:28px}
.hero-art{padding:10px 18px 10px 0}
.hero-art img{max-height:420px}
.section{padding-top:60px}
.section-heading{margin-bottom:26px}
.category-tile{min-width:0;min-height:154px;padding:26px;display:flex;flex-direction:column}
.category-tile h3{min-width:0;margin:0 38px 18px 0;font-size:21px;line-height:1.35;min-height:0;overflow-wrap:anywhere}
.tile-icon{top:25px;right:24px}
.tile-count{font-size:15px;line-height:1.5}
.category-links a{font-size:15px}
.product-card:not(.catalog-product) .card-body h3{min-height:0;display:block;overflow:visible}
.product-card:not(.catalog-product) .card-meta{margin-bottom:10px}
.product-card:not(.catalog-product) .card-description{min-height:0;margin-bottom:18px}
.product-card:not(.catalog-product) .card-bottom{min-height:0;padding-top:18px;align-items:stretch;flex-direction:column;gap:16px}
.product-card:not(.catalog-product) .card-price{min-height:0}
.product-card:not(.catalog-product) .add-button{width:100%;min-height:48px;height:auto;padding:12px 14px;align-self:stretch;gap:9px;font-size:16px;font-weight:500;background:#3559c7;color:#fff}
.product-card:not(.catalog-product) .add-button:hover{background:#2949ac}
.product-card:not(.catalog-product) .add-button.in-cart{background:#e5edfd;color:#2f53ae}
.product-card:not(.catalog-product) .add-button .icon{width:20px;height:20px}
.catalog-page .catalog-product .card-body{padding-top:24px;padding-bottom:24px}
.catalog-page .catalog-product .card-body h3{margin-bottom:18px}
.catalog-page .catalog-product .catalog-card-specs{margin-bottom:18px}
.catalog-page .catalog-product .catalog-card-actions button{min-height:42px;font-size:14px}
.catalog-page .catalog-grid[data-view=grid] .catalog-card-actions button{font-size:14px}
.catalog-page .catalog-grid[data-view=grid] .catalog-price-block{min-height:0}
.catalog-page .catalog-grid[data-view=grid] .catalog-card-specs{font-size:14px}
.catalog-card-purchase{justify-content:center}
.catalog-price-block{margin-bottom:20px}
.catalog-page .catalog-product .catalog-stock,.catalog-page .catalog-grid[data-view=grid] .catalog-stock{margin:10px 0 0}
.catalog-page .catalog-buy{margin-top:0}
.detail-top{margin-bottom:14px}
.detail-purchase{margin-top:24px;padding-top:24px}
.full-name{margin-top:16px}
.detail-actions{gap:22px}
.detail-checkout{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 0;margin:2px 0 0;font-size:16px;font-weight:500;line-height:1.5;color:#3559c7}
.detail-checkout:hover,.summary-download:hover{text-decoration:underline;text-underline-offset:4px;color:#2949ac}
.product-specifications{margin-top:10px}
.spec-layout.spec-layout-single{grid-template-columns:minmax(0,1fr);max-width:920px}
.spec-layout h2{font-size:30px;margin-bottom:24px}
.configuration h3{margin:0 0 16px}
.configuration-note{margin-top:18px;padding-top:18px}
.site-footer{margin-top:64px;padding-top:42px;border-top:1px solid #e4e9f1}
.footer-grid{padding-bottom:34px}
.footer-label{margin-top:22px}
.footer-grid h3{margin-bottom:18px}
.footer-bottom{padding-block:22px}
.page-heading{margin-bottom:30px}
.info-columns p,.prose{max-width:72ch}
.prose p{margin-bottom:20px}
.info-aside{align-self:start}
.contact-cards>a{padding:28px}
.order-summary h2{margin:0 0 20px}
.summary-row{margin:14px 0}
.summary-download{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:10px 0;margin:6px 0 0;font-size:15px;line-height:1.5;color:#3559c7}
.summary-note{margin:0 0 20px}
.summary-total{margin-top:18px;padding:22px 0;flex-wrap:wrap;gap:8px 16px;align-items:baseline}
.summary-total strong{max-width:100%;white-space:normal;overflow-wrap:anywhere;margin-left:auto}
.cart-layout>*,.order-summary{min-width:0}
.summary-total strong,.cart-line-total,.drawer-footer strong{font-variant-numeric:tabular-nums}
.order-summary{border-radius:16px}
.order-form{border-radius:16px}
.order-form>h2{font-size:28px;margin-bottom:26px}

/* Quantity changes update existing elements; the panel itself stays still. */
.cart-drawer{animation:none;width:min(660px,100%)}
.cart-layout.is-empty{grid-template-columns:minmax(0,1fr)}
.drawer-heading{align-items:center;padding:24px 28px;gap:20px}
.drawer-heading h2{font-size:30px;line-height:1.2;margin:0}
.drawer-count{display:block;font-size:15px;line-height:1.5;color:#59677c;margin:5px 0 0;font-variant-numeric:tabular-nums}
.drawer-content{padding:0 28px;scrollbar-gutter:stable}
.drawer-footer{padding:24px 28px;background:#f6f8fc}
.drawer-footer>div{align-items:baseline;flex-wrap:wrap;gap:8px 20px;font-size:16px}
.drawer-footer strong{font-size:30px;line-height:1.25}
.drawer-footer>p{font-size:14px;line-height:1.5;margin:12px 0 20px}
.drawer-cart-link{margin-top:10px;font-size:15px;min-height:44px;display:flex;align-items:center;justify-content:center}
.cart-row,.drawer-content .cart-row{display:grid;grid-template-columns:84px minmax(0,1fr) 44px;column-gap:18px;row-gap:18px;align-items:start;padding:24px 0;position:relative}
.cart-image,.drawer-content .cart-image{grid-column:1;grid-row:1;width:84px;height:84px;margin:0;padding:8px;border:1px solid #e0e6ef;border-radius:12px}
.cart-image .product-photo{width:100%;height:100%;object-fit:contain}
.cart-description,.drawer-content .cart-description{grid-column:2;grid-row:1;display:flex;flex-direction:column;min-width:0;gap:5px;margin:0;flex-basis:auto}
.cart-description>a{font-size:18px;line-height:1.35;font-weight:500;color:#2b3c58}
.cart-description>a:hover{color:#3559c7}
.cart-description>span,.cart-description>small{font-size:14px;line-height:1.5;color:#59677c}
.cart-description .cart-variant{font-size:14px;line-height:1.5;color:#59677c;margin:0;overflow-wrap:anywhere}
.cart-row>.icon-button,.drawer-content .cart-row>.icon-button{grid-column:3;grid-row:1;position:static;align-self:start;justify-self:end;inset:auto;width:44px;height:44px;margin:-7px -7px 0 0;color:#66758b}
.cart-row>.icon-button .icon{width:20px;height:20px}
.quantity-picker,.cart-row .quantity-picker,.drawer-content .quantity-picker{height:48px;min-width:136px;width:136px;border:1px solid #c2cde0;background:#fff;border-radius:10px;gap:0}
.quantity-picker button,.cart-row .quantity-picker button,.drawer-content .quantity-picker button{display:grid;place-items:center;min-width:44px;width:44px;height:46px;min-height:44px;line-height:1;font-size:24px;color:#2d4569;background:#f4f7fc;border-radius:9px 0 0 9px}
.quantity-picker button:last-child{border-radius:0 9px 9px 0}
.quantity-picker button:hover:not(:disabled){background:#e5edfc;color:#2949ac}
.quantity-picker button:disabled{opacity:1;color:#a1acbb;background:#f8f9fb;cursor:default}
.quantity-picker input,.cart-row .quantity-picker input,.drawer-content .quantity-picker input{width:46px;min-width:46px;height:46px;min-height:44px;padding:0;font-size:18px;font-weight:500;line-height:1.4;color:#253248;font-variant-numeric:tabular-nums;text-align:center}
.quantity-picker button:focus-visible,.quantity-picker input:focus-visible{position:relative;z-index:1;outline-offset:-3px}
.cart-row-purchase{grid-column:2/4;grid-row:2;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 16px;min-width:0}
.cart-row .quantity-picker,.drawer-content .quantity-picker{margin:0;flex:0 0 136px}
.cart-line-total,.drawer-content .cart-line-total{min-width:0;max-width:100%;margin:0 0 0 auto;font-size:22px;line-height:1.3;font-weight:600;white-space:normal;overflow-wrap:anywhere;text-align:right}

@media(max-width:1240px){
 .header-inner{gap:20px}
 .hero-copy{padding:36px 0 36px 34px}
 .hero{min-height:420px}.hero-art img{max-height:390px}
 .cart-layout{grid-template-columns:minmax(0,1fr) 320px;gap:28px}
 .cart-row,.drawer-content .cart-row{column-gap:16px}
}
@media(max-width:1020px){
 .header-actions .cart-button{min-width:118px;padding-inline:12px}
 .header-inner{gap:18px}.header-inner .logo-image{width:196px}
 .cart-layout{grid-template-columns:minmax(0,1fr);gap:28px}
}
@media(max-width:760px){
 .header-inner{gap:14px;height:144px;padding-bottom:66px}
 .header-inner .logo-image{width:196px}
 .header-actions{gap:6px}.header-actions .icon-button{width:44px;height:46px}
 .header-actions .cart-button{width:auto;min-width:118px;height:46px;padding-inline:10px}
 .hero{min-height:0}.hero-copy{padding:30px 28px 0;display:block}
 .hero-copy>p{font-size:18px;margin-top:20px}.hero-copy>.button{margin-top:24px}
 .hero-art{padding:0 16px 16px;margin-top:6px}.hero-art img{max-height:350px}
 .section{padding-top:44px}.section-heading{margin-bottom:22px}
 .category-tile{min-height:144px;padding:22px}.category-tile h3{font-size:20px;margin:0 28px 18px 0}
 .tile-icon{top:22px;right:18px}.tile-icon .icon{width:25px;height:25px}
 .tile-count{font-size:14px}.category-links a{font-size:14px}
 .solution-banner{padding-top:28px}.solution-banner h2{font-size:32px}
 .site-footer{margin-top:48px;padding-top:32px}.footer-grid{padding-bottom:28px}.footer-label{margin-top:18px}
 .catalog-page .catalog-product .card-body{padding-top:22px;padding-bottom:22px}
 .cart-row,.drawer-content .cart-row{grid-template-columns:76px minmax(0,1fr) 36px;column-gap:14px;row-gap:16px;padding:22px 0}
 .cart-image,.drawer-content .cart-image{width:76px;height:76px}
 .cart-row>.icon-button,.drawer-content .cart-row>.icon-button{width:44px;height:44px;margin:-7px -7px 0 0}
 .cart-description>a{font-size:17px;line-height:1.4}
 .cart-row-purchase{grid-column:1/-1}
 .cart-row .quantity-picker,.drawer-content .quantity-picker{margin:0}
 .cart-line-total,.drawer-content .cart-line-total{font-size:21px}
 .drawer-heading{padding:22px 24px}.drawer-content{padding:0 24px}.drawer-footer{padding:22px 24px}
 .drawer-heading h2{font-size:28px}.drawer-count{font-size:15px}.drawer-footer strong{font-size:28px}
 .order-form{padding:28px 24px}.order-summary{padding:26px 24px}.summary-total strong{font-size:29px}
}
@media(max-width:560px){
 .category-tiles{grid-template-columns:minmax(0,1fr)}
 .category-tile{min-height:126px}.category-tile h3{font-size:21px;margin-right:40px}
 .cart-button-label{display:none}
 .header-actions .cart-button{min-width:48px;padding-inline:10px;gap:7px}
 .header-actions .cart-count{font-size:14px;min-width:26px;height:26px;padding-inline:5px}
 .cart-row,.drawer-content .cart-row{grid-template-columns:64px minmax(0,1fr) 28px;column-gap:12px}
 .cart-image,.drawer-content .cart-image{width:64px;height:64px;padding:5px}
 .cart-description>a{font-size:17px}.cart-description>span,.cart-description>small,.cart-description .cart-variant{font-size:14px}
 .cart-line-total,.drawer-content .cart-line-total{font-size:20px}
 .drawer-heading{padding:20px}.drawer-content{padding:0 20px}.drawer-footer{padding:20px}
 .drawer-heading h2{font-size:27px}.drawer-footer strong{font-size:27px}
 .drawer-footer>p{font-size:14px;margin:10px 0 18px}
 .product-card:not(.catalog-product) .add-button{font-size:17px;min-height:52px}
 .hero-art img{max-height:300px}
}
@media(max-width:390px){
 .header-inner{gap:8px}.header-inner .logo-image{width:184px}
 .header-actions{gap:3px}.header-actions .icon-button{width:40px}
 .header-actions .cart-button{width:auto;min-width:48px}
 .hero-copy{padding:28px 22px 0}.hero-copy>p{font-size:17px}
 .category-tile{padding:20px;min-height:148px}.category-tile h3{font-size:19px}
 .tile-icon{top:20px;right:18px}
 .cart-line-total,.drawer-content .cart-line-total{font-size:18px}
}
@media(max-width:350px){
 .header-inner .logo-image{width:158px}
 .header-actions .cart-button{padding-inline:8px;gap:5px}
 .header-actions .cart-button>.icon{width:20px;height:20px}
 .category-tile{min-height:132px}.category-tile h3{font-size:21px}
 .cart-row,.drawer-content .cart-row{grid-template-columns:58px minmax(0,1fr) 32px;gap:12px}
 .cart-image,.drawer-content .cart-image{width:58px;height:58px}
 .cart-description>a{font-size:16px}
 .cart-line-total,.drawer-content .cart-line-total{font-size:17px}
 .order-summary,.order-form{padding:24px 20px}
}

/* Search keeps a fixed, centred submit target as text and focus change. */
.search-form{padding:0 6px 0 16px;gap:10px}
.search-form>.icon{display:block;flex:0 0 18px;width:18px;height:18px}
.search-form>input{flex:1 1 0;min-width:0;width:auto;height:44px;margin:0;padding:0;border:0;border-radius:0;line-height:normal}
.search-form>button{display:grid;place-items:center;flex:0 0 44px;align-self:center;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:8px;line-height:1}
.search-form>button .icon{display:block;width:20px;height:20px;margin:0}
.search-form>button:hover{background:#e6edfb;color:#3559c7}
.search-form>button:focus-visible{outline:2px solid #3559c7;outline-offset:-3px}

/* The whole labelled field receives focus, avoiding a second inner rectangle. */
.search-form>input:focus,.search-form>input:focus-visible,
.catalog-page .filter-search input:focus,.catalog-page .filter-search input:focus-visible,
.catalog-page .price-field input:focus,.catalog-page .price-field input:focus-visible{outline:none;box-shadow:none}
.search-form:focus-within,.catalog-page .filter-search:focus-within,.catalog-page .price-field:focus-within{border-color:#3559c7;box-shadow:0 0 0 3px #eaf0ff}
