/* ================================================================
   PWA & MOBILE — MODERN CRIMSON THEME
   ================================================================ */

/* PWA Safe Areas */
body.pwa-mode {
    padding-top: var(--safe-area-top);
    padding-bottom: var(--safe-area-bottom);
    padding-left: env(safe-area-inset-left, 0px);
    padding-right: env(safe-area-inset-right, 0px);
}

/* PWA Install Button */
.pwa-install-button {
    position: fixed;
    top: 80px;
    right: 20px;
    z-index: 1000;
    padding: 12px 24px;
    border-radius: 999px;
    background: var(--brand);
    color: var(--text-white);
    border: none;
    box-shadow: var(--shadow-crimson);
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    transition: all .3s ease;
    animation: pulse-install 2s infinite;
}
.pwa-install-button:hover { transform: translateY(-2px); box-shadow: var(--shadow-crimson-lg); }
.pwa-install-button i { font-size: 1.2em; }

@keyframes pulse-install {
    0%, 100% { box-shadow: 0 0 0 0 rgba(193,18,31,0.7); }
    50% { box-shadow: 0 0 0 10px rgba(193,18,31,0); }
}

/* PWA Install Badge */
.pwa-install-badge {
    position: fixed;
    bottom: -200px;
    left: 0;
    right: 0;
    background: rgba(255,255,255,.92);
    box-shadow: 0 -4px 20px rgba(193,18,31,.15);
    padding: 20px;
    z-index: 9999;
    transition: bottom .4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    border-top: 3px solid var(--crimson);
    backdrop-filter: blur(8px);
}
.pwa-install-badge.show { bottom: 0; }
.pwa-install-badge .badge-content {
    display: flex;
    align-items: center;
    gap: 15px;
    max-width: 1200px;
    margin: 0 auto;
}
.pwa-install-badge i { font-size: 2.5em; color: var(--crimson); }
.pwa-install-badge strong { display: block; font-size: 1.1em; margin-bottom: 4px; color: #1e1e24; }
.pwa-install-badge p { margin: 0; color: #4b5563; font-size: .9em; }

.install-badge-btn {
    margin-left: auto;
    padding: 10px 24px;
    background: var(--brand);
    color: var(--text-white);
    border: none;
    border-radius: 999px;
    font-weight: 700;
    cursor: pointer;
    transition: all .3s ease;
}
.install-badge-btn:hover { box-shadow: var(--shadow-crimson); transform: scale(1.05); }

.close-badge-btn {
    background: none;
    border: none;
    font-size: 1.5em;
    color: #6b7280;
    cursor: pointer;
    padding: 0 10px;
    transition: color .3s ease;
}
.close-badge-btn:hover { color: #1e1e24; }

/* Touch improvements */
@media (hover: none) {
    .btn:hover, .card:hover { transform: none; }
    .btn:active { transform: scale(0.98); }
    .card:active { transform: scale(0.99); }
}

.btn {
    min-height: 44px;
    min-width: 44px;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
    -webkit-user-select: none;
}

/* Network notification */
.network-notification {
    position: fixed;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
    padding: 12px 24px;
    border-radius: 999px;
    box-shadow: var(--shadow-lg);
    z-index: 9999;
    transition: top .4s ease;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
    color: white;
    backdrop-filter: blur(6px);
}
.network-notification.show { top: 20px; }
.network-notification.online { background: var(--crimson); }
.network-notification.offline { background: var(--crimson-dark); }

/* Standalone PWA Mode */
@media (display-mode: standalone) {
    body { padding-top: var(--safe-area-top); padding-bottom: var(--safe-area-bottom); }
    html.native-app body, body.native-app { padding-top: 0 !important; padding-bottom: 0 !important; }
    .pwa-install-button, .pwa-install-badge { display: none !important; }
}

/* Mobile Bottom Navigation — Modern crimson */
.mobile-bottom-nav { display: none !important; }

html.native-app .native-app-icon { display: inline-flex; align-items: center; justify-content: center; line-height: 1; vertical-align: middle; }
html.native-app .native-icon-svg { width: 1em; height: 1em; display: block; }

@media (max-width: 768px) {
    .mobile-bottom-nav {
        display: flex !important;
        position: fixed !important;
        bottom: 0 !important;
        left: 0;
        right: 0;
        background: linear-gradient(135deg, rgba(193,18,31,.92), rgba(80,6,12,.92));
        backdrop-filter: saturate(140%) blur(14px);
        -webkit-backdrop-filter: saturate(140%) blur(14px);
        border-top: 1px solid rgba(255,255,255,.18);
        padding: 4px 0;
        padding-bottom: max(4px, env(safe-area-inset-bottom));
        align-items: stretch;
        z-index: 99999;
        box-shadow: 0 -2px 10px rgba(193,18,31,.25);
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
        flex-wrap: nowrap;
        justify-content: space-around;
    }

    .mobile-bottom-nav::-webkit-scrollbar { display: none; }

    .mobile-bottom-nav a {
        flex: 0 0 auto;
        min-width: 60px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 6px 8px;
        color: rgba(255,255,255,.85);
        text-decoration: none;
        font-size: 0.65em;
        font-weight: 600;
        transition: all .2s;
        white-space: nowrap;
        position: relative;
        border-radius: 12px;
    }

    .mobile-bottom-nav a.active,
    .mobile-bottom-nav a:hover {
        color: #ffffff;
        background: rgba(255,255,255,.18);
        border-radius: 12px;
    }

    .mobile-bottom-nav a i { font-size: 1.3em; margin-bottom: 2px; color: rgba(255,255,255,.85); }
    .mobile-bottom-nav a.active i { color: #ffffff; }

    .mobile-bottom-nav a .mobile-nav-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 1.3em;
        line-height: 1;
        margin-bottom: 2px;
        min-height: 1.1em;
    }
    .mobile-bottom-nav a .mobile-icon-svg { width: 1.15em; height: 1.15em; display: block; }
}

/* FA emoji fallback */
i.fa-fallback, .fa-fallback {
    font-style: normal !important;
    font-family: inherit !important;
    -moz-osx-font-smoothing: auto !important;
    -webkit-font-smoothing: auto !important;
}
i.fa-fallback::before, .fa-fallback::before {
    content: attr(data-emoji) !important;
    font-family: inherit !important;
    font-weight: normal !important;
    font-style: normal !important;
}
i.fa-fallback.fa-spin::before { animation: none !important; }

/* Native app pwa overrides */
html.native-app main,
html.native-app .main-content,
html.native-app .container { padding-bottom: 0 !important; }

/* ================================================================
   GLOBAL TEXT CONTRAST ENFORCEMENT
   - Text on red/black backgrounds MUST be white
   - Text on white/light backgrounds MUST be dark for readability
   - Covers ALL red button variants across the entire project
   ================================================================ */

/* Universal rule: white text on ANY red/dark background */
button[style*="background:#C1121F"],
button[style*="background:#780000"],
button[style*="background:#8B0000"],
button[style*="background:#dc2626"],
button[style*="background:#b91c1c"],
button[style*="background:#ef4444"],
button[style*="background:#c0392b"],
button[style*="background:#a71d2a"],
button[style*="linear-gradient(135deg, #C1121F"],
button[style*="linear-gradient(135deg,#C1121F"],
button[style*="linear-gradient(135deg, rgba(193,18,31"],
button[style*="linear-gradient(135deg,rgba(193,18,31"],
a[style*="background:#C1121F"],
a[style*="background:#780000"],
a[style*="background:#8B0000"],
a[style*="background:#dc2626"],
a[style*="background:#b91c1c"],
a[style*="background:#ef4444"],
a[style*="background:#c0392b"],
a[style*="background:#a71d2a"],
a[style*="linear-gradient(135deg, #C1121F"],
a[style*="linear-gradient(135deg,#C1121F"],
a[style*="linear-gradient(135deg, rgba(193,18,31"],
a[style*="linear-gradient(135deg,rgba(193,18,31"],
[style*="background:#C1121F"]:not([class*="card"]):not([class*="panel"]):not([class*="badge-count"]):not([class*="notification"]),
[style*="background:#780000"]:not([class*="card"]):not([class*="panel"]),
[style*="background:#8B0000"]:not([class*="card"]):not([class*="panel"]),
[style*="background:#dc2626"]:not([class*="card"]):not([class*="panel"]),
[style*="background:#b91c1c"]:not([class*="card"]):not([class*="panel"]),
[style*="background:#ef4444"]:not([class*="card"]):not([class*="panel"]),
[style*="background:#c0392b"]:not([class*="card"]):not([class*="panel"]),
[style*="background:#a71d2a"]:not([class*="card"]):not([class*="panel"]) {
    color: #FFFFFF !important;
}

/* Common button classes with red backgrounds */
.dm-btn-dark, .dm-btn-green, .dm-btn-warning,
.so-btn-dark, .so-btn-red, .so-btn-green, .so-btn-blue,
.od-btn-dark, .od-btn-red, .od-btn-green, .od-btn-blue,
.dt-btn-dark, .dt-btn-success, .dt-btn-danger,
.ad-btn-success, .ad-btn-danger, .ad-btn-primary,
.aks-btn, .akst-btn,
.bcp-btn-dark, .bcp-btn-success, .bcp-btn-danger,
.fn-btn-dark, .fn-btn-success, .fn-btn-danger, .fn-btn-warn,
.dl-btn-dark, .cd-btn-dark, .ra-btn, .ae-btn-withdraw,
.btn-primary, .btn-brand, .btn-danger, .btn-success, .btn-warning,
.bio-btn-dark, .bio-btn-danger,
.da-btn-delete,
.ws-btn-primary,
.ap-btn-primary,
.bsl-btn,
.al-btn,
.ar-btn,
.vo-btn,
.fwp-btn,
.rwp-btn,
.swp-btn,
.cwp-btn,
.vwo-btn,
.if-btn-dark,
.af-btn-dark,
.wf-btn-dark,
.cw-btn-dark,
.ep-btn-dark,
.bd-btn-dark,
.cp-btn-primary, .cp-btn-success,
.ms-btn-dark, .ms-btn-blue,
.ro-btn-danger,
.co2-btn-danger,
.dp-btn-danger,
.do-btn-warn,
.sdr-btn-accept, .sdr-btn-reject,
.rs-btn-primary,
.sp-btn-dark,
.wb-btn-crypto,
.wb-convert-btn,
.ct-btn-checkout, .ct-btn-browse,
.ps-empty-btn,
.mt-view-btn, .mt-help-btn,
.hc-contact-btn.hc-primary,
.ka-still-btn.primary,
.rc-submit, .rq-submit,
.ct-submit,
.lc-send,
.cr-input-btn,
.ss-btn-primary,
.mo-btn-dark, .mo-btn-green, .mo-btn-red, .mo-btn-orange,
.mo-delivery-link,
.dl-back-btn,
.cp-copy-btn, .bcp-copy-btn,
.fa-loc-btn, .fa-agent-book, .fa-modal-btn,
.td-btn-primary, .td-btn-success,
.nf-action-primary, .nf-confirm-btn-danger,
.pd-btn-dark, .pd-btn-green,
.pd-contact-msg, .pd-contact-video, .pd-contact-audio,
.als-ctrl-start,
.mp-item.mp-highlight,
.so-tab.active, .mt-tab.active,
.sd-earn-tab--active,
.sd-badge-delivered, .sd-badge-cancelled,
.sd-pstatus-inactive,
.vs-btn-primary, .vs-btn-warn,
.sbc-chip.active,
.fw-unfollow-btn, .fw-btn-dark,
.cv-btn-dark,
.fl-head, .fw-head,
.ct-head, .lc-header, .td-header, .ka-header, .kb-hero,
.rc-hero, .rq-hero, .if-hero, .mt-hero, .ct-header, .sc-header,
.wd-balance-card,
.bc-header, .bcp-header, .cp-header,
.mp-badge, .cv-badge, .sp-rec-badge,
.badge-count,
.notification-badge,
.pipBadge,
button[class*="btn"][style*="background:#C1121F"],
button[class*="btn"][style*="background:#780000"],
button[class*="btn"][style*="background:#8B0000"],
button[class*="btn"][style*="background:#dc2626"],
a[class*="btn"][style*="background:#C1121F"],
a[class*="btn"][style*="background:#780000"],
a[class*="btn"][style*="background:#8B0000"],
a[class*="btn"][style*="background:#dc2626"],
[role="button"][style*="background:#C1121F"],
[role="button"][style*="background:#780000"],
[role="button"][style*="background:#8B0000"],
[role="button"][style*="background:#dc2626"] {
    color: #FFFFFF !important;
}

/* Force dark text on white/light backgrounds for text elements only */
.card h1, .card h2, .card h3, .card h4, .card h5,
.content-card h1, .content-card h2, .content-card h3, .content-card h4, .content-card h5,
.product-card h3, .product-card h4,
.card p, .content-card p, .product-card p, .panel p, .form-section p,
.card span:not([class*="btn"]):not([class*="badge"]):not([class*="icon"]):not([class*="emoji"]):not([class*="badge-count"]):not([class*="notification"]),
.content-card span:not([class*="btn"]):not([class*="badge"]):not([class*="icon"]):not([class*="emoji"]):not([class*="badge-count"]):not([class*="notification"]),
.product-card span:not([class*="btn"]):not([class*="badge"]):not([class*="icon"]):not([class*="emoji"]):not([class*="badge-count"]):not([class*="notification"]),
label, .form-label {
    color: #1e1e24 !important;
}

/* Body text on cards remains dark gray for readability */
.card p, .content-card p, .product-card p, .panel p, .form-section p {
    color: #4b5563 !important;
}

/* NOTE: .alert-success/.alert-error/.alert-info are intentionally NOT forced
   white here. They sit on LIGHT backgrounds in light mode (e.g. the green
   "Welcome back" success toast), so white text would be invisible. Their
   colors are correctly defined in style-crimson.css (dark text on light bg,
   and html.dark-mode overrides for dark mode). */

/* In dark mode, force readable light text on dark surfaces */
html.dark-mode .card,
html.dark-mode .content-card,
html.dark-mode .product-card,
html.dark-mode .panel,
html.dark-mode .modal-content,
html.dark-mode .form-section,
html.dark-mode .form-container,
html.dark-mode .currency-dropdown,
html.dark-mode .currency-item,
html.dark-mode .lang-item,
html.dark-mode .dropdown-menu,
html.dark-mode .dropdown-item,
html.dark-mode .nav-menu .nav-link,
html.dark-mode .mobile-menu-toggle,
html.dark-mode .pwa-install-badge,
html.dark-mode .pwa-install-badge strong,
html.dark-mode .pwa-install-badge p,
html.dark-mode .close-badge-btn,
html.dark-mode .form-label,
html.dark-mode .form-control,
html.dark-mode input,
html.dark-mode textarea,
html.dark-mode select,
html.dark-mode .search-bar,
html.dark-mode .search-bar input,
html.dark-mode .card h1, html.dark-mode .card h2, html.dark-mode .card h3, html.dark-mode .card h4, html.dark-mode .card h5,
html.dark-mode .content-card h1, html.dark-mode .content-card h2, html.dark-mode .content-card h3, html.dark-mode .content-card h4, html.dark-mode .content-card h5,
html.dark-mode .product-card h3, html.dark-mode .product-card h4,
html.dark-mode .card p, html.dark-mode .content-card p, html.dark-mode .product-card p, html.dark-mode .panel p, html.dark-mode .form-section p {
    color: #F1F5F9 !important;
}

/* In dark mode, outline/secondary buttons keep light text because they sit on dark surfaces */
html.dark-mode .btn-secondary,
html.dark-mode .btn-outline,
html.dark-mode .retryButton,
html.dark-mode .pipCloseBtn,
html.dark-mode .pipBadge,
html.dark-mode .mapBackBtn,
html.dark-mode .headerIconBtn,
html.dark-mode .headerCartBtn,
html.dark-mode .headerGlobeBtn,
html.dark-mode .tabBar,
html.dark-mode .nativeHeader,
html.dark-mode .mapScreenContainer,
html.dark-mode .mapHeader,
html.dark-mode .errorContainer,
html.dark-mode .loadingOverlay,
html.dark-mode .loadingContainer,
html.dark-mode .errorContainer,
html.dark-mode .bioModalOverlay,
html.dark-mode .bioModalCard,
html.dark-mode .bioModalIconRing,
html.dark-mode .bioModalBtnSecondary {
    color: #FFFFFF !important;
}

/* Inputs on white backgrounds */
input::placeholder,
textarea::placeholder,
.search-bar .search-icon {
    color: #9CA3AF !important;
}

/* Force white text on ALL red/dark button classes across the entire site */
.dm-btn-dark, .dm-btn-green, .dm-btn-warning,
.so-btn-dark, .so-btn-red, .so-btn-green, .so-btn-blue,
.od-btn-dark, .od-btn-red, .od-btn-green, .od-btn-blue,
.dt-btn-dark, .dt-btn-success, .dt-btn-danger,
.dt-nav-pickup, .dt-nav-delivery,
.ad-btn-success, .ad-btn-danger, .ad-btn-primary,
.aks-btn, .akst-btn,
.bcp-btn-dark, .bcp-btn-success, .bcp-btn-danger,
.fn-btn-dark, .fn-btn-success, .fn-btn-danger, .fn-btn-warn,
.dl-btn-dark, .cd-btn-dark, .ra-btn, .ae-btn-withdraw,
.btn-primary, .btn-brand, .btn-danger, .btn-success, .btn-warning,
.bio-btn-dark, .bio-btn-danger,
.da-btn-delete,
.ws-btn-primary,
.ap-btn-primary,
.bsl-btn,
.al-btn,
.ar-btn,
.vo-btn,
.fwp-btn,
.rwp-btn,
.swp-btn,
.cwp-btn,
.vwo-btn,
.if-btn-dark,
.af-btn-dark,
.wf-btn-dark,
.cw-btn-dark,
.ep-btn-dark,
.bd-btn-dark,
.cp-btn-primary, .cp-btn-success,
.ms-btn-dark, .ms-btn-blue,
.ro-btn-danger,
.co2-btn-danger,
.dp-btn-danger,
.do-btn-warn,
.sdr-btn-accept, .sdr-btn-reject,
.rs-btn-primary,
.sp-btn-dark,
.wb-btn-crypto,
.wb-convert-btn,
.ct-btn-checkout, .ct-btn-browse,
.ps-empty-btn,
.mt-view-btn, .mt-help-btn,
.hc-contact-btn.hc-primary,
.ka-still-btn.primary,
.rc-submit, .rq-submit,
.ct-submit,
.lc-send,
.cr-input-btn,
.ss-btn-primary,
.mo-btn-dark, .mo-btn-green, .mo-btn-red, .mo-btn-orange,
.mo-delivery-link,
.dl-back-btn,
.cp-copy-btn, .bcp-copy-btn,
.fa-loc-btn, .fa-agent-book, .fa-modal-btn,
.td-btn-primary, .td-btn-success,
.nf-action-primary, .nf-confirm-btn-danger,
.pd-btn-dark, .pd-btn-green,
.pd-contact-msg, .pd-contact-video, .pd-contact-audio,
.als-ctrl-start,
.mp-item.mp-highlight,
.so-tab.active, .mt-tab.active,
.sd-earn-tab--active,
.sd-badge-delivered, .sd-badge-cancelled,
.sd-pstatus-inactive,
.vs-btn-primary, .vs-btn-warn,
.sbc-chip.active,
.fw-unfollow-btn, .fw-btn-dark,
.cv-btn-dark,
.fl-head, .fw-head,
.ct-head, .lc-header, .td-header, .ka-header, .kb-hero,
.rc-hero, .rq-hero, .if-hero, .mt-hero, .ct-header, .sc-header,
.wd-balance-card,
.bc-header, .bcp-header, .cp-header,
.mp-badge, .cv-badge, .sp-rec-badge,
.badge-count,
.notification-badge,
.pipBadge,
.ahia-btn-buy,
.ahia-btn-cart,
.ahia-btn-negotiate,
.ahia-btn-contact,
.ahia-btn-icon,
.ahia-cat-pill.active,
.ahia-dlg-confirm,
.ahia-dlg-danger,
.ahia-dlg-ok,
.neg-submit-btn,
.ap-btn-primary,
.bsl-btn,
.mo-wallet,
.dm-btn-dark,
.dm-btn-green,
.dm-btn-warning,
.dl-btn-dark,
.cd-btn-dark,
.fn-btn-dark,
.fn-btn-success,
.fn-btn-danger,
.fn-btn-warn,
.bd-btn-dark,
.bcp-btn-dark,
.bcp-btn-danger,
.cp-btn-primary,
.cp-btn-success,
.ms-btn-dark,
.ms-btn-blue,
.ro-btn-danger,
.co2-btn-danger,
.dp-btn-danger,
.do-btn-warn,
.sdr-btn-accept,
.sdr-btn-reject,
.rs-btn-primary,
.sp-btn-dark,
.wb-btn-crypto,
.wb-convert-btn,
.ct-btn-checkout,
.ct-btn-browse,
.ps-empty-btn,
.mt-view-btn,
.mt-help-btn,
.hc-contact-btn.hc-primary,
.ka-still-btn.primary,
.rc-submit,
.rq-submit,
.ct-submit,
.lc-send,
.cr-input-btn,
.ss-btn-primary,
.mo-btn-dark,
.mo-btn-green,
.mo-btn-red,
.mo-btn-orange,
.mo-delivery-link,
.dl-back-btn,
.cp-copy-btn,
.bcp-copy-btn,
.fa-loc-btn,
.fa-agent-book,
.fa-modal-btn,
.td-btn-primary,
.td-btn-success,
.nf-action-primary,
.nf-confirm-btn-danger,
.pd-btn-dark,
.pd-btn-green,
.pd-contact-msg,
.pd-contact-video,
.pd-contact-audio,
.als-ctrl-start,
.mp-item.mp-highlight,
.so-tab.active,
.mt-tab.active,
.sd-earn-tab--active,
.sd-badge-delivered,
.sd-badge-cancelled,
.sd-pstatus-inactive,
.vs-btn-primary,
.vs-btn-warn,
.sbc-chip.active,
.fw-unfollow-btn,
.fw-btn-dark,
.cv-btn-dark,
.fl-head,
.fw-head,
.ct-head,
.lc-header,
.td-header,
.ka-header,
.kb-hero,
.rc-hero,
.rq-hero,
.if-hero,
.mt-hero,
.ct-header,
.sc-header,
.wd-balance-card,
.bc-header,
.bcp-header,
.cp-header,
.mp-badge,
.cv-badge,
.sp-rec-badge,
.badge-count,
.notification-badge,
.pipBadge,
.sd-btn, .sd-btn-add, .sd-btn-withdraw, .sd-btn-save, .sd-btn-danger, .sd-btn-promote,
.so-btn, .so-btn-red, .so-btn-green, .so-btn-blue, .so-btn-dark, .so-btn-delete,
.od-btn, .od-btn-red, .od-btn-green, .od-btn-blue, .od-btn-dark,
.dm-btn, .dm-btn-dark, .dm-btn-green, .dm-btn-warning,
.btn-edit, .btn-delete,
.action-button,
.dt-nav-btn,
.dt-back-link,
.wd-btn-outline-light,
.wf-btn-dark,
.wb-btn, .wb-btn-bank, .wb-btn-crypto,
.cwp-btn,
.bd-btn,
.cp-btn,
.ms-btn,
.ro-btn,
.co2-btn,
.dp-btn,
.do-btn,
.sdr-btn,
.rs-btn,
.sp-btn,
.ct-btn,
.ps-btn,
.mt-btn,
.hc-btn,
.ka-btn,
.rc-btn,
.rq-btn,
.if-btn,
.mt-btn,
.ct-btn,
.sc-btn,
.fl-btn,
.fw-btn,
.cv-btn,
.vs-btn,
.sbc-btn,
.fw-btn,
.cr-btn,
.lc-btn,
.td-btn,
.nf-btn,
.pd-btn,
.als-btn,
.mp-btn,
.so-btn,
.od-btn,
.dt-btn,
.ad-btn,
.aks-btn,
.akst-btn,
.bcp-btn,
.fn-btn,
.dl-btn,
.cd-btn,
.ra-btn,
.ae-btn,
.ws-btn,
.ap-btn,
.bsl-btn,
.al-btn,
.ar-btn,
.vo-btn,
.fwp-btn,
.rwp-btn,
.swp-btn,
.cwp-btn,
.vwo-btn,
.if-btn,
.af-btn,
.wf-btn,
.cw-btn,
.ep-btn,
.bd-btn,
.cp-btn,
.ms-btn,
.ro-btn,
.co2-btn,
.dp-btn,
.do-btn,
.sdr-btn,
.rs-btn,
.sp-btn,
.wb-btn,
.wb-convert-btn,
.ct-btn,
.ps-btn,
.mt-btn,
.hc-btn,
.ka-btn,
.rc-btn,
.rq-btn,
.if-btn,
.mt-btn,
.ct-btn,
.sc-btn,
.fl-btn,
.fw-btn,
.cv-btn,
.vs-btn,
.sbc-btn,
.fw-btn,
.cr-btn,
.lc-btn,
.td-btn,
.nf-btn,
.pd-btn,
.als-btn,
.mp-btn {
    color: #FFFFFF !important;
}

/* Links on white cards */
a:not(.ahia-btn):not(.btn):not([class*="btn"]):not(.checkout-btn),
.card a:not(.ahia-btn):not(.btn):not([class*="btn"]):not(.checkout-btn),
.content-card a:not(.ahia-btn):not(.btn):not([class*="btn"]):not(.checkout-btn),
.product-card a:not(.ahia-btn):not(.btn):not([class*="btn"]):not(.checkout-btn),
.panel a:not(.ahia-btn):not(.btn):not([class*="btn"]):not(.checkout-btn),
.form-section a:not(.ahia-btn):not(.btn):not([class*="btn"]):not(.checkout-btn) {
    color: #C1121F !important;
}
