/* =========================================================
   ECOMERS LUNA CART — PREMIUM REDESIGN V2
   Inspired by Hostinger + Tailwind + Stripe • DM Sans
   Screenshot jaisa but zyada premium, compact, professional
   ========================================================= */

.c2-cart-page {
    --c2-primary: #673DE6;
    --c2-primary-2: #7C3AED;
    --c2-accent: #8B5CF6;
    --c2-ink: #0F0F1A;
    --c2-muted: #6B7280;
    --c2-border: #E5E7EB;
    --c2-border-light: #F3F4F6;
    --c2-bg: #F8FAFC;
    --c2-card: #FFFFFF;
    --c2-success: #059669;
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 22px 16px 36px;
    box-sizing: border-box;
    color: var(--c2-ink);
    font-family: 'Inter','DM Sans',system-ui,-apple-system,sans-serif;
    background: transparent;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: "cv02","cv03","cv04","cv11";
}
.c2-cart-page h1, .c2-cart-page h2, .c2-cart-page h3{
    font-family: 'DM Sans','Inter',system-ui,sans-serif;
}

/* ===== HEADER CARD — Premium with subtle gradient blob ===== */
.c2-cart-header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
    background: #fff;
    border: 1px solid #E8E6FF;
    border-radius: 16px;
    padding: 16px 18px;
    box-shadow: 0 1px 3px rgba(15,23,42,.04), 0 8px 24px rgba(103,61,230,.06);
    overflow: hidden;
    isolation: isolate;
}
.c2-cart-header::before{
    content:"";
    position:absolute;
    top:-40px; right:-40px;
    width: 220px; height: 220px;
    background: radial-gradient(60% 60% at 50% 50%, rgba(103,61,230,.08) 0%, transparent 70%);
    pointer-events:none;
    z-index:0;
}
.c2-cart-header > *{ position:relative; z-index:1; }

.c2-cart-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--c2-primary);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    margin-bottom: 5px;
    line-height: 1;
    font-family: 'Inter',sans-serif;
}
.c2-cart-label::before{
    content:"";
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--c2-primary);
    box-shadow: 0 0 0 5px rgba(103,61,230,.12);
    display:inline-block;
}
.c2-cart-header h1 {
    margin: 0 0 4px;
    font-size: 28px;
    line-height: 1;
    font-weight: 800;
    color: var(--c2-primary);
    letter-spacing: -0.032em;
    font-family: 'DM Sans',sans-serif;
}
.c2-cart-header p {
    margin: 0;
    color: var(--c2-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: -0.01em;
    font-family: 'Inter',sans-serif;
}

.c2-cart-count {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: linear-gradient(135deg,#673DE6 0%,#8B5CF6 100%);
    color: #fff;
    border-radius: 9999px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .015em;
    font-family: 'Inter',sans-serif;
    box-shadow: 0 4px 14px rgba(103,61,230,.22), 0 1px 2px rgba(0,0,0,.06);
    border: 1px solid rgba(255,255,255,.22);
    white-space: nowrap;
}
.c2-cart-count::before{
    content:"🛒";
    font-size: 11px;
    filter: saturate(0) brightness(2);
}

/* ===== LAYOUT ===== */
.c2-cart-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) 382px;
    gap: 18px;
    align-items: start;
}
.c2-products-section { min-width: 0; }

