/* Shared customer palette. Loaded after page styles, including both LTR and RTL themes. */
:root, [data-bs-theme="light"] {
    --sync-forest: #041c14;
    --sync-primary: #15803d;
    --sync-bright: #4ade80;
    --sync-mint: #dcfce7;
    --sync-ink: #12392a;
    --sync-muted: #527063;
    --sync-line: #d7e9df;
    --bs-primary: #15803d;
    --bs-primary-rgb: 21, 128, 61;
    --bs-link-color: #15803d;
    --bs-link-color-rgb: 21, 128, 61;
    --bs-link-hover-color: #166534;
    --bs-link-hover-color-rgb: 22, 101, 52;
    --bs-focus-ring-color: rgb(21 128 61 / 28%);
    --landing-primary: #15803d;
    --landing-primary-dark: #166534;
    --landing-ink: #12392a;
    --landing-muted: #527063;
    --landing-line: rgb(21 128 61 / 14%);
    --blog-primary: #15803d;
    --blog-primary-dark: #166534;
    --blog-ink: #12392a;
    --blog-muted: #527063;
    --blog-soft: #effaf3;
    --blog-border: #d7e9df;
    --support-primary: #15803d;
    --support-primary-dark: #166534;
    --support-ink: #12392a;
    --support-muted: #527063;
    --support-line: #d7e9df;
}

[data-bs-theme="dark"] {
    --bs-body-bg: #041c14;
    --bs-body-bg-rgb: 4, 28, 20;
    --bs-body-color: #edfdf3;
    --bs-body-color-rgb: 237, 253, 243;
    --bs-emphasis-color: #edfdf3;
    --bs-emphasis-color-rgb: 237, 253, 243;
    --bs-secondary-color: #b4cebf;
    --bs-secondary-bg: #092a1d;
    --bs-tertiary-bg: #123d2a;
    --bs-border-color: #235440;
    --bs-primary: #4ade80;
    --bs-primary-rgb: 74, 222, 128;
    --bs-link-color: #86efac;
    --bs-link-color-rgb: 134, 239, 172;
    --bs-link-hover-color: #bbf7d0;
    --bs-link-hover-color-rgb: 187, 247, 208;
    --landing-ink: #edfdf3;
    --landing-muted: #b4cebf;
    --landing-line: rgb(134 239 172 / 18%);
    --blog-ink: #edfdf3;
    --blog-muted: #b4cebf;
    --blog-primary: #86efac;
    --blog-primary-dark: #bbf7d0;
    --blog-soft: #123d2a;
    --blog-border: #235440;
    --blog-card: #092a1d;
    --support-ink: #edfdf3;
    --support-muted: #b4cebf;
    --support-primary: #86efac;
    --support-primary-dark: #bbf7d0;
    --support-surface: #092a1d;
    --support-soft: #123d2a;
    --support-line: #235440;
    --privacy-ink: #edfdf3;
    --privacy-muted: #b4cebf;
    --privacy-indigo: #86efac;
    --privacy-surface: #041c14;
    color-scheme: dark;
}

html { scroll-padding-top: 6rem; }
.legal-site-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .6rem 1.5rem; padding: 1.25rem; font-size: .78rem; }
.legal-site-footer a { color: #527063; text-decoration: none; }
.legal-site-footer a:hover { color: #15803d; text-decoration: underline; }
[data-bs-theme="dark"] .legal-site-footer a { color: #b4cebf; }
body[data-webapp-entry-url] .legal-site-footer a { color: #b4cebf; }
.blog-footer > .container { flex-wrap: wrap; }
.blog-footer-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .65rem 1.1rem; max-width: 100%; }
.blog-footer-links a { white-space: nowrap; font-size: .85rem; line-height: 1.7; }
.blog-footer p { text-align: center; }
@media (min-width: 768px) {
    .blog-footer-links { flex: 1 1 420px; }
}
a, button, input, select, textarea, summary { -webkit-tap-highlight-color: transparent; }
:where(a, button, input, select, textarea, summary):focus-visible {
    outline: 3px solid #22c55e;
    outline-offset: 4px;
}
::selection { background: #bbf7d0; color: #052e16; }
.btn-primary {
    --bs-btn-bg: #15803d;
    --bs-btn-border-color: #15803d;
    --bs-btn-hover-bg: #166534;
    --bs-btn-hover-border-color: #166534;
    --bs-btn-active-bg: #14532d;
    --bs-btn-active-border-color: #14532d;
    --bs-btn-disabled-bg: #15803d;
    --bs-btn-disabled-border-color: #15803d;
    --bs-btn-focus-shadow-rgb: 34, 197, 94;
}
.btn-outline-primary {
    --bs-btn-color: #15803d;
    --bs-btn-border-color: #15803d;
    --bs-btn-hover-bg: #15803d;
    --bs-btn-hover-border-color: #15803d;
    --bs-btn-active-bg: #166534;
    --bs-btn-active-border-color: #166534;
}
.bg-gradient-primary { background: linear-gradient(145deg, #041c14, #0d4930) !important; }
.bg-primary-soft { background: #dcfce7 !important; }
.main-nav, .blog-header, .blog-footer, .footer-dark {
    background: #041c14 !important;
    border-color: rgb(134 239 172 / 15%);
}
.main-nav.navbar-light { background: #f8fdf9 !important; }
.main-nav.navbar,
.main-nav.navbar.navbar-scrolled {
    --bs-navbar-color: #dcfce7;
    --bs-navbar-hover-color: #86efac;
    --bs-navbar-active-color: #86efac;
    --bs-navbar-brand-color: #dcfce7;
    --bs-navbar-brand-hover-color: #86efac;
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23dcfce7' stroke-linecap='round' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    background: #041c14 !important;
    border-bottom-color: rgb(134 239 172 / 20%);
}
.main-nav.navbar .navbar-collapse {
    background: #041c14 !important;
}
.main-nav.navbar .navbar-nav .nav-link:not(.portal-login-link):not(.portal-signup-link) {
    color: #dcfce7 !important;
}
.main-nav.navbar .navbar-nav .nav-link:is(:hover, :focus-visible, .active, .show):not(.portal-login-link):not(.portal-signup-link) {
    color: #86efac !important;
}
.main-nav.navbar .nav-item > .nav-link::before,
.main-nav.navbar .nav-link::after {
    background-color: #4ade80;
}
.main-nav.navbar .nav-item > .nav-link.dropdown-toggle::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3e%3cpolyline points='112 184 256 328 400 184' fill='none' stroke='%2386efac' stroke-linecap='round' stroke-linejoin='round' stroke-width='48'/%3e%3c/svg%3e") !important;
}
.main-nav.navbar .dropdown-menu {
    --bs-dropdown-bg: #f8fdf9;
    --bs-dropdown-border-color: #d7e9df;
    --bs-dropdown-link-color: #12392a;
    --bs-dropdown-link-hover-color: #166534;
    --bs-dropdown-link-hover-bg: #dcfce7;
    --bs-dropdown-link-active-color: #fff;
    --bs-dropdown-link-active-bg: #15803d;
    --bs-dropdown-header-color: #527063;
}
.main-nav.navbar .dropdown-item { color: #12392a !important; }
.main-nav.navbar .dropdown-item:is(:hover, :focus) { color: #166534 !important; }
.main-nav.navbar .dropdown-item:is(.active, :active) { color: #fff !important; background-color: #15803d; }
.main-nav.navbar .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23dcfce7' stroke-linecap='round' stroke-width='2' d='m7 7 16 16m0-16L7 23'/%3e%3c/svg%3e");
}
.main-nav .main-logo img, .blog-header .main-logo img { width: 148px; height: auto; }
@media (min-width: 992px) {
    :is(.main-nav, .blog-header .navbar) { --bs-navbar-nav-link-padding-x: .6rem; }
    :is(.main-nav, .blog-header) .navbar-collapse { min-width: 0; }
    :is(.main-nav, .blog-header) .navbar-nav { flex-wrap: wrap; justify-content: flex-end; row-gap: .4rem; }
    .blog-header .nav-link { margin-inline: .15rem; }
}
.public-theme-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    padding: 0;
    margin-inline-end: .5rem;
    border: 1px solid rgb(134 239 172 / 35%);
    border-radius: 50%;
    background: rgb(134 239 172 / 8%);
    color: #dcfce7;
    cursor: pointer;
}
.public-theme-toggle:hover { background: rgb(134 239 172 / 20%); color: #bbf7d0; }
.public-theme-toggle svg { width: 20px; height: 20px; }
.public-theme-toggle .theme-light-icon { display: none; }
[data-bs-theme="dark"] .public-theme-toggle .theme-dark-icon { display: none; }
[data-bs-theme="dark"] .public-theme-toggle .theme-light-icon { display: block; }
.main-nav :is(.portal-login-link, .portal-signup-link, .btn-warning),
.blog-header :is(.portal-login-link, .portal-signup-link, .btn-warning) {
    background: #bbf7d0;
    border-color: #bbf7d0;
    color: #052e16;
    box-shadow: 0 8px 24px rgb(34 197 94 / 12%);
}
.main-nav :is(.portal-login-link, .portal-signup-link, .btn-warning):hover,
.blog-header :is(.portal-login-link, .portal-signup-link, .btn-warning):hover { background: #86efac; color: #052e16; }

#hero {
    background: radial-gradient(ellipse at 85% 15%, rgb(34 197 94 / 14%), transparent 42%),
        radial-gradient(ellipse at 10% 90%, rgb(34 197 94 / 11%), transparent 45%),
        linear-gradient(145deg, #03150f, #082e20 62%, #041c14) !important;
}
#hero > .overlay { background: linear-gradient(110deg, rgb(3 21 15 / 30%), transparent) !important; }
.landing-hero-title { line-height: 1.13; letter-spacing: -.04em; }
.landing-hero-title .text-warning {
    background-image: linear-gradient(110deg, #4ade80, #bbf7d0);
}
.landing-hero-kicker .badge { background: #4ade80 !important; color: #052e16; }
.landing-hero-plans-link { background: rgb(134 239 172 / 6%); border-color: rgb(134 239 172 / 24%); }
.landing-hero-offer { border-color: rgb(134 239 172 / 25%); background: linear-gradient(145deg, rgb(134 239 172 / 10%), rgb(4 28 20 / 50%)); }
.landing-hero-discount { background: linear-gradient(135deg, #4ade80, #22c55e); color: #052e16; }
.landing-hero-cta { color: #052e16; background: linear-gradient(135deg, #ecfdf5, #bbf7d0); }
.landing-hero-cta:hover, .landing-hero-cta:focus-visible { color: #052e16; box-shadow: 0 20px 48px rgb(0 0 0 / 25%), 0 0 0 4px rgb(74 222 128 / 20%); }
.landing-hero-cta > svg { color: #166534; }
.landing-hero-cta-price { background: linear-gradient(135deg, #052e16, #0c452c); }
.landing-hero-visual::before { background: linear-gradient(145deg, rgb(74 222 128 / 10%), transparent); border-color: rgb(134 239 172 / 16%); }
#demo .btn-warning { background: #bbf7d0; color: #052e16; box-shadow: 0 10px 24px rgb(21 128 61 / 12%); }
#qr-code { background: linear-gradient(145deg, #041c14, #0d4930) !important; }
#qr-code .showcase-text { background: radial-gradient(circle at 15% 25%, rgb(74 222 128 / 16%), transparent 24rem); }
.landing-plans-section { --plans-ink: #12392a; --plans-muted: #527063; --plans-line: rgb(21 128 61 / 16%); }
.landing-plan-card { border-radius: 1.5rem; box-shadow: 0 16px 44px rgb(4 28 20 / 7%); }
.landing-plan-card.is-popular { border-color: #22c55e; box-shadow: 0 20px 55px rgb(21 128 61 / 14%); }
.landing-plan-buy { background: linear-gradient(135deg, #15803d, #166534); }
.landing-plus-badge { display: inline-flex; align-items: center; margin-block: .4rem; padding: .35rem .7rem; border-radius: 999px; background: #dcfce7; color: #166534; font-size: .75rem; font-weight: 700; }

.blog-body { background: #f8fcf9; }
.blog-hero, .support-hero {
    background: radial-gradient(ellipse at 80% 10%, rgb(74 222 128 / 16%), transparent 45%), linear-gradient(145deg, #041c14, #0d4930) !important;
}
.privacy-hero { background: radial-gradient(ellipse at 80% 10%, rgb(74 222 128 / 16%), transparent 45%), linear-gradient(145deg, #041c14, #0d4930); }
.hero-eyebrow, .support-hero-eyebrow { color: #bbf7d0; }
.blog-card, .support-category-card, .support-contact-card { box-shadow: 0 12px 34px rgb(4 28 20 / 6%); }
.blog-card { overflow: hidden; border-radius: 1.25rem; }
.blog-card img { aspect-ratio: 16 / 10; object-fit: cover; }
.article-content { overflow-wrap: anywhere; line-height: 1.85; }
.article-content img { max-width: 100%; height: auto; border-radius: 1rem; }
.support-search button { background: #15803d; }
.support-search { box-shadow: 0 18px 50px rgb(0 0 0 / 18%); }
.support-category-card.accent-violet, .support-subhero.accent-violet { --accent: #15803d; --accent-soft: #dcfce7; }
.support-contact { background: linear-gradient(145deg, #ecfdf5, #f8fcf9); border-color: #d7e9df; }
.vpn-dedicated-addresses { display: grid; gap: .5rem; margin: 1rem 0; padding: 1rem; background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 1rem; }
.vpn-dedicated-addresses div { display: grid; grid-template-columns: auto 1fr; gap: .75rem; }
.vpn-dedicated-addresses small { color: #527063; }
.vpn-dedicated-addresses code { color: #166534; text-align: end; overflow-wrap: anywhere; }

[data-bs-theme="dark"] .landing-plans-section { --plans-ink: #edfdf3; --plans-muted: #b4cebf; --plans-surface: #092a1d; background: #041c14; }
[data-bs-theme="dark"] .landing-plus-badge { background: #14532d; color: #bbf7d0; }
[data-bs-theme="dark"] #demo, [data-bs-theme="dark"] #features { background: #041c14 !important; }
[data-bs-theme="dark"] #demo > .container, [data-bs-theme="dark"] #features .row > [class*="col-md-"] > .p-4 { background: #092a1d !important; }
[data-bs-theme="dark"] #partner-brand, [data-bs-theme="dark"] #performance { background: #062319 !important; }
[data-bs-theme="dark"] .blog-body { background: #041c14; color: #edfdf3; }
[data-bs-theme="dark"] :is(.category-strip, .blog-search, .empty-blog, .support-search, .support-quick-grid > a, .support-result-list > a, .support-empty, .support-contact-card, .support-article-list, .support-article-shell, .privacy-summary-card, .privacy-article, .refund-policy-card, .refund-policy-card li) {
    background: #092a1d;
    border-color: #235440;
}
[data-bs-theme="dark"] :is(.article-hero, .related-section, .support-contact, .support-subhero, .support-article-hero, .about-location) { background: #062319; border-color: #235440; }
[data-bs-theme="dark"] :is(.category-chip span, .category-chip.active span, .featured-badge, .support-contact-icon, .support-channel-label, .privacy-point-icon, .privacy-updated) { background: #123d2a; color: #bbf7d0; }
[data-bs-theme="dark"] :is(.article-content, .article-content blockquote, .refund-policy-card p, .refund-policy-card li span) { color: #b4cebf; }
[data-bs-theme="dark"] :is(.support-category-card, .support-subhero) { --accent: #86efac; --accent-soft: #123d2a; }
[data-bs-theme="dark"] .support-subhero-title .support-category-icon { background: #123d2a; }
[data-bs-theme="dark"] .article-content th { background: #123d2a; border-color: #235440; }
[data-bs-theme="dark"] .article-content tbody tr:nth-child(even) td { background: #062319; }
[data-bs-theme="dark"] .article-content tbody tr:hover td { background: #123d2a; }
[data-bs-theme="dark"] .support-article-tags a { border-color: #235440; }
[data-bs-theme="dark"] .support-article-tags a:hover { background: #235440; }
[data-bs-theme="dark"] .blog-search button { background: #15803d; }
[data-bs-theme="dark"] .privacy-contact { background: linear-gradient(125deg, #14532d, #188345); }
[data-bs-theme="dark"] .privacy-contact-button { background: #dcfce7; color: #12392a; }
[data-bs-theme="dark"] .privacy-prose strong { color: #edfdf3; }
[data-bs-theme="dark"] :is(.support-contact-links a, .support-contact-links > span, .support-chat-status, .about-map) { background: #123d2a; color: #bbf7d0; }
[data-bs-theme="dark"] .support-contact-links a:hover { background: #235440; border-color: #4ade80; }
[data-bs-theme="dark"] :is(.support-contact-links small, .about-contact-list dt) { color: #b4cebf; }

@media (max-width: 575.98px) {
    .main-nav .main-logo img, .blog-header .main-logo img { width: 130px; }
    .landing-hero-title { font-size: clamp(2.35rem, 10vw, 3.4rem) !important; }
    .landing-hero-offer { border-radius: 1.5rem; padding: 1.1rem; }
    .landing-hero-cta { min-height: 4rem; justify-content: space-between; }
    .landing-hero-trust { gap: .65rem; }
    .blog-hero h1 { font-size: clamp(2rem, 9vw, 3rem); }
    .support-search button { padding-inline: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .landing-hero-visual::before { animation: none; }
    .landing-plan-card, .landing-hero-cta, .blog-card, .support-category-card { transition: none; }
}

/* Plus includes a dedicated public IP; distinguish it independently of popularity. */
.landing-plan-card.is-plus,.portal-plan-card.is-plus{border:2px solid #36a762;box-shadow:0 16px 42px rgb(21 128 61 / 13%);background:linear-gradient(160deg,#effff5 0%,#fff 55%)}
.landing-plan-card.is-plus .landing-plus-badge,.portal-plan-card.is-plus .landing-plus-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .8rem;border:1px solid #b5e9c6;border-radius:999px;background:#dcfce7;color:#166534;font-weight:700;font-size:.8rem}
.dedicated-plan-note{font-size:.8rem;color:#527063;line-height:1.7}
[data-bs-theme="dark"] :is(.landing-plan-card.is-plus,.portal-plan-card.is-plus){background:linear-gradient(150deg,#123d2a,#092a1d);border-color:#4ade80}
[data-bs-theme="dark"] :is(.dedicated-intro,.dedicated-dashboard-callout,.dedicated-account,.dedicated-subscription-meta,.dedicated-setup){background:#092a1d;border-color:#235440;color:#edfdf3}
[data-bs-theme="dark"] :is(.dedicated-intro p,.dedicated-dashboard-callout p,.dedicated-subscription-meta dt,.dedicated-account-heading span,.dedicated-connection-note,.dedicated-setup-hint,.dedicated-address-display small,.dedicated-address-display span,.dedicated-plan-note){color:#b4cebf}
[data-bs-theme="dark"] :is(.dedicated-address-display code,.dedicated-setup summary,.dedicated-dashboard-callout a,.dedicated-renew){color:#bbf7d0}
[data-bs-theme="dark"] .dedicated-form-grid select{background:#062319;border-color:#235440;color:#edfdf3}
