/* ============================================================
   Cart & Checkout — استایل اختصاصی سبد خرید و صفحه پرداخت
   هماهنگ با تم تاریک/روشن سایت جدید
   ============================================================ */

body.future-landing {
    --cart-card: #0b1220;
    --cart-card-2: rgba(255, 255, 255, 0.04);
    --cart-border: rgba(255, 255, 255, 0.10);
    --cart-text: #e8edf5;
    --cart-muted: #9aa4b2;
    --cart-accent: #2dd4bf;
    --cart-accent-2: #0f766e;
    --cart-gold: #e8c99b;
    --cart-danger: #fb7185;
}

html[data-theme="light"] body.future-landing {
    --cart-card: #ffffff;
    --cart-card-2: #f8fafc;
    --cart-border: #e2e8f0;
    --cart-text: #0f172a;
    --cart-muted: #64748b;
    --cart-accent: #0d9488;
    --cart-accent-2: #0f766e;
    --cart-gold: #b45309;
    --cart-danger: #e11d48;
}

/* ---------- Page header ---------- */
.cart-page-head {
    padding: 140px 0 24px;
    text-align: center;
}

.cart-page-head h1 {
    margin: 0 0 6px;
    font-size: clamp(22px, 3vw, 30px);
    font-weight: 800;
    color: var(--cart-text);
}

.cart-page-head p {
    margin: 0;
    font-size: 13px;
    color: var(--cart-muted);
}

/* ---------- Cart table ---------- */
.cart-area {
    padding: 12px 0 60px;
}

.cart-area .container {
    max-width: 1200px;
}

.cart-table {
    background: var(--cart-card);
    border: 1px solid var(--cart-border);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18);
}

.cart-table .table {
    margin: 0;
    color: var(--cart-text);
    background: transparent;
}

.cart-table .table > :not(caption) > * > * {
    background: transparent;
    border-color: var(--cart-border);
    padding: 16px 14px;
    vertical-align: middle;
    color: var(--cart-text);
}

.cart-table thead th {
    background: var(--cart-card-2);
    color: var(--cart-muted);
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    border-bottom: 1px solid var(--cart-border);
}

.cart-table tbody tr {
    transition: background 0.2s ease;
}

.cart-table tbody tr:hover {
    background: rgba(45, 212, 191, 0.05);
}

.product-thumbnail img {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: 12px;
    border: 1px solid var(--cart-border);
    background: var(--cart-card-2);
}

.product-name h5 {
    margin: 0 0 4px;
    font-size: 14px;
    font-weight: 700;
    color: var(--cart-text);
}

.product-name p {
    margin: 0;
    font-size: 12px;
    color: var(--cart-muted);
}

.product-price .unit-amount,
.product-subtotal .subtotal-amount {
    font-weight: 800;
    color: var(--cart-gold);
    white-space: nowrap;
}

.product-quantity .form-control {
    width: 74px;
    text-align: center;
    background: var(--cart-card-2);
    border: 1px solid var(--cart-border);
    color: var(--cart-text);
    border-radius: 10px;
    padding: 6px;
}

.product-remove,
.c-cartpage_products-remove {
    color: var(--cart-danger);
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
}

.product-remove:hover,
.c-cartpage_products-remove:hover {
    opacity: 0.75;
}

/* ---------- Cart totals ---------- */
.cart-totals {
    margin-top: 24px;
    margin-inline-start: auto;
    max-width: 430px;
    background: var(--cart-card);
    border: 1px solid var(--cart-border);
    border-radius: 18px;
    padding: 22px;
    color: var(--cart-text);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18);
}

.cart-totals h3 {
    margin: 0 0 14px;
    font-size: 16px;
    font-weight: 800;
    color: var(--cart-text);
}

.cart-totals ul {
    list-style: none;
    padding: 0;
    margin: 0 0 18px;
}

.cart-totals ul li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 9px 0;
    border-bottom: 1px dashed var(--cart-border);
    font-size: 13px;
    color: var(--cart-muted);
}

.cart-totals ul li:last-child {
    border-bottom: 0;
}

.cart-totals ul li span {
    color: var(--cart-text);
    font-weight: 800;
}

.btn-submit_content {
    display: block;
    text-decoration: none;
}

.btn-submit_content .btn,
.cart-totals .btn {
    width: 100%;
    border: 0;
    border-radius: 12px;
    padding: 12px 18px;
    font-weight: 800;
    font-size: 14px;
    background: linear-gradient(135deg, var(--cart-accent), var(--cart-accent-2));
    color: #04130f;
}

.btn-submit_content .btn:hover,
.cart-totals .btn:hover {
    filter: brightness(1.08);
    color: #04130f;
}

