:root {
    --sf-radius-sm: 8px;
    --sf-radius-md: 12px;
    --sf-radius-lg: 16px;
    --sf-radius-pill: 999px;

    --sf-shadow-sm: 0 6px 18px rgba(15, 23, 42, 0.06);
    --sf-shadow-md: 0 14px 34px rgba(15, 23, 42, 0.12);

    --sf-text-strong: #111827;
    --sf-text-muted: #6b7280;
    --sf-border: #d7dee7;
    --sf-border-strong: #c5d0dc;
    --sf-surface: #ffffff;
    --sf-surface-muted: #f8fafc;

    --sf-control-height: 44px;
    --sf-button-height: 44px;
    --sf-space-1: 0.25rem;
    --sf-space-2: 0.5rem;
    --sf-space-3: 0.75rem;
    --sf-space-4: 1rem;
    --sf-space-5: 1.25rem;
    --sf-transition-base: 180ms ease;
    --sf-placeholder: #9aa4b2;
    --sf-focus-shadow: 0 0 0 3px rgba(15, 23, 42, 0.08);
}

body {
    color: var(--sf-text-strong);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.btn {
    min-height: var(--sf-button-height);
    border-radius: var(--sf-radius-pill);
    font-weight: 600;
    transition: background-color var(--sf-transition-base), border-color var(--sf-transition-base), color var(--sf-transition-base), box-shadow var(--sf-transition-base), transform var(--sf-transition-base);
}

.btn:focus,
.btn.focus {
    box-shadow: var(--sf-focus-shadow);
    outline: none;
}

.btn-primary {
    color: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
}

.btn-primary:hover {
    color: #fff !important;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.16);
    transform: translateY(-1px);
}

.btn-outline-primary,
.btn-outline-secondary {
    background-color: var(--sf-surface);
}

.btn-outline-primary:hover,
.btn-outline-secondary:hover {
    transform: translateY(-1px);
}

.form-control,
textarea.form-control,
select.form-control:not(.changeLang) {
    border-color: var(--sf-border);
    border-radius: var(--sf-radius-md);
    background-color: var(--sf-surface);
    color: var(--sf-text-strong);
    transition: border-color var(--sf-transition-base), box-shadow var(--sf-transition-base), background-color var(--sf-transition-base);
}

input.form-control,
select.form-control:not(.changeLang) {
    min-height: var(--sf-control-height);
}

textarea.form-control {
    min-height: 120px;
    border-radius: var(--sf-radius-md);
}

.form-control::placeholder,
textarea.form-control::placeholder {
    color: var(--sf-placeholder);
    opacity: 1;
}

.form-control:focus,
.custom-select:focus,
select.form-control:not(.changeLang):focus,
textarea.form-control:focus {
    border-color: var(--primary-color);
    box-shadow: var(--sf-focus-shadow);
    background-color: var(--sf-surface);
    outline: none;
}

.card {
    border-color: rgba(15, 23, 42, 0.08);
    border-radius: var(--sf-radius-lg);
    box-shadow: var(--sf-shadow-sm);
    overflow: hidden;
}

.list-card {
    background-color: var(--sf-surface);
    border-color: rgba(15, 23, 42, 0.08);
    border-radius: var(--sf-radius-lg);
    box-shadow: var(--sf-shadow-sm);
    transition: transform var(--sf-transition-base), box-shadow var(--sf-transition-base), border-color var(--sf-transition-base);
}

.product-list .list-card:hover,
.multi-vendore-content .pro-list .list-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--sf-shadow-md) !important;
    border-color: rgba(15, 23, 42, 0.12);
}

.count-number .btn,
.count-number-box .count-number button.count-number-input-cart {
    border-radius: var(--sf-radius-pill);
    transition: background-color var(--sf-transition-base), border-color var(--sf-transition-base), color var(--sf-transition-base), transform var(--sf-transition-base);
}

.product-detail-page .car-det-price .product-qty-status {
    display: block;
    color: #666666;
    font-size: 14px;
}

.product-detail-page-new .rent-cardet-left .main-slider,
.product-detail-page-new .rent-cardet-left > .product-image,
.product-detail-page-new .carrent-det-rg-inner,
.product-detail-page-new .review-inner,
.product-detail-page-new #product_tabs .card,
.product-detail-page-new .store-info .card,
.product-detail-page-new .related-products .list-card {
    border-radius: var(--sf-radius-lg);
    box-shadow: var(--sf-shadow-sm);
}

.product-detail-page-new .carrent-det-rg-inner {
    background-color: var(--sf-surface);
    border: 1px solid rgba(15, 23, 42, 0.08);
    padding: 1.5rem;
}

.product-detail-page-new .addtocart {
    gap: 1rem;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.product-detail-page-new .addtocart .add-to-cart.btn {
    width: calc(50% - 0.5rem);
}

.product-detail-page-new .product-fav-share {
    gap: 0.75rem;
    flex-wrap: wrap;
}

.product-detail-page-new .product-fav-share > div {
    margin-right: 0;
}

.product-detail-page-new .v-boxariants .attribute-options select.form-control {
    max-width: 100%;
}

@media (max-width: 767.98px) {
    .product-detail-page-new .carrent-det-rg-inner {
        padding: 1.25rem;
    }

    .product-detail-page-new .addtocart .add-to-cart.btn {
        width: 100%;
    }
}
