:root {
    --primary: #0f766e;
    --primary-dark: #0c5f59;
    --primary-light: #14b8a6;
    --accent: #f59e0b;
    --price: #059669;
    --offer-badge: #dc2626;
}

*{
    box-sizing:border-box;
}

html{
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body{
    margin:0;
    min-height:100vh;
    background:#eaeded;
    color:#111827;
    font-family:Arial, sans-serif;
}

button,
input,
textarea{
    font:inherit;
}

button{
    border:none;
    border-radius:12px;
    background:#111827;
    color:#ffffff;
    padding:13px 18px;
    font-weight:800;
    cursor:pointer;
    transition:0.2s ease;
}

button:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 22px rgba(15,23,42,0.16);
}

button:disabled{
    cursor:not-allowed;
    opacity:0.7;
    transform:none;
    box-shadow:none;
}

.checkout-header{
    min-height:76px;
    padding:0 32px;
    background:#0f172a;
    color:#ffffff;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}

.checkout-header a{
    color:#ffffff;
    text-decoration:none;
    font-size:28px;
    font-weight:900;
}

.checkout-header span{
    color:#d1d5db;
    font-weight:800;
}

.premium-header .cart-box{
    display:flex;
    align-items:center;
    gap:14px;
}

.cart-count-label{
    color:#ffffff;
    font-weight:800;
}

.premium-header button{
    background:#0f766e;
    color:#fff;
    border-radius:8px;
}

.checkout-hero{
    width:min(1180px, calc(100% - 32px));
    margin:20px auto 0;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
}

.checkout-hero h1{
    margin:6px 0 8px;
    font-size:36px;
    line-height:1.08;
}

.checkout-hero p{
    max-width:640px;
    color:#5b6472;
    line-height:1.6;
}

.eyebrow{
    display:inline-flex;
    color:#0f766e;
    background:#e6f7fb;
    border:1px solid #b8e3ee;
    padding:7px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
}

.checkout-steps{
    display:flex;
    gap:8px;
    background:#ffffff;
    border:1px solid #e2e8f0;
    border-radius:12px;
    padding:8px;
    box-shadow:0 6px 18px rgba(15,23,42,0.08);
}

.checkout-steps span{
    padding:10px 14px;
    border-radius:8px;
    color:#64748b;
    font-weight:800;
    white-space:nowrap;
}

.checkout-steps .active{
    background:#1e293b;
    color:#ffffff;
}

.cart-page,
.checkout-page{
    width:min(1180px, calc(100% - 32px));
    margin:20px auto 56px;
    display:grid;
    grid-template-columns:minmax(0, 1fr) 360px;
    gap:20px;
    align-items:start;
}

.checkout-card,
.checkout-summary{
    background:#ffffff;
    border:1px solid #d5d9d9;
    border-radius:8px;
    box-shadow:0 2px 8px rgba(15,23,42,0.06);
}

.checkout-card{
    padding:24px;
}

.section-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:16px;
    border-bottom:1px solid #e7e7e7;
    padding-bottom:14px;
}

.section-head h2{
    margin:8px 0 0;
    font-size:26px;
}

.section-head a{
    color:#0f766e;
    font-weight:900;
    text-decoration:none;
}

.cart-items{
    display:grid;
    gap:16px;
}

.cart-card{
    display:grid;
    grid-template-columns:170px minmax(0,1fr);
    gap:20px;
    border:1px solid #e7e7e7;
    border-radius:6px;
    padding:16px;
    background:#ffffff;
}

.cart-media{
    background:#f7f8f8;
    border-radius:6px;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:150px;
    overflow:hidden;
}

.cart-image{
    width:100%;
    height:150px;
    object-fit:contain;
    padding:10px;
}

.cart-content{
    min-width:0;
}

.cart-title-row{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:flex-start;
}

.cart-title-row h3{
    margin:7px 0 8px;
    font-size:22px;
}

.cart-badge{
    display:inline-flex;
    background: var(--offer-badge);
    color:#ffffff;
    padding:6px 9px;
    border-radius:999px;
    font-size:12px;
    font-weight:900;
}

