:root {
    --site-accent: #075b73;
    --site-accent-hover: #06485b;
    --site-accent-soft: #e7f3f7;

    --site-card-bg: var(--bs-body-bg);
    --site-card-border: var(--bs-border-color);
    --site-card-shadow: 0 4px 18px rgba(0, 0, 0, 0.08);

    --site-page-max-width: 80%;

    --bs-primary: var(--site-accent);
    --bs-primary-rgb: 7, 91, 115;
}

[data-bs-theme="dark"] {
    --bs-body-bg: #09090b;
    --bs-body-color: #e4e4e7;

    --bs-secondary-bg: #18181b;
    --bs-tertiary-bg: #1f1f24;
    --bs-border-color: rgba(255, 255, 255, 0.10);

    --site-accent: #a78bfa;
    --site-accent-hover: #c4b5fd;
    --site-accent-soft: rgba(167, 139, 250, 0.12);

    --site-card-bg: rgba(24, 24, 27, 0.86);
    --site-card-border: rgba(255, 255, 255, 0.10);
    --site-card-shadow:
        0 18px 55px rgba(0, 0, 0, 0.45),
        0 0 0 1px rgba(167, 139, 250, 0.18),
        0 0 32px rgba(167, 139, 250, 0.18);

    --bs-primary: var(--site-accent);
    --bs-primary-rgb: 167, 139, 250;
}

[data-bs-theme="dark"] .text-muted {
    color: #a1a1aa !important;
}

/* ---------- Shared Utilities ---------- */

.site-card {
    background: var(--site-card-bg);
    color: var(--bs-body-color);
    border: 1px solid var(--site-card-border);
    border-radius: 22px;
    box-shadow: var(--site-card-shadow);
    backdrop-filter: blur(14px);
}

.site-title {
    color: var(--site-accent);
}

.site-soft-box {
    background: var(--site-accent-soft);
    border: 1px solid var(--site-card-border);
}

/* ---------- Buttons ---------- */

.btn-site,
.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--site-accent);
    --bs-btn-border-color: var(--site-accent);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--site-accent-hover);
    --bs-btn-hover-border-color: var(--site-accent-hover);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--site-accent-hover);
    --bs-btn-active-border-color: var(--site-accent-hover);
}

[data-bs-theme="dark"] .btn-site,
[data-bs-theme="dark"] .btn-primary {
    --bs-btn-color: #181025;
    --bs-btn-bg: var(--site-accent);
    --bs-btn-border-color: var(--site-accent);
    --bs-btn-hover-color: #12091f;
    --bs-btn-hover-bg: var(--site-accent-hover);
    --bs-btn-hover-border-color: var(--site-accent-hover);
    --bs-btn-active-color: #12091f;
    --bs-btn-active-bg: var(--site-accent-hover);
    --bs-btn-active-border-color: var(--site-accent-hover);
    box-shadow: 0 0 28px rgba(167, 139, 250, 0.20);
}

.btn-outline-site,
.btn-outline-primary {
    --bs-btn-color: var(--site-accent);
    --bs-btn-border-color: var(--site-accent);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--site-accent);
    --bs-btn-hover-border-color: var(--site-accent);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--site-accent);
    --bs-btn-active-border-color: var(--site-accent);
}

[data-bs-theme="dark"] .btn-outline-site,
[data-bs-theme="dark"] .btn-outline-primary {
    --bs-btn-color: #c4b5fd;
    --bs-btn-border-color: rgba(196, 181, 253, 0.55);
    --bs-btn-hover-color: #12091f;
    --bs-btn-hover-bg: #c4b5fd;
    --bs-btn-hover-border-color: #c4b5fd;
    --bs-btn-active-color: #12091f;
    --bs-btn-active-bg: #c4b5fd;
    --bs-btn-active-border-color: #c4b5fd;
}

.btn-loading-site,
.btn-loading-site:disabled {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--site-accent);
    --bs-btn-border-color: var(--site-accent);

    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--site-accent);
    --bs-btn-disabled-border-color: var(--site-accent);

    color: #fff !important;
    background-color: var(--site-accent) !important;
    border-color: var(--site-accent) !important;
    opacity: 1;
}

.btn-loading-site .spinner-border,
.spinner-border {
    color: currentColor;
}

/* ---------- Bootstrap Helper Overrides ---------- */

.text-primary {
    color: var(--site-accent) !important;
}

