/* =========================================================
   IranStores Night Mode V2
   Final public-layout dark theme layer
   ========================================================= */

html[data-theme="dark"] {
    color-scheme: dark;

    --night-bg: #0b0f19;
    --night-bg-soft: #101522;
    --night-surface: #17131c;
    --night-surface-2: #211a27;
    --night-surface-3: #292130;
    --night-border: #3a3043;
    --night-border-soft: #302838;
    --night-text: #f5f1f7;
    --night-text-soft: #ddd4e2;
    --night-muted: #aaa0b0;
    --night-primary: #a78bfa;
    --night-primary-strong: #8b5cf6;
    --night-success: #86efac;
    --night-warning: #fcd34d;
    --night-danger: #fca5a5;
}

html[data-theme="dark"],
html[data-theme="dark"] body {
    min-height: 100%;
    background: var(--night-bg) !important;
    color: var(--night-text) !important;
}

html[data-theme="dark"] body {
    background:
        radial-gradient(
            circle at 90% 0,
            rgba(124, 58, 237, .14),
            transparent 28%
        ),
        radial-gradient(
            circle at 8% 18%,
            rgba(37, 99, 235, .08),
            transparent 24%
        ),
        linear-gradient(
            180deg,
            #0b0f19 0%,
            #100d14 55%,
            #0b0f19 100%
        ) !important;
}

html[data-theme="dark"] main {
    background: transparent !important;
}

/* Main page backgrounds */

html[data-theme="dark"] :is(
    .home-page,
    .home-v3,
    .stores-page,
    .store-page,
    .search-v2-page,
    .seller-auth-page,
    .store-register-page,
    .store-details-page,
    .promo-market-page,
    .support-page,
    .manual-payment-page,
    .rules-page,
    .category-directory,
    .m80-page,
    .m80-detail,
    .seller-shell
) {
    background:
        radial-gradient(
            circle at 90% 0,
            rgba(124, 58, 237, .11),
            transparent 28%
        ),
        linear-gradient(
            180deg,
            #0f0c13,
            #151019
        ) !important;
    color: var(--night-text) !important;
}

/* Navbar */

html[data-theme="dark"] .navbar {
    background: rgba(15, 12, 19, .96) !important;
    border-color: var(--night-border) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .32) !important;
    backdrop-filter: blur(15px);
}

html[data-theme="dark"] .navbar :is(
    .nav-link,
    .navbar-brand,
    .dropdown-toggle
) {
    color: var(--night-text-soft) !important;
}

html[data-theme="dark"] .navbar :is(
    .nav-link:hover,
    .nav-link.active,
    .dropdown-toggle:hover
) {
    color: #d8b4fe !important;
}

html[data-theme="dark"] :is(
    .navbar-categories-dropdown,
    .dropdown-menu
) {
    background: var(--night-surface) !important;
    border-color: var(--night-border) !important;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .35) !important;
}

/* Shared elevated surfaces */

html[data-theme="dark"] :is(
    .card,
    .store-card,
    .search-card,
    .filter-card,
    .search-v2-filter-card,
    .search-v2-store-card,
    .seller-card,
    .seller-panel,
    .support-card,
    .province-card,
    .city-card,
    .category-card,
    .home-insight-panel,
    .home-insight-stat,
    .home-top-category,
    .store-offer-zone,
    .store-quick-dialog,
    .modal-content,
    .offcanvas,
    .manual-payment-card,
    .receipt-card,
    .testpay-card,
    .idea-form-card
) {
    background: var(--night-surface) !important;
    border-color: var(--night-border) !important;
    color: var(--night-text) !important;
    box-shadow: 0 14px 38px rgba(0, 0, 0, .20) !important;
}

/* Typography */

html[data-theme="dark"] :is(
    .card-title,
    .section-title,
    .store-title,
    .store-card-title,
    .search-v2-store-title
) {
    color: var(--night-text) !important;
}

html[data-theme="dark"] :is(
    .text-muted,
    .muted,
    .section-subtitle
) {
    color: var(--night-muted) !important;
}


/* Forms */

html[data-theme="dark"] :is(
    input,
    textarea,
    select,
    .form-control,
    .form-select,
    .form-control-custom,
    .mobile-input
) {
    background: #15111a !important;
    border-color: #493c54 !important;
    color: #f5f1f7 !important;
}

html[data-theme="dark"] :is(
    input,
    textarea,
    .form-control,
    .form-control-custom,
    .mobile-input
)::placeholder {
    color: #817689 !important;
    opacity: 1;
}

html[data-theme="dark"] :is(
    input,
    textarea,
    select,
    .form-control,
    .form-select,
    .form-control-custom,
    .mobile-input
):focus {
    border-color: var(--night-primary-strong) !important;
    box-shadow: 0 0 0 4px rgba(139, 92, 246, .14) !important;
}

html[data-theme="dark"] :is(
    input[readonly],
    textarea[readonly],
    input:disabled,
    textarea:disabled,
    select:disabled
) {
    background: #201a26 !important;
    color: #bcb2c2 !important;
    opacity: 1;
}

html[data-theme="dark"] option {
    background: var(--night-surface) !important;
    color: var(--night-text) !important;
}

html[data-theme="dark"] :is(
    label,
    .form-label,
    .mobile-label
) {
    color: var(--night-text-soft);
}

/* Bootstrap utility surfaces */

html[data-theme="dark"] :is(
    .bg-white,
    .bg-light
) {
    background-color: var(--night-surface) !important;
}

html[data-theme="dark"] .text-dark {
    color: var(--night-text) !important;
}

html[data-theme="dark"] :is(
    .border,
    .border-top,
    .border-bottom,
    .border-start,
    .border-end
) {
    border-color: var(--night-border) !important;
}

/* Seller authentication */