.item-total{
    font-size:22px;
    color:#b91c1c;
    white-space:nowrap;
}

.unit-price,
.warranty-line{
    color:#565959;
    margin:6px 0;
}

.seller-line{
    color:#0f766e;
    font-size:14px;
    margin:0 0 6px;
}

.delivery-promise{
    color:#007600;
    font-weight:800;
    margin:8px 0;
}

.qty-box{
    display:inline-flex;
    align-items:center;
    gap:12px;
    margin:14px 0;
    background:#f0f2f2;
    border:1px solid #d5d9d9;
    border-radius:8px;
    padding:6px;
}

.qty-box button{
    width:36px;
    height:36px;
    padding:0;
    border-radius:7px;
    background:#ffffff;
    color:#111827;
    border:1px solid #d5d9d9;
}

.qty-box span{
    min-width:56px;
    text-align:center;
    font-weight:900;
}

.remove-btn{
    display:inline-flex;
    background:#ffffff;
    color:#0f766e;
    padding:9px 0;
    margin-right:18px;
    box-shadow:none;
}

.save-btn{
    display:inline-flex;
    background:#ffffff;
    color:#0f766e;
    padding:9px 0;
    box-shadow:none;
}

.checkout-summary{
    position:sticky;
    top:96px;
    padding:20px;
}

.checkout-summary h3{
    margin:0 0 18px;
    font-size:22px;
}

.summary-line,
.summary-total{
    display:flex;
    justify-content:space-between;
    gap:14px;
    padding:12px 0;
    border-bottom:1px solid #e7e7e7;
}

.summary-line span{
    color:#64748b;
}

.summary-line strong,
.summary-total strong{
    color:#111827;
}

.summary-total{
    border-bottom:none;
    margin-top:8px;
    padding:16px;
    background:#ffffff;
    border-top:1px solid #e7e7e7;
    border-radius:0;
    font-size:21px;
    font-weight:900;
}

.trust-note{
    margin:16px 0;
    color:#007600;
    background:#f0f8f1;
    border:1px solid #c8e6c9;
    border-radius:8px;
    padding:12px;
    font-weight:800;
    line-height:1.4;
}

.checkout-summary .buy-btn{
    width:100%;
    background: var(--accent);
    color:#111827;
    border-radius:24px;
}

.secure-checkout{
    display:flex;
    align-items:center;
    gap:8px;
    color:#007600;
    font-size:14px;
    font-weight:900;
    margin-bottom:12px;
}

.secure-checkout::before{
    content:"";
    width:10px;
    height:10px;
    border-radius:50%;
    background:#007600;
}

.savings-box{
    background:#fef3c7;
    border:1px solid #fcd34d;
    border-radius:8px;
    color:#92400e;
    padding:10px;
    margin:14px 0;
    font-weight:900;
}

.summary-small{
    color:#565959;
    font-size:12px;
    line-height:1.45;
    margin:12px 0 0;
}

.deal-strip{
    display:flex;
    justify-content:space-between;
    gap:14px;
    align-items:center;
    background:#fff8e6;
    border:1px solid #0f766e;
    border-radius:8px;
    padding:12px 14px;
    margin-bottom:18px;
    color:#111827;
}

.deal-strip strong{
    color:#b91c1c;
}

.deal-strip span{
    color:#565959;
}

.address-strip,
.payment-strip{
    background:#f3fbfb;
    border-color:#b8e3ee;
}

form{
    display:grid;
    gap:14px;
}

input,
textarea{
    width:100%;
    border:1px solid #a6a6a6;
    border-radius:7px;
    padding:15px 16px;
    font-size:15px;
    outline:none;
    background:#ffffff;
    transition:0.2s ease;
}

textarea{
    min-height:120px;
    resize:vertical;
}

input:focus,
textarea:focus{
    border-color:#0f766e;
    box-shadow:0 0 0 3px rgba(0,113,133,0.18);
}

form > button[type="submit"],
#placeOrderBtn{
    width:max-content;
    min-width:220px;
    background: var(--accent);
    color:#111827;
    border-radius:24px;
}