.bg-primary,
.text-bg-primary {
    background-color: var(--site-accent) !important;
}

.border-primary {
    border-color: var(--site-accent) !important;
}

[data-bs-theme="dark"] .text-bg-primary {
    color: #181025 !important;
}

.theme-toggle-btn {
    z-index: 2000 !important;
}

/* ---------- Navbar ---------- */

.site-navbar-wrap {
    position: relative;
    z-index: 1035;
    padding-top: 16px;
    padding-bottom: 8px;
}

.site-navbar-container {
    width: var(--site-page-max-width);
    margin-inline: auto;
}

.navbar {
    position: relative;
    z-index: 1035;
    background: var(--site-card-bg) !important;
    border: 1px solid var(--site-card-border) !important;
    border-radius: 22px;
    backdrop-filter: blur(14px);
    box-shadow: var(--site-card-shadow);
}

[data-bs-theme="dark"] .navbar {
    box-shadow:
        0 10px 34px rgba(0, 0, 0, 0.35),
        0 0 0 1px rgba(167, 139, 250, 0.10),
        0 0 24px rgba(167, 139, 250, 0.10);
}

.navbar .nav-link {
    color: var(--bs-body-color);
}

.navbar .nav-link:hover,
.navbar .nav-link:focus,
.navbar .nav-link.active,
.navbar .dropdown-toggle.show {
    color: var(--site-accent) !important;
}

[data-bs-theme="dark"] .navbar .dropdown-toggle.show {
    color: #c4b5fd !important;
}

.navbar-toggler {
    border-color: var(--site-card-border);
    margin-left: 10px;
}

.navbar .nav-link i,
.offcanvas .nav-link i,
.dropdown-item i,
.mobile-nav-collapse-toggle i,
.mobile-nav-child-link i {
    color: var(--site-accent);
    font-size: 18px;
    line-height: 1;
}

.dropdown-item i,
.mobile-nav-child-link i {
    font-size: 16px;
}

.navbar .nav-link.active i,
.offcanvas .nav-link.active i,
.dropdown-item.active i,
.mobile-nav-child-link.active i {
    color: currentColor;
}

/* ---------- Navbar Dropdown ---------- */

.navbar .dropdown-menu {
    z-index: 1100 !important;
}

.navbar .dropdown-menu.site-dropdown-menu {
    --bs-dropdown-bg: #ffffff;
    --bs-dropdown-border-color: rgba(7, 91, 115, 0.28);
    --bs-dropdown-border-width: 1px;
    --bs-dropdown-border-radius: 16px;
    --bs-dropdown-padding-x: 8px;
    --bs-dropdown-padding-y: 8px;
    --bs-dropdown-link-color: var(--bs-body-color);
    --bs-dropdown-link-hover-color: var(--site-accent);
    --bs-dropdown-link-hover-bg: rgba(7, 91, 115, 0.08);
    --bs-dropdown-link-active-color: #ffffff;
    --bs-dropdown-link-active-bg: var(--site-accent);

    background-color: var(--bs-dropdown-bg) !important;
    border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color) !important;
    border-radius: var(--bs-dropdown-border-radius) !important;
    padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x) !important;
    box-shadow:
        0 14px 34px rgba(7, 91, 115, 0.14),
        0 0 0 1px rgba(7, 91, 115, 0.08) !important;
    overflow: hidden;
}

[data-bs-theme="dark"] .navbar .dropdown-menu.site-dropdown-menu {
    --bs-dropdown-bg: #18181b;
    --bs-dropdown-border-color: rgba(167, 139, 250, 0.45);
    --bs-dropdown-link-color: #e4e4e7;
    --bs-dropdown-link-hover-color: #c4b5fd;
    --bs-dropdown-link-hover-bg: rgba(167, 139, 250, 0.14);
    --bs-dropdown-link-active-color: #181025;
    --bs-dropdown-link-active-bg: #a78bfa;

    background-color: #18181b !important;
    border-color: rgba(167, 139, 250, 0.45) !important;
    box-shadow:
        0 18px 44px rgba(0, 0, 0, 0.58),
        0 0 0 1px rgba(167, 139, 250, 0.22),
        0 0 32px rgba(167, 139, 250, 0.22) !important;
}

.navbar .dropdown-menu.site-dropdown-menu .dropdown-item {
    border-radius: 12px;
    padding: 8px 12px;
    color: var(--bs-dropdown-link-color) !important;
}

