/* Cart page controls */
.danger-btn{min-height:52px;padding:0 18px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;text-align:center;border:1px solid rgba(255,109,122,.22);background:rgba(255,109,122,.10);color:#ffd8de;font-size:13px;font-weight:950;letter-spacing:.02em;transition:.18s ease}
.danger-btn:hover{background:rgba(255,109,122,.16);border-color:rgba(255,109,122,.30);transform:translateY(-1px);box-shadow:0 14px 32px rgba(255,109,122,.10)}

/* Cart page body */
.cart-page-main{padding-bottom:0}
.cart-page-main .breadcrumbs{padding:24px 0 0;color:var(--soft);font-size:13px}
.cart-page-main .breadcrumbs a{color:var(--muted)}
.cart-page-main .breadcrumbs a:hover{color:var(--text)}
.cart-page-main .cart-hero{padding:22px 0 0}
.cart-page-main .page-title{margin:24px 0;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:20px}
.cart-page-main .page-title h1{margin:0;font-size:clamp(38px,5vw,58px);line-height:.95;letter-spacing:-.07em}
.cart-page-main .page-title p{margin:10px 0 0;max-width:620px;color:var(--muted);font-size:16px;line-height:1.55}
.cart-page-main .page-title-side{display:grid;justify-items:end;gap:12px}
.cart-page-main .preview-toggle{display:flex;align-items:center;gap:8px;padding:5px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.045)}
.cart-page-main .preview-toggle button{height:34px;padding:0 14px;border:0;border-radius:999px;background:transparent;color:var(--soft);font-size:12px;font-weight:950;transition:.18s ease}
.cart-page-main .preview-toggle button.is-active{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#061006;box-shadow:0 10px 24px rgba(103,245,110,.16)}
.cart-page-main .cart-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.52fr);gap:22px;align-items:start}
.cart-page-main .card{border:1px solid var(--line);background:linear-gradient(180deg,rgba(11,14,38,.92),rgba(7,10,28,.98));box-shadow:var(--shadow),0 0 42px rgba(91,126,255,.16)}
.cart-page-main .cart-list,.cart-page-main .summary-card,.cart-page-main .empty-cart{border-radius:32px;overflow:hidden;}
.cart-page-main .cart-list{padding:24px;position:relative;}
.cart-page-main .cart-list-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.cart-page-main .cart-list-head h2,.cart-page-main .summary-card h2{margin:0;font-size:22px;letter-spacing:-.04em}
.cart-page-main .cart-list-head span{color:var(--soft);font-size:13px;font-weight:850}
.cart-page-main .page-cart-items{display:grid;gap:14px;max-height:none;overflow:visible}
.cart-page-main .page-cart-item{display:grid;grid-template-columns:108px minmax(0,1fr) auto;gap:16px;align-items:start;padding:14px;border-radius:24px;border:1px solid rgba(190,198,255,.10);background:rgba(255,255,255,.04);transition:.18s ease}
.cart-page-main .page-cart-item:hover{background:rgba(255,255,255,.055);border-color:rgba(190,198,255,.16);transform:translateY(-1px)}
.cart-page-main .item-cover{position:relative;width:108px;aspect-ratio:4/5;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.10);background:radial-gradient(circle at 24% 18%,rgba(255,255,255,.13),transparent 28%),linear-gradient(145deg,var(--a),var(--b));box-shadow:0 16px 34px rgba(0,0,0,.26),0 0 24px rgba(91,126,255,.16)}
/* .cart-page-main .item-cover:after{content:"";position:absolute;inset:9px;border-radius:12px;border:1px solid rgba(255,255,255,.08)} */
.cart-page-main .item-flag{position:absolute;top:8px;right:8px;z-index:1;min-width:22px;height:16px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:rgba(7,10,28,.84);border:1px solid rgba(255,255,255,.14);font-size:9px;font-weight:950;color:rgba(255,255,255,.9)}
.cart-page-main .item-logo{position:absolute;left:10px;right:10px;bottom:14px;z-index:1;color:#fff;font-size:19px;line-height:1;font-weight:950;letter-spacing:-.05em;text-shadow:0 8px 20px rgba(0,0,0,.45)}
.cart-page-main .item-logo.word{font-size:15px;line-height:1.05}
.cart-page-main .item-info{min-width:0;padding-top:4px}
.cart-page-main .item-info h3{margin:0;font-size:17px;line-height:1.35;letter-spacing:-.025em}
.cart-page-main .item-meta{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.45}
.cart-page-main .item-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.cart-page-main .item-badge{padding:7px 9px;border-radius:999px;border:1px solid rgba(190,198,255,.10);background:rgba(255,255,255,.045);color:var(--soft);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.cart-page-main .item-actions{margin-top:14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.cart-page-main .qty{display:inline-flex;align-items:center;gap:10px;padding:4px;border-radius:14px;border:1px solid rgba(190,198,255,.12);background:rgba(255,255,255,.045)}
.cart-page-main .qty button{width:34px;height:34px;border:0;border-radius:10px;color:var(--text);background:rgba(255,255,255,.07);font-size:16px;font-weight:950;transition:.18s ease}
.cart-page-main .qty button:hover{background:rgba(255,255,255,.12)}
.cart-page-main .qty button:disabled{cursor:not-allowed;opacity:.5;}
.cart-page-main .qty span{min-width:20px;text-align:center;font-weight:900}
.cart-page-main .remove{width:42px;height:42px;border-radius:14px;border:1px solid rgba(190,198,255,.12);background:rgba(255,255,255,.045);color:var(--muted);display:grid;place-items:center;transition:.18s ease}
.cart-page-main .remove:hover{color:#fff;background:rgba(255,109,122,.12);border-color:rgba(255,109,122,.24)}
.cart-page-main .item-side{display:grid;justify-items:end;gap:12px;padding-top:5px}
.cart-page-main .item-price{font-size:18px;font-weight:950;white-space:nowrap}
.cart-page-main .item-price small{display:block;margin-top:4px;color:var(--soft);font-size:11px;font-weight:800;text-align:right}
.cart-page-main .summary-card{position:sticky;top:116px;padding:24px;overflow:hidden;}
.cart-page-main .summary-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.cart-page-main .summary-secure{padding:8px 10px;border-radius:999px;background:rgba(103,245,110,.10);border:1px solid rgba(103,245,110,.18);color:#dfffe0;font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.cart-page-main .summary-lines{display:grid;gap:12px;margin:18px 0}
.cart-page-main .summary-row{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:14px}
.cart-page-main .summary-row strong{color:var(--text);font-weight:950}
.cart-page-main .summary-row.discount strong{color:var(--brand)}
.cart-page-main .summary-total{margin-top:4px;padding-top:16px;border-top:1px solid rgba(190,198,255,.10);display:flex;justify-content:space-between;gap:16px;font-size:22px;font-weight:950}
.cart-page-main .summary-total strong{letter-spacing:-.04em}
.cart-page-main .discount-box{margin-top:18px;padding:14px;border-radius:20px;border:1px solid rgba(190,198,255,.10);background:rgba(255,255,255,.035)}
.cart-page-main .discount-box label{display:block;margin-bottom:9px;color:var(--soft);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.cart-page-main .discount-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.cart-page-main .discount-form input{min-height:48px;border-radius:14px;border:1px solid rgba(190,198,255,.14);background:rgba(255,255,255,.055);color:var(--text);outline:0;padding:0 14px}
.cart-page-main .discount-form input:focus{border-color:rgba(103,245,110,.3);box-shadow:0 0 0 3px rgba(103,245,110,.08)}
.cart-page-main .discount-form button{min-height:48px;padding:0 16px;border-radius:14px;border:0;background:rgba(56,189,248,.18);color:#dff7ff;font-size:12px;font-weight:950;transition:.18s ease}
.cart-page-main .discount-form button:hover{background:rgba(56,189,248,.25);transform:translateY(-1px)}
.cart-page-main .discount-note{display:none;margin-top:10px;color:var(--brand);font-size:13px;font-weight:850}
.cart-page-main .discount-note.is-visible{display:block}
.cart-page-main .checkout-btn-main{width:100%;margin-top:18px}
.cart-page-main .continue-link{width:100%;margin-top:12px}
.cart-page-main .summary-trust{display:grid;gap:10px;margin-top:18px;padding-top:18px;border-top:1px solid rgba(190,198,255,.10)}
.cart-page-main .summary-trust span{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:13px}
.cart-page-main .summary-trust i{width:7px;height:7px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 5px rgba(103,245,110,.08)}
.cart-page-main .empty-cart{display:block;max-width:700px;margin:82px auto 82px;padding:42px;text-align:center}
.cart-page-main .empty-cart-icon{width:74px;height:74px;margin:0 auto 18px;border-radius:24px;display:grid;place-items:center;background:rgba(56,189,248,.12);border:1px solid rgba(56,189,248,.18);font-size:30px}
.cart-page-main .empty-cart h2{margin:0;font-size:34px;letter-spacing:-.055em}
.cart-page-main .empty-cart p{margin:12px auto 0;max-width:460px;color:var(--muted);line-height:1.6}
.cart-page-main .empty-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:24px}
.cart-page-main .recommendations{padding:24px 0 70px}
.cart-page-main .section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 18px}
.cart-page-main .section-head h2{margin:0;font-size:30px;line-height:1;letter-spacing:-.055em}
.cart-page-main .section-head p{margin:8px 0 0;color:var(--muted);font-size:14px}
.cart-page-main .rec-card{flex:0 0 clamp(190px,18vw,238px);scroll-snap-align:start;display:grid;gap:10px}
.cart-page-main .rec-visual{position:relative;aspect-ratio:4/5;border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.09);background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.17),transparent 31%),linear-gradient(145deg,var(--a),var(--b));box-shadow:0 18px 44px rgba(0,0,0,.24)}
.cart-page-main .rec-visual img { object-fit: cover; width: 100%; height: 100%; }
/* .cart-page-main .rec-visual:after{content:"";position:absolute;inset:12px;border-radius:16px;border:1px solid rgba(255,255,255,.12)} */
.cart-page-main .rec-logo{position:absolute;left:18px;right:18px;top:50%;transform:translateY(-50%);text-align:center;font-size:42px;font-weight:950;letter-spacing:-.07em;text-shadow:0 24px 36px rgba(0,0,0,.28)}
.cart-page-main .rec-card h3{margin:0;font-size:15px;line-height:1.3;letter-spacing:-.02em}
.cart-page-main .rec-card p{margin:0;color:var(--muted);font-size:13px}
body.is-cart-empty .cart-page-main .cart-layout,body.is-cart-empty .cart-page-main .recommendations{display:none}
body.is-cart-empty .cart-page-main .empty-cart{display:block}
@media(max-width:1100px){.cart-page-main .cart-layout{grid-template-columns:1fr}.cart-page-main .summary-card{position:relative;top:auto}}
@media(max-width:900px){.cart-page-main .page-title{display:block}.cart-page-main .page-title-side{justify-items:start;margin-top:18px}.cart-page-main .checkout-steps{margin-top:0}.cart-page-main .preview-toggle{width:max-content}}
@media(max-width:640px){.cart-page-main .cart-hero{padding-top:18px}.cart-page-main .cart-list,.cart-page-main .summary-card,.cart-page-main .empty-cart{border-radius:26px;padding:18px}.cart-page-main .cart-list-head{align-items:flex-start;flex-direction:column;gap:6px}.cart-page-main .page-cart-item{grid-template-columns:82px minmax(0,1fr);gap:12px;padding:12px;border-radius:20px}.cart-page-main .item-cover{width:82px;border-radius:16px}.cart-page-main .item-logo{font-size:15px;left:8px;right:8px;bottom:12px}.cart-page-main .item-info h3{font-size:15px}.cart-page-main .item-side{grid-column:2;grid-row:auto;justify-items:start;padding-top:0}.cart-page-main .item-price small{text-align:left}.cart-page-main .discount-form{grid-template-columns:1fr}.cart-page-main .section-head{display:block}.cart-page-main .rec-card{flex-basis:176px}}

/* Cart page transfer overrides */
.page{overflow:visible}
.cart-page-main .summary-card{grid-column:auto;grid-row:auto;order:initial}
@media(max-width:1100px){.cart-page-main .summary-card{grid-column:auto;grid-row:auto;order:initial}}

.cart-page-main .item-cover img {width: 100%; height: 100%; object-fit: cover;}

.cart-page-main .item-side {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
    align-items: flex-end;
}
.cart-page-main .item-wishlist {
    padding: 0 6px 6px 0;
}
.cart-page-main .cart-wishlist-button {
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border-radius: 14px;
    border: 1px solid rgba(190, 198, 255, .14);
    color: var(--soft);
    background: rgba(255, 255, 255, .045);
    cursor: pointer;
    transition: .18s ease;
}
.cart-page-main .cart-wishlist-button svg {
    width: 18px;
    height: 18px;
}
.cart-page-main .cart-wishlist-button:hover,
.cart-page-main .cart-wishlist-button.is-active {
    color: #ffb4c1;
    border-color: rgba(255, 109, 122, .28);
    background: rgba(255, 109, 122, .10);
    transform: translateY(-1px);
}

@media screen and (max-width: 640px) {
    .cart-page-main .item-side {
        flex-direction: row;
    }   
    .cart-page-main .item-wishlist {
        padding: 0;
    }
}