html[data-theme="dark"] .seller-auth-page {
    background:
        radial-gradient(
            circle at 80% 8%,
            rgba(124, 58, 237, .17),
            transparent 30%
        ),
        linear-gradient(180deg, #0d0a10, #151019) !important;
}

html[data-theme="dark"] .seller-auth-card {
    background: var(--night-surface) !important;
    border-color: var(--night-border) !important;
    box-shadow: 0 24px 65px rgba(0, 0, 0, .35) !important;
}

html[data-theme="dark"] .seller-auth-brand {
    background:
        radial-gradient(
            circle at 80% 10%,
            rgba(139, 92, 246, .17),
            transparent 35%
        ),
        linear-gradient(180deg, #211829, #17131c) !important;
    border-color: var(--night-border-soft) !important;
}

html[data-theme="dark"] :is(
    .seller-auth-title,
    .seller-auth-card .form-label
) {
    color: var(--night-text) !important;
}

html[data-theme="dark"] :is(
    .seller-auth-subtitle,
    .seller-auth-footer
) {
    color: var(--night-muted) !important;
}

html[data-theme="dark"] .seller-auth-logo-wrap {
    background: rgba(255, 255, 255, .94) !important;
}

/* Store registration — first step */

html[data-theme="dark"] .store-register-box {
    background: var(--night-surface) !important;
    border-color: var(--night-border) !important;
    box-shadow: 0 24px 65px rgba(0, 0, 0, .30) !important;
}

html[data-theme="dark"] :is(
    .register-form-section,
    .selected-plan-box,
    .mobile-field,
    .mobile-input-wrapper,
    .terms-check
) {
    background: var(--night-surface-2) !important;
    border-color: var(--night-border) !important;
}

html[data-theme="dark"] :is(
    .register-form-title,
    .mobile-label,
    .selected-plan-box strong
) {
    color: var(--night-text) !important;
}

html[data-theme="dark"] :is(
    .register-form-description,
    .mobile-hint,
    .register-security
) {
    color: var(--night-muted) !important;
}

/* Store registration — details */

html[data-theme="dark"] .store-details-card {
    background: var(--night-surface) !important;
    border-color: var(--night-border) !important;
    box-shadow: 0 24px 65px rgba(0, 0, 0, .30) !important;
}

html[data-theme="dark"] :is(
    .store-details-title,
    .form-section-title,
    .seller-row-title
) {
    color: var(--night-text) !important;
}

html[data-theme="dark"] :is(
    .store-details-description,
    .store-details-mobile,
    .form-section-description,
    .sellers-description
) {
    color: var(--night-muted) !important;
}

html[data-theme="dark"] .form-section {
    border-color: var(--night-border-soft) !important;
}

html[data-theme="dark"] :is(
    .seller-row,
    .location-picker-card,
    .upgrade-box,
    .m80-register-plan,
    .m80-extra-contact-register,
    .m80-slot-group
) {
    background: var(--night-surface-2) !important;
    border-color: var(--night-border) !important;
    color: var(--night-text) !important;
}

html[data-theme="dark"] :is(
    .location-coordinate,
    .seller-primary-badge
) {
    background: var(--night-surface-3) !important;
    border-color: var(--night-border) !important;
}

/* Store lists and search cards */

html[data-theme="dark"] :is(
    .stores-page .store-card-body,
    .search-v2-store-body,
    .stores-page .store-card-footer,
    .search-v2-store-footer
) {
    background: var(--night-surface) !important;
    border-color: var(--night-border-soft) !important;
}

html[data-theme="dark"] :is(
    .stores-page .store-card-category,
    .stores-page .store-meta-row,
    .stores-page .store-stat,
    .search-v2-category,
    .search-v2-store-meta,
    .search-v2-store-location
) {
    background: var(--night-surface-2) !important;
    border-color: var(--night-border) !important;
    color: var(--night-text-soft) !important;
}

html[data-theme="dark"] :is(
    .stores-page .store-card-title a,
    .search-v2-store-body h3,
    .search-v2-store-title
) {
    color: var(--night-text) !important;
}

html[data-theme="dark"] :is(
    .stores-page .store-card-description,
    .stores-page .store-meta-text,
    .search-v2-store-body p
) {
    color: var(--night-muted) !important;
}

/* Public store page */

html[data-theme="dark"] :is(
    .store-main-card,
    .store-sidebar-card,
    .store-details-card-public,
    .store-contact-card,
    .store-hours-card
) {
    background: var(--night-surface) !important;
    border-color: var(--night-border) !important;
}

html[data-theme="dark"] :is(
    .contact-item,
    .store-trust-item,
    .store-info-item,
    .store-sidebar-item,
    .store-quick-detail,
    .sidebar-row
) {
    background: var(--night-surface-2) !important;
    border-color: var(--night-border) !important;
    color: var(--night-text-soft) !important;
}

/* Seller dashboard expanded panels */

html[data-theme="dark"] :is(
    .seller-profile-panel,
    .seller-settings-panel,
    .seller-form-section,
    .seller-team-box,
    .seller-profile-card,
    .seller-team-member,
    .seller-location-access
) {
    background: var(--night-surface) !important;
    border-color: var(--night-border) !important;
    color: var(--night-text) !important;
}

html[data-theme="dark"] :is(
    .working-day-row,
    .store-type-card,
    .seller-primary-summary
) {
    background: var(--night-surface-2) !important;
    border-color: var(--night-border) !important;
}

html[data-theme="dark"] .store-type-card:has(input:checked) {
    background: rgba(91, 33, 182, .22) !important;
    border-color: #8b5cf6 !important;
}

/* Promotions, offers, payments and support */

html[data-theme="dark"] :is(
    .promo-start-card,
    .promo-placement-card,
    .promo-checkout-card,
    .promo-order-card,
    .promo-checkout-main,
    .promo-payment-summary,
    .promo-premium-item,
    .seller-offer-card,
    .seller-offer-list-card,
    .seller-offer-side-card,
    .support-card,
    .manual-payment-grid
) {
    background: var(--night-surface) !important;
    border-color: var(--night-border) !important;
    color: var(--night-text) !important;
}

html[data-theme="dark"] :is(
    .promo-package,
    .promo-target-grid label,
    .promo-checkout-total,
    .promo-current-grid article,
    .promo-order-list article,
    .seller-offer-flow > div
) {
    background: var(--night-surface-2) !important;
    border-color: var(--night-border) !important;
}

/* Alerts */

html[data-theme="dark"] .alert-success {
    background: rgba(20, 83, 45, .28) !important;
    border-color: rgba(74, 222, 128, .28) !important;
    color: #bbf7d0 !important;
}

html[data-theme="dark"] .alert-danger {
    background: rgba(127, 29, 29, .28) !important;
    border-color: rgba(248, 113, 113, .28) !important;
    color: #fecaca !important;
}

html[data-theme="dark"] .alert-warning {
    background: rgba(120, 53, 15, .28) !important;
    border-color: rgba(251, 191, 36, .28) !important;
    color: #fde68a !important;
}

html[data-theme="dark"] .alert-info {
    background: rgba(30, 64, 175, .25) !important;
    border-color: rgba(96, 165, 250, .28) !important;
    color: #bfdbfe !important;
}

/* Tables */

html[data-theme="dark"] table {
    color: var(--night-text-soft) !important;
}

html[data-theme="dark"] :is(
    .table,
    .table > :not(caption) > * > *
) {
    background: transparent !important;
    border-color: var(--night-border) !important;
    color: var(--night-text-soft) !important;
}

html[data-theme="dark"] thead th {
    background: var(--night-surface-2) !important;
    color: var(--night-text) !important;
}

/* Pagination */

html[data-theme="dark"] :is(
    .pagination,
    .page-link
) {
    background: var(--night-surface) !important;
    border-color: var(--night-border) !important;
    color: #c4b5fd !important;
}

html[data-theme="dark"] .page-item.active .page-link {
    background: #6d28d9 !important;
    border-color: #7c3aed !important;
    color: #fff !important;
}

html[data-theme="dark"] .page-item.disabled .page-link {
    background: #141019 !important;
    color: #6f6675 !important;
}

/* Leaflet controls — map tiles remain readable */

html[data-theme="dark"] :is(
    .leaflet-control-zoom a,
    .leaflet-control-attribution
) {
    background: rgba(23, 19, 28, .92) !important;
    border-color: var(--night-border) !important;
    color: var(--night-text-soft) !important;
}

html[data-theme="dark"] .leaflet-control-attribution a {
    color: #c4b5fd !important;
}

/* Footer */

html[data-theme="dark"] :is(
    footer,
    .footer,
    .site-footer
) {
    background: #08060a !important;
    border-color: #28202e !important;
    color: var(--night-text-soft) !important;
}

html[data-theme="dark"] footer :is(
    p,
    li,
    small,
    span
) {
    color: var(--night-muted);
}

/* Scrollbar */

html[data-theme="dark"] {
    scrollbar-color: #554365 #0d0a10;
}

html[data-theme="dark"] ::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

html[data-theme="dark"] ::-webkit-scrollbar-track {
    background: #0d0a10;
}

html[data-theme="dark"] ::-webkit-scrollbar-thumb {
    background: #554365;
    border: 2px solid #0d0a10;
    border-radius: 999px;
}

/* Avoid bright flashes during theme switching */

html[data-theme="dark"] body,
html[data-theme="dark"] body *:not(img):not(video):not(svg):not(path) {
    transition:
        background-color .14s ease,
        border-color .14s ease,
        color .14s ease,
        box-shadow .14s ease;
}

@media (prefers-reduced-motion: reduce) {
    html[data-theme="dark"] body,
    html[data-theme="dark"] body * {
        transition: none !important;
    }
}
/* =========================================================
   Night V2 — Homepage store cards and navbar refinement
   ========================================================= */

html[data-theme="dark"] :is(
    .store-card,
    .store-card-body,
    .store-card-footer,
    .store-card-heading,
    .store-card-stats
) {
    background: var(--night-surface) !important;
    border-color: var(--night-border) !important;
    color: var(--night-text) !important;
}

html[data-theme="dark"] .store-card {
    box-shadow:
        0 16px 38px rgba(0, 0, 0, .28),
        0 0 0 1px rgba(255, 255, 255, .015) !important;
}

html[data-theme="dark"] .store-card:hover {
    border-color: #67527a !important;
    box-shadow:
        0 20px 46px rgba(0, 0, 0, .34),
        0 0 0 3px rgba(139, 92, 246, .07) !important;
}

html[data-theme="dark"] :is(
    .store-card-title,
    .store-card-title a,
    .store-card-heading h2,
    .store-card-heading h3
) {
    color: var(--night-text) !important;
}

html[data-theme="dark"] :is(
    .store-card-description,
    .store-card-meta,
    .store-meta-text,
    .store-card-date,
    .store-created-date,
    [class*="registration-date"]
) {
    color: var(--night-muted) !important;
}

html[data-theme="dark"] :is(
    .store-card-category,
    .store-meta-row,
    .store-stat,
    .store-card-location-status
) {
    background: var(--night-surface-2) !important;
    border-color: var(--night-border) !important;
    color: var(--night-text-soft) !important;
}

html[data-theme="dark"] .store-card-logo {
    border-color: var(--night-border) !important;
    background: #f8fafc !important;
}

html[data-theme="dark"] .store-card-link {
    border-color: transparent !important;
    background: linear-gradient(
        135deg,
        #7c3aed,
        #5b21b6
    ) !important;
    color: #ffffff !important;
}

html[data-theme="dark"] .navbar .nav-link.active {
    border-color: rgba(167, 139, 250, .22) !important;
    background: rgba(109, 40, 217, .20) !important;
    color: #e9d5ff !important;
}

html[data-theme="dark"] :is(
    .home-section-link,
    .home-view-all,
    .section-more-link
) {
    border-color: var(--night-border) !important;
    background: var(--night-surface-2) !important;
    color: #c4b5fd !important;
}

html[data-theme="dark"] :is(
    .home-section-link,
    .home-view-all,
    .section-more-link
):hover {
    border-color: #8b5cf6 !important;
    background: rgba(91, 33, 182, .25) !important;
    color: #f3e8ff !important;
}
/* =========================================================
   Night V2 — Homepage province section
   ========================================================= */

html[data-theme="dark"]
.province-section .province-tile {
    border-color: #3d3347 !important;
    background:
        linear-gradient(
            145deg,
            #211a27,
            #18131d
        ) !important;
    color: var(--night-text) !important;
    box-shadow:
        0 10px 26px rgba(0, 0, 0, .18) !important;
}

html[data-theme="dark"]
.province-section .province-tile:hover {
    transform: translateY(-3px);
    border-color: #8b5cf6 !important;
    background:
        linear-gradient(
            145deg,
            #2a2032,
            #21172c
        ) !important;
    color: #ffffff !important;
    box-shadow:
        0 16px 34px rgba(0, 0, 0, .28),
        0 0 0 3px rgba(139, 92, 246, .08) !important;
}

html[data-theme="dark"]
.province-section .province-tile strong {
    color: #f5f1f7 !important;
}

html[data-theme="dark"]
.province-section .province-tile small {
    color: #aaa0b0 !important;
}

html[data-theme="dark"]
.province-section .province-tile > span {
    color: #c4b5fd !important;
}

html[data-theme="dark"]
.province-section .province-tile > em {
    color: #93899b !important;
}

html[data-theme="dark"]
.province-section .section-link {
    border: 1px solid #493b55 !important;
    background: #211a27 !important;
    color: #c4b5fd !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .16) !important;
}

html[data-theme="dark"]
.province-section .section-link:hover {
    transform: translateY(-2px);
    border-color: #8b5cf6 !important;
    background: rgba(91, 33, 182, .28) !important;
    color: #f3e8ff !important;
}

html[data-theme="dark"]
.province-section .home-insight-panel {
    border-color: #3d3347 !important;
    background:
        radial-gradient(
            circle at 90% 0,
            rgba(124, 58, 237, .12),
            transparent 35%
        ),
        linear-gradient(
            145deg,
            #17131c,
            #111827
        ) !important;
}

html[data-theme="dark"]
.province-section .home-insight-stat {
    border-color: #3b3145 !important;
    background: rgba(33, 26, 39, .86) !important;
}

html[data-theme="dark"]
.province-section .home-insight-stat strong {
    color: #c4b5fd !important;
}

html[data-theme="dark"]
.province-section .home-insight-stat span {
    color: #c2b8c8 !important;
}

html[data-theme="dark"]
.province-section .home-top-category {
    border-color: #403548 !important;
    background: #211a27 !important;
    color: #e8e0ec !important;
}

html[data-theme="dark"]
.province-section .home-top-category b {
    color: #c4b5fd !important;
}
/* =========================================================
   Night V2 — Homepage store cards
   ========================================================= */

html[data-theme="dark"] .home-store-card {
    overflow: hidden;
    border-color: #403548 !important;
    background: var(--night-surface) !important;
    color: var(--night-text) !important;
    box-shadow:
        0 15px 36px rgba(0, 0, 0, .26) !important;
}

html[data-theme="dark"] .home-store-card:hover {
    border-color: #8b5cf6 !important;
    color: var(--night-text) !important;
    box-shadow:
        0 20px 44px rgba(0, 0, 0, .34),
        0 0 0 3px rgba(139, 92, 246, .07) !important;
}

html[data-theme="dark"] .home-store-card .store-copy {
    background:
        linear-gradient(
            180deg,
            #211a27,
            #18131d
        ) !important;
    color: var(--night-text) !important;
}

html[data-theme="dark"] .home-store-card .store-copy > small {
    color: #c4b5fd !important;
}

html[data-theme="dark"] .home-store-card .store-copy h3 {
    color: #f5f1f7 !important;
}

html[data-theme="dark"] .home-store-card .store-copy p {
    color: #b8aebe !important;
}

html[data-theme="dark"] .home-store-card .home-store-meta-row {
    color: #9f95a7 !important;
}

html[data-theme="dark"] .home-store-card .store-cta {
    border-color: #3d3346 !important;
    color: #d8b4fe !important;
}

html[data-theme="dark"] .home-store-card .home-store-cta {
    margin: 10px -5px -4px;
    padding: 11px 12px;
    border: 0 !important;
    border-radius: 11px;
    background: linear-gradient(
        135deg,
        #7c3aed,
        #5b21b6
    ) !important;
    color: #ffffff !important;
}

html[data-theme="dark"] .home-store-card:hover .home-store-cta {
    background: linear-gradient(
        135deg,
        #8b5cf6,
        #6d28d9
    ) !important;
}

html[data-theme="dark"] .section-link {
    border: 1px solid #493b55 !important;
    background: #211a27 !important;
    color: #c4b5fd !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .15) !important;
}

html[data-theme="dark"] .section-link:hover {
    transform: translateY(-2px);
    border-color: #8b5cf6 !important;
    background: rgba(91, 33, 182, .27) !important;
    color: #f3e8ff !important;
}
/* =========================================================
   Component family: Membership, plans and subscriptions
   ========================================================= */

html[data-theme="dark"] :is(
    .m80-page,
    .m80-detail,
    .m80-about
) {
    background:
        radial-gradient(
            circle at 85% 0,
            rgba(124, 58, 237, .13),
            transparent 30%
        ),
        linear-gradient(
            180deg,
            var(--night-bg),
            #120e16
        ) !important;
    color: var(--night-text) !important;
}

html[data-theme="dark"] :is(
    .m80-card,
    .m80-economic-note,
    .m80-detail-hero,
    .m80-detail-grid section,
    .m80-about-grid article,
    .m80-register-plan,
    .m80-seller-cap,
    .m80-success-plan,
    .m80-sub-head > div:last-child
) {
    background: var(--night-surface) !important;
    border-color: var(--night-border) !important;
    color: var(--night-text) !important;
    box-shadow: 0 16px 38px rgba(0, 0, 0, .22) !important;
}

html[data-theme="dark"] :is(
    .m80-who,
    .m80-capacity span,
    .m80-unlocks span,
    .m80-success-plan small,
    .m80-lock,
    .m80-manager input,
    .m80-manager select
) {
    background: var(--night-surface-2) !important;
    border-color: var(--night-border) !important;
    color: var(--night-text-soft) !important;
}

html[data-theme="dark"] :is(
    .m80-hero p,
    .m80-card-head p,
    .m80-price small,
    .m80-price em,
    .m80-economic-note p,
    .m80-detail-hero > div > p,
    .m80-detail-grid p,
    .m80-about-grid p,
    .m80-register-plan-head p,
    .m80-switch span,
    .m80-extra-contact-register > p,
    .m80-seller-cap header p,
    .m80-success-plan p,
    .m80-sub-head p
) {
    color: var(--night-muted) !important;
}

html[data-theme="dark"] :is(
    .m80-hero > span,
    .m80-about header > span,
    .m80-kicker,
    .m80-card-head > span,
    .m80-price strong,
    .m80-capacity b,
    .m80-register-plan-head span,
    .m80-seller-cap header span,
    .m80-detail nav a,
    .m80-sub-head a
) {
    color: #c4b5fd !important;
}

html[data-theme="dark"] :is(
    .m80-price,
    .m80-manager,
    .m80-contact-list > div,
    .m80-about-grid span
) {
    border-color: var(--night-border-soft) !important;
}

html[data-theme="dark"] .m80-detail-hero aside {
    background:
        linear-gradient(
            145deg,
            #312e81,
            #4c1d95
        ) !important;
    border: 1px solid rgba(196, 181, 253, .25);
}

html[data-theme="dark"] .m80-detail-hero aside p {
    color: #ddd6fe !important;
}

html[data-theme="dark"] .m80-who {
    border: 1px solid var(--night-border-soft);
}

html[data-theme="dark"] .m80-missing {
    background: rgba(127, 29, 29, .22) !important;
    border: 1px solid rgba(252, 165, 165, .22);
}

html[data-theme="dark"] .m80-missing span,
html[data-theme="dark"] .m80-detail-grid .off {
    color: var(--night-danger) !important;
}

html[data-theme="dark"] :is(
    .m80-pro-notice,
    .m80-pending,
    .m80-price-wait
) {
    background: rgba(120, 53, 15, .24) !important;
    border-color: rgba(252, 211, 77, .30) !important;
    color: #fde68a !important;
}

html[data-theme="dark"] .m80-card.focus {
    border-color: var(--night-primary-strong) !important;
    box-shadow: 0 18px 45px rgba(109, 40, 217, .20) !important;
}

html[data-theme="dark"] .m80-card.pro {
    border-top-color: #fbbf24 !important;
}

/* =========================================================
   THEME SYSTEM V3 — semantic compatibility layer
   Loaded last. Covers legacy pages that still use fixed light colors.
   ========================================================= */

html[data-theme="dark"] {
    --theme-page: #0b0f19;
    --theme-page-soft: #100d14;
    --theme-surface: #17131c;
    --theme-surface-soft: #211a27;
    --theme-surface-raised: #292130;
    --theme-border: #3a3043;
    --theme-border-soft: #302838;
    --theme-text: #f5f1f7;
    --theme-text-soft: #ddd4e2;
    --theme-muted: #aaa0b0;
    --theme-primary: #a78bfa;
}

/* Page families */
html[data-theme="dark"] :is(
    .stores-page,
    .search-v2-page,
    .category-directory,
    .local-page,
    .store-page,
    .home-v3,
    .contact-page,
    .about-page,
    .rules-page,
    .support-page,
    .site-suggestions-page,
    .seller-auth-page,
    .seller-shell,
    .promo-market-page,
    .manual-payment-page,
    .m80-page,
    .m80-detail
) {
    background-color: var(--theme-page) !important;
    color: var(--theme-text);
}

/* Safe semantic fallback: changes flat light fills but preserves images. */
html[data-theme="dark"] main :is(
    [class$="-card"],
    [class*="-card "],
    [class$="-panel"],
    [class*="-panel "],
    [class$="-box"],
    [class*="-box "],
    [class$="-tile"],
    [class*="-tile "],
    [class$="-item"],
    [class*="-item "],
    [class$="-empty"],
    [class*="-empty "]
) {
    border-color: var(--theme-border);
}

/* Stores index */
html[data-theme="dark"] .stores-page {
    background:
        radial-gradient(circle at 92% 0, rgba(124, 58, 237, .13), transparent 28rem),
        linear-gradient(180deg, var(--theme-page), var(--theme-page-soft)) !important;
}

html[data-theme="dark"] .stores-page :is(
    .stores-hero,
    .stores-filter-card,
    .stores-empty,
    .stores-db-stats,
    .search-context-stats,
    .stores-county-breakdown
) {
    border-color: var(--theme-border) !important;
    background: var(--theme-surface) !important;
    color: var(--theme-text) !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, .22) !important;
}

html[data-theme="dark"] .stores-page .stores-hero::before {
    background: rgba(124, 58, 237, .14);
}

html[data-theme="dark"] .stores-page :is(
    .stores-title,
    .stores-count,
    .stores-empty-title,
    .search-context-head h2,
    .stores-db-stats-head h2,
    .stores-county-breakdown-head strong
) {
    color: var(--theme-text) !important;
}

html[data-theme="dark"] .stores-page :is(
    .stores-subtitle,
    .filter-hint,
    .stores-result-note,
    .stores-empty-text,
    .search-context-head p,
    .stores-db-stats-head p
) {
    color: var(--theme-muted) !important;
}

html[data-theme="dark"] .stores-page .stores-eyebrow {
    border-color: rgba(167, 139, 250, .30);
    background: rgba(124, 58, 237, .18);
    color: #c4b5fd;
}

html[data-theme="dark"] .stores-page :is(
    .filter-label,
    .filter-control
) {
    color: var(--theme-text-soft) !important;
}

html[data-theme="dark"] .stores-page .filter-control {
    border-color: #493c54 !important;
    background: #15111a !important;
}

html[data-theme="dark"] .stores-page .filter-control::placeholder {
    color: #918696 !important;
}

html[data-theme="dark"] .stores-page :is(
    .search-context-card,
    .search-city-chip,
    .stores-db-stat-card
) {
    border-color: var(--theme-border) !important;
    background: var(--theme-surface-soft) !important;
    color: var(--theme-text-soft) !important;
}

html[data-theme="dark"] .stores-page :is(
    .search-context-card:hover,
    .search-context-card.is-active,
    .search-city-chip:hover,
    .search-city-chip.is-active
) {
    border-color: #8b5cf6 !important;
    background: var(--theme-surface-raised) !important;
}

/* Search and directory families */
html[data-theme="dark"] :is(.search-v2-page, .category-directory) :is(
    .search-v2-hero,
    .search-v2-filter-card,
    .search-v2-store-card,
    .category-directory-hero,
    .category-directory-card,
    .category-directory-empty,
    .nearby-search-box,
    .nearby-results-map-card
) {
    border-color: var(--theme-border) !important;
    background-color: var(--theme-surface) !important;
    color: var(--theme-text) !important;
    box-shadow: 0 14px 36px rgba(0, 0, 0, .20) !important;
}

/* Shared form controls, scoped away from checkboxes/radios/buttons. */
html[data-theme="dark"] main :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
    textarea,
    select
) {
    border-color: #493c54 !important;
    background-color: #15111a !important;
    color: var(--theme-text) !important;
}