.navbar .dropdown-menu.site-dropdown-menu .dropdown-item:hover,
.navbar .dropdown-menu.site-dropdown-menu .dropdown-item:focus {
    background-color: var(--bs-dropdown-link-hover-bg) !important;
    color: var(--bs-dropdown-link-hover-color) !important;
}

.navbar .dropdown-menu.site-dropdown-menu .dropdown-item.active,
.navbar .dropdown-menu.site-dropdown-menu .dropdown-item:active {
    background-color: var(--bs-dropdown-link-active-bg) !important;
    color: var(--bs-dropdown-link-active-color) !important;
}

/* ---------- Mobile Navbar / Offcanvas ---------- */

@media (max-width: 1195px) {
    .site-navbar-wrap {
        position: relative;
        padding-top: 10px;
        padding-bottom: 6px;
        z-index: 1035;
    }

    .site-navbar-container {
        width: 100%;
        padding-inline: 10px;
    }

    .navbar {
        border-radius: 18px;
    }
}

.offcanvas {
    z-index: 3000 !important;
}

.offcanvas-backdrop {
    z-index: 2990 !important;
}

.puzzle-mobile-offcanvas {
    background-color: #ffffff !important;
    color: var(--bs-body-color);
    border-color: var(--site-card-border);
}

[data-bs-theme="dark"] .puzzle-mobile-offcanvas {
    background-color: #18181b !important;
    box-shadow:
        12px 0 40px rgba(0, 0, 0, 0.55),
        0 0 0 1px rgba(167, 139, 250, 0.16),
        0 0 34px rgba(167, 139, 250, 0.14);
}

.mobile-nav-collapse-toggle {
    color: var(--bs-body-color);
    padding: 0.55rem 0;
    text-align: right;
}

.mobile-nav-collapse-toggle:hover,
.mobile-nav-collapse-toggle.active {
    color: var(--site-accent);
}

.mobile-nav-chevron {
    color: var(--site-accent);
    font-size: 14px;
    transition: transform 0.18s ease;
}

.mobile-nav-collapse-toggle[aria-expanded="true"] .mobile-nav-chevron {
    transform: rotate(180deg);
}

.mobile-nav-child-link {
    color: var(--bs-body-color);
    text-decoration: none;
    padding: 0.45rem 0;
    font-size: 14px;
    opacity: 0.86;
}

.mobile-nav-child-link:hover,
.mobile-nav-child-link.active {
    color: var(--site-accent);
    opacity: 1;
}

.mobile-nav-child-link.disabled {
    opacity: 0.45;
    pointer-events: none;
}

/* ---------- Product z-index Safety ---------- */

.product-page,
.product-content-card,
.product-sidebar-card {
    position: relative;
    z-index: 1;
}

/* ---------- Table Accent Header ---------- */

.table-head-accent th {
    background-color: var(--site-accent) !important;
    color: #fff !important;
    border-inline-color: transparent !important;
    border-top-color: var(--site-accent) !important;
    border-bottom-color: var(--site-accent) !important;
}

.table-head-accent th:first-child {
    border-right-color: var(--site-accent) !important;
}

.table-head-accent th:last-child {
    border-left-color: var(--site-accent) !important;
}

.table-head-accent th+th {
    border-right-color: transparent !important;
}

/* ---------- Footer ---------- */

.site-footer {
    padding: 34px 0 24px;
    background: var(--bs-body-bg);
    border-top: 1px solid var(--site-card-border);
    box-shadow: 0 -14px 34px rgba(0, 0, 0, 0.06);
}

[data-bs-theme="dark"] .site-footer {
    border-top-color: rgba(167, 139, 250, 0.28);
    box-shadow:
        0 -18px 42px rgba(0, 0, 0, 0.12),
        0 -1px 0 rgba(167, 139, 250, 0.16),
        0 -18px 44px rgba(167, 139, 250, 0.20);
}

.site-footer-container {
    width: var(--site-page-max-width);
    margin-inline: auto;
}

.site-footer-card {
    background: transparent;
    color: var(--bs-body-color);
    padding: 34px 28px 18px;
    backdrop-filter: blur(14px);
}

.footer-title {
    font-size: 17px;
    font-weight: 800;
    color: var(--bs-body-color);
    margin-bottom: 14px;
}

.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li {
    margin-bottom: 7px;
}