.light-btn{
    width:max-content;
    background:#ffffff;
    color:#111827;
    border:1px solid #d5d9d9;
}

.payment-option{
    display:flex;
    gap:14px;
    border:1px solid #d5d9d9;
    border-radius:8px;
    padding:18px;
    background:#ffffff;
    transition:0.2s ease;
}

.payment-option:hover{
    border-color:#0f766e;
    box-shadow:0 8px 20px rgba(15,23,42,0.08);
}

.payment-option input{
    width:auto;
    margin:5px 0 0;
}

.payment-option label{
    display:flex;
    flex-direction:column;
    margin:0;
}

.payment-option strong{
    font-size:18px;
}

.payment-option span{
    color:#64748b;
    margin-top:5px;
    line-height:1.5;
}

.payment-items{
    display:grid;
    gap:10px;
    margin-bottom:14px;
    border-bottom:1px solid #eef2f7;
    padding-bottom:14px;
}

.summary-item{
    display:flex;
    justify-content:space-between;
    gap:12px;
    font-size:14px;
    color:#475569;
}

.success-page{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:22px;
}

.success-card{
    width:min(620px, 100%);
    background:#ffffff;
    border-radius:22px;
    padding:34px;
    box-shadow:0 20px 60px rgba(15,23,42,0.14);
    text-align:center;
}

.success-mark{
    width:64px;
    height:64px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#dcfce7;
    color:#15803d;
    margin:0 auto 16px;
    font-weight:900;
}

.success-card h1{
    margin:0 0 10px;
}

.success-card > p{
    color:#4b5563;
    line-height:1.6;
}

.success-details{
    display:grid;
    gap:10px;
    margin:22px 0;
    text-align:left;
}

.success-details p{
    display:flex;
    justify-content:space-between;
    gap:14px;
    background:#f9fafb;
    border:1px solid #e5e7eb;
    border-radius:12px;
    padding:12px;
}

.success-details span{
    color:#6b7280;
}

.success-actions{
    display:flex;
    justify-content:center;
    gap:12px;
    flex-wrap:wrap;
}

.primary-link,
.secondary-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 18px;
    border-radius:10px;
    text-decoration:none;
    font-weight:900;
}

.primary-link{
    background:#111827;
    color:#ffffff;
}

.secondary-link{
    background:#25D366;
    color:#ffffff;
}

@media(max-width:900px){
    .checkout-header{
        min-height:auto;
        padding:16px;
        flex-direction:column;
        align-items:flex-start;
    }

    .premium-header .cart-box{
        width:100%;
        justify-content:space-between;
    }

    .checkout-hero{
        flex-direction:column;
        align-items:flex-start;
    }

    .checkout-hero h1{
        font-size:32px;
    }

    .checkout-steps{
        width:100%;
        overflow-x:auto;
    }

    .cart-page,
    .checkout-page{
        grid-template-columns:1fr;
    }

    .checkout-summary{
        position:static;
    }

    .cart-card{
        grid-template-columns:1fr;
    }

    .cart-media,
    .cart-image{
        height:210px;
    }

    .cart-title-row{
        flex-direction:column;
    }

    /* Order Success Page Tablet */
    .success-page{
        padding:20px;
    }

    .success-card{
        padding:30px;
    }

    .success-card h1{
        font-size:28px;
    }

    .success-actions{
        flex-direction:column;
        gap:10px;
    }

    .success-actions a{
        width:100%;
        text-align:center;
    }

    /* Review Modal Tablet */
    .review-modal-content{
        width:90%;
        max-height:85vh;
    }
}

@media (max-width: 480px) {
    .checkout-header {
        padding: 12px;
    }

    .checkout-hero h1 {
        font-size: clamp(20px, 6vw, 28px);
    }

    .checkout-hero p {
        font-size: 14px;
    }

    .checkout-steps span {
        font-size: 12px;
        padding: 8px 10px;
    }

    .checkout-card {
        padding: 14px;
    }

    .section-head h2 {
        font-size: 18px;
    }

    .cart-card {
        padding: 12px;
    }

    .cart-title-row h3 {
        font-size: 16px;
    }

    .item-total {
        font-size: 18px;
    }

    .success-card {
        padding: 20px 16px;
    }

    .success-card h1 {
        font-size: 20px;
    }
}

