/* =========================================================
   AFFILIATE APP COLOR THEME ONLY
   Load AFTER expat_life/css/style.css

   IMPORTANT:
   This file changes colors/backgrounds only.
   It does NOT change spacing, sizes, heights, widths,
   secure badge image size, navbar size, floating CTA size,
   or footer layout.
========================================================= */

:root {
    --affiliate-deep: #052e25;
    --affiliate-deeper: #031f1a;
    --affiliate-dark: #064e3b;
    --affiliate-teal: #0f766e;
    --affiliate-green: #047857;
    --affiliate-green-soft: #ecfdf5;
    --affiliate-green-light: #d1fae5;
    --affiliate-gold: #ffc107;
    --affiliate-light: #f6fffb;
    --affiliate-soft-border: rgba(15, 118, 110, 0.16);
}

/* =========================================================
   BASE
========================================================= */

body {
    background-color: var(--affiliate-light);
}

/* =========================================================
   GENERAL ACCENT COLORS
========================================================= */

.section-mini-title {
    color: var(--affiliate-green);
}

.section-mini-title-light {
    color: var(--affiliate-gold);
}

.stat-box h3,
.price-tier-item strong,
.package-price,
.package-detail-price,
.budget-label i,
.budget-value,
.info-note-box i,
.mini-info-row i,
.comparison-price,
.signup-note-box i,
.consultation-note-box i,
.contact-note-box i,
.about-note-box i,
.location-style-icon,
.about-fit-item i,
.about-value-row strong,
.dashboard-link-card i,
.success-info-box i,
.login-note-box i {
    color: var(--affiliate-green);
}

/* Keep natural success green icons, but align slightly with affiliate green */
.package-mini-list i,
.signup-info-item i,
.consultation-info-item i,
.contact-info-item i,
.about-highlight-item i {
    color: var(--affiliate-green);
}

/* =========================================================
   LIGHT BACKGROUNDS
========================================================= */