.footer-links a {
    color: var(--bs-body-color);
    opacity: 0.76;
    text-decoration: none;
    font-size: 13px;
    transition:
        color 0.15s ease,
        opacity 0.15s ease,
        transform 0.15s ease;
}

.footer-links a:hover {
    color: var(--site-accent);
    opacity: 1;
}

.footer-trust-box {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.footer-trust-img {
    width: 86px;
    max-width: 100%;
    height: auto;
    display: inline-block;
}

.footer-social-wrap {
    display: flex;
    justify-content: center;
    margin-top: 34px;
    margin-bottom: 14px;
}

.footer-socials {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
}

.footer-socials a {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--site-accent);
    color: #fff;
    text-decoration: none;
    font-size: 18px;
    line-height: 1;
    transition:
        transform 0.16s ease,
        box-shadow 0.16s ease,
        background-color 0.16s ease;
}

.footer-socials a i {
    line-height: 1;
}

.footer-socials a:hover {
    transform: translateY(-2px);
    background: var(--site-accent-hover);
}

[data-bs-theme="dark"] .footer-socials a {
    color: #181025;
    box-shadow: 0 0 20px rgba(167, 139, 250, 0.25);
}

.footer-copy {
    text-align: center;
    color: var(--bs-body-color);
    opacity: 0.7;
    font-size: 12px;
    padding-top: 8px;
}

@media (max-width: 991px) {
    .site-footer-container {
        width: 100%;
        padding-inline: 12px;
    }

    .site-footer-card {
        border-radius: 18px;
        padding: 28px 18px 18px;
        border: 0;
    }

    .footer-title {
        font-size: 15px;
    }

    .footer-links a {
        font-size: 12px;
    }

    .footer-trust-box {
        align-items: center;
    }
}

@media (max-width: 575px) {
    .site-footer {
        padding-bottom: 96px;
    }

    .footer-social-wrap {
        margin-top: 24px;
    }

    .footer-copy {
        line-height: 1.9;
    }
}

/* ---------- Wizard Header Cart Badge ---------- */

.wizard-cart-badge {
    min-width: 17px;
    height: 17px;
    padding: 0 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    font-size: 10px;
    font-weight: 800;
    line-height: 1;

    color: #fff;
    background-color: #f36a87 !important;
    border: 2px solid #fff;
    box-shadow: 0 4px 10px rgba(225, 29, 72, 0.28);
}

[data-bs-theme="dark"] .wizard-cart-badge {
    background-color: #fb7185 !important;
    color: #2a0711;
    border-color: #18181b;
    box-shadow: 0 0 14px rgba(251, 113, 133, 0.35);
}

/* ---------- Wizard Cart Modal ---------- */

.wizard-cart-modal-body {
    max-height: min(70vh, 520px);
    overflow-y: auto;
}

.wizard-cart-modal-table {
    --bs-table-border-color: transparent;
    --bs-table-striped-bg: #f8fafc;
    --bs-table-striped-color: inherit;

    font-size: .78rem;
}

.wizard-cart-modal-table th,
.wizard-cart-modal-table td {
    border: 0 !important;
    padding: .55rem .35rem;
    text-align: center !important;
    vertical-align: middle;
}

.wizard-cart-modal-table thead th {
    font-size: .72rem;
    font-weight: 800;
    color: #64748b;
    background-color: #f1f5f9 !important;
    box-shadow: none !important;
    padding: .5rem .35rem;
}

.wizard-cart-modal-table .fw-bold {
    font-size: .78rem;
    line-height: 1.8;
}

.wizard-cart-modal-table .small {
    font-size: .68rem;
    line-height: 1.7;
}

.wizard-cart-modal-table tbody tr.wizard-cart-modal-total-row,
.wizard-cart-modal-table tbody tr.wizard-cart-modal-installment-row {
    --bs-table-bg: transparent;
    --bs-table-striped-bg: transparent;
    --bs-table-accent-bg: transparent;
}

.wizard-cart-modal-table tbody tr.wizard-cart-modal-total-row>* {
    background-color: #eaf0f7 !important;
    color: #475569 !important;
    font-weight: 800;
    box-shadow: none !important;
}

.wizard-cart-modal-table tbody tr.wizard-cart-modal-installment-row>* {
    background-color: #dde7f1 !important;
    color: #334155 !important;
    font-weight: 800;
    box-shadow: none !important;
}

.wizard-cart-modal-table tbody tr.wizard-cart-modal-total-row .fw-bold,
.wizard-cart-modal-table tbody tr.wizard-cart-modal-installment-row .fw-bold {
    color: inherit !important;
}

[data-bs-theme="dark"] .wizard-cart-modal-table {
    --bs-table-striped-bg: rgba(255, 255, 255, .04);
    --bs-table-striped-color: #e4e4e7;
}

[data-bs-theme="dark"] .wizard-cart-modal-table thead th {
    color: #a1a1aa;
    background-color: rgba(255, 255, 255, .06) !important;
    box-shadow: none !important;
}

[data-bs-theme="dark"] .wizard-cart-modal-table tbody tr.wizard-cart-modal-total-row>* {
    background-color: rgba(255, 255, 255, .075) !important;
    color: #d4d4d8 !important;
    box-shadow: none !important;
}

[data-bs-theme="dark"] .wizard-cart-modal-table tbody tr.wizard-cart-modal-installment-row>* {
    background-color: rgba(255, 255, 255, .105) !important;
    color: #f4f4f5 !important;
    box-shadow: none !important;
}

@media (max-width: 575.98px) {
    .wizard-cart-modal-table {
        font-size: .68rem;
    }

    .wizard-cart-modal-table th,
    .wizard-cart-modal-table td {
        padding: .45rem .25rem;
    }

    .wizard-cart-modal-table thead th {
        font-size: .62rem;
        padding: .4rem .25rem;
    }

    .wizard-cart-modal-table .fw-bold {
        font-size: .68rem;
        line-height: 1.7;
    }

    .wizard-cart-modal-table .small {
        font-size: .58rem;
        line-height: 1.6;
    }

    .wizard-cart-modal-table td.text-nowrap {
        font-size: .64rem;
    }
}

/* ---------- Wizard Choice Layout ---------- */

.wizard-choice-label {
    position: relative;
    padding-top: .75rem !important;
    padding-bottom: .75rem !important;
}

.wizard-choice-content {
    display: grid !important;
    grid-template-columns: 1fr auto;
    align-items: center !important;
    gap: .5rem;
    width: 100%;
    min-width: 0;
}

.wizard-choice-text-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    gap: .18rem;
}

.wizard-choice-title {
    display: block;
    min-width: 0;
    line-height: 1.55;
}

.wizard-choice-description {
    display: block;
    width: 100%;
    margin-top: 0 !important;
    padding-inline: 0;
    line-height: 1.55;
}

/* ---------- Add/Selected Badge ---------- */

.wizard-choice-state-badge {
    position: absolute;
    top: -7px;
    right: -7px;
    z-index: 2;

    width: 20px;
    height: 20px;
    min-width: 20px;
    border-radius: 999px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #92400e;
    background-color: #fef3c7;
    border: 1px solid #fcd34d;
    box-shadow: 0 4px 10px rgba(245, 158, 11, .22);

    font-size: 10px;
    line-height: 1;
}

.wizard-choice-state-badge i {
    font-size: 10px;
    line-height: 1;
}

.wizard-choice-state-check {
    display: none;
}

.btn-check:checked+.wizard-choice-label .wizard-choice-state-badge {
    color: #ffffff;
    background-color: #16a34a;
    border-color: #16a34a;
    box-shadow: 0 5px 12px rgba(22, 163, 74, .28);
}

.btn-check:checked+.wizard-choice-label .wizard-choice-state-plus {
    display: none;
}

.btn-check:checked+.wizard-choice-label .wizard-choice-state-check {
    display: inline-block;
}

/* ---------- Price / Status Icon Buttons ---------- */

.wizard-choice-icon-stack {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .16rem;
    flex: 0 0 auto;
    margin: 0 !important;
}

.wizard-price-icon-btn,
.wizard-variant-price-icon-btn,
.wizard-discount-help-icon-btn {
    padding: 0;
    border-radius: 999px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: var(--site-accent);
    background-color: rgba(var(--bs-primary-rgb), .09);
    border: 1px solid rgba(var(--bs-primary-rgb), .22);

    line-height: 1;
    flex: 0 0 auto;
}

.wizard-price-icon-btn {
    width: 19px;
    height: 19px;
    min-width: 19px;
    font-size: 10px;
}

.wizard-variant-price-icon-btn {
    width: 17px;
    height: 17px;
    min-width: 17px;
    font-size: 8px;
}