.c2-section-title {
    display:flex;
    align-items:center;
    justify-content: space-between;
    margin-bottom: 10px;
    padding: 0 2px;
}
.c2-section-title h2 {
    margin: 0;
    font-size: 19px;
    font-weight: 750;
    color: #0F0F1A;
    display:flex; align-items:center; gap:10px;
    letter-spacing:-0.028em;
    line-height:1;
    font-family: 'DM Sans',sans-serif;
}
.c2-section-title h2 .c2-title-bar{
    width: 4px; height: 22px;
    background: linear-gradient(180deg,#673DE6,#8B5CF6);
    border-radius: 9999px;
    display:inline-block;
    box-shadow: 0 2px 8px rgba(103,61,230,.22);
}
.c2-section-title .c2-items-meta{
    font-size: 11px; font-weight:600; color:#6B7280;
    background:#fff; border:1px solid #E5E7EB;
    padding:5px 10px; border-radius:9999px;
    font-family: 'Inter',sans-serif;
    letter-spacing:-0.01em;
}

/* ===== PRODUCTS LIST ===== */
.c2-products-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Cart Item — premium card — PRODUCT ROW (screenshot wala) */
.c2-cart-item {
    display: flex;
    gap: 12px;
    padding: 12px 13px;
    background: #fff;
    border: 1px solid #EDE9FE;
    border-radius: 14px;
    transition: all .18s cubic-bezier(.2,.8,.2,1);
    position: relative;
}
.c2-cart-item:hover {
    border-color: #DDD6FE;
    box-shadow: 0 8px 24px rgba(103,61,230,.09), 0 2px 8px rgba(15,23,42,.05);
    transform: translateY(-1px);
}
.c2-cart-item:focus-within{
    border-color:#C4B5FD;
    box-shadow: 0 0 0 3px rgba(103,61,230,.10);
}

/* image — COMING SOON thumb premium */
.c2-product-image {
    width: 72px;
    height: 72px;
    flex: 0 0 72px;
    overflow: hidden;
    border-radius: 10px;
    background: linear-gradient(135deg,#EEF2FF 0%,#F5F3FF 100%);
    border: 1px solid #E9E5FF;
    position: relative;
    box-shadow: 0 1px 4px rgba(15,23,42,.06);
    align-self: flex-start;
}
.c2-product-image img {
    display: block;
    width: 100%; height: 100%;
    object-fit: cover;
    margin: 0;
    transition: transform .35s ease;
    image-rendering: -webkit-optimize-contrast;
}
.c2-cart-item:hover .c2-product-image img{ transform: scale(1.05); }
.c2-product-image a{ display:block; width:100%; height:100%; }

/* info */
.c2-product-info {
    flex: 1; min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    justify-content: space-between;
}
.c2-product-main h3 {
    margin: 0 0 5px;
    font-size: 15.5px;
    line-height: 1.32;
    font-weight: 650;
    letter-spacing: -0.024em;
    font-family: 'DM Sans',sans-serif;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.c2-product-main h3 a {
    color: #4F46E5;
    text-decoration: underline;
    text-decoration-color: rgba(79,70,229,.28);
    text-underline-offset: 2.5px;
    text-decoration-thickness: 1.7px;
    text-decoration-skip-ink: auto;
    transition: color .15s, text-decoration-color .15s;
    padding-bottom: 1px;
    font-family: 'DM Sans',sans-serif;
}
.c2-product-main h3 a:hover {
    color: #4338CA;
    text-decoration-color: #4338CA;
}
.c2-product-main .c2-product-price {
    display:flex; align-items:center; gap:6px; flex-wrap:wrap;
    font-size: 13px;
    font-family: 'Inter',sans-serif;
    margin-top: 1px;
}
.c2-product-price .amount {
    font-weight: 750;
    color: #0B0B14;
    font-size: 14.5px;
    letter-spacing: -0.022em;
    font-family: 'Inter',sans-serif;
    font-variant-numeric: tabular-nums;
    line-height:1;
}
.c2-product-price .c2-badge-gpl{
    display:inline-flex; align-items:center; gap:5px;
    background:#EDE9FE; border:1px solid #DDD6FE;
    color:#5B21B6; font-weight:700; font-size:10.5px;
    padding:3.5px 9px; border-radius:9999px; letter-spacing:.03em;
    font-family: 'Inter',sans-serif;
    line-height:1;
    text-transform: uppercase;
}
.c2-product-price .c2-badge-gpl::before{ content:""; width:5px; height:5px; border-radius:50%; background:#7C3AED; opacity:.9; display:inline-block; }
.c2-product-price .c2-instant{
    color:#94A3B8; font-weight:500; font-size:11px;
    font-family: 'Inter',sans-serif;
    letter-spacing:-0.01em;
    display:inline-flex; align-items:center; gap:4px;
}
.c2-product-price .c2-instant::before{ content:"•"; font-size:8px; opacity:.5; }

/* variation / cart item data */
.c2-product-main .variation, .c2-product-main dl.variation{
    margin:6px 0 0; font-size:11.5px; line-height:1.4; color:#6B7280;
}
.c2-product-main .variation dt, .c2-product-main dl.variation dt{ font-weight:700; color:#374151; float:left; margin-right:6px; }
.c2-product-main .variation dd, .c2-product-main dl.variation dd{ margin:0; }

/* actions row — QTY | SUBTOTAL | Remove */
.c2-product-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap:wrap;
    margin-top: 4px;
    padding-top: 12px;
    border-top: 1px dashed #E6E8F0;
}

/* quantity pill premium — compact like screenshot */
.c2-quantity-wrap {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    background: #F8FAFC;
    border:1px solid #E5E7EB;
    border-radius:9999px;
    padding: 3px;
    height: 34px;
    box-shadow: inset 0 1px 1px rgba(255,255,255,.9);
}
.c2-quantity-label {
    font-size: 10px;
    color: #8A8FA3;
    font-weight: 700;
    letter-spacing:.09em;
    text-transform:uppercase;
    padding: 0 2px 0 9px;
    font-family: 'Inter',sans-serif;
    line-height:1;
}
.c2-quantity-wrap .quantity{ margin:0 !important; display:inline-flex; align-items:center; gap:3px; }
.c2-quantity-wrap .quantity input.qty {
    width: 32px !important;
    height: 26px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #EDE9FE !important;
    border-radius: 9999px !important;
    background: #fff !important;
    color: #4F46E5 !important;
    text-align: center !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    font-family: 'Inter',sans-serif !important;
    font-variant-numeric: tabular-nums !important;
    box-shadow: 0 1px 2px rgba(0,0,0,.06)!important;
    appearance: textfield; -moz-appearance: textfield;
    line-height:1 !important;
}
.c2-quantity-wrap .quantity input.qty::-webkit-outer-spin-button,
.c2-quantity-wrap .quantity input.qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.c2-quantity-wrap .quantity input.qty:focus{ outline:none; border-color:#C4B5FD !important; box-shadow: 0 0 0 3px rgba(103,61,230,.12)!important; }

/* qty buttons — white circles inside pill */
.c2-qty-btn{
    width:26px; height:26px; border-radius:9999px; border:1px solid #E5E7EB;
    background:#fff; display:inline-flex; align-items:center; justify-content:center;
    font-size:13px; font-weight:700; line-height:1; color:#6B7280;
    cursor:pointer; box-shadow:0 1px 2px rgba(0,0,0,.06);
    transition: all .14s ease; user-select:none;
    flex:0 0 26px;
}
.c2-qty-btn:hover{ background:var(--c2-primary); color:#fff; border-color:var(--c2-primary); transform:scale(1.05); box-shadow:0 3px 8px rgba(103,61,230,.18); }
.c2-qty-btn:active{ transform:scale(.96); }

/* subtotal — right aligned, premium numerals */
.c2-item-subtotal {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    margin-left: auto;
    text-align:right;
    min-width: 88px;
}
.c2-item-subtotal span {
    color: #9CA3AF;
    font-size: 10px;
    font-weight: 700;
    letter-spacing:.10em;
    text-transform:uppercase;
    font-family: 'Inter',sans-serif;
    line-height:1;
}
.c2-item-subtotal strong, .c2-item-subtotal .amount {
    color: #0F0F1A;
    font-size: 14.5px;
    font-weight:750;
    letter-spacing:-0.025em;
    font-family: 'Inter',sans-serif;
    font-variant-numeric: tabular-nums;
    line-height:1;
    display:inline-flex; align-items:baseline; gap:1px;
}
.c2-item-subtotal strong .woocommerce-Price-currencySymbol{
    font-size: 0.92em;
    opacity:.9;
    font-weight:700;
}
.c2-item-subtotal strong .amount{ font-size:inherit; color:inherit; }

/* remove — pill with trash icon, like screenshot */
.c2-remove { margin-left: 4px; display:flex; align-items:center; }
.c2-remove a.remove {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    width: auto !important;
    height: 30px !important;
    padding:0 12px 0 10px !important;
    border: 1px solid #E5E7EB !important;
    background: #fff !important;
    color: #8A8FA3 !important;
    text-decoration: none !important;
    font-size: 12px !important;
    font-weight:500 !important;
    font-family: 'Inter',sans-serif !important;
    line-height: 1 !important;
    border-radius:9999px !important;
    transition: all .14s ease !important;
    letter-spacing:-0.01em !important;
    box-shadow: 0 1px 2px rgba(0,0,0,.04) !important;
}
.c2-remove a.remove::before{
    content:"";
    width:14px; height:14px;
    background: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.9'%3E%3Cpath d='M3 6h18M8 6V4h8v2M19 6l-1 14H6L5 6'/%3E%3Cpath d='M10 11v6M14 11v6'/%3E%3C/svg%3E") center/contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.9'%3E%3Cpath d='M3 6h18M8 6V4h8v2M19 6l-1 14H6L5 6'/%3E%3Cpath d='M10 11v6M14 11v6'/%3E%3C/svg%3E") center/contain no-repeat;
    opacity:.65;
}
.c2-remove a.remove:hover {
    color: #DC2626 !important;
    background:#FEF2F2 !important;
    border-color:#FECACA !important;
    box-shadow:0 2px 8px rgba(220,38,38,.12) !important;
}

/* ===== BOTTOM BAR ===== */
.c2-cart-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-top: 14px;
    padding: 14px 16px;
    background: #fff;
    border:1px solid #EDE9FF;
    border-radius: 14px;
    box-shadow: 0 1px 3px rgba(0,0,0,.03);
}
.c2-continue-shopping {
    display:inline-flex; align-items:center; gap:7px;
    color: var(--c2-primary);
    font-size: 13.5px;
    font-weight: 600;
    text-decoration: none;
    padding:8px 12px;
    border-radius:9999px;
    border:1px solid transparent;
    transition:.15s;
    letter-spacing:-0.015em;
    font-family: 'DM Sans',sans-serif;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: rgba(103,61,230,.25);
    text-decoration-thickness: 1.5px;
}
.c2-continue-shopping::before{ content:"←"; font-size:13px; transition: transform .15s; }
.c2-continue-shopping:hover { background:#F5F3FF; border-color:#EDE9FF; color:#4C1D95; }
.c2-continue-shopping:hover::before{ transform:translateX(-2px); }

.c2-update-cart {
    appearance:none;
    border: 1.5px solid #DDD6FE !important;
    background: #fff !important;
    color: #4C1D95 !important;
    padding: 9px 18px !important;
    border-radius: 9999px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing:-0.015em;
    font-family: 'DM Sans',sans-serif;
    cursor: pointer;
    transition: all .15s ease !important;
    box-shadow: 0 1px 2px rgba(0,0,0,.04);
    white-space:nowrap;
}
.c2-update-cart:hover {
    background: #673DE6 !important;
    color: #fff !important;
    border-color:#673DE6 !important;
    box-shadow:0 6px 16px rgba(103,61,230,.22) !important;
    transform:translateY(-1px);
}
.c2-update-cart:disabled{ opacity:.55; cursor:not-allowed; transform:none; }

/* ===== SIDEBAR ===== */
.c2-cart-sidebar {
    position: sticky;
    top: 84px;
    display:flex; flex-direction:column; gap:12px;
}
.c2-summary-card,
.c2-coupon-card {
    background: #fff;
    border: 1px solid #EDE9FF;
    border-radius: 16px;
    padding: 18px;
    box-shadow: 0 8px 24px rgba(15,23,42,.04), 0 1px 3px rgba(15,23,42,.06);
}
.c2-summary-card{
    position:relative; overflow:hidden;
}
.c2-summary-card::before{
    content:"";
    position:absolute; top:0; left:0; right:0; height:3px;
    background: linear-gradient(90deg,#673DE6,#8B5CF6,#EC4899);
    opacity:.95;
}
.c2-summary-card h2 {
    margin: 0 0 14px;
    color: #0F0F1A;
    font-size: 18px;
    font-weight:750;
    letter-spacing:-0.025em;
    display:flex; align-items:center; gap:10px;
    line-height:1;
    font-family: 'DM Sans',sans-serif;
}
.c2-summary-card h2 .c2-title-bar{
    width:4px; height:20px; background: linear-gradient(180deg,#673DE6,#8B5CF6); border-radius:9999px; display:inline-block;
}

/* rows */
.c2-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 11px 0;
    color: #6B7280;
    font-size: 13.5px;
    font-weight:400;
    font-family: 'Inter',sans-serif;
    border-bottom:1px dashed #F3F4F6;
    letter-spacing:-0.01em;
}
.c2-summary-row:last-of-type{ border-bottom:0; }
.c2-summary-row span:first-child{ display:flex; align-items:center; gap:8px; font-weight:450; }
.c2-summary-row strong {
    color: #0F0F1A;
    font-weight: 650;
    font-size:14px;
    font-family: 'Inter',sans-serif;
    font-variant-numeric: tabular-nums;
}
.c2-summary-row .amount{ font-weight:800; }
.c2-discount {
    color: #059669 !important;
    font-weight:800 !important;
    background:#ECFDF5; border:1px solid #A7F3D0;
    padding:3px 8px; border-radius:9999px; font-size:12px;
}

/* total premium pill */
.c2-total-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-top: 8px;
    padding: 14px 14px;
    border-radius: 12px;
    background: linear-gradient(135deg,#F5F3FF 0%,#EDE9FF 55%,#FFF1F2 100%);
    border:1px solid #DDD6FE;
    box-shadow: 0 2px 10px rgba(103,61,230,.08);
}
.c2-total-row span {
    color: #4C1D95;
    font-size: 11px;
    font-weight: 700;
    letter-spacing:.08em;
    text-transform:uppercase;
    font-family: 'Inter',sans-serif;
}
.c2-total-row strong,
.c2-total-row .amount {
    color: #4C1D95 !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    letter-spacing:-0.03em;
    line-height:1;
    font-family: 'Inter',sans-serif;
    font-variant-numeric: tabular-nums;
}

/* checkout button — FASHIONISTA premium */
.c2-checkout-btn, .wc-proceed-to-checkout .checkout-button {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 9px !important;
    width: 100% !important;
    min-height: 48px !important;
    margin-top: 14px !important;
    padding: 12px 18px !important;
    box-sizing: border-box !important;
    border-radius: 9999px !important;
    background: linear-gradient(90deg,#673DE6 0%,#7C3AED 35%,#EC4899 100%) !important;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    letter-spacing:-0.02em !important;
    font-family: 'DM Sans',sans-serif !important;
    border:0 !important;
    box-shadow: 0 8px 20px rgba(103,61,230,.28), 0 2px 6px rgba(236,72,153,.18) !important;
    transition: all .18s ease !important;
    position:relative; overflow:hidden; isolation:isolate;
}
.c2-checkout-btn::before, .wc-proceed-to-checkout .checkout-button::before{
    content:"" !important;
    position:absolute; inset:0;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
    transform: translateX(-100%);
    transition: transform .65s ease;
    z-index:0;
}
.c2-checkout-btn:hover, .wc-proceed-to-checkout .checkout-button:hover {
    transform: translateY(-1px) !important;
    box-shadow:0 12px 28px rgba(103,61,230,.30), 0 4px 10px rgba(236,72,153,.20) !important;
    filter: brightness(1.03) !important;
}
.c2-checkout-btn:hover::before, .wc-proceed-to-checkout .checkout-button:hover::before{
    transform: translateX(100%);
}
.wc-proceed-to-checkout .checkout-button::after{
    content:"→";
    font-size:14px; font-weight:900;
    transition: transform .18s;
}
.wc-proceed-to-checkout .checkout-button:hover::after{ transform: translateX(3px); }
.c2-checkout-btn > *, .wc-proceed-to-checkout .checkout-button > *{ position:relative; z-index:1; }

/* secure note premium */
.c2-secure-note {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 14px;
    padding: 12px 12px;
    border-radius: 12px;
    background:#F8FAFC;
    border:1px solid #F1F5F9;
}
.c2-secure-note > span {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    border-radius: 50%;
    background: linear-gradient(135deg,#F5F3FF,#EDE9FF);
    color: var(--c2-primary);
    font-size: 12px;
    font-weight: 900;
    border:1px solid #DDD6FE;
    box-shadow: 0 1px 3px rgba(103,61,230,.10);
}
.c2-secure-note strong {
    display: block;
    color: #0F0F1A;
    font-size: 12.5px;
    font-weight:650;
    line-height:1.2;
    font-family: 'DM Sans',sans-serif;
    letter-spacing:-0.015em;
}
.c2-secure-note small {
    display: block;
    margin-top: 3px;
    color: #6B7280;
    font-size: 11.5px;
    line-height:1.5;
    font-weight:400;
    font-family: 'Inter',sans-serif;
}
.c2-secure-note .c2-trust-row{
    display:flex; gap:6px; margin-top:8px; flex-wrap:wrap;
}
.c2-secure-note .c2-trust-pill{
    font-size:10px; font-weight:800; letter-spacing:.04em; text-transform:uppercase;
    background:#fff; border:1px solid #E5E7EB; color:#374151;
    padding:4px 8px; border-radius:9999px; display:inline-flex; align-items:center; gap:4px;
}

/* ===== COUPON CARD premium ===== */
.c2-coupon-card {
    padding: 16px;
}
.c2-coupon-card h3 {
    margin: 0 0 12px;
    color: #0F0F1A;
    font-size: 13px;
    font-weight:900;
    display:flex; align-items:center; gap:8px;
    letter-spacing:-0.015em;
}
.c2-coupon-card h3 .c2-coupon-icon{
    width:28px; height:28px; border-radius:9999px;
    background: linear-gradient(135deg,#F5F3FF,#FFF1F2);
    border:1px solid #EDE9FF; color:#673DE6;
    display:inline-flex; align-items:center; justify-content:center;
    font-size:12px; font-weight:900;
}
.c2-coupon-form {
    display: flex;
    gap: 8px;
    align-items:center;
}
.c2-coupon-form input {
    min-width: 0;
    flex: 1;
    height: 42px;
    padding: 0 14px;
    border: 1.5px solid #E5E7EB !important;
    border-radius: 9999px !important;
    background: #fff !important;
    font-size: 13.5px !important;
    font-weight:600;
    color:#0F0F1A;
    outline: none;
    transition:.15s;
}
.c2-coupon-form input::placeholder{ color:#9CA3AF; font-weight:500; }
.c2-coupon-form input:focus {
    border-color: #8B5CF6 !important;
    box-shadow: 0 0 0 4px rgba(139,92,246,.12) !important;
    background:#fff !important;
}
.c2-coupon-btn {
    height: 42px;
    padding: 0 18px !important;
    border: 0 !important;
    border-radius: 9999px !important;
    background: #0F0F1A !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    cursor: pointer;
    white-space:nowrap;
    box-shadow: 0 4px 12px rgba(15,15,26,.14);
    transition:.15s !important;
    letter-spacing:-0.01em;
}
.c2-coupon-btn:hover{ background:#673DE6 !important; box-shadow:0 6px 16px rgba(103,61,230,.22) !important; transform:translateY(-1px); }
.c2-coupon-hint{ margin-top:8px; font-size:11px; color:#9CA3AF; font-weight:500; line-height:1.4; }

/* ===== EMPTY CART premium ===== */
.c2-empty-cart {
    max-width: 640px;
    margin: 20px auto 0;
    padding: 44px 28px 32px;
    text-align: center;
    background: #fff;
    border: 1px solid #EDE9FF;
    border-radius: 20px;
    box-shadow: 0 12px 32px rgba(15,23,42,.06), 0 1px 3px rgba(15,23,42,.04);
    position:relative; overflow:hidden;
}
.c2-empty-cart::before{
    content:"";
    position:absolute; top:0; left:0; right:0; height:4px;
    background: linear-gradient(90deg,#673DE6,#8B5CF6,#EC4899);
}
.c2-empty-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 72px;
    height: 72px;
    margin: 0 auto 16px;
    border-radius: 20px;
    background: linear-gradient(135deg,#F5F3FF 0%,#EEF2FF 100%);
    border:1px solid #DDD6FE;
    box-shadow: 0 8px 20px rgba(103,61,230,.09);
}
.c2-empty-icon svg {
    width: 30px; height: 30px;
    stroke: #673DE6; stroke-width:1.8;
}
.c2-empty-cart h2 {
    margin: 0 0 8px;
    color: #0F0F1A;
    font-size: 22px;
    font-weight:900; letter-spacing:-0.025em;
}
.c2-empty-cart p {
    max-width: 420px;
    margin: 0 auto 20px;
    color: #6B7280;
    font-size: 13.5px;
    line-height: 1.6;
    font-weight:500;
}
.c2-primary-btn, .c2-empty-cart .c2-primary-btn, .c2-empty-cart a.button{
    display:inline-flex; align-items:center; gap:8px; justify-content:center;
    background: linear-gradient(90deg,#673DE6,#8B5CF6) !important;
    color:#fff !important; font-weight:900; font-size:13.5px;
    padding:11px 22px !important; border-radius:9999px !important;
    text-decoration:none !important; border:0 !important;
    box-shadow:0 8px 20px rgba(103,61,230,.20);
    transition:.15s;
}
.c2-primary-btn:hover{ transform:translateY(-1px); box-shadow:0 12px 28px rgba(103,61,230,.26); filter:brightness(1.04); }

/* ===== WooCommerce overrides ===== */
.woocommerce-cart-form .shop_table{ margin:0 !important; border:0 !important; }
.cart-collaterals .cart_totals{ width:100% !important; float:none !important; }
.cart_totals h2{ display:none !important; }
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info{
    position: relative !important;
    background:#F5F3FF !important; border:1px solid #DDD6FE !important; color:#4C1D95 !important;
    border-radius:12px !important; padding:14px 20px 14px 50px !important; font-size:13px !important; font-weight:600;
}
.woocommerce-cart .woocommerce-message::before,
.woocommerce-cart .woocommerce-info::before{
    position: absolute !important;
    left: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
}
.woocommerce-cart .woocommerce-error{
    position: relative !important;
    background:#FEF2F2 !important; border-color:#FECACA !important; border-radius:12px !important;
    padding:14px 20px 14px 50px !important;
}
.woocommerce-cart .woocommerce-error::before{
    position: absolute !important;
    left: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
}

/* hide default update button float */
.woocommerce-cart-form .actions{ display:none !important; }

/* ===== TABLET ===== */
@media (max-width: 980px) {
    .c2-cart-page { padding: 18px 14px 32px; }
    .c2-cart-layout { grid-template-columns: 1fr; gap:14px; }
    .c2-cart-sidebar { position: static; }
    .c2-cart-header h1{ font-size:24px; }
}

/* ===== MOBILE premium ===== */
@media (max-width: 640px) {
    .c2-cart-page { padding: 14px 12px 28px; }
    .c2-cart-header { flex-direction:column; align-items:stretch; gap:12px; padding:16px; border-radius:14px; }
    .c2-cart-header > div:last-child{ align-self:flex-start; }
    .c2-cart-header h1 { font-size: 22px; }
    .c2-cart-header p{ font-size:12px; }
    .c2-section-title h2{ font-size:16px; }
    .c2-cart-item { padding: 12px; gap: 12px; border-radius:14px; }
    .c2-product-image { width: 72px; height: 72px; flex-basis: 72px; border-radius:10px; }
    .c2-product-main h3 { font-size: 14px; }
    .c2-product-actions{ gap:8px; }
    .c2-quantity-wrap{ height:34px; }
    .c2-qty-btn{ width:28px; height:28px; font-size:13px; }
    .c2-item-subtotal{ min-width: 72px; }
    .c2-item-subtotal strong{ font-size:14px; }
    .c2-cart-bottom { flex-direction:column; align-items:stretch; padding:12px; gap:10px; }
    .c2-continue-shopping{ justify-content:center; background:#F8FAFC; border-color:#E5E7EB; }
    .c2-update-cart { width: 100%; justify-content:center; text-align:center; }
    .c2-summary-card, .c2-coupon-card{ padding:16px; border-radius:14px; }
    .c2-summary-card h2{ font-size:16px; }
    .c2-total-row strong{ font-size:18px !important; }
    .c2-checkout-btn{ min-height:46px !important; font-size:13.5px !important; }
}

/* ===== Motion preferences ===== */
@media(prefers-reduced-motion:reduce){
    .c2-cart-item, .c2-qty-btn, .c2-checkout-btn, .c2-update-cart{ transition:none !important; transform:none !important; }
}

/* woo quantity hidden native buttons already */
.woocommerce .quantity .qty{ -moz-appearance:textfield; }

/* payment badges micro */
.c2-pay-badges{ display:flex; gap:6px; flex-wrap:wrap; margin-top:10px; align-items:center; justify-content:center; opacity:.9; }
.c2-pay-badges span{ font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; background:#fff; border:1px solid #E5E7EB; padding:4px 7px; border-radius:6px; color:#6B7280; }