html[data-theme="dark"] main :is(input, textarea)::placeholder {
    color: #918696 !important;
    opacity: 1;
}

/* Common content primitives */
html[data-theme="dark"] main :is(
    table,
    .table,
    .pagination,
    .modal-content,
    .dropdown-menu
) {
    border-color: var(--theme-border) !important;
    background-color: var(--theme-surface) !important;
    color: var(--theme-text-soft) !important;
}

html[data-theme="dark"] main :is(th, td, .page-link) {
    border-color: var(--theme-border) !important;
}

html[data-theme="dark"] main .page-link {
    background-color: var(--theme-surface-soft) !important;
    color: #c4b5fd !important;
}

/* Preserve semantic and brand controls. */
html[data-theme="dark"] main :is(
    button,
    [class$="-btn"],
    [class*="-btn "],
    [class$="-button"],
    [class*="-button "]
) {
    color-scheme: dark;
}

html[data-theme="dark"] main :is(
    .alert-success,
    .rating-success,
    .verified-purchase-badge
) {
    border-color: rgba(134, 239, 172, .25) !important;
    background-color: rgba(22, 101, 52, .25) !important;
    color: #86efac !important;
}

html[data-theme="dark"] main :is(
    .alert-danger,
    .rating-error,
    .form-error,
    .smart-field-error
) {
    border-color: rgba(252, 165, 165, .25) !important;
    background-color: rgba(127, 29, 29, .22) !important;
    color: #fca5a5 !important;
}