/* =========================
PREMIUM DIALOG
========================= */

.dialog-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,0.6);
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:9999;
    opacity:0;
    visibility:hidden;
    transition:opacity 0.25s ease, visibility 0.25s ease;
    backdrop-filter:blur(4px);
}

.dialog-overlay.active{
    opacity:1;
    visibility:visible;
}

.dialog-box{
    width:90%;
    max-width:420px;
    max-height:85vh;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    background:white;
    border-radius:24px;
    padding:30px 24px;
    text-align:center;
    transform:scale(0.85);
    transition:transform 0.25s ease;
    box-shadow:0 20px 60px rgba(0,0,0,0.25);
}

.dialog-overlay.active .dialog-box{
    transform:scale(1);
}

.dialog-box h3{
    font-size:24px;
    margin-bottom:12px;
    color:#111;
}

.dialog-box p{
    font-size:15px;
    line-height:1.6;
    color:#666;
    margin-bottom:24px;
    white-space:pre-wrap;
    text-align:center;
    word-break:break-word;
}

.dialog-btn{
    border:none;
    background:#111;
    color:white;
    padding:13px 28px;
    border-radius:12px;
    cursor:pointer;
    font-size:15px;
    transition:0.2s;
}

.dialog-btn:hover{
    transform:translateY(-2px);
    background:black;
}

/* =========================
ORDER TRACKING STYLES
========================= */

.tracking-search{
    display:flex;
    gap:12px;
    margin-bottom:20px;
}

.tracking-search input{
    flex:1;
}

.tracking-result{
    min-height:200px;
}

.tracking-error,
.tracking-success{
    padding:20px;
    border-radius:12px;
}

.tracking-error{
    background:#fef2f2;
    border:1px solid #fecaca;
    color:#991b1b;
}

.tracking-success{
    background:#ffffff;
    border:1px solid #e5e7eb;
}

.tracking-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:20px;
    padding-bottom:16px;
    border-bottom:1px solid #e5e7eb;
}

.tracking-header h3{
    margin:0;
    font-size:20px;
}

.status-badge{
    padding:8px 16px;
    border-radius:20px;
    font-weight:700;
    font-size:13px;
    text-transform:uppercase;
}

.status-badge.new,
.status-badge.processing{
    background:#dbeafe;
    color:#1e40af;
}

.status-badge.confirmed{
    background:#fef3c7;
    color:#92400e;
}

.status-badge.packed{
    background:#e0e7ff;
    color:#3730a3;
}

.status-badge.dispatched{
    background:#d1fae5;
    color:#065f46;
}

.status-badge.delivered{
    background:#dcfce7;
    color:#166534;
}

.status-badge.cancelled{
    background:#fee2e2;
    color:#991b1b;
}

.status-badge.return-requested{
    background:#fef3c7;
    color:#92400e;
}

.status-badge.return-approved{
    background:#dcfce7;
    color:#16a34a;
}

.status-badge.return-rejected{
    background:#fee2e2;
    color:#dc2626;
}

.tracking-badges,
.order-status-badges,
.purchased-product-badges{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    justify-content:flex-end;
}

.tracking-section-block{
    margin:20px 0;
    padding:16px 0 0;
    border-top:1px solid #e5e7eb;
}

.tracking-section-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:14px;
}

.tracking-section-title{
    margin:0 0 12px;
    font-size:15px;
    color:#111827;
}

.return-tracking-section{
    background:#f9fafb;
    border:1px solid #e5e7eb;
    border-radius:12px;
    padding:16px;
    margin-top:16px;
}

.return-timeline .timeline-step.current .timeline-dot{
    background:#f59e0b;
    color:#111827;
}

.return-otp-banner{
    margin-top:14px;
    padding:12px 14px;
    background:#fff7ed;
    border:1px solid #fdba74;
    border-radius:10px;
    color:#9a3412;
    font-size:14px;
}

