/* iCalm checkout / cart v1 — theme-safe, CSS-only enhancement. */
:root {
    --shop-card-bg:var(--surface);
    --shop-card-border:var(--line);
    --shop-panel-shadow:rgba(24,49,59,.055);
}
:root[data-theme=dark] {
    --shop-panel-shadow:rgba(0,0,0,.19);
}
.cart-nav-count {
    display:inline-flex;
    min-width:1.55rem;
    height:1.55rem;
    padding:0 .35rem;
    margin-left:.2rem;
    align-items:center;
    justify-content:center;
    background:var(--button);
    color:var(--on-button);
    font:650 .72rem/1 var(--sans);
    border-radius:50%;
}
.product-preview-card .product-preview-buy-form {
    margin:1.15rem 0 .7rem;
}
.product-preview-card .product-preview-buy-form .button {
    min-width:160px;
}
.product-preview-trial-note {
    color:var(--muted);
    font-size:.75rem !important;
    line-height:1.5;
    margin:0;
}
.product-preview-buy-form select,
.cart-quantity-form select {
    min-height:44px;
    border:1px solid var(--control-border);
    padding:.5rem 1rem;
    background:var(--surface);
    color:var(--ink);
}
.product-preview-buy-form select {max-width:100%;min-width:200px}
.product-preview-buy-form label{display:block;margin-bottom:.45rem;font-size:.83rem}
.checkout-cart-page .container.narrow {max-width:920px}
.cart-preview-notice {
    background:var(--soft);
    border:1px solid var(--line);
    padding:1.1rem 1.35rem;
    margin:1.8rem 0 2.2rem;
}
.cart-preview-notice strong {font-size:.94rem;color:var(--ink)}
.cart-preview-notice p {margin:.35rem 0 0;color:var(--muted);font-size:.9rem}
.cart-items-list {border-top:1px solid var(--shop-card-border)}
.cart-order-item {
    display:flex;gap:1.3rem;align-items:center;
    border-bottom:1px solid var(--shop-card-border);
    padding:1.5rem 0;
}
.cart-order-media {
    width:135px;min-width:135px;aspect-ratio:1;
    background:var(--nm-photo-backdrop);
    border:1px solid var(--nm-photo-line);
    display:flex;align-items:center;justify-content:center;
}
.cart-order-media img{width:100%;height:100%;object-fit:contain}
.cart-order-info {flex:1;min-width:0}
.cart-order-info h2{font:400 1.45rem/1.2 var(--serif);margin:0 0 .35rem}
.cart-order-info p {color:var(--muted);margin:0 0 1rem;font-size:.83rem}
.cart-order-amount {font-size:1.02rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.cart-quantity-form{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.cart-quantity-form label{font-size:.77rem;color:var(--muted)}
.cart-quantity-form select{min-width:70px;max-width:100px}
.cart-quantity-form .button{padding:.55rem .9rem;min-height:44px;font-size:.78rem}
.cart-remove-form{margin:.6rem 0 0}
.cart-remove-form button{padding:0;cursor:pointer;color:var(--muted);border:0;background:none}
.cart-remove-form button:hover{text-decoration:underline}
.cart-order-total,.checkout-summary-total {
    border-top:1px solid var(--line);
    padding:1.4rem 0;
    display:flex;justify-content:space-between;align-items:center;gap:1.2rem;
}
.cart-order-total strong,.checkout-summary-total strong{
    font:400 1.9rem/1.2 var(--serif);font-variant-numeric:tabular-nums;
}
.cart-order-actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-top:1.8rem}
.checkout-page .container{max-width:1160px}
.checkout-columns{
    display:grid;
    grid-template-columns:minmax(0,1.3fr) minmax(290px,.75fr);
    gap:clamp(2rem,6vw,5rem);
    align-items:start;
    margin-top:2.2rem;
}
.checkout-page .lead{max-width:580px}
.checkout-primary .checkout-form{max-width:620px;margin-top:2rem}
.checkout-form .button{max-width:max-content}
.checkout-summary{
    padding:2.1rem 1.8rem;
    background:var(--shop-card-bg);
    border:1px solid var(--shop-card-border);
    box-shadow:0 16px 50px var(--shop-panel-shadow);
}
.checkout-summary h2{font-size:2rem;margin-bottom:1.8rem}
.checkout-summary-line{display:flex;align-items:start;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line)}
.checkout-summary-line>div{min-width:0}
.checkout-summary-line strong{font-size:.9rem;font-weight:550}
.checkout-summary-line>strong{white-space:nowrap;font-variant-numeric:tabular-nums}
.checkout-summary-line p{font-size:.8rem;color:var(--muted);margin:.3rem 0 0}
.checkout-summary-total{margin-top:1rem}
.checkout-summary>p{margin:0;font-size:.8rem;color:var(--muted)}
.checkout-demo-form fieldset{display:grid;gap:.5rem;border:0;margin:0;padding:0}
.checkout-demo-form label{font-size:.9rem;margin-top:.5rem}
.checkout-demo-form input{width:100%;max-width:100%;min-height:48px;padding:.8rem;background:var(--soft);color:var(--ink);border:1px solid var(--control-border);cursor:text;opacity:1}
.checkout-demo-form input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.checkout-demo-form button{margin-top:1rem}
.checkout-preview-finish-form{margin-top:1.15rem}
.checkout-preview-finish-form .button{width:100%;max-width:100%;justify-content:center}
.checkout-demo-form .quiet{font-size:.84rem;margin-top:1rem}
.checkout-form .checkline{display:flex!important;align-items:flex-start;gap:.7rem;padding:.4rem 0;line-height:1.5}
.checkout-form .checkline input{margin:.25rem 0 0}
.checkout-primary .ui-error-summary{margin:1rem 0;border-left:3px solid var(--error)}
@media(max-width:850px){
    .checkout-columns{grid-template-columns:1fr}
    .checkout-summary{order:-1}
}
@media(max-width:560px){
    .cart-order-item{align-items:start;flex-wrap:wrap;gap:1rem}
    .cart-order-media{width:105px;min-width:105px}
    .cart-order-info{flex-basis:calc(100% - 122px)}
    .cart-order-amount{width:100%;padding-left:0}
    .cart-order-total strong,.checkout-summary-total strong{font-size:1.55rem}
    .checkout-summary{padding:1.5rem}
    .cart-order-actions{align-items:stretch;flex-direction:column}
    .cart-order-actions .button{width:100%}
}
