/* Purchase controls and consent alignment, shared across public pages. */
body:not(.admin-body) .service-form [hidden]{display:none!important}
body:not(.admin-body) .product-quantity{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-block:1px solid #e0e3df}
body:not(.admin-body) .product-quantity label{margin:0;font-size:14px}
body:not(.admin-body) .product-quantity select{width:120px;min-height:46px}
body:not(.admin-body) .product-purchase-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
body:not(.admin-body) .product-purchase-actions>:is(button,a){display:flex;align-items:center;justify-content:center;min-height:54px;margin:0;padding:14px 10px;font-size:16px;line-height:1.4;font-weight:700;border-radius:3px;white-space:normal;text-align:center}
body:not(.admin-body) .product-purchase-actions .outline-button{background:#fff;border:1px solid #ad862e;color:#705317}
body:not(.admin-body) .product-consult{min-height:44px;background:#f6f7f5;border-color:#dce0d9;font-size:13px}
body:not(.admin-body) .product-cart-status{padding:12px 14px;margin:0;background:#f5f7f2;font-size:13px;line-height:1.7;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.product-cart-status button{border:0;background:none;text-decoration:underline;font:inherit;color:#514522;padding:4px 0;cursor:pointer}
body:not(.admin-body) .service-price small{font-size:14px;font-weight:500;white-space:nowrap;color:#5e655e}
body:not(.admin-body) .checkout-fields .service-card{display:flex;flex-direction:column;gap:20px;min-width:0}
body:not(.admin-body) .checkout-fields .service-card h2{margin:0 0 4px}
body:not(.admin-body) .checkout-fields .service-help{margin:0}
body:not(.admin-body) #installation-fields,body:not(.admin-body) #delivery-fields{display:grid;gap:18px}
body:not(.admin-body) .service-pair{gap:20px;min-width:0}
body:not(.admin-body) .service-form label{min-width:0;line-height:1.6}
body:not(.admin-body) .service-form :is(input:not([type=checkbox]):not([type=radio]),select){min-height:48px}
body:not(.admin-body) .service-form .check-label,body:not(.admin-body) .partnership-dialog .inquiry-form .inquiry-agreement{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:12px;margin:0;padding:4px 0;line-height:1.65;font-size:14px}
body:not(.admin-body) .service-form input[type=checkbox],body:not(.admin-body) .inquiry-agreement input[type=checkbox],body:not(.admin-body) .auth-agreements input[type=checkbox]{width:20px;height:20px;margin:2px 0 0;padding:0;flex-shrink:0;accent-color:#9c782b}
body:not(.admin-body) .auth-agreements{gap:18px}
body:not(.admin-body) .auth-agreements label{grid-template-columns:20px minmax(0,1fr) auto;gap:12px;align-items:start;line-height:1.65;font-size:14px;margin:0}
body:not(.admin-body) .auth-agreements button{margin:0;padding:2px 0;min-width:36px}
body:not(.admin-body) .addons{gap:10px}
body:not(.admin-body) .addons label{display:flex;flex-direction:row;align-items:center;gap:8px;padding:10px 12px;min-height:44px;font-size:13px}
body:not(.admin-body) .addons input[type=checkbox]{margin:0;width:18px;height:18px}
body:not(.admin-body) .checkout-fields details{padding:16px;border:1px solid #e0e3df;background:#f7f8f5;line-height:1.7;font-size:13px}
body:not(.admin-body) .checkout-fields summary{cursor:pointer;font-weight:600}
body:not(.admin-body) .checkout-fields details p{margin:12px 0 0}
.shopping-cart-dialog{width:640px;max-width:calc(100vw - 32px);padding:32px;box-sizing:border-box}
.shopping-cart-dialog h2{margin:0 36px 24px 0;font-size:24px}
.shopping-cart-item{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:16px;padding:22px 0;border-top:1px solid #e0e3df;align-items:start}
.shopping-cart-item>img{width:76px;height:76px;object-fit:contain;background:#f5f6f3}
.shopping-cart-info{display:grid;gap:12px;min-width:0;font-size:14px;line-height:1.6}
.shopping-cart-info b{overflow-wrap:anywhere}
.shopping-cart-info p{margin:0;color:#626960;font-size:13px}
.shopping-cart-info label{display:flex;align-items:center;gap:12px;font-size:13px}
.shopping-cart-info select{padding:8px;width:90px;border:1px solid #cdd2cb;background:#fff;font:inherit}
.shopping-cart-info strong,.shopping-cart-dialog .cart-total strong{color:#bd2656;font-size:20px}
.shopping-cart-info .primary{justify-self:start;margin:0;font-size:13px;min-height:40px;padding:10px 18px}
.cart-remove{border:0;background:none;font:inherit;font-size:12px;padding:4px;color:#626960;text-decoration:underline;cursor:pointer}
.shopping-cart-dialog .cart-total{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 0;border-top:1px solid #dce0d9;margin-top:8px;font-size:15px}
.cart-empty{padding:30px 0;line-height:1.8;text-align:center;color:#626960}
@media(max-width:640px){
 html.mobile-device body:not(.admin-body) .product-purchase-actions{gap:10px}
 html.mobile-device body:not(.admin-body) .product-purchase-actions>:is(button,a){font-size:15px;min-height:50px}
 html.mobile-device body:not(.admin-body) .service-pair{grid-template-columns:1fr;gap:18px}
 html.mobile-device body:not(.admin-body) .checkout-fields .service-card{padding:20px;gap:18px}
 html.mobile-device body:not(.admin-body) .service-form .check-label{font-size:13px;gap:10px}
 html.mobile-device body:not(.admin-body) .auth-agreements label{font-size:13px;gap:10px}
 html.mobile-device .shopping-cart-dialog{padding:24px 20px}
 html.mobile-device .shopping-cart-item{grid-template-columns:56px minmax(0,1fr) auto;gap:12px}
 html.mobile-device .shopping-cart-item>img{width:56px;height:56px}
}