.return-note{
    margin-top:12px;
    font-size:14px;
    color:#6b7280;
}

.rejected-note{
    color:#dc2626;
}

.order-timeline-wrap{
    margin:16px 0 0;
    padding-top:14px;
    border-top:1px solid #f3f4f6;
}

.tracking-timeline{
    display:flex;
    justify-content:space-between;
    gap:8px;
    margin:24px 0;
    padding:20px 0;
    background:#f9fafb;
    border-radius:12px;
    padding:20px;
}

.timeline-step{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:8px;
    flex:1;
    position:relative;
}

.timeline-step:not(:last-child)::after{
    content:"";
    position:absolute;
    top:20px;
    left:50%;
    width:100%;
    height:2px;
    background:#e5e7eb;
    z-index:1;
}

.timeline-step.completed:not(:last-child)::after{
    background:#16a34a;
}

.timeline-dot{
    width:40px;
    height:40px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    font-size:14px;
    background:#e5e7eb;
    color:#6b7280;
    z-index:2;
    transition:all 0.3s ease;
}

.timeline-step.completed .timeline-dot{
    background:#16a34a;
    color:#ffffff;
}

.timeline-step.current .timeline-dot{
    background: var(--accent);
    color:#111827;
    box-shadow:0 0 0 4px rgba(245, 158, 11, 0.3);
}

.timeline-step.cancelled .timeline-dot{
    background:#dc2626;
    color:#ffffff;
}

.timeline-label{
    font-size:12px;
    font-weight:600;
    color:#6b7280;
    text-align:center;
}

.timeline-step.completed .timeline-label{
    color:#16a34a;
}

.timeline-step.current .timeline-label{
    color:#111827;
}

.timeline-date{
    font-size:11px;
    color:#6b7280;
    margin-top:4px;
    text-align:center;
}

.timeline-step.completed .timeline-date{
    color:#16a34a;
}

.timeline-step.current .timeline-date{
    color:#111827;
    font-weight:600;
}

.tracking-details h4{
    margin:20px 0 12px;
    font-size:18px;
}

.detail-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
    gap:16px;
    margin-bottom:20px;
}

.detail-grid div{
    background:#f9fafb;
    padding:14px;
    border-radius:10px;
}

.detail-grid strong{
    display:block;
    margin-bottom:8px;
    font-size:14px;
    color:#374151;
}

.detail-grid p{
    margin:4px 0;
    font-size:13px;
    color:#6b7280;
}

.tracking-products{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-bottom:20px;
}

.tracking-product-item{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:10px 14px;
    background:#f9fafb;
    border-radius:8px;
    font-size:14px;
}

.tracking-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

.auth-checking-banner{
    padding:14px 20px;
    margin-bottom:20px;
    background:#f9fafb;
    border:1px solid #e5e7eb;
    border-radius:12px;
    text-align:center;
    color:#6b7280;
    font-size:14px;
}

.auth-checking-banner p{
    margin:0;
}

.guest-orders-prompt{
    padding:18px 20px;
    margin-bottom:20px;
    background:#eff6ff;
    border:1px solid #bfdbfe;
    border-radius:12px;
    text-align:center;
}

.guest-orders-prompt p{
    margin:0 0 12px;
    color:#1e3a5f;
}

.guest-orders-note{
    margin:12px 0 0 !important;
    font-size:13px;
    color:#4b5563 !important;
}

.purchased-products-section{
    margin:24px 0;
    padding-top:20px;
    border-top:1px solid #e5e7eb;
}

.purchased-products-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-bottom:6px;
    flex-wrap:wrap;
}

.purchased-products-head h3{
    margin:0;
    font-size:18px;
    color:#111827;
}

.purchased-sub{
    font-size:14px;
    font-weight:500;
    color:#6b7280;
}

.recent-orders-count{
    font-size:13px;
    font-weight:700;
    color:#6b7280;
}

.recent-orders-hint{
    margin:0 0 14px;
    font-size:13px;
    color:#6b7280;
}

.purchased-products-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
    gap:12px;
    max-height:480px;
    overflow-y:auto;
    padding:4px 4px 8px 0;
}