/* Do not force headings or arbitrary links globally. Components own them. */

/* =========================================================
   THEME V3.1 GLOBAL SEARCH FIX
   ========================================================= */

html[data-theme="dark"] :is(
    .search-page,
    .stores-page,
    .category-directory,
    .local-page,
    .contact-page,
    .about-page,
    .rules-page,
    .store-register-page,
    .store-details-page,
    .success-page,
    .m80-page,
    .m80-detail
) {
    background-color: var(--theme-page) !important;
    color: var(--theme-text) !important;
}

html[data-theme="dark"] main :is(
    [class$="-page"],
    [class*="-page "]
) :is(h1, h2, h3, h4, h5, h6) {
    color: var(--theme-text) !important;
}

html[data-theme="dark"] main :is(
    [class*="-card"],
    [class*="-panel"],
    [class*="-box"],
    [class*="-tile"],
    [class*="-empty"]
) {
    border-color: var(--theme-border) !important;
    background-color: var(--theme-surface) !important;
    color: var(--theme-text-soft) !important;
}

/* Search page */
html[data-theme="dark"] .search-page {
    background:
        radial-gradient(
            circle at 92% 4%,
            rgba(124, 58, 237, .13),
            transparent 30rem
        ),
        linear-gradient(
            180deg,
            var(--theme-page),
            var(--theme-page-soft)
        ) !important;
    color: var(--theme-text) !important;
}

html[data-theme="dark"] .search-page .search-v2-hero {
    background:
        radial-gradient(
            circle at 10% 20%,
            rgba(255, 255, 255, .10),
            transparent 15rem
        ),
        linear-gradient(
            135deg,
            #111827,
            #312e81 55%,
            #6d28d9
        ) !important;
}

html[data-theme="dark"] .search-page :is(
    .search-v2-filter-card,
    .local-stat-card,
    .local-city-card,
    .search-v2-store-card,
    .city-focus-stat,
    .nearby-results-map-card
) {
    border-color: var(--theme-border) !important;
    background: var(--theme-surface) !important;
    color: var(--theme-text-soft) !important;
    box-shadow: 0 14px 36px rgba(0, 0, 0, .20) !important;
}

html[data-theme="dark"] .search-page :is(
    .nearby-search-box,
    .local-discovery
) {
    border-color: var(--theme-border) !important;
    background:
        radial-gradient(
            circle at 95% 0,
            rgba(124, 58, 237, .12),
            transparent 42%
        ),
        linear-gradient(
            135deg,
            var(--theme-surface-soft),
            var(--theme-surface)
        ) !important;
    color: var(--theme-text-soft) !important;
}

html[data-theme="dark"] .search-page :is(
    .section-heading-pro h2,
    .city-focus-title h2,
    .local-stat-copy strong,
    .local-city-copy strong,
    .search-v2-store-body h3,
    .search-v2-store-body h3 a,
    .nearby-search-copy strong,
    .nearby-results-map-heading h2
) {
    color: var(--theme-text) !important;
}

