/* Shared surface and contrast corrections for public pages. */
:root {
    --mtz-ink: #0f172a;
    --mtz-muted: #52627a;
    --mtz-line: #dbe5f0;
    --mtz-blue: #2563eb;
    --mtz-cyan: #0891b2;
    --mtz-green: #059669;
    --mtz-orange: #ea580c;
    --mtz-surface: #ffffff;
}

/* A visibly colorful light theme, while keeping long-form text easy to read. */
body:not(.dark-theme) .about-page-container,
body:not(.dark-theme) .contact-page-container,
body:not(.dark-theme) .blog-index-shell,
body:not(.dark-theme) .tw-popular-section {
    background:
        radial-gradient(circle at 5% 6%, rgba(249, 115, 22, 0.18), transparent 28%),
        radial-gradient(circle at 94% 10%, rgba(14, 165, 233, 0.19), transparent 30%),
        radial-gradient(circle at 52% 92%, rgba(16, 185, 129, 0.12), transparent 28%),
        linear-gradient(180deg, #fffaf3 0%, #f4faff 52%, #f2fff9 100%) !important;
}

body:not(.dark-theme) .about-page-hero,
body:not(.dark-theme) .contact-page-hero,
body:not(.dark-theme) .pricing-hero-copy,
body:not(.dark-theme) .profile-setup-hero-copy,
body:not(.dark-theme) .blog-index-hero {
    background:
        radial-gradient(circle at 92% 8%, rgba(14, 165, 233, 0.23), transparent 31%),
        radial-gradient(circle at 8% 92%, rgba(249, 115, 22, 0.22), transparent 34%),
        linear-gradient(135deg, #fff7ed 0%, #f0f9ff 55%, #ecfdf5 100%) !important;
    border-color: rgba(14, 165, 233, 0.25) !important;
    box-shadow: 0 28px 70px rgba(14, 116, 144, 0.14) !important;
}

body:not(.dark-theme) .about-stat-card:nth-child(1),
body:not(.dark-theme) .contact-metric-card:nth-child(1),
body:not(.dark-theme) .pricing-stat:nth-child(1) {
    background: linear-gradient(145deg, #eff6ff, #e0f2fe) !important;
    border-color: #93c5fd !important;
}

body:not(.dark-theme) .about-stat-card:nth-child(2),
body:not(.dark-theme) .contact-metric-card:nth-child(2),
body:not(.dark-theme) .pricing-stat:nth-child(2) {
    background: linear-gradient(145deg, #fff7ed, #ffedd5) !important;
    border-color: #fdba74 !important;
}

body:not(.dark-theme) .about-stat-card:nth-child(3),
body:not(.dark-theme) .contact-metric-card:nth-child(3),
body:not(.dark-theme) .pricing-stat:nth-child(3) {
    background: linear-gradient(145deg, #ecfdf5, #d1fae5) !important;
    border-color: #6ee7b7 !important;
}

body:not(.dark-theme) .about-principle-card:nth-child(1),
body:not(.dark-theme) .contact-quick-card:nth-child(1),
body:not(.dark-theme) .pricing-card:nth-child(1),
body:not(.dark-theme) .blog-card:nth-child(3n + 1),
body:not(.dark-theme) .tw-tool-card:nth-child(3n + 1) {
    background: linear-gradient(180deg, #ffffff, #eff8ff) !important;
    border-color: #bfdbfe !important;
}

body:not(.dark-theme) .about-principle-card:nth-child(2),
body:not(.dark-theme) .contact-quick-card:nth-child(2),
body:not(.dark-theme) .pricing-card:nth-child(2),
body:not(.dark-theme) .blog-card:nth-child(3n + 2),
body:not(.dark-theme) .tw-tool-card:nth-child(3n + 2) {
    background: linear-gradient(180deg, #ffffff, #fff7ed) !important;
    border-color: #fed7aa !important;
}

body:not(.dark-theme) .about-principle-card:nth-child(3),
body:not(.dark-theme) .contact-quick-card:nth-child(3),
body:not(.dark-theme) .pricing-card:nth-child(3),
body:not(.dark-theme) .blog-card:nth-child(3n + 3),
body:not(.dark-theme) .tw-tool-card:nth-child(3n + 3) {
    background: linear-gradient(180deg, #ffffff, #ecfdf5) !important;
    border-color: #a7f3d0 !important;
}

body:not(.dark-theme) .about-principle-card:nth-child(1) i {
    background: linear-gradient(135deg, #2563eb, #0ea5e9);
    box-shadow: 0 16px 26px rgba(37, 99, 235, 0.24);
}

body:not(.dark-theme) .about-principle-card:nth-child(2) i {
    background: linear-gradient(135deg, #ea580c, #f59e0b);
    box-shadow: 0 16px 26px rgba(234, 88, 12, 0.23);
}

body:not(.dark-theme) .about-principle-card:nth-child(3) i {
    background: linear-gradient(135deg, #059669, #06b6d4);
    box-shadow: 0 16px 26px rgba(5, 150, 105, 0.23);
}

body:not(.dark-theme) .about-story-panel:first-child,
body:not(.dark-theme) .contact-panel-card:first-child,
body:not(.dark-theme) .pricing-hero-panel {
    background: linear-gradient(145deg, #ffffff, #eef7ff) !important;
    border-color: #bfdbfe !important;
}

body:not(.dark-theme) .about-story-panel-soft,
body:not(.dark-theme) .contact-panel-card-soft,
body:not(.dark-theme) .pricing-free-note {
    background: linear-gradient(145deg, #ffffff, #ecfdf5) !important;
    border-color: #a7f3d0 !important;
}

body:not(.dark-theme) .about-founder-strip,
body:not(.dark-theme) .about-cta-band,
body:not(.dark-theme) .contact-form-card,
body:not(.dark-theme) .contact-trust-strip,
body:not(.dark-theme) .pricing-account-strip,
body:not(.dark-theme) .pricing-support-strip {
    background:
        radial-gradient(circle at 100% 0, rgba(14, 165, 233, 0.14), transparent 36%),
        linear-gradient(135deg, #fff7ed, #ffffff 48%, #ecfdf5) !important;
    border-color: #fdba74 !important;
}

body:not(.dark-theme) .pricing-card,
body:not(.dark-theme) .about-principle-card,
body:not(.dark-theme) .contact-quick-card,
body:not(.dark-theme) .blog-card,
body:not(.dark-theme) .tw-tool-card {
    box-shadow: 0 18px 42px rgba(30, 64, 175, 0.09) !important;
}

body:not(.dark-theme) .pricing-card:hover,
body:not(.dark-theme) .about-principle-card:hover,
body:not(.dark-theme) .contact-quick-card:hover,
body:not(.dark-theme) .blog-card:hover,
body:not(.dark-theme) .tw-tool-card:hover {
    border-color: #38bdf8 !important;
    box-shadow: 0 24px 52px rgba(14, 116, 144, 0.16) !important;
}

/* Give repeated cards a clearer, more colorful visual rhythm in light mode. */
.pricing-card,
.about-principle-card,
.contact-quick-card,
.tw-tool-card,
.blog-card {
    position: relative;
    overflow: hidden;
}

.pricing-card::before,
.about-principle-card::before,
.contact-quick-card::before,
.tw-tool-card::after,
.blog-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, var(--mtz-blue), var(--mtz-cyan), var(--mtz-green));
    pointer-events: none;
}

.pricing-card:nth-child(3n + 2)::before,
.about-principle-card:nth-child(3n + 2)::before,
.contact-quick-card:nth-child(3n + 2)::before,
.tw-tool-card:nth-child(3n + 2)::after,
.blog-card:nth-child(3n + 2)::before {
    background: linear-gradient(90deg, var(--mtz-orange), #f59e0b, #eab308);
}

.pricing-card:nth-child(3n + 3)::before,
.about-principle-card:nth-child(3n + 3)::before,
.contact-quick-card:nth-child(3n + 3)::before,
.tw-tool-card:nth-child(3n + 3)::after,
.blog-card:nth-child(3n + 3)::before {
    background: linear-gradient(90deg, var(--mtz-green), #14b8a6, var(--mtz-cyan));
}

/* Page-level dark palette. These rules intentionally outrank fixed light colors. */
body.dark-theme .pricing-shell,
body.dark-theme .about-page-container,
body.dark-theme .contact-page-container,
body.dark-theme .auth-page-shell,
body.dark-theme .account-shell,
body.dark-theme .profile-setup-shell,
body.dark-theme .blog-index-shell,
body.dark-theme .tw-popular-section {
    color: #e6edf7;
}

body.dark-theme .about-page-container,
body.dark-theme .contact-page-container,
body.dark-theme .auth-page-shell,
body.dark-theme .account-shell,
body.dark-theme .blog-index-shell,
body.dark-theme .tw-popular-section {
    background:
        radial-gradient(circle at 8% 8%, rgba(8, 145, 178, 0.18), transparent 30%),
        radial-gradient(circle at 92% 14%, rgba(234, 88, 12, 0.14), transparent 26%),
        linear-gradient(180deg, #081120 0%, #0b1527 52%, #0d182b 100%) !important;
}

body.dark-theme .pricing-hero-copy,
body.dark-theme .pricing-hero-panel,
body.dark-theme .pricing-card,
body.dark-theme .pricing-free-note,
body.dark-theme .pricing-tool-card,
body.dark-theme .pricing-account-strip,
body.dark-theme .pricing-support-strip,
body.dark-theme .pricing-support-card,
body.dark-theme .pricing-auth-dialog,
body.dark-theme .pricing-profile-dialog,
body.dark-theme .about-page-hero,
body.dark-theme .about-stat-card,
body.dark-theme .about-principle-card,
body.dark-theme .about-story-panel,
body.dark-theme .about-founder-strip,
body.dark-theme .about-founder-panel,
body.dark-theme .about-cta-band,
body.dark-theme .about-mini-card,
body.dark-theme .about-eeat-card,
body.dark-theme .contact-page-hero,
body.dark-theme .contact-metric-card,
body.dark-theme .contact-quick-card,
body.dark-theme .contact-panel-card,
body.dark-theme .contact-form-card,
body.dark-theme .contact-form-wrapper,
body.dark-theme .contact-trust-strip,
body.dark-theme .contact-mini-card,
body.dark-theme .auth-card,
body.dark-theme .auth-aside,
body.dark-theme .auth-benefit,
body.dark-theme .account-panel,
body.dark-theme .account-sidebar-card,
body.dark-theme .account-summary-item,
body.dark-theme .oauth-link-card,
body.dark-theme .security-list li,
body.dark-theme .profile-setup-hero-copy,
body.dark-theme .profile-setup-hero-card,
body.dark-theme .profile-setup-card,
body.dark-theme .profile-setup-help-card,
body.dark-theme .profile-setup-login-card,
body.dark-theme .profile-setup-account-strip,
body.dark-theme .profile-setup-plan-main,
body.dark-theme .profile-setup-support-links a,
body.dark-theme .blog-index-hero,
body.dark-theme .blog-index-summary,
body.dark-theme .blog-featured-card,
body.dark-theme .blog-card,
body.dark-theme .blog-empty-state,
body.dark-theme .cat-filter-bar,
body.dark-theme .tw-tool-card,
body.dark-theme .page-content-area,
body.dark-theme .legal-support-block {
    color: #e6edf7 !important;
    background: linear-gradient(145deg, rgba(20, 32, 52, 0.98), rgba(13, 25, 43, 0.98)) !important;
    border-color: #2b415e !important;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.24) !important;
}

body.dark-theme .pricing-hero-copy,
body.dark-theme .about-page-hero,
body.dark-theme .contact-page-hero,
body.dark-theme .profile-setup-hero-copy,
body.dark-theme .blog-index-hero {
    background:
        radial-gradient(circle at 90% 12%, rgba(234, 88, 12, 0.18), transparent 30%),
        radial-gradient(circle at 8% 90%, rgba(8, 145, 178, 0.18), transparent 32%),
        linear-gradient(145deg, #15243a, #0d1a2e) !important;
}

body.dark-theme .pricing-stat,
body.dark-theme .pricing-account-chip,
body.dark-theme .pricing-profile-summary,
body.dark-theme .profile-setup-hero-points div,
body.dark-theme .profile-setup-summary,
body.dark-theme .profile-setup-upi-meta,
body.dark-theme .contact-hero-badges span,
body.dark-theme .blog-index-badges span,
body.dark-theme .auth-tool-chip {
    color: #e6edf7 !important;
    background: rgba(8, 20, 36, 0.72) !important;
    border-color: #344b68 !important;
}

body.dark-theme .pricing-shell h1,
body.dark-theme .pricing-shell h2,
body.dark-theme .pricing-shell h3,
body.dark-theme .pricing-shell strong,
body.dark-theme .about-page-container h1,
body.dark-theme .about-page-container h2,
body.dark-theme .about-page-container h3,
body.dark-theme .about-page-container strong,
body.dark-theme .contact-page-container h1,
body.dark-theme .contact-page-container h2,
body.dark-theme .contact-page-container h3,
body.dark-theme .contact-page-container strong,
body.dark-theme .auth-page-shell h1,
body.dark-theme .auth-page-shell h2,
body.dark-theme .auth-page-shell h3,
body.dark-theme .account-shell h1,
body.dark-theme .account-shell h2,
body.dark-theme .account-shell h3,
body.dark-theme .profile-setup-shell h1,
body.dark-theme .profile-setup-shell h2,
body.dark-theme .profile-setup-shell h3,
body.dark-theme .profile-setup-shell strong,
body.dark-theme .blog-index-shell h1,
body.dark-theme .blog-index-shell h2,
body.dark-theme .blog-index-shell h3,
body.dark-theme .blog-index-shell h3 a,
body.dark-theme .tw-popular-section h1,
body.dark-theme .tw-popular-section h2,
body.dark-theme .tw-popular-section h3,
body.dark-theme .tw-tool-title,
body.dark-theme .page-content-area h1,
body.dark-theme .page-content-area h2,
body.dark-theme .page-content-area h3 {
    color: #f8fbff !important;
    -webkit-text-fill-color: #f8fbff !important;
}

body.dark-theme .pricing-shell p,
body.dark-theme .pricing-shell li,
body.dark-theme .pricing-shell span:not(.pricing-kicker):not(.tool-access-badge):not(.pricing-included-badge),
body.dark-theme .about-page-container p,
body.dark-theme .about-page-container li,
body.dark-theme .about-page-container span:not(.about-kicker):not(.about-section-tag),
body.dark-theme .contact-page-container p,
body.dark-theme .contact-page-container li,
body.dark-theme .contact-page-container span:not(.contact-kicker):not(.contact-form-pill),
body.dark-theme .auth-page-shell p,
body.dark-theme .auth-page-shell li,
body.dark-theme .account-shell p,
body.dark-theme .account-shell li,
body.dark-theme .profile-setup-shell p,
body.dark-theme .profile-setup-shell li,
body.dark-theme .blog-index-shell p,
body.dark-theme .blog-excerpt,
body.dark-theme .tw-tool-desc,
body.dark-theme .cat-breadcrumb,
body.dark-theme .page-content-area,
body.dark-theme .page-content-area p,
body.dark-theme .page-content-area li {
    color: #b9c8da !important;
    -webkit-text-fill-color: #b9c8da !important;
}

body.dark-theme .pricing-tagline,
body.dark-theme .pricing-tools-link,
body.dark-theme .blog-read-more,
body.dark-theme .blog-card-date,
body.dark-theme .contact-quick-label,
body.dark-theme .profile-setup-plan-price {
    color: #fb923c !important;
    -webkit-text-fill-color: #fb923c !important;
}

body.dark-theme .pricing-kicker,
body.dark-theme .about-kicker,
body.dark-theme .about-section-tag,
body.dark-theme .contact-kicker,
body.dark-theme .contact-form-pill,
body.dark-theme .blog-featured-tag,
body.dark-theme .blog-summary-label {
    color: #fed7aa !important;
    -webkit-text-fill-color: #fed7aa !important;
    background: rgba(154, 52, 18, 0.32) !important;
    border-color: rgba(251, 146, 60, 0.38) !important;
}

body.dark-theme .pricing-btn-secondary,
body.dark-theme .about-secondary-btn,
body.dark-theme .auth-tab,
body.dark-theme .auth-social-btn,
body.dark-theme .cat-chip,
body.dark-theme .cat-sort-select,
body.dark-theme .blog-page-link {
    color: #e6edf7 !important;
    -webkit-text-fill-color: #e6edf7 !important;
    background: #15243a !important;
    border-color: #3a5270 !important;
}

body.dark-theme .cat-chip.is-active,
body.dark-theme .auth-tab.is-active,
body.dark-theme .blog-page-link.is-current {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: linear-gradient(135deg, #2563eb, #0891b2) !important;
    border-color: #38bdf8 !important;
}

body.dark-theme .pricing-auth-form input,
body.dark-theme .pricing-profile-field input,
body.dark-theme .profile-setup-field input,
body.dark-theme .auth-form input,
body.dark-theme .account-form input,
body.dark-theme .form-control,
body.dark-theme .tw-search-input {
    color: #f8fbff !important;
    -webkit-text-fill-color: #f8fbff !important;
    background: #091526 !important;
    border-color: #3a5270 !important;
    caret-color: #7dd3fc;
}

body.dark-theme .pricing-auth-form input::placeholder,
body.dark-theme .pricing-profile-field input::placeholder,
body.dark-theme .profile-setup-field input::placeholder,
body.dark-theme .auth-form input::placeholder,
body.dark-theme .account-form input::placeholder,
body.dark-theme .form-control::placeholder,
body.dark-theme .tw-search-input::placeholder {
    color: #8295ad !important;
    -webkit-text-fill-color: #8295ad !important;
    opacity: 1;
}

body.dark-theme .tw-tool-card:hover,
body.dark-theme .pricing-tool-card:hover,
body.dark-theme .blog-card:hover,
body.dark-theme .contact-quick-card:hover {
    border-color: #38bdf8 !important;
    box-shadow: 0 22px 50px rgba(8, 145, 178, 0.2) !important;
}

body.dark-theme .refund-policy-page .refund-policy-hero,
body.dark-theme .refund-policy-page .refund-policy-card,
body.dark-theme .refund-policy-page .refund-policy-contact,
body.dark-theme .refund-policy-page .refund-policy-note {
    color: #e6edf7 !important;
    background: linear-gradient(145deg, #142238, #0d192b) !important;
    border-color: #314965 !important;
}

body.dark-theme .refund-policy-page h1,
body.dark-theme .refund-policy-page h2,
body.dark-theme .refund-policy-page h3,
body.dark-theme .refund-policy-page strong {
    color: #f8fbff !important;
    -webkit-text-fill-color: #f8fbff !important;
}

body.dark-theme .refund-policy-page p,
body.dark-theme .refund-policy-page li,
body.dark-theme .refund-policy-page span:not(.refund-policy-badge):not(.refund-policy-email):not(.refund-policy-phone):not(.refund-policy-whatsapp) {
    color: #b9c8da !important;
    -webkit-text-fill-color: #b9c8da !important;
}

@media (max-width: 767.98px) {
    #mt-cookie-banner {
        display: none;
        padding: 14px 16px !important;
        gap: 12px !important;
        align-items: stretch !important;
    }

    #mt-cookie-banner > span {
        flex: 1 1 100% !important;
        width: 100% !important;
        line-height: 1.55;
    }

    #mt-cookie-banner > div {
        width: 100%;
        justify-content: flex-end;
    }

    #mt-cookie-banner button {
        min-height: 42px;
    }

    .pricing-card::before,
    .about-principle-card::before,
    .contact-quick-card::before,
    .tw-tool-card::after,
    .blog-card::before {
        height: 3px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pricing-card,
    .about-principle-card,
    .contact-quick-card,
    .tw-tool-card,
    .blog-card {
        transition: none !important;
    }
}

/* One shared MagicalToolz logo asset with context-appropriate sizing. */
.site-brand-logo {
    display: block;
    width: auto;
    max-width: none;
    object-fit: contain;
    filter: none !important;
}

.site-brand-logo-header {
    height: 72px;
}

.site-brand-logo-sidebar {
    height: 56px;
}

.site-brand-logo-footer {
    width: 300px;
    height: auto;
}

@media (max-width: 575.98px) {
    .site-brand-logo-header {
        height: 48px;
    }

    .site-brand-logo-sidebar {
        height: 50px;
    }

    .site-brand-logo-footer {
        width: 240px;
    }
}

/* Mobile footer containment and readable stacking. */
@media (max-width: 600px) {
    .main-footer {
        width: 100%;
        max-width: 100vw;
        margin-top: 28px;
        padding: 38px 0 calc(86px + env(safe-area-inset-bottom));
        overflow: hidden;
    }

    .main-footer .footer-inner-wrap {
        width: 100%;
        max-width: 100%;
        padding: 0 18px;
    }

    .main-footer .footer-grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 26px;
        padding-bottom: 30px;
        text-align: left;
    }

    .main-footer .footer-col,
    .main-footer .footer-brand,
    .main-footer .newsletter-box {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }

    .main-footer .footer-brand {
        text-align: center;
    }

    .main-footer .site-brand-logo-footer,
    .main-footer .footer-brand img {
        display: block;
        width: min(260px, 100%);
        height: auto;
        max-width: 100%;
        margin: 0 auto 16px;
    }

    .main-footer .footer-heading {
        margin-bottom: 14px;
        font-size: 1rem;
    }

    .main-footer .footer-col:not(.footer-brand) .footer-heading::after {
        left: 0;
        transform: none;
    }

    .main-footer .footer-links {
        margin: 0;
        padding: 0;
    }

    .main-footer .footer-links li {
        margin-bottom: 9px;
    }

    .main-footer .footer-links a,
    .main-footer p {
        max-width: 100%;
        overflow-wrap: anywhere;
        word-break: normal;
    }

    .main-footer .footer-social-icons {
        justify-content: center;
    }

    .main-footer .newsletter-box {
        margin-top: 0;
        padding: 16px;
    }

    .main-footer .newsletter-form {
        width: 100%;
        min-width: 0;
    }

    .main-footer .newsletter-form input {
        min-width: 0;
    }

    .main-footer .footer-bottom {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
        width: 100%;
        padding: 18px;
        text-align: center;
        overflow-wrap: anywhere;
    }
}

/* Keep the wide logo proportional in every shared navigation surface. */
.navbar-brand img.site-brand-logo-header {
    width: 220px !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 58px;
}

.sb-logo img.site-brand-logo-sidebar {
    width: 180px !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 48px;
}

.main-footer .footer-brand img.site-brand-logo-footer {
    width: 240px !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 64px;
}

@media (max-width: 575.98px) {
    .navbar-brand img.site-brand-logo-header { width: 156px !important; }
    .sb-logo img.site-brand-logo-sidebar { width: 164px !important; }
    .main-footer .footer-brand img.site-brand-logo-footer { width: 200px !important; }
}

.custom-sidebar .sb-link[aria-label] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 44px;
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    gap: 0 !important;
}

.custom-sidebar .sb-link[aria-label] i,
.footer-social-icons .social-header-btn i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1em !important;
    margin: 0 !important;
    line-height: 1;
    text-align: center;
    flex: 0 0 auto;
}

body .custom-sidebar .sb-link[aria-label] .fa-whatsapp,
body .footer-social-icons .social-header-btn.whatsapp i { color: #25d366 !important; }
body .custom-sidebar .sb-link[aria-label] .fa-facebook-f,
body .footer-social-icons .social-header-btn.facebook i { color: #1877f2 !important; }
body .custom-sidebar .sb-link[aria-label] .fa-telegram-plane,
body .footer-social-icons .social-header-btn.telegram i { color: #229ed9 !important; }
body .custom-sidebar .sb-link[aria-label] .fa-instagram,
body .footer-social-icons .social-header-btn.instagram i { color: #e1306c !important; }
body .custom-sidebar .sb-link[aria-label] .fa-x-twitter,
body .custom-sidebar .sb-link[aria-label] .fa-tiktok,
body .footer-social-icons .social-header-btn.x-twitter i,
body .footer-social-icons .social-header-btn.tiktok i { color: #111827 !important; }
body.dark-theme .custom-sidebar .sb-link[aria-label] .fa-x-twitter,
body.dark-theme .custom-sidebar .sb-link[aria-label] .fa-tiktok,
body.dark-theme .footer-social-icons .social-header-btn.x-twitter i,
body.dark-theme .footer-social-icons .social-header-btn.tiktok i { color: #ffffff !important; }
body .footer-social-icons .social-header-btn:hover i { color: #ffffff !important; }

.main-footer .footer-social-icons .social-header-btn {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    font-size: 20px;
}

/* Shared footer: quiet surfaces, clear navigation and visible policy links. */
.main-footer.footer-professional {
    --footer-text: #15283e;
    --footer-muted: #506477;
    --footer-line: #dce6ed;
    --footer-panel: #ffffff;
    background: radial-gradient(ellipse at 0 0, #e7f5f7, transparent 55%), #f6f9fc;
    color: var(--footer-text);
    border-top: 3px solid #1299a5;
    padding-top: 48px;
}
body.dark-theme .main-footer.footer-professional {
    --footer-text: #edf4fc;
    --footer-muted: #b0c2d3;
    --footer-line: #2a3f54;
    --footer-panel: #142538;
    background: radial-gradient(ellipse at 0 0, #12363e, transparent 60%), #0e1b2b !important;
}
.footer-professional .footer-inner-wrap { max-width: 1440px; }
.footer-professional .footer-grid {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .7fr) minmax(0, 1fr) minmax(0, 1.3fr);
    gap: 32px;
    padding-bottom: 36px;
    align-items: start;
}
.footer-professional .footer-col { min-width: 0; opacity: 1; animation: none; }
.footer-professional .footer-brand p {
    color: var(--footer-muted) !important;
    max-width: 290px;
    margin: 0 0 16px;
    font-size: .92rem;
}
.footer-professional .footer-browse {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    color: var(--footer-text) !important;
    text-decoration: none;
    font-size: .9rem;
    font-weight: 700;
    min-height: 40px;
}
.footer-professional .footer-social-icons { gap: 8px; margin-top: 18px; }
.footer-professional .footer-nav-group summary {
    list-style: none;
    font-size: .9rem;
    font-weight: 750;
    color: var(--footer-text);
    margin: 4px 0 18px;
}
.footer-professional summary::-webkit-details-marker { display: none; }
.footer-professional summary span { display: none; }
.footer-professional .footer-links li { margin-bottom: 10px; }
.footer-professional .footer-links a {
    color: var(--footer-muted) !important;
    line-height: 1.5;
    font-size: .88rem;
    overflow-wrap: anywhere;
}
.footer-professional .footer-links a:hover { color: #1299a5 !important; }
.footer-professional .newsletter-box {
    margin: 0;
    padding: 24px;
    border: 1px solid var(--footer-line) !important;
    background: var(--footer-panel) !important;
    border-radius: 18px;
}
.footer-professional .footer-eyebrow { color: #1299a5; font-size: .66rem; font-weight: 800; letter-spacing: .12em; }
.footer-professional .newsletter-box .footer-heading {
    color: var(--footer-text) !important;
    font-size: 1.2rem;
    line-height: 1.35;
    margin: 10px 0;
    padding: 0;
}
.footer-professional .footer-heading::after { display: none; }
.footer-professional .footer-news-copy { color: var(--footer-muted); font-size: .86rem; line-height: 1.6; }
.footer-professional .newsletter-form { display: flex; flex-wrap: wrap; gap: 8px; background: transparent; border: 0; overflow: visible; }
.footer-professional .newsletter-form input[type=email] {
    flex: 1 1 150px;
    width: 100%;
    min-width: 0;
    min-height: 44px;
    border: 1px solid var(--footer-line);
    border-radius: 8px;
    padding: 10px 12px;
    font-size: 16px;
}
.footer-professional .newsletter-form button {
    position: static;
    inset: auto;
    transform: none;
    margin: 0;
    flex: 0 0 auto;
    width: auto;
    height: auto;
    min-height: 44px;
    padding: 10px 14px;
    border-radius: 8px;
    border: 0;
    background: #087b87;
    color: #fff;
    font-size: .85rem;
    font-weight: 700;
}
.footer-professional .newsletter-form button:hover {
    transform: none;
    background: #066572;
    box-shadow: 0 3px 10px rgba(8, 123, 135, .2);
}
.footer-professional .footer-request-tool { border-top: 1px solid var(--footer-line); margin-top: 18px; padding-top: 14px; display: flex; flex-wrap: wrap; gap: 6px 12px; font-size: .8rem; color: var(--footer-muted); }
.footer-professional .footer-request-tool button { border: 0; background: transparent; color: var(--footer-text); font: inherit; font-weight: 700; padding: 0; cursor: pointer; }
.footer-professional .footer-bottom { background: transparent; border-top: 1px solid var(--footer-line); padding: 22px 24px; color: var(--footer-muted) !important; font-size: .78rem; }
.footer-professional .footer-policy-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 18px; margin-top: 12px; }
.footer-professional .footer-policy-links a,
.footer-professional .footer-policy-links button { color: var(--footer-muted) !important; background: transparent; border: 0; padding: 4px 0; font: inherit; text-decoration: none; cursor: pointer; }
.footer-professional .footer-policy-links a:hover,
.footer-professional .footer-policy-links button:hover { text-decoration: underline; }
@media (max-width: 1100px) {
    .footer-professional .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .main-footer.footer-professional { padding-top: 30px; }
    .footer-professional .footer-grid { gap: 16px; }
    .footer-professional .footer-brand p { margin-left: auto; margin-right: auto; }
    .footer-professional .footer-nav-group { border-bottom: 1px solid var(--footer-line); }
    .footer-professional .footer-nav-group summary { display: flex; justify-content: space-between; align-items: center; min-height: 48px; margin: 0; cursor: pointer; }
    .footer-professional summary span { display: inline; font-size: 1.2rem; }
    .footer-professional details[open] summary span { transform: rotate(45deg); }
    .footer-professional .footer-links { padding-bottom: 12px; }
    .footer-professional .footer-links a { padding: 5px 0; }
    .footer-professional .newsletter-box { padding: 20px; }
    .footer-professional .footer-bottom { gap: 0; }
}