.recent-orders-loading,
.recent-orders-empty{
    padding:20px;
    text-align:center;
    color:#6b7280;
    background:#f9fafb;
    border-radius:12px;
    grid-column:1 / -1;
}

.purchased-product-card{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:12px;
    border:2px solid #e5e7eb;
    border-radius:12px;
    background:#fff;
    cursor:pointer;
    text-align:left;
    width:100%;
    font:inherit;
    color:inherit;
    transition:border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.purchased-product-card:hover{
    border-color:#93c5fd;
    box-shadow:0 4px 14px rgba(37,99,235,0.12);
}

.purchased-product-card.active{
    border-color:#2563eb;
    background:#f0f9ff;
    box-shadow:0 0 0 3px rgba(37,99,235,0.12);
}

.purchased-product-card img{
    width:72px;
    height:72px;
    object-fit:contain;
    border-radius:8px;
    background:#f9fafb;
    flex-shrink:0;
    border:1px solid #e5e7eb;
}

.purchased-product-info{
    display:flex;
    flex-direction:column;
    gap:4px;
    min-width:0;
}

.purchased-product-name{
    font-size:14px;
    font-weight:700;
    color:#111827;
    line-height:1.3;
}

.purchased-product-meta{
    font-size:13px;
    color:#374151;
}

.purchased-product-date{
    font-size:12px;
    color:#6b7280;
}

.purchased-product-status{
    display:inline-block;
    margin-top:4px;
    font-size:11px;
    padding:3px 8px;
    border-radius:999px;
    width:fit-content;
}

.delivery-estimate{
    color:#16a34a;
    font-weight:600;
}

.return-status{
    color:#dc2626;
    font-weight:600;
}

@media(max-width:700px){
    .tracking-timeline{
        flex-direction:column;
        gap:16px;
        padding:16px;
        margin:16px 0;
        overflow:hidden;
    }

    .timeline-step{
        flex-direction:row;
        align-items:flex-start;
        gap:12px;
        text-align:left;
    }

    .timeline-step:not(:last-child)::after{
        width:2px;
        height:calc(100% - 20px);
        left:20px;
        top:40px;
    }

    .timeline-dot{
        flex-shrink:0;
        width:40px;
        height:40px;
    }

    .timeline-label{
        text-align:left;
        font-size:13px;
        flex:1;
    }

    .order-timeline-wrap{
        margin:12px 0 0;
        padding:12px;
        overflow:hidden;
    }

    .tracking-section-title{
        font-size:16px;
    }

    .detail-grid{
        grid-template-columns:1fr;
    }

    .tracking-search{
        flex-direction:column;
    }

    .tracking-search input{
        width:100%;
        box-sizing:border-box;
    }

    .tracking-search button{
        width:100%;
        margin-top:8px;
    }

    .purchased-products-grid{
        grid-template-columns:1fr;
    }

    .checkout-page{
        padding:0 12px;
        overflow-x:hidden;
    }

    .checkout-card{
        padding:16px;
        overflow:hidden;
    }

    .checkout-summary{
        padding:16px;
    }

    .section-head{
        margin-bottom:16px;
    }

    .section-head h2{
        font-size:20px;
    }

    .auth-checking-banner,
    .guest-orders-prompt{
        padding:12px;
        font-size:14px;
    }

    .purchased-products-head h3{
        font-size:16px;
    }

    .purchased-sub{
        font-size:12px;
    }

    .recent-orders-hint{
        font-size:13px;
    }

    /* Order Success Page Mobile */
    .success-page{
        padding:12px;
        overflow-x:hidden;
    }

    .success-card{
        padding:20px 16px;
        width:100%;
        max-width:100%;
        box-sizing:border-box;
    }

    .success-card h1{
        font-size:22px;
        word-wrap:break-word;
    }

    .success-card > p{
        font-size:14px;
        word-wrap:break-word;
    }

    .success-details{
        gap:8px;
    }

    .success-details p{
        font-size:13px;
        word-wrap:break-word;
    }

    .success-details span{
        display:block;
        margin-bottom:2px;
    }

    .success-details strong{
        word-wrap:break-word;
        word-break:break-all;
    }

    .success-actions{
        flex-direction:column;
        gap:10px;
    }

    .success-actions a{
        width:100%;
        text-align:center;
        padding:12px;
        font-size:14px;
        word-wrap:break-word;
    }

    /* Review Modal Mobile */
    .review-modal-content{
        width:95%;
        max-height:90vh;
        margin:20px auto;
    }

    .review-modal-header{
        padding:16px;
    }

    .review-modal-header h3{
        font-size:18px;
    }

    .review-modal-body{
        padding:16px;
    }

    .review-form label{
        font-size:14px;
    }

    .review-form select,
    .review-form textarea{
        font-size:14px;
    }

    /* =========================
    MOBILE CHECKOUT IMPROVEMENTS
    ========================= */

    /* Delivery Promise Card - Compact & Balanced */
    .deal-strip.address-strip{
        padding:10px 12px;
        margin-bottom:12px;
        flex-direction:column;
        align-items:flex-start;
        gap:4px;
    }

    .deal-strip.address-strip strong{
        font-size:14px;
        line-height:1.3;
    }

    .deal-strip.address-strip span{
        font-size:12px;
        line-height:1.4;
    }

    /* Section Head - Better Spacing */
    .section-head{
        margin-bottom:12px;
        padding-bottom:12px;
    }

    .section-head .eyebrow{
        font-size:11px;
        padding:5px 8px;
        margin-bottom:6px;
    }

    .section-head h2{
        font-size:18px;
        margin:0;
    }

    /* Form Groups - Consistent Spacing */
    .form-group{
        margin-bottom:14px;
    }

    .form-group label{
        font-size:13px;
        margin-bottom:6px;
        font-weight:600;
    }

    /* Form Inputs - Consistent Height & Better Focus */
    .form-group input,
    .form-group textarea{
        padding:12px 14px;
        font-size:15px;
        border-radius:10px;
        border:1.5px solid #e5e7eb;
        min-height:48px;
        line-height:1.4;
    }

    .form-group textarea{
        min-height:80px;
        resize:vertical;
    }

    .form-group input:focus,
    .form-group textarea:focus{
        border-color:#10b981;
        box-shadow:0 0 0 3px rgba(16, 185, 129, 0.15);
    }

    .form-group input::placeholder,
    .form-group textarea::placeholder{
        font-size:14px;
        color:#9ca3af;
    }

    /* Form Row - Single Column on Mobile */
    .form-row{
        grid-template-columns:1fr;
        gap:14px;
        margin-bottom:14px;
    }

    /* Location Button - Premium Green Style */
    .location-btn{
        padding:14px 16px;
        font-size:14px;
        font-weight:600;
        border-radius:12px;
        background:linear-gradient(135deg, #10b981 0%, #059669 100%);
        box-shadow:0 4px 12px rgba(16, 185, 129, 0.35);
        gap:10px;
        min-height:52px;
    }

    .location-btn span:first-child{
        font-size:18px;
    }

    .location-btn:hover{
        transform:translateY(-2px);
        box-shadow:0 6px 16px rgba(16, 185, 129, 0.45);
    }

    .location-btn:active{
        transform:translateY(0);
    }

    .location-btn.loading{
        opacity:0.7;
        cursor:not-allowed;
    }

    /* Address Textarea - Better Wrapping */
    #address{
        word-wrap:break-word;
        overflow-wrap:break-word;
        white-space:pre-wrap;
        line-height:1.5;
    }

    /* Premium Button - Mobile Optimized */
    .premium-btn{
        padding:14px 20px;
        font-size:16px;
        border-radius:12px;
        min-height:52px;
    }

    /* Checkout Card - Reduced Padding */
    .checkout-card{
        padding:14px;
    }

    /* Location Suggestions - Mobile Optimized */
    .location-suggestions{
        max-height:180px;
        border-radius:10px;
        margin-top:4px;
    }

    .location-suggestion-item{
        padding:10px 14px;
        font-size:14px;
    }

    .location-suggestion-item small{
        font-size:11px;
        margin-top:2px;
    }
}