.wizard-discount-help-icon-btn {
    width: 17px;
    height: 17px;
    min-width: 17px;
    margin-left: .25rem;
    font-size: 8px;
    vertical-align: middle;
}

.wizard-price-icon-btn i {
    font-size: 10px;
    line-height: 1;
}

.wizard-variant-price-icon-btn i,
.wizard-discount-help-icon-btn i {
    font-size: 8px;
    line-height: 1;
}

.wizard-price-icon-btn:hover,
.wizard-price-icon-btn:focus,
.wizard-variant-price-icon-btn:hover,
.wizard-variant-price-icon-btn:focus,
.wizard-discount-help-icon-btn:hover,
.wizard-discount-help-icon-btn:focus {
    color: var(--site-accent);
    background-color: rgba(var(--bs-primary-rgb), .16);
    border-color: rgba(var(--bs-primary-rgb), .35);
}

.btn-check:checked+.wizard-choice-label .wizard-price-icon-btn,
.btn-check:checked+.wizard-variant-choice-label .wizard-variant-price-icon-btn {
    color: #fff;
    background-color: rgba(255, 255, 255, .18);
    border-color: rgba(255, 255, 255, .38);
}

.btn-check:checked+.wizard-choice-label .wizard-price-icon-btn:hover,
.btn-check:checked+.wizard-choice-label .wizard-price-icon-btn:focus,
.btn-check:checked+.wizard-variant-choice-label .wizard-variant-price-icon-btn:hover,
.btn-check:checked+.wizard-variant-choice-label .wizard-variant-price-icon-btn:focus {
    color: #fff;
    background-color: rgba(255, 255, 255, .28);
    border-color: rgba(255, 255, 255, .55);
}

/* ---------- Shipping / Discount Status Icons ---------- */

.wizard-shipping-icon-btn {
    color: #075985 !important;
    background-color: #e0f2fe !important;
    border-color: #7dd3fc !important;
}

.wizard-shipping-icon-btn:hover,
.wizard-shipping-icon-btn:focus {
    color: #075985 !important;
    background-color: #bae6fd !important;
    border-color: #38bdf8 !important;
}

.wizard-discount-icon-btn {
    color: #166534 !important;
    background-color: #dcfce7 !important;
    border-color: #86efac !important;
}

.wizard-discount-icon-btn:hover,
.wizard-discount-icon-btn:focus {
    color: #166534 !important;
    background-color: #bbf7d0 !important;
    border-color: #4ade80 !important;
}

.btn-check:checked+.wizard-choice-label .wizard-shipping-icon-btn,
.btn-check:checked+.wizard-variant-choice-label .wizard-shipping-icon-btn {
    color: #075985 !important;
    background-color: #e0f2fe !important;
    border-color: #7dd3fc !important;
}

.btn-check:checked+.wizard-choice-label .wizard-discount-icon-btn,
.btn-check:checked+.wizard-variant-choice-label .wizard-discount-icon-btn {
    color: #166534 !important;
    background-color: #dcfce7 !important;
    border-color: #86efac !important;
}

.btn-check:checked+.wizard-choice-label .wizard-shipping-icon-btn i,
.btn-check:checked+.wizard-variant-choice-label .wizard-shipping-icon-btn i {
    color: #075985 !important;
}

.btn-check:checked+.wizard-choice-label .wizard-discount-icon-btn i,
.btn-check:checked+.wizard-variant-choice-label .wizard-discount-icon-btn i {
    color: #166534 !important;
}

/* ---------- Variant Choices ---------- */

.wizard-variant-choice-label {
    min-width: 0;
}

.wizard-variant-choice-content {
    display: grid !important;
    grid-template-columns: 1fr auto;
    align-items: center !important;
    gap: .35rem;
    width: 100%;
    min-width: 0;
}

.wizard-variant-choice-title {
    min-width: 0;
    text-align: right;
    line-height: 1.7;
}

.wizard-variant-icon-stack {
    gap: .18rem;
    margin-inline-start: .2rem !important;
}

.wizard-choice-list .wizard-variant-choice-group .btn-check:checked+label.btn-outline-primary.wizard-variant-choice-label {
    color: #ffffff !important;
    background-color: #1296b5 !important;
    border-color: #1296b5 !important;
}

.wizard-choice-list .wizard-variant-choice-group .btn-check:checked+label.btn-outline-primary.wizard-variant-choice-label * {
    color: #ffffff !important;
}