.light-section,
.final-cta-section,
.package-detail-hero,
.package-list-hero,
.signup-hero,
.consultation-hero,
.contact-hero,
.about-sl-hero,
.success-page-section,
.dashboard-hero,
.login-hero {
    background: linear-gradient(180deg, #ffffff 0%, var(--affiliate-light) 100%);
}

.hero-info-content,
.package-target-box,
.package-tagline-box,
.info-note-box,
.signup-note-box,
.consultation-note-box,
.contact-note-box,
.about-note-box,
.success-info-box,
.login-note-box,
.custom-check {
    background: var(--affiliate-green-soft);
    border-color: var(--affiliate-soft-border);
}

/* =========================================================
   HERO / GRADIENT AREAS
========================================================= */

.hero-section {
    background:
        linear-gradient(rgba(5, 46, 37, 0.78), rgba(5, 46, 37, 0.78)),
        url('/static/expat_life/images/affiliates_hero.webp') center/cover no-repeat;
}

.hero-overlay {
    background: linear-gradient(
        135deg,
        rgba(15, 118, 110, 0.28),
        rgba(255, 193, 7, 0.08)
    );
}

.hero-badge {
    background: rgba(255, 193, 7, 0.16);
    border-color: rgba(255, 193, 7, 0.30);
    color: #ffffff;
}

.hero-point-box i {
    color: var(--affiliate-gold);
}

.gradient-section {
    background: linear-gradient(135deg, var(--affiliate-deep), var(--affiliate-teal));
}

.final-cta-box {
    background: linear-gradient(135deg, var(--affiliate-deeper), var(--affiliate-teal));
}

/* =========================================================
   ICON / PLACEHOLDER BACKGROUNDS
========================================================= */

.icon-wrap,
.location-style-icon,
.about-fit-item i {
    background: var(--affiliate-green-soft);
    color: var(--affiliate-green);
}

.package-image-placeholder,
.package-detail-placeholder,
.about-hero-image-placeholder {
    background: linear-gradient(135deg, var(--affiliate-green-soft), #ffffff);
    color: var(--affiliate-green);
}

.detail-feature-icon {
    background: var(--affiliate-green-soft);
    color: var(--affiliate-green);
}

/* =========================================================
   CARDS WITH SOFT TINTS
========================================================= */

.quick-summary-card,
.total-budget-card,
.about-value-card {
    background: linear-gradient(180deg, #ffffff 0%, var(--affiliate-light) 100%);
}

.comparison-highlight {
    border-color: var(--affiliate-gold);
    background: linear-gradient(180deg, #fffdf5 0%, #ffffff 100%);
}

/* =========================================================
   FORM FOCUS COLORS
========================================================= */

.signup-form-card .form-control:focus,
.signup-form-card .form-select:focus,
.consultation-form-card .form-control:focus,
.consultation-form-card .form-select:focus,
.contact-form-card .form-control:focus,
.contact-form-card .form-select:focus,
.login-form-card .form-control:focus {
    border-color: rgba(15, 118, 110, 0.55);
    box-shadow: 0 0 0 0.18rem rgba(15, 118, 110, 0.12);
}

.custom-accordion .accordion-button:not(.collapsed) {
    background: var(--affiliate-green-soft);
    color: var(--affiliate-green);
}

/* =========================================================
   TOP BAR
========================================================= */

.topbar {
    background: var(--affiliate-deeper);
    color: rgba(255, 255, 255, 0.86);
}

.topbar i {
    color: var(--affiliate-gold);
}

.topbar a {
    color: rgba(255, 255, 255, 0.88);
}

.topbar a:hover {
    color: #ffffff;
}

/* =========================================================
   NAVBAR COLORS ONLY
========================================================= */

.premium-navbar {
    background: rgba(246, 255, 251, 0.96);
    box-shadow: 0 8px 24px rgba(5, 46, 37, 0.08);
}

.brand-logo-circle {
    background: linear-gradient(135deg, var(--affiliate-teal), var(--affiliate-deep));
    box-shadow: 0 8px 20px rgba(15, 118, 110, 0.22);
}

.brand-title {
    color: var(--affiliate-deep);
}

.brand-subtitle {
    color: var(--affiliate-green);
}

.premium-nav-link {
    color: #173b33;
}

.premium-nav-link:hover,
.premium-nav-link:focus {
    color: var(--affiliate-green);
    background: var(--affiliate-green-soft);
}

.premium-navbar .dropdown-menu {
    background: #ffffff;
    border-color: var(--affiliate-soft-border);
}

.premium-navbar .dropdown-item {
    color: #173b33;
}

.premium-navbar .dropdown-item:hover,
.premium-navbar .dropdown-item:focus {
    color: var(--affiliate-green);
    background: var(--affiliate-green-soft);
}

/* =========================================================
   BUTTON COLORS ONLY
========================================================= */

.btn-primary {
    background: linear-gradient(135deg, var(--affiliate-teal), var(--affiliate-green));
    border-color: var(--affiliate-green);
    color: #ffffff;
}

.btn-primary:hover,
.btn-primary:focus {
    background: linear-gradient(135deg, #14b8a6, var(--affiliate-dark));
    border-color: var(--affiliate-dark);
    color: #ffffff;
}

.btn-dark {
    background: linear-gradient(135deg, var(--affiliate-deep), var(--affiliate-dark));
    border-color: var(--affiliate-deep);
    color: #ffffff;
}

.btn-dark:hover,
.btn-dark:focus {
    background: linear-gradient(135deg, var(--affiliate-deeper), var(--affiliate-teal));
    border-color: var(--affiliate-teal);
    color: #ffffff;
}

.btn-warning {
    background: linear-gradient(135deg, var(--affiliate-gold), #ffdf68);
    border-color: var(--affiliate-gold);
    color: #3d2700;
}

.btn-warning:hover,
.btn-warning:focus {
    background: linear-gradient(135deg, #ffcf33, #fff0a3);
    border-color: #ffcf33;
    color: #3d2700;
}

.btn-outline-primary {
    color: var(--affiliate-green);
    border-color: var(--affiliate-green);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background: var(--affiliate-green);
    border-color: var(--affiliate-green);
    color: #ffffff;
}

.btn-outline-dark {
    color: var(--affiliate-deep);
    border-color: var(--affiliate-deep);
}

.btn-outline-dark:hover,
.btn-outline-dark:focus {
    background: var(--affiliate-deep);
    border-color: var(--affiliate-deep);
    color: #ffffff;
}

/* Specific green button from main style */
.hero-visa-btn {
    background: linear-gradient(135deg, var(--affiliate-teal), var(--affiliate-green));
}

.hero-visa-btn:hover {
    background: linear-gradient(135deg, #14b8a6, var(--affiliate-dark));
}

/* =========================================================
   LABELS / SELECTED STATES
========================================================= */

.featured-label {
    background: var(--affiliate-gold);
    color: #3d2700;
}

.selected-label {
    background: var(--affiliate-green);
    color: #ffffff;
}

.package-selected {
    border-color: var(--affiliate-green);
}

.dashboard-profile-icon {
    border-color: var(--affiliate-green);
    box-shadow: 0 4px 12px rgba(15, 118, 110, 0.15);
}

/* =========================================================
   FLOATING CTA
   Do NOT change size or position from style.css.
   Only color.
========================================================= */

.floating-guest-btn {
    background: linear-gradient(135deg, var(--affiliate-gold), #ffdf68);
    border-color: var(--affiliate-gold);
    color: #3d2700;
}

.floating-guest-btn:hover {
    color: #3d2700;
}

/* =========================================================
   PAGINATION COLORS
========================================================= */

.pagination .page-link:hover {
    background-color: var(--affiliate-deep);
    color: #ffffff;
    border-color: var(--affiliate-deep);
}

.pagination .page-item.active .page-link {
    background-color: var(--affiliate-green);
    border-color: var(--affiliate-green);
    color: #ffffff;
}

/* =========================================================
   FOOTER COLORS ONLY
========================================================= */

.premium-footer {
    background: var(--affiliate-deeper);
    color: rgba(255, 255, 255, 0.88);
}

.footer-main {
    background:
        linear-gradient(rgba(3, 31, 26, 0.96), rgba(5, 46, 37, 0.96)),
        radial-gradient(circle at top right, rgba(15, 118, 110, 0.24), transparent 35%);
}

.footer-brand-title {
    color: #ffffff;
}

.footer-brand-subtitle {
    color: var(--affiliate-gold);
}

.footer-text {
    color: rgba(255, 255, 255, 0.78);
}

.footer-heading {
    color: #ffffff;
}

.footer-links a {
    color: rgba(255, 255, 255, 0.78);
}

.footer-links a:hover {
    color: var(--affiliate-gold);
}

.footer-logo-circle {
    background: linear-gradient(135deg, var(--affiliate-teal), var(--affiliate-deep));
}

.footer-bottom {
    background: #020f0d;
    border-top-color: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.68);
}

/* =========================================================
   SECURE TRUST BADGES
   Keep image sizes from original style.css.
   Only change badge background/border.
========================================================= */

.footer-secure-trust-badge {
    background: linear-gradient(
        135deg,
        rgba(255, 255, 255, 0.12),
        rgba(15, 118, 110, 0.10)
    );
    border-color: rgba(255, 255, 255, 0.18);
}

.checkout-secure-trust-badge {
    background: linear-gradient(
        135deg,
        rgba(236, 253, 245, 0.98),
        rgba(255, 255, 255, 0.98)
    );
    border-color: rgba(15, 118, 110, 0.18);
}

.checkout-secure-trust-text strong {
    color: var(--affiliate-deep);
}

.checkout-heading-secure-note {
    background: rgba(236, 253, 245, 0.92);
    border-color: rgba(15, 118, 110, 0.18);
    color: var(--affiliate-green);
}

/* =========================================================
   FORGOT PASSWORD LINK
========================================================= */

.forgot-password-link {
    color: #065f46;
    background: rgba(16, 185, 129, 0.12);
}

.forgot-password-link:hover {
    color: var(--affiliate-deep);
    background: rgba(16, 185, 129, 0.24);
}

/* =========================================================
   AFFILIATE HOME PAGE SPECIFIC COLOR ALIGNMENT
   These match the affiliate homepage styles you attached.
   Only colors/backgrounds are adjusted.
========================================================= */

.affiliate-home-hero {
    background-color: #10251f;
}

.affiliate-home-hero-bg {
    background:
        linear-gradient(
            90deg,
            rgba(5, 30, 25, 0.94) 0%,
            rgba(5, 45, 35, 0.82) 44%,
            rgba(5, 45, 35, 0.56) 72%,
            rgba(5, 45, 35, 0.42) 100%
        ),
        url('/static/expat_life/images/affiliates_hero.webp') center center / cover no-repeat;
}

.affiliate-hero-badge,
.affiliate-floating-language-bar {
    background: rgba(255, 193, 7, 0.14);
    color: var(--affiliate-gold);
    border-color: rgba(255, 193, 7, 0.32);
}

.affiliate-hero-point i,
.affiliate-type-box i,
.affiliate-floating-language-title,
.affiliate-hero-language-title {
    color: var(--affiliate-gold);
}

.affiliate-side-card-header,
.affiliate-gradient-section,
.final-affiliate-cta {
    background: linear-gradient(135deg, var(--affiliate-deep) 0%, var(--affiliate-teal) 100%);
}

.affiliate-mini-icon,
.affiliate-feature-icon {
    background: var(--affiliate-green-soft);
    color: var(--affiliate-green);
}

.affiliate-stat-box h3,
.earning-highlight h4 {
    color: var(--affiliate-green);
}

.affiliate-process-number {
    background: var(--affiliate-green);
}

.earning-highlight {
    background: var(--affiliate-green-soft);
    border-color: #bbf7d0;
}

.affiliate-quote-card {
    border-left-color: var(--affiliate-teal);
}