/* UI57: shared native-control presentation. Keep the native inputs and behavior. */
body:is(.sv-public-ui,.sv-admin-ui) input:is([type=checkbox],[type=radio]):not(:where(.sv-rating input)):not(:where(#svInvoiceCheck)):not(:where(#cAgree)):not(:where([hidden])){
 -webkit-appearance:none!important;appearance:none!important;box-sizing:border-box!important;
 display:inline-grid!important;place-content:center;vertical-align:middle;
 width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;max-width:22px!important;max-height:22px!important;
 flex:0 0 22px!important;padding:0!important;margin:2px 0 0!important;
 border:2px solid #9b8459!important;border-radius:6px!important;background:transparent!important;
 color:#21142e;box-shadow:none!important;cursor:pointer;position:relative;
}
body:is(.sv-public-ui,.sv-admin-ui) input[type=radio]:not(:where(.sv-rating input)):not(:where([hidden])){border-radius:50%!important}
body:is(.sv-public-ui,.sv-admin-ui) input:is([type=checkbox],[type=radio]):not(:where(.sv-rating input)):not(:where(#svInvoiceCheck)):not(:where(#cAgree)):not(:where([hidden]))::before{
 content:'';display:block;box-sizing:border-box;position:static;margin:0;width:6px;height:11px;
 border:solid #21142e;border-width:0 2px 2px 0;border-radius:0;background:none;
 transform:translateY(-1px) rotate(45deg) scale(0);clip-path:none;
}
body:is(.sv-public-ui,.sv-admin-ui) input[type=radio]:not(:where(.sv-rating input)):not(:where([hidden]))::before{width:8px;height:8px;border:0;border-radius:50%;background:#21142e;transform:scale(0)}
body:is(.sv-public-ui,.sv-admin-ui) input:is([type=checkbox],[type=radio]):not(:where(.sv-rating input)):not(:where(#svInvoiceCheck)):not(:where(#cAgree)):checked{background:#e6c779!important;border-color:#e6c779!important}
body:is(.sv-public-ui,.sv-admin-ui) input[type=checkbox]:not(:where(#svInvoiceCheck)):not(:where(#cAgree)):checked::before{transform:translateY(-1px) rotate(45deg) scale(1)}
body:is(.sv-public-ui,.sv-admin-ui) input[type=radio]:not(:where(.sv-rating input)):checked::before{transform:scale(1)}
body:is(.sv-public-ui,.sv-admin-ui) input[type=checkbox]:not(:where(#svInvoiceCheck)):not(:where(#cAgree)):indeterminate{background:#e6c779!important;border-color:#e6c779!important}
body:is(.sv-public-ui,.sv-admin-ui) input[type=checkbox]:not(:where(#svInvoiceCheck)):not(:where(#cAgree)):indeterminate::before{width:10px;height:2px;border:0;background:#21142e;transform:none}
body:is(.sv-public-ui,.sv-admin-ui) input:is([type=checkbox],[type=radio]):not(:where(.sv-rating input)):focus-visible{outline:2px solid #e6c779!important;outline-offset:4px}
body:is(.sv-public-ui,.sv-admin-ui) input:is([type=checkbox],[type=radio]):not(:where(.sv-rating input)):hover:not(:disabled){border-color:#e6c779!important}
body:is(.sv-public-ui,.sv-admin-ui) input:is([type=checkbox],[type=radio]):not(:where(.sv-rating input)):disabled{opacity:.45;cursor:not-allowed}
body label:has(>input[type=checkbox]){
 display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:10px!important;
 min-height:44px;box-sizing:border-box;line-height:1.55;text-align:left;cursor:pointer;
}
body label:has(>input[type=checkbox])>input{order:-1}
body label:has(>input[type=checkbox])>span,body label:has(>input[type=checkbox])>div{min-width:0;overflow-wrap:break-word}
body .v11-options label{align-items:flex-start;min-height:44px;line-height:1.5;gap:10px}
body .v11-options label>span{min-width:0;flex:1}
body .v11-options label>small{align-self:center;flex:none}
/* Replace the legacy forced justification, retaining the parent alignment. */
body.sv-public-ui :where(p,li,.lead,.note,.sec-sub,.lab){text-align:inherit!important;text-justify:auto;hyphens:none;word-spacing:normal;overflow-wrap:break-word}
body.sv-public-ui :where(p,li,.lead,.note,.sec-sub)[style*="text-align:center"],body.sv-public-ui :where(p,li,.lead,.note,.sec-sub)[style*="text-align: center"]{text-align:center!important}
body.sv-public-ui :where(p,li)[style*="text-align:right"],body.sv-public-ui :where(p,li)[style*="text-align: right"]{text-align:right!important}
body.sv-public-ui :is(.sv-dialog,.consult-form,.qform) :is(label,.field-help,.note){text-align:left!important;line-height:1.55}
body.sv-public-ui :is(.sv-consent,.consult-consent,.consent) span{line-height:1.6}
body.sv-public-ui :is(.v11-card-copy,.ci-info,.up-i,.sum-item .si,.sv-component-copy){min-width:0}
body.sv-public-ui :is(.v11-card h3,.ci-info h4,.sv-component-copy h3){overflow-wrap:break-word;line-height:1.45}
body.sv-public-ui :is(.v11-card-foot,.v5-card-foot){align-items:center;gap:10px}
body.sv-public-ui :is(.v11-card-foot,.v5-card-foot) button{white-space:normal;line-height:1.3;text-align:center}
body.sv-public-ui .sv-actions>button{display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.4}
body.sv-public-ui :is(.sv-consent,.consult-consent,.consent) a{overflow-wrap:anywhere}
/* Helpers and long names remain readable in admin forms. */
body.sv-admin-ui :is(.field-help,.form-intro,.studio-copy,.gw-hint,.pw-copy,.cms-top p){text-align:left;line-height:1.6;overflow-wrap:break-word}
body.sv-admin-ui :is(.complex-checkbox-item,.cms-check,.review-checkbox,.pw-copy-check){line-height:1.55}
body.sv-admin-ui :is(.gw-actions,.category-product-actions,.sv-actions){align-items:center}
@media(max-width:600px){body.sv-public-ui :is(.sv-consent,.consult-consent,.consent){font-size:12px;gap:10px!important}body.sv-public-ui :is(.sv-dialog,.consult-form) button{white-space:normal;overflow-wrap:break-word}}
@media(forced-colors:active){
 body:is(.sv-public-ui,.sv-admin-ui) input:is([type=checkbox],[type=radio]):not(:where(.sv-rating input)):not(:where(#svInvoiceCheck)):not(:where(#cAgree)){forced-color-adjust:none;border-color:ButtonText!important;background:Canvas!important}
 body:is(.sv-public-ui,.sv-admin-ui) input:is([type=checkbox],[type=radio]):not(:where(.sv-rating input)):checked{background:Highlight!important;border-color:Highlight!important}
 body:is(.sv-public-ui,.sv-admin-ui) input:is([type=checkbox],[type=radio]):not(:where(.sv-rating input))::before{border-color:HighlightText;color:HighlightText}
 body:is(.sv-public-ui,.sv-admin-ui) input[type=radio]:not(:where(.sv-rating input))::before,body:is(.sv-public-ui,.sv-admin-ui) input[type=checkbox]:indeterminate::before{background:HighlightText}
 body:is(.sv-public-ui,.sv-admin-ui) input:is([type=checkbox],[type=radio]):focus-visible{outline-color:Highlight!important}
}
/* Desktop basket and order summary use consistent spacing and number alignment. */
@media(min-width:769px){
 #drawer{width:460px;max-width:94vw}
 #drawer .drawer-head,#drawer .drawer-foot{padding-left:24px;padding-right:24px}
 #drawer .cart-items{padding-left:24px;padding-right:24px}
 #drawer .sv-cart-extra{margin-left:24px;margin-right:24px}
 #drawer .ci{grid-template-columns:56px minmax(0,1fr) auto;gap:14px}
 #drawer .ci img{width:56px;height:70px}
 #drawer .ci-info h4{font-size:14px;line-height:1.45}
 #drawer .up-i b{font-size:13px}
}
.sv-checkout-page .grid>*,.sv-checkout-page .two>*{min-width:0}
.sv-checkout-page .panel h2{line-height:1.25}
.sv-checkout-page .ph{text-align:left;line-height:1.6}
.sv-checkout-page .fl{line-height:1.45;margin-bottom:8px}
.sv-checkout-page :is(input:not([type=checkbox]):not([type=radio]),select){min-height:48px;line-height:1.45}
.sv-checkout-page .sum-item{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:start}
.sv-checkout-page .sum-item img{object-fit:contain}
.sv-checkout-page .sum-item .si b{line-height:1.45;overflow-wrap:break-word}
.sv-checkout-page .sum-item .si span{display:block;margin-top:5px}
.sv-checkout-page :is(.sum-item .sp,.tot-row span:last-child){font-variant-numeric:tabular-nums}
.sv-checkout-page .tot-row{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:14px;align-items:baseline}
.sv-checkout-page .tot-row span:last-child{min-width:0;overflow-wrap:break-word}
.sv-checkout-page .tot-row.big{font-size:20px;line-height:1.5}
.sv-checkout-page #payButton{width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.4}
.sv-checkout-page .pay{align-items:flex-start;gap:12px}
.sv-checkout-page .pay .pi b{line-height:1.4}
.sv-checkout-page .pay .pi span{display:block;margin-top:4px;line-height:1.5}
.sv-checkout-page .pay .radio{margin-top:5px}
@media(min-width:901px){
 .sv-checkout-page .wrap{max-width:1160px}
 .sv-checkout-page #checkoutBody>.grid{grid-template-columns:minmax(0,1fr) minmax(340px,400px);gap:28px;align-items:start}
 .sv-checkout-page .panel{padding:28px}
 .sv-checkout-page .aside{top:90px}
 .sv-checkout-page #sumItems{max-height:min(36vh,340px);overflow:auto;overscroll-behavior:contain;padding-right:4px;scrollbar-width:thin}
}
@media(min-width:901px) and (max-height:800px){.sv-checkout-page .aside{position:static}}
@media(max-width:380px){.sv-checkout-page .sum-item{grid-template-columns:40px minmax(0,1fr);gap:10px}.sv-checkout-page .sum-item img{width:40px;height:50px;grid-row:1/3}.sv-checkout-page .sum-item .sp{grid-column:2}.sv-checkout-page .tot-row.big{font-size:18px}}
