/* ESPANT cart: isolated presentation, native server totals and sale units. */
.ec-mini,.ec-cart-content,.ec-toast{color:var(--esp-ink,#192630);font-size:14px;line-height:1.5}
#cart .ec-cart-toggle{position:relative;overflow:visible!important;display:grid;place-items:center;border-radius:14px}
#cart .ec-cart-badge{position:absolute;top:-7px;right:-7px;display:grid;place-items:center;min-width:23px;height:23px;padding:0 6px;border:2px solid var(--esp-surface,#fff);border-radius:20px;background:#ff7941;color:#172630;font:700 11px/1 Arial,sans-serif;box-shadow:0 2px 8px #0002}
#cart .ec-cart-badge[hidden]{display:none}
header #cart .ec-mini-menu{width:440px;min-width:0!important;max-width:calc(100vw - 24px);padding:0!important;border:1px solid var(--esp-line,#dce2e9);border-radius:18px;background:var(--esp-surface,#fff);color:var(--esp-ink,#192630);box-shadow:0 14px 48px #0003;overflow:hidden;margin-top:12px!important}
.ec-mini-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:18px 20px;border-bottom:1px solid var(--esp-line,#dce2e9)}
.ec-mini-heading strong{font-size:18px}.ec-mini-heading span,.ec-muted,.ec-mini-info small{color:var(--esp-muted,#708194);font-size:12px}
.ec-mini-items{max-height:min(380px,45vh);overflow-y:auto;overscroll-behavior:contain;padding:0 18px}
.ec-mini-item{display:grid;grid-template-columns:64px minmax(0,1fr) 32px;gap:12px;align-items:start;padding:16px 0;border-bottom:1px solid var(--esp-line,#dce2e9)}
.ec-mini-item:last-child{border-bottom:0}.ec-mini-image{display:grid;place-items:center;min-width:0;border-radius:10px;background:#fff;padding:5px}.ec-mini-image img{width:54px;height:54px;object-fit:contain}
.ec-mini-info{min-width:0}.ec-mini-info>a{display:block;font-weight:600;color:var(--esp-ink,#192630);overflow-wrap:anywhere;line-height:1.35;margin-bottom:5px}.ec-mini-info small{display:block}.ec-mini-info strong{display:block;white-space:nowrap;margin-top:5px;font-size:15px}
.ec-icon-btn{display:grid;place-items:center;border:1px solid var(--esp-line,#dce2e9);background:var(--esp-soft,#f5f6f8);color:var(--esp-ink,#192630);width:32px;height:32px;border-radius:10px;font-size:23px;line-height:1;padding:0}.ec-icon-btn:hover{color:#e54b27;border-color:#ff7941}
.ec-mini-bottom{padding:16px 20px 20px;background:var(--esp-soft,#f5f6f8);border-top:1px solid var(--esp-line,#dce2e9)}
.ec-total-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:5px 0}.ec-total-row strong{white-space:nowrap}.ec-total-final{font-size:19px;margin-top:8px;padding-top:12px;border-top:1px solid var(--esp-line,#dce2e9)}
.ec-mini-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:10px;margin-top:16px}
.ec-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 16px;border:1px solid transparent;border-radius:12px;font-size:14px;font-weight:600;line-height:1.3;text-align:center;text-decoration:none!important;transition:background .15s,border-color .15s}
.ec-primary{background:#ff7941;color:#192630!important;border-color:#ff7941}.ec-primary:hover{background:#ff945f;border-color:#ff945f}.ec-secondary{background:var(--esp-surface,#fff);color:var(--esp-ink,#192630)!important;border-color:var(--esp-line,#dce2e9)}.ec-secondary:hover{border-color:#ff7941}
.ec-empty-mini{padding:24px;text-align:center}.ec-empty-mini p{font-size:18px;font-weight:600;margin:0 0 5px}.ec-empty-mini span{display:block;color:var(--esp-muted,#708194)}.ec-empty-mini .ec-button{margin-top:18px;width:100%}
#checkout-cart{padding-bottom:64px}.ec-page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:26px 0}.ec-page-heading h1{font-size:36px;line-height:1.2;margin:7px 0 10px;color:inherit}.ec-eyebrow{font-size:11px;letter-spacing:2px;color:var(--esp-muted,#708194)}.ec-page-heading p{color:var(--esp-muted,#708194);margin:0}.ec-back-link{color:var(--esp-ink,#192630);white-space:nowrap}
.ec-cart-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.ec-cart-items{min-width:0;display:grid;gap:14px}
.ec-cart-item{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:20px;padding:24px;border:1px solid var(--esp-line,#dce2e9);border-radius:18px;background:var(--esp-surface,#fff)}
.ec-product-image{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;width:110px;height:110px;padding:8px}.ec-product-image img{max-width:100%;max-height:100%;object-fit:contain}
.ec-product-detail{min-width:0}.ec-product-name{display:block;font-size:17px;font-weight:600;line-height:1.4;overflow-wrap:anywhere;color:var(--esp-ink,#192630)!important;margin-bottom:5px}.ec-product-detail>small,.ec-product-detail>.ec-muted{display:block}.ec-unit-price{font-size:14px;margin:12px 0;color:var(--esp-muted,#708194)}
.ec-quantity-form{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0}.ec-quantity-control{display:flex;align-items:center;border:1px solid var(--esp-line,#dce2e9);border-radius:10px;background:var(--esp-soft,#f5f6f8);overflow:hidden;height:44px}.ec-quantity-control button{width:36px;height:42px;background:transparent;color:var(--esp-ink,#192630);border:0;font-size:20px;padding:0}.ec-quantity-control button:hover{background:#ff794126}.ec-quantity-control input{border:0;background:transparent;color:var(--esp-ink,#192630);text-align:center;width:76px;min-width:0;padding:8px 2px;appearance:textfield;-moz-appearance:textfield}.ec-quantity-control input::-webkit-inner-spin-button,.ec-quantity-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ec-update{background:none;border:0;border-bottom:1px dotted currentColor;padding:3px 0;color:var(--esp-muted,#708194);font-size:12px}.ec-unit-note{font-size:12px;color:var(--esp-muted,#708194);margin:9px 0 0}.ec-warning{display:block;font-size:12px;color:var(--esp-link,#bd4d1b);margin-top:6px}
.ec-line-end{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.ec-line-end>strong{font-size:20px;white-space:nowrap}.ec-remove{color:var(--esp-muted,#708194);font-size:12px;margin-top:auto;padding-top:18px}.ec-remove:hover{color:#e54b27}
.ec-order-summary{padding:24px;background:var(--esp-soft,#f5f6f8);border:1px solid var(--esp-line,#dce2e9);border-radius:18px;position:sticky;top:140px}.ec-order-summary h2{font-size:23px;margin:0 0 5px;color:inherit}.ec-summary-totals{margin-top:20px}.ec-summary-note{font-size:12px;color:var(--esp-muted,#708194);margin:18px 0;line-height:1.6}.ec-order-summary>.ec-button{width:100%;margin-top:10px}.ec-order-summary .accordion{margin-top:18px}
.ec-message{padding:14px 18px;border:1px solid var(--esp-line,#dce2e9);background:var(--esp-soft,#f5f6f8);border-radius:12px;margin-bottom:16px}.ec-message-error{border-color:#df6349;color:var(--esp-ink,#192630)}.ec-cart-layout[aria-busy=true]{opacity:.65;pointer-events:none}
.ec-empty{padding:48px 24px;text-align:center;border:1px solid var(--esp-line,#dce2e9);border-radius:20px;background:var(--esp-soft,#f5f6f8)}.ec-empty-icon{display:grid;place-items:center;width:64px;height:64px;background:#ff794120;color:#ff7941;border-radius:20px;font-size:40px;margin:0 auto 20px}.ec-empty h2{font-size:25px;color:inherit}.ec-empty p{color:var(--esp-muted,#708194);line-height:1.7}.ec-empty>div{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:24px}
.ec-toast{position:fixed;top:16px;right:20px;z-index:1100;width:min(400px,calc(100vw - 24px));padding:18px 50px 18px 20px;background:var(--esp-surface,#fff);border:1px solid var(--esp-line,#dce2e9);border-left:4px solid #ff7941;border-radius:14px;box-shadow:0 10px 40px #0003}.ec-toast[hidden]{display:none}.ec-toast strong{display:block;font-size:16px}.ec-toast p{font-size:13px;color:var(--esp-muted,#708194);margin:5px 0 9px}.ec-toast a{color:var(--esp-ink,#192630);text-decoration:underline}.ec-toast button{position:absolute;right:10px;top:10px}.ec-toast-error{border-left-color:#d84e35}
@media(max-width:1100px){.ec-cart-layout{grid-template-columns:minmax(0,1fr) 300px}.ec-cart-item{grid-template-columns:80px minmax(0,1fr);padding:18px;gap:16px}.ec-product-image{width:80px;height:80px}.ec-line-end{grid-column:2;flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:8px}.ec-line-end>.ec-muted{display:none}.ec-remove{margin:0 0 0 auto;padding:0}}
@media(max-width:800px){.ec-cart-layout{grid-template-columns:1fr}.ec-order-summary{position:static}.ec-page-heading{align-items:flex-start;flex-direction:column;gap:12px}.ec-page-heading h1{font-size:29px}}
@media(max-width:575px){header #cart .ec-mini-menu{position:fixed!important;inset:104px 12px auto!important;transform:none!important;width:auto;max-width:none;max-height:calc(100dvh - 120px);overflow-y:auto;margin:0!important}.ec-mini-items{max-height:40dvh;padding:0 14px}.ec-mini-heading,.ec-mini-bottom{padding:14px}.ec-mini-item{grid-template-columns:52px minmax(0,1fr) 30px;gap:9px}.ec-mini-image{padding:2px}.ec-mini-image img{width:48px;height:48px}.ec-mini-actions{grid-template-columns:1fr}.ec-cart-item{grid-template-columns:62px minmax(0,1fr);gap:12px;padding:14px}.ec-product-image{width:62px;height:62px}.ec-product-name{font-size:15px}.ec-line-end>strong{font-size:18px}.ec-quantity-control input{width:64px}.ec-quantity-control button{width:32px}.ec-quantity-form{gap:8px}.ec-order-summary{padding:20px}.ec-toast{top:12px;right:12px}.ec-empty{padding:32px 18px}.ec-empty>div{display:grid}.ec-page-heading p{font-size:13px}}