html[data-theme="dark"] .search-page :is(
    .section-heading-pro p,
    .city-focus-title p,
    .local-stat-copy small,
    .local-stat-copy em,
    .local-city-copy small,
    .search-v2-store-body p,
    .search-v2-location,
    .search-v2-location a,
    .nearby-search-copy small,
    .nearby-radius-label > span,
    .nearby-radius-label small,
    .nearby-results-map-heading p
) {
    color: var(--theme-muted) !important;
}

html[data-theme="dark"] .search-page :is(
    .local-stat-icon,
    .local-city-icon,
    .search-v2-category,
    .search-v2-chip
) {
    background-color: rgba(124, 58, 237, .18) !important;
    color: #c4b5fd !important;
}

html[data-theme="dark"] .search-page :is(
    .local-city-card:hover,
    .local-city-card.active,
    a.local-stat-card:hover
) {
    border-color: #8b5cf6 !important;
    background: var(--theme-surface-raised) !important;
    color: var(--theme-text) !important;
}

html[data-theme="dark"] .search-page :is(
    .search-v2-active-row,
    .results-heading,
    .search-v2-store-footer
) {
    border-color: var(--theme-border-soft) !important;
}

html[data-theme="dark"] .search-page .results-number {
    background: var(--theme-surface-soft) !important;
}

/* =========================================================
   THEME SYSTEM V3.2 — audited public page families
   ========================================================= */

html[data-theme="dark"] :is(
    .about-page, .contact-page, .rules-page, .idea-page,
    .search-page, .stores-page, .online-stores-page,
    .category-directory, .local-page, .store-page,
    .home-v3, .m80-page, .m80-detail,
    .seller-auth-page, .seller-shell, .seller-offer-shell,
    .support-page, .promo-market-page, .promotion-page,
    .promotion-pending-page, .manual-payment-page,
    .store-register-page, .featured-register-page,
    .store-details-page, .verify-page, .success-page,
    .maintenance-page
) {
    background:
        radial-gradient(circle at 92% 0, rgba(124, 58, 237, .12), transparent 30rem),
        linear-gradient(180deg, var(--theme-page), var(--theme-page-soft)) !important;
    color: var(--theme-text) !important;
}

/* About page */
html[data-theme="dark"] .about-page {
    --ink: var(--theme-text);
    --muted: var(--theme-muted);
    --purple: #c4b5fd;
    --purple2: #a78bfa;
}

html[data-theme="dark"] .about-page :is(
    .about-hero,
    .about-team-help,
    .about-values
) {
    background:
        radial-gradient(circle at 12% 15%, rgba(124, 58, 237, .14), transparent 28rem),
        linear-gradient(135deg, var(--theme-page), var(--theme-page-soft)) !important;
}

html[data-theme="dark"] .about-page :is(
    .about-map-card,
    .about-float-card,
    .about-stat-grid,
    .benefit-card,
    .seller-value-card,
    .value-grid > div,
    .about-note-box,
    .about-team-card
) {
    border-color: var(--theme-border) !important;
    background: var(--theme-surface) !important;
    color: var(--theme-text) !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, .22) !important;
}

html[data-theme="dark"] .about-page :is(
    h1, h2, h3,
    .about-map-card strong,
    .about-float-card strong,
    .about-team-card h3
) {
    color: var(--theme-text) !important;
}

html[data-theme="dark"] .about-page :is(
    .about-hero-copy > p,
    .about-trust-line,
    .about-map-card small,
    .about-float-card span,
    .about-stat-grid span,
    .about-stat-grid small,
    .about-heading p,
    .benefit-card p,
    .seller-value-copy > p,
    .value-grid p,
    .about-note-box p,
    .about-team-card p
) {
    color: var(--theme-muted) !important;
}

html[data-theme="dark"] .about-page :is(
    .about-eyebrow,
    .about-btn-light
) {
    border-color: rgba(167, 139, 250, .32) !important;
    background: rgba(124, 58, 237, .16) !important;
    color: #ddd6fe !important;
}

html[data-theme="dark"] .about-page .about-stat-grid > * {
    border-color: var(--theme-border-soft) !important;
}

html[data-theme="dark"] .about-page .about-stat-grid strong {
    color: #c4b5fd !important;
}

html[data-theme="dark"] .about-page .benefit-icon,
html[data-theme="dark"] .about-page .about-float-card b {
    background: rgba(124, 58, 237, .18) !important;
    color: #c4b5fd !important;
}

html[data-theme="dark"] .about-page .seller-points span {
    background: var(--theme-surface-soft) !important;
    color: var(--theme-text-soft) !important;
}

/* Contact page */
html[data-theme="dark"] .contact-page :is(
    .contact-hero,
    .contact-mission
) {
    background:
        radial-gradient(circle at 90% 10%, rgba(124, 58, 237, .13), transparent 32%),
        var(--theme-page) !important;
}

html[data-theme="dark"] .contact-page :is(
    .contact-hero-card,
    .contact-channel-card,
    .contact-mission-box,
    .contact-info-box > div
) {
    border-color: var(--theme-border) !important;
    background: var(--theme-surface) !important;
    color: var(--theme-text) !important;
}

html[data-theme="dark"] .contact-page :is(
    h1, h2, h3,
    .contact-hero-card strong,
    .contact-info-box strong
) {
    color: var(--theme-text) !important;
}

html[data-theme="dark"] .contact-page :is(
    .contact-hero-copy > p,
    .contact-hero-card p,
    .contact-heading p,
    .contact-channel-card p,
    .contact-channel-card small,
    .contact-mission-copy p,
    .contact-info-box span
) {
    color: var(--theme-muted) !important;
}

html[data-theme="dark"] .contact-page .contact-mission-items article {
    background: var(--theme-surface-soft) !important;
    color: var(--theme-text-soft) !important;
}

/* Shared audited content surfaces */
html[data-theme="dark"] :is(
    .rules-page, .idea-page, .support-page,
    .online-stores-page, .local-page,
    .seller-offer-shell, .promo-market-page,
    .store-register-page, .featured-register-page,
    .store-details-page, .verify-page, .success-page
) :is(
    [class$="-card"], [class*="-card "],
    [class$="-panel"], [class*="-panel "],
    [class$="-box"], [class*="-box "],
    [class$="-item"], [class*="-item "],
    [class$="-row"], [class*="-row "]
) {
    border-color: var(--theme-border) !important;
    background-color: var(--theme-surface) !important;
    color: var(--theme-text-soft) !important;
}

html[data-theme="dark"] :is(
    .rules-page, .idea-page, .support-page,
    .online-stores-page, .local-page,
    .seller-offer-shell, .promo-market-page,
    .store-register-page, .featured-register-page,
    .store-details-page, .verify-page, .success-page
) :is(h1, h2, h3, h4, h5, h6, strong) {
    color: var(--theme-text) !important;
}

html[data-theme="dark"] :is(
    .rules-page, .idea-page, .support-page,
    .online-stores-page, .local-page,
    .seller-offer-shell, .promo-market-page,
    .store-register-page, .featured-register-page,
    .store-details-page, .verify-page, .success-page
) :is(p, small, .text-muted, [class$="-subtitle"], [class*="-subtitle "]) {
    color: var(--theme-muted) !important;
}

/* =========================================================
   THEME V3.3 STORE PAGE
   ========================================================= */

html[data-theme="dark"] .store-page {
    background:
        radial-gradient(
            circle at 92% 3%,
            rgba(124, 58, 237, .13),
            transparent 25rem
        ),
        linear-gradient(
            180deg,
            var(--theme-page),
            var(--theme-page-soft)
        ) !important;
    color: var(--theme-text) !important;
}

html[data-theme="dark"] .store-page :is(
    .store-head,
    .store-trust-strip,
    .store-card,
    .store-owner-card,
    .store-rating-card,
    .purchase-review-box,
    .published-reviews-card,
    .similar-card
) {
    border-color: var(--theme-border) !important;
    background: var(--theme-surface) !important;
    color: var(--theme-text) !important;
    box-shadow: 0 14px 36px rgba(0, 0, 0, .22) !important;
}

html[data-theme="dark"] .store-page .store-head {
    background: rgba(23, 19, 28, .97) !important;
    box-shadow:
        0 20px 48px rgba(0, 0, 0, .28),
        inset 0 1px 0 rgba(255, 255, 255, .04) !important;
}

html[data-theme="dark"] .store-page .store-logo {
    border-color: #3a3043 !important;
    background: var(--theme-surface-soft) !important;
}

html[data-theme="dark"] .store-page :is(
    .store-title,
    .store-section-title,
    .store-card h2,
    .store-card h3,
    .store-heading h1,
    .store-trust-strip strong,
    .sidebar-value,
    .contact-value,
    .store-seller-name
) {
    color: var(--theme-text) !important;
}

html[data-theme="dark"] .store-page :is(
    .store-description,
    .store-card p,
    .store-trust-strip small,
    .sidebar-label,
    .contact-label,
    .store-seller-role,
    .purchase-review-help,
    .rating-trust-note
) {
    color: var(--theme-muted) !important;
}

html[data-theme="dark"] .store-page .store-meta span {
    border-color: rgba(167, 139, 250, .26) !important;
    background: rgba(124, 58, 237, .15) !important;
    color: #ddd6fe !important;
}

html[data-theme="dark"] .store-page .store-secondary-action {
    border-color: #5b4968 !important;
    background: var(--theme-surface-soft) !important;
    color: #ddd6fe !important;
}