.wizard-choice-list .wizard-variant-choice-group .btn-check:checked+label.btn-outline-primary.wizard-variant-choice-label:hover,
.wizard-choice-list .wizard-variant-choice-group .btn-check:checked+label.btn-outline-primary.wizard-variant-choice-label:focus {
    color: #ffffff !important;
    background-color: #0d86a5 !important;
    border-color: #0d86a5 !important;
}

.wizard-choice-list .wizard-variant-choice-group .btn-check:checked+label.wizard-variant-choice-label .wizard-shipping-icon-btn,
.wizard-choice-list .wizard-variant-choice-group .btn-check:checked+label.wizard-variant-choice-label .wizard-shipping-icon-btn i {
    color: #075985 !important;
}

.wizard-choice-list .wizard-variant-choice-group .btn-check:checked+label.wizard-variant-choice-label .wizard-discount-icon-btn,
.wizard-choice-list .wizard-variant-choice-group .btn-check:checked+label.wizard-variant-choice-label .wizard-discount-icon-btn i {
    color: #166534 !important;
}

/* ---------- Popovers ---------- */

.popover {
    --bs-popover-header-bg: var(--site-accent);
    --bs-popover-header-color: #ffffff;
    --bs-popover-border-color: var(--site-accent);
    --bs-popover-border-radius: 14px;
    --bs-popover-box-shadow: 0 12px 34px rgba(15, 23, 42, .16);

    direction: rtl;
    text-align: right;
    border-color: var(--site-accent) !important;
}

.popover-header {
    font-size: .78rem;
    font-weight: 800;
    text-align: right;
    background-color: var(--site-accent) !important;
    color: #ffffff !important;
    border-bottom-color: var(--site-accent) !important;
}

.popover-body {
    font-size: .76rem;
    color: var(--bs-body-color);
}

.wizard-price-popover-content {
    line-height: 1.9;
}

.wizard-price-popover-content hr {
    margin: .45rem 0;
}

/* ---------- Mobile Compact ---------- */

@media (max-width: 575.98px) {
    .wizard-choice-content {
        gap: .4rem;
    }

    .wizard-choice-text-box {
        gap: .14rem;
    }

    .wizard-choice-title,
    .wizard-choice-description {
        line-height: 1.5;
    }

    .wizard-choice-icon-stack {
        gap: .14rem;
    }

    .wizard-price-icon-btn,
    .wizard-variant-price-icon-btn {
        width: 16px;
        height: 16px;
        min-width: 16px;
    }

    .wizard-price-icon-btn i,
    .wizard-variant-price-icon-btn i {
        font-size: 8px;
    }
}





/* ---------- Wizard Icon Buttons - بزرگتر شدن ایکون‌ها ---------- */
.wizard-price-icon-btn,
.wizard-variant-price-icon-btn,
.wizard-discount-help-icon-btn {
    width: 22px;
    /* قبلاً 17-19px */
    height: 22px;
    min-width: 22px;
    font-size: 12px;
    /* قبلاً 8-10px */
}

.wizard-price-icon-btn i,
.wizard-variant-price-icon-btn i,
.wizard-discount-help-icon-btn i {
    font-size: 12px;
    /* قبلاً 8-10px */
    line-height: 1.1;
    /* کمی افزایش برای تعادل با اندازه جدید */
}

/* اگر خواستیم کمی فضای بین ایکون و متن روی دکمه‌ها بیشتر شود */
.wizard-choice-content {
    gap: .6rem;
    /* قبلاً .5rem یا .35rem */
}

/* افزایش اندازه متن روی دکمه‌ها کمی */
.wizard-choice-title {
    font-size: 1rem;
    /* قبلاً .95rem یا کمتر */
}

.wizard-choice-description {
    font-size: .82rem;
    /* کمی بزرگتر برای خوانایی */
    line-height: 1.55;
}

/* هاور روی ایکون‌ها کمی بیشتر دیده شود */
.wizard-price-icon-btn:hover,
.wizard-variant-price-icon-btn:hover,
.wizard-discount-help-icon-btn:hover {
    transform: scale(1.2);
    /* کمی بزرگتر روی هاور */
}

/* ---------- افزایش فاصله بین ایکون‌ها در دکمه‌های آیتم مرحله ---------- */
.wizard-choice-icon-stack {
    gap: 0.28rem;
    /* قبلاً 0.16rem، کمی بزرگتر برای فاصله بیشتر */
}