/* ---------- Empty cart ---------- */
.c-checkout-empty__empty-cart-icon {
    width: 88px;
    height: 88px;
    margin: 80px auto 18px;
    border-radius: 24px;
    border: 1px solid var(--cart-border);
    background-color: var(--cart-card-2);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%232dd4bf' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17'/%3E%3Ccircle cx='9' cy='20' r='1.6'/%3E%3Ccircle cx='18' cy='20' r='1.6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 40px 40px;
}

.c-checkout-empty__title {
    margin: 0 0 90px;
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    color: var(--cart-muted);
}

/* ---------- Checkout / payment ---------- */
.checkout-area {
    padding: 12px 0 60px;
}

.order-details {
    background: var(--cart-card);
    border: 1px solid var(--cart-border);
    border-radius: 18px;
    padding: 24px;
    color: var(--cart-text);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18);
}

.order-details .title {
    margin: 0 0 10px;
    font-size: 18px;
    font-weight: 800;
    color: var(--cart-text);
}

.order-details .bar {
    width: 60px;
    height: 3px;
    margin-bottom: 18px;
    border-radius: 99px;
    background: linear-gradient(90deg, var(--cart-accent), var(--cart-gold));
}

.order-table .table {
    margin: 0;
    color: var(--cart-text);
    background: transparent;
}

.order-table .table > :not(caption) > * > * {
    border-color: var(--cart-border);
    padding: 12px;
    color: var(--cart-text);
    background: transparent;
}

.order-table thead th {
    background: var(--cart-card-2);
    color: var(--cart-muted);
    font-size: 12px;
    font-weight: 700;
}

.order-table .product-name a {
    color: var(--cart-text);
    text-decoration: none;
}

.order-table .total-price {
    color: var(--cart-muted) !important;
    font-size: 13px;
}

.order-table .product-subtotal {
    text-align: left;
    white-space: nowrap;
}

#mainprice,
.c-cartpage_summery-sum-price {
    font-weight: 800;
    color: var(--cart-gold);
}

.js-discount-amount {
    color: var(--cart-danger);
}

.c-textarea {
    width: 100%;
    min-height: 110px;
    padding: 12px;
    border-radius: 12px;
    border: 1px solid var(--cart-border);
    background: var(--cart-card-2);
    color: var(--cart-text);
    resize: vertical;
}

.order-btn {
    width: 100%;
    border: 0;
    border-radius: 12px;
    padding: 13px 18px;
    font-weight: 800;
    font-size: 14px;
    background: linear-gradient(135deg, var(--cart-accent), var(--cart-accent-2));
    color: #04130f;
}

.order-btn:hover {
    filter: brightness(1.08);
    color: #04130f;
}

.checkout-area h5 {
    color: var(--cart-text);
    font-size: 14px;
    font-weight: 800;
}

/* ---------- Header mini cart ---------- */
.c-header_cart-list {
    background: var(--cart-card);
    border: 1px solid var(--cart-border);
    border-radius: 14px;
    color: var(--cart-text);
}

.c-header_cart-list_ul {
    list-style: none;
    margin: 0;
    padding: 8px;
}

.c-header_cart-list_link {
    color: var(--cart-text);
    text-decoration: none;
}

.c-header_cart-list_img {
    width: 46px;
    height: 46px;
    border-radius: 10px;
    object-fit: cover;
}

.c-header_cart-list_title {
    color: var(--cart-text);
    font-size: 12px;
    font-weight: 700;
}

.c-header_cart-list_count,
.c-header_cart-list_price {
    color: var(--cart-muted);
    font-size: 11px;
}

.c-header_cart-list_remove {
    color: var(--cart-danger);
    cursor: pointer;
}

.c-header_cart-sum {
    color: var(--cart-gold);
    font-weight: 800;
}

.c-header_cart-dropdown_buttons .c-btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 8px 12px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.c-header_cart-dropdown_showbasket {
    background: var(--cart-card-2);
    border: 1px solid var(--cart-border);
    color: var(--cart-text);
}

.c-header_cart-dropdown_checkout {
    background: linear-gradient(135deg, var(--cart-accent), var(--cart-accent-2));
    color: #04130f;
}

/* ---------- Responsive ---------- */
@media (max-width: 767px) {
    .cart-page-head {
        padding-top: 120px;
    }

    .cart-table .table > :not(caption) > * > * {
        padding: 10px 8px;
        font-size: 12px;
    }

    .product-thumbnail img {
        width: 52px;
        height: 52px;
    }

    .cart-totals {
        max-width: 100%;
    }
}