html[data-theme="dark"] .store-page .store-secondary-action:hover {
    border-color: #8b5cf6 !important;
    background: var(--theme-surface-raised) !important;
    color: #fff !important;
}

html[data-theme="dark"] .store-page .store-trust-strip > div {
    border-color: var(--theme-border-soft) !important;
}

html[data-theme="dark"] .store-page .store-section-title {
    border-color: var(--theme-border-soft) !important;
}

html[data-theme="dark"] .store-page :is(
    .sidebar-row,
    .contact-item,
    .store-seller-item,
    .quick-button
) {
    border-color: var(--theme-border-soft) !important;
    background: var(--theme-surface-soft) !important;
    color: var(--theme-text-soft) !important;
}

html[data-theme="dark"] .store-page :is(
    input:not([type="checkbox"]):not([type="radio"]),
    textarea,
    select
) {
    border-color: #493c54 !important;
    background: #15111a !important;
    color: var(--theme-text) !important;
}

html[data-theme="dark"] .store-page :is(input, textarea)::placeholder {
    color: #918696 !important;
}


/* =========================================================
   THEME V3.4 MAP LOCK
   ========================================================= */

html[data-theme="dark"] .store-page .map-locked {
    border-color: rgba(167, 139, 250, .32) !important;
    background:
        radial-gradient(
            circle at 95% 0,
            rgba(245, 158, 11, .09),
            transparent 13rem
        ),
        linear-gradient(
            135deg,
            var(--theme-surface-soft),
            var(--theme-surface)
        ) !important;
    color: var(--theme-text-soft) !important;
}

html[data-theme="dark"] .store-page .map-locked.free-plan-lock {
    border-color: rgba(167, 139, 250, .32) !important;
    background:
        radial-gradient(
            circle at 95% 0,
            rgba(245, 158, 11, .10),
            transparent 13rem
        ),
        linear-gradient(
            135deg,
            #211a27,
            #17131c 62%,
            #201b18
        ) !important;
}

html[data-theme="dark"] .store-page .map-lock-icon {
    border: 1px solid rgba(167, 139, 250, .24) !important;
    background: rgba(124, 58, 237, .18) !important;
}

html[data-theme="dark"] .store-page .map-locked strong {
    color: #ddd6fe !important;
}

html[data-theme="dark"] .store-page .map-locked p {
    color: var(--theme-muted) !important;
    font-size: 12px !important;
}

html[data-theme="dark"] .store-page .map-upgrade-benefits li {
    color: var(--theme-text-soft) !important;
    font-size: 12px !important;
}

html[data-theme="dark"] .store-page .map-upgrade-benefits li::before {
    background: rgba(124, 58, 237, .22) !important;
    color: #c4b5fd !important;
    font-size: 12px !important;
}

html[data-theme="dark"] .store-page .map-plan-badge {
    border-color: rgba(251, 191, 36, .34) !important;
    background: rgba(120, 53, 15, .28) !important;
    color: #fde68a !important;
    font-size: 12px !important;
}

html[data-theme="dark"] .store-page .map-upgrade-link {
    color: #fff !important;
    font-size: 12px !important;
}


/* =========================================================
   THEME V3.5 SUGGESTIONS
   ========================================================= */

html[data-theme="dark"] .idea-page {
    background:
        radial-gradient(
            circle at 90% 0,
            rgba(124, 58, 237, .13),
            transparent 28rem
        ),
        linear-gradient(
            180deg,
            var(--theme-page),
            var(--theme-page-soft)
        ) !important;
    color: var(--theme-text) !important;
}

html[data-theme="dark"] .idea-security-card {
    border-color: var(--theme-border) !important;
    background: var(--theme-surface) !important;
    box-shadow: 0 24px 65px rgba(0, 0, 0, .28) !important;
}

html[data-theme="dark"] .idea-security-copy {
    background:
        radial-gradient(
            circle at 0 100%,
            rgba(124, 58, 237, .14),
            transparent 20rem
        ),
        var(--theme-surface) !important;
    color: var(--theme-text) !important;
}

html[data-theme="dark"] .idea-security-copy h1 {
    color: var(--theme-text) !important;
}

html[data-theme="dark"] .idea-security-copy p {
    color: var(--theme-muted) !important;
    font-size: max(12px, 1em);
}

html[data-theme="dark"] .idea-security-points span {
    border: 1px solid var(--theme-border-soft) !important;
    background: var(--theme-surface-soft) !important;
    color: var(--theme-text-soft) !important;
    font-size: 12px !important;
}

html[data-theme="dark"] .idea-kicker {
    border-color: rgba(167, 139, 250, .30) !important;
    background: rgba(124, 58, 237, .17) !important;
    color: #ddd6fe !important;
    font-size: 12px !important;
}

html[data-theme="dark"] .idea-security-box {
    background:
        radial-gradient(
            circle at 10% 100%,
            rgba(139, 92, 246, .18),
            transparent 18rem
        ),
        linear-gradient(
            145deg,
            #21152f,
            #3b1c69
        ) !important;
}

html[data-theme="dark"] .idea-security-box > span,
html[data-theme="dark"] .idea-security-box > p,
html[data-theme="dark"] .idea-refresh {
    font-size: 12px !important;
}

html[data-theme="dark"] .idea-security-box input {
    border-color: #594967 !important;
    background: #15111a !important;
    color: var(--theme-text) !important;
}

html[data-theme="dark"] .idea-security-box .idea-primary-btn {
    border: 1px solid rgba(196, 181, 253, .32) !important;
    background: var(--theme-surface-soft) !important;
    color: #ddd6fe !important;
    font-size: 12px !important;
}

html[data-theme="dark"] .idea-security-box .idea-primary-btn:hover {
    border-color: #8b5cf6 !important;
    background: var(--theme-surface-raised) !important;
    color: #fff !important;
}

html[data-theme="dark"] .idea-form-hero,
html[data-theme="dark"] .idea-form-card,
html[data-theme="dark"] .idea-thanks-card {
    border-color: var(--theme-border) !important;
    background: var(--theme-surface) !important;
    color: var(--theme-text) !important;
}

html[data-theme="dark"] .idea-form-section {
    border-color: var(--theme-border-soft) !important;
}

html[data-theme="dark"] .idea-radio-grid label,
html[data-theme="dark"] .idea-submit-row {
    border-color: var(--theme-border) !important;
    background: var(--theme-surface-soft) !important;
    color: var(--theme-text-soft) !important;
}