.wizard-variant-icon-stack {
    gap: 0.25rem;
    /* قبلاً 0.18rem */
}

/* ---------- Wizard Choice Text Bigger ---------- */
.wizard-choice-title {
    font-size: 1rem;
    /* قبلاً کوچک‌تر بود */
    font-weight: 600;
    line-height: 1.6;
}

.wizard-choice-description {
    font-size: 0.9rem;
    /* کمی بزرگ‌تر از قبل */
    line-height: 1.65;
    color: var(--bs-body-color) !important;
}

/* برای حالت موبایل هم */
@media (max-width: 575.98px) {
    .wizard-choice-title {
        font-size: 0.95rem;
    }

    .wizard-choice-description {
        font-size: 0.85rem;
    }
}

/* ---------- Smaller Text for Variants / Descriptions / Addons ---------- */

/* متن عنوان variant ها */
.wizard-variant-choice-title {
    font-size: 0.85rem; /* کمی کوچکتر */
    font-weight: 600;
    line-height: 1.5;
}

/* متن توضیحات داخل wizard choice */
.wizard-choice-description.d-block.small {
    font-size: 0.78rem; /* کمی کوچکتر */
    line-height: 1.45;
}

/* متن داخل بخش افزونه‌ها */
.wizard-django-choice-list label,
.border.rounded.p-2.bg-light .fw-bold.small {
    font-size: 0.78rem; /* متن افزونه‌ها کوچک‌تر */
    line-height: 1.4;
}

/* ---------- Smaller Text for btn-group-vertical و payment-plan-preview ---------- */

/* دکمه‌های عمودی */
.btn-group-vertical.w-100 .btn {
    font-size: 0.78rem;
    /* متن کوچکتر */
    padding: 0.45rem 0.6rem;
    /* کمی جمع و جورتر */
}

/* پیش‌نمایش پلن پرداخت */
#payment-plan-preview {
    font-size: 0.78rem;
    /* متن داخلی کوچکتر */
}

#payment-plan-preview table th,
#payment-plan-preview table td {
    font-size: 0.74rem;
    /* سلول‌ها کمی کوچکتر */
    padding: 0.45rem 0.6rem;
}


/* ---------- Wizard Cart Badge Bigger & Primary Color ---------- */
.wizard-cart-badge {
    min-width: 22px;
    /* کمی پهن‌تر */
    height: 22px;
    /* کمی بلندتر */
    font-size: 0.85rem;
    /* متن بزرگ‌تر */
    font-weight: 800;
    line-height: 1;
    padding: 0 6px;

    background-color: var(--site-accent) !important;
    /* رنگ پرایمری */
    color: #fff !important;
    /* متن سفید */
    border: 2px solid #fff;
    /* مرز سفید */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}



/* ---------- Wizard Cart Badge Smaller & Visible ---------- */
.wizard-cart-badge {
    min-width: 16px;
    /* کمی کوچکتر */
    height: 16px;
    /* کمی کوچکتر */
    font-size: 0.7rem;
    /* متن ریزتر ولی قابل خواندن */
    padding: 0 3px;

    background-color: var(--site-accent) !important;
    /* رنگ پرایمری */
    color: #fff !important;
    border: 2px solid #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
}

/* ---------- Wizard Table Responsive Text Smaller ---------- */
.wizard-main-content .table-responsive {
    font-size: 0.78rem;
    /* متن داخل جدول کمی کوچکتر */
}

.wizard-main-content .table-responsive table th,
.wizard-main-content .table-responsive table td {
    font-size: 0.78rem;
    /* هماهنگ با جدول */
    padding: 0.45rem 0.5rem;
    /* کمی فشرده‌تر */
}

/* ---------- Wizard Cart Modal Table Slightly Bigger ---------- */
.wizard-cart-summary .modal-content .table-responsive,
.wizard-cart-summary .modal-content table {
    font-size: 0.85rem;
    /* کمی بزرگتر از حالت ریز پیشفرض */
}

.wizard-cart-summary .modal-content table th,
.wizard-cart-summary .modal-content table td {
    padding: 0.55rem 0.65rem;
    /* فاصله سلول‌ها کمی بیشتر */
}



/* مخفی کردن سبد خرید فقط در صفحه موفقیت پرداخت */
.wizard-success-page .wizard-cart-summary-wrap {
    display: none !important;
}