/*
 * ROP site palette system.
 * Every palette keeps dark text on light surfaces and white text on dark surfaces.
 * The existing component variables are mapped here so the whole public site changes together.
 */
body[data-site-palette] {
    --ink: var(--palette-text);
    --muted: var(--palette-muted);
    --line: var(--palette-line);
    --paper: var(--palette-surface);
    --soft: var(--palette-soft);
    --charcoal: var(--palette-dark);
    --charcoal-2: var(--palette-dark-2);
    --copper: var(--palette-accent);
    --teal: var(--palette-primary);
    --rop-blue: var(--palette-secondary);
    --rop-blue-dark: var(--palette-secondary-dark);
    --rop-cream: var(--palette-tint);
    --blue: var(--palette-secondary);
    color: var(--palette-text);
    background: var(--palette-bg);
}

body[data-site-palette="rop-classic"] {
    --palette-primary: #0d7772;
    --palette-primary-hover: #095f5b;
    --palette-secondary: #315f86;
    --palette-secondary-dark: #244968;
    --palette-accent: #b93c25;
    --palette-accent-hover: #98301d;
    --palette-dark: #17232d;
    --palette-dark-2: #0f171e;
    --palette-dark-rgb: 23 35 45;
    --palette-text: #172129;
    --palette-muted: #61707a;
    --palette-bg: #f5f8f9;
    --palette-surface: #ffffff;
    --palette-soft: #edf4f5;
    --palette-soft-strong: #e3eeee;
    --palette-tint: #e2f2f0;
    --palette-line: #d8e2e6;
}

body[data-site-palette="ocean"] {
    --palette-primary: #145da0;
    --palette-primary-hover: #0f4c84;
    --palette-secondary: #087e8b;
    --palette-secondary-dark: #075d68;
    --palette-accent: #a94b25;
    --palette-accent-hover: #873a1c;
    --palette-dark: #102a43;
    --palette-dark-2: #091d2f;
    --palette-dark-rgb: 16 42 67;
    --palette-text: #152b3c;
    --palette-muted: #5e7180;
    --palette-bg: #f3f7fa;
    --palette-surface: #ffffff;
    --palette-soft: #eaf2f7;
    --palette-soft-strong: #dce9f1;
    --palette-tint: #e3f0f5;
    --palette-line: #d4e0e8;
}

body[data-site-palette="forest"] {
    --palette-primary: #2f6b4f;
    --palette-primary-hover: #24543e;
    --palette-secondary: #607744;
    --palette-secondary-dark: #475b31;
    --palette-accent: #9a4f28;
    --palette-accent-hover: #793c1e;
    --palette-dark: #18392b;
    --palette-dark-2: #10271d;
    --palette-dark-rgb: 24 57 43;
    --palette-text: #1d2b24;
    --palette-muted: #647168;
    --palette-bg: #f5f8f4;
    --palette-surface: #ffffff;
    --palette-soft: #edf3eb;
    --palette-soft-strong: #e1eadf;
    --palette-tint: #e8f1e4;
    --palette-line: #d9e2d7;
}

body[data-site-palette="plum"] {
    --palette-primary: #713b68;
    --palette-primary-hover: #5a2e52;
    --palette-secondary: #984a6c;
    --palette-secondary-dark: #733650;
    --palette-accent: #9b542b;
    --palette-accent-hover: #7a4020;
    --palette-dark: #38213d;
    --palette-dark-2: #27162b;
    --palette-dark-rgb: 56 33 61;
    --palette-text: #2d2330;
    --palette-muted: #756575;
    --palette-bg: #f8f5f8;
    --palette-surface: #ffffff;
    --palette-soft: #f2ebf1;
    --palette-soft-strong: #eadfe8;
    --palette-tint: #f3e6ef;
    --palette-line: #e4d9e2;
}

body[data-site-palette="graphite"] {
    --palette-primary: #3b556d;
    --palette-primary-hover: #2e4356;
    --palette-secondary: #526f7a;
    --palette-secondary-dark: #3d555e;
    --palette-accent: #925918;
    --palette-accent-hover: #70430f;
    --palette-dark: #1f2933;
    --palette-dark-2: #151c23;
    --palette-dark-rgb: 31 41 51;
    --palette-text: #202a33;
    --palette-muted: #68747e;
    --palette-bg: #f5f7f8;
    --palette-surface: #ffffff;
    --palette-soft: #edf1f3;
    --palette-soft-strong: #e2e8eb;
    --palette-tint: #eef0e7;
    --palette-line: #d9e0e4;
}

/* Shared public-site surfaces */
body[data-site-palette].site-body { background: var(--palette-bg); }
body[data-site-palette] .site-nav { border-color: var(--palette-line); background: color-mix(in srgb, var(--palette-surface) 94%, transparent); box-shadow: 0 12px 34px rgb(var(--palette-dark-rgb) / .08); }
body[data-site-palette] .site-nav::before { background: linear-gradient(90deg, var(--palette-secondary), var(--palette-primary) 55%, var(--palette-accent)); }
body[data-site-palette] .site-nav .nav-link,
body[data-site-palette] .mega-link-column a,
body[data-site-palette] .panel-link { color: var(--palette-text); }
body[data-site-palette] .site-nav .nav-link:hover,
body[data-site-palette] .mega-link-column a:hover { color: var(--palette-primary); }
body[data-site-palette] .mega-menu,
body[data-site-palette] .language-pill,
body[data-site-palette] .btn-light-pro { background: var(--palette-surface); }
body[data-site-palette] .section-eyebrow { color: var(--palette-secondary-dark); border-color: color-mix(in srgb, var(--palette-secondary) 24%, transparent); background: var(--palette-soft); box-shadow: 0 10px 26px rgb(var(--palette-dark-rgb) / .07); }
body[data-site-palette] .btn-primary-pro,
body[data-site-palette] .reference-filter button.is-active { color: #fff; border-color: var(--palette-primary); background: var(--palette-primary); box-shadow: 0 14px 30px color-mix(in srgb, var(--palette-primary) 24%, transparent); }
body[data-site-palette] .btn-primary-pro:hover { color: #fff; border-color: var(--palette-primary-hover); background: var(--palette-primary-hover); }
body[data-site-palette] .btn.demo-pill,
body[data-site-palette] .demo-pill { color: #fff; border-color: var(--palette-accent); background: var(--palette-accent); box-shadow: 0 10px 24px color-mix(in srgb, var(--palette-accent) 28%, transparent); }
body[data-site-palette] .btn.demo-pill:hover,
body[data-site-palette] .demo-pill:hover { color: #fff; border-color: var(--palette-accent-hover); background: var(--palette-accent-hover); }
body[data-site-palette] .nav-action-link i,
body[data-site-palette] .nav-icon-link i,
body[data-site-palette] .language-pill i { color: var(--palette-accent); }
body[data-site-palette] .btn-dark-pro,
body[data-site-palette] .btn-nav { color: #fff; border-color: var(--palette-dark); background: var(--palette-dark); }
body[data-site-palette] .btn-dark-pro:hover,
body[data-site-palette] .btn-nav:hover { color: #fff; border-color: var(--palette-dark-2); background: var(--palette-dark-2); }

body[data-site-palette] .hero-section { color: #fff; background: var(--palette-dark-2); }
body[data-site-palette] .marketing-hero .hero-overlay { background: linear-gradient(90deg, rgb(var(--palette-dark-rgb) / .97) 0%, color-mix(in srgb, var(--palette-secondary-dark) 91%, transparent) 40%, rgb(var(--palette-dark-rgb) / .64) 78%, rgb(var(--palette-dark-rgb) / .23) 100%), linear-gradient(0deg, rgb(var(--palette-dark-rgb) / .5), transparent 42%); }
body[data-site-palette] .hero-kicker,
body[data-site-palette] .hero-gain-link,
body[data-site-palette] .hero-brand-copy small { color: color-mix(in srgb, var(--palette-tint) 82%, #fff); }
body[data-site-palette] .hero-gain-link i { color: var(--palette-accent); }

body[data-site-palette] .section-band,
body[data-site-palette] .proof-section,
body[data-site-palette] .news-band,
body[data-site-palette] .privacy-security-section { background: var(--palette-soft); }
body[data-site-palette] .value-item,
body[data-site-palette] .module-card,
body[data-site-palette] .reference-card,
body[data-site-palette] .news-card,
body[data-site-palette] .integration-detail-card,
body[data-site-palette] .integration-product-card { border-color: var(--palette-line); background-color: var(--palette-surface); }
body[data-site-palette] .reference-chain-badge { color: var(--palette-primary-hover); border-color: color-mix(in srgb, var(--palette-primary) 18%, transparent); background: var(--palette-tint); }
body[data-site-palette] .reference-card-copy strong { color: var(--palette-text); }
body[data-site-palette] .reference-card-copy span { color: var(--palette-primary); }
body[data-site-palette] .reference-card::before { background: radial-gradient(circle, color-mix(in srgb, var(--palette-primary) 14%, transparent), transparent 70%); }

body[data-site-palette] .integration-copy-panel,
body[data-site-palette] .integration-page-hero,
body[data-site-palette] .final-cta,
body[data-site-palette] .why-rop-section { color: #fff; background: linear-gradient(135deg, var(--palette-dark-2), var(--palette-dark) 58%, var(--palette-secondary-dark)); }
body[data-site-palette] .integration-copy-panel p,
body[data-site-palette] .integration-page-hero p,
body[data-site-palette] .final-cta p,
body[data-site-palette] .why-rop-heading > p,
body[data-site-palette] .why-card p { color: rgb(255 255 255 / .72); }
body[data-site-palette] .integration-copy-panel .section-eyebrow,
body[data-site-palette] .integration-page-hero .section-eyebrow,
body[data-site-palette] .final-cta .section-eyebrow,
body[data-site-palette] .why-rop-eyebrow { color: #fff; border-color: rgb(255 255 255 / .2); background: rgb(255 255 255 / .09); }
body[data-site-palette] .integration-group-head i,
body[data-site-palette] .summary-icon { color: #fff; background: var(--palette-primary); }
body[data-site-palette] .integration-product-card strong::before { background: var(--palette-accent); }
body[data-site-palette] .site-footer {
    color: #fff;
    background:
        radial-gradient(circle at 10% 20%, color-mix(in srgb, var(--palette-secondary) 20%, transparent), transparent 30%),
        radial-gradient(circle at 88% 74%, color-mix(in srgb, var(--palette-primary) 18%, transparent), transparent 28%),
        var(--palette-dark-2);
}
body[data-site-palette] .testimonial-showcase-section { color: #fff; background: linear-gradient(135deg, var(--palette-dark-2), var(--palette-dark) 58%, var(--palette-secondary-dark)); }
body[data-site-palette] .testimonial-orb-one { background: var(--palette-primary); }
body[data-site-palette] .testimonial-orb-two { background: var(--palette-secondary); }
body[data-site-palette] .testimonial-showcase-heading .section-eyebrow { color: #fff; border-color: rgb(255 255 255 / .2); background: rgb(255 255 255 / .08); }
body[data-site-palette] .testimonial-person-row > i { color: color-mix(in srgb, var(--palette-primary) 58%, #fff); }
body[data-site-palette] .testimonial-person-photo { border-color: color-mix(in srgb, var(--palette-primary) 62%, #fff); }
body[data-site-palette] .testimonial-card-glow { background: color-mix(in srgb, var(--palette-primary) 24%, transparent); }
body[data-site-palette] .news-band { background: linear-gradient(160deg, var(--palette-bg), var(--palette-soft) 55%, var(--palette-surface)); }
body[data-site-palette] .news-stage-light-one { background: var(--palette-primary); }
body[data-site-palette] .news-stage-light-two { background: var(--palette-secondary); }
body[data-site-palette] .news-showcase-card { border-color: var(--palette-line); background: var(--palette-surface); box-shadow: 0 22px 55px rgb(var(--palette-dark-rgb) / .11); }
body[data-site-palette] .news-showcase-media.is-placeholder { background: radial-gradient(circle at 70% 20%, color-mix(in srgb, var(--palette-primary) 52%, transparent), transparent 34%), linear-gradient(145deg, var(--palette-dark-2), var(--palette-secondary-dark)); }
body[data-site-palette] .news-showcase-copy h3 { color: var(--palette-text); }
body[data-site-palette] .news-showcase-copy p { color: var(--palette-muted); }
body[data-site-palette] .news-showcase-copy time,
body[data-site-palette] .news-read-cue { color: var(--palette-primary); }
body[data-site-palette] input[type="checkbox"],
body[data-site-palette] input[type="radio"] { accent-color: var(--palette-primary); }

/* SEO solution pages */
body[data-site-palette] .landing-nav { border-color: var(--palette-line); background: color-mix(in srgb, var(--palette-surface) 94%, transparent); }
body[data-site-palette] .landing-nav .nav-demo,
body[data-site-palette] .landing-form > button { color: #fff; background: var(--palette-primary); }
body[data-site-palette] .landing-eyebrow { color: var(--palette-primary-hover); border-color: color-mix(in srgb, var(--palette-primary) 24%, transparent); background: var(--palette-tint); }
body[data-site-palette] .primary-action { color: #fff; background: linear-gradient(135deg, var(--palette-primary), var(--palette-secondary-dark)); box-shadow: 0 14px 30px color-mix(in srgb, var(--palette-primary) 24%, transparent); }
body[data-site-palette] .secondary-action,
body[data-site-palette] .landing-form,
body[data-site-palette] .branch-pills a { background: var(--palette-surface); }
body[data-site-palette] .landing-trust span,
body[data-site-palette] .captcha-row,
body[data-site-palette] .demo-section { color: var(--palette-text); background: var(--palette-soft); }
body[data-site-palette] .landing-proof { background: var(--palette-soft); }
body[data-site-palette] .benefit-grid article { background: linear-gradient(145deg, var(--palette-surface), var(--palette-bg)); }
body[data-site-palette] .benefit-grid article > span { color: var(--palette-primary); background: var(--palette-tint); }
body[data-site-palette] .section-heading > span,
body[data-site-palette] .kvkk-row a { color: var(--palette-primary); }
body[data-site-palette] .keyword-section { color: #fff; background: linear-gradient(135deg, var(--palette-dark-2), var(--palette-secondary-dark)); }
body[data-site-palette] .keyword-section a { color: color-mix(in srgb, var(--palette-tint) 82%, #fff); }
body[data-site-palette] .visual-note,
body[data-site-palette] .landing-footer,
body[data-site-palette] .public-cookie-banner { color: #fff; background: rgb(var(--palette-dark-rgb) / .97); }

/* Login and error pages follow the selected public identity without reducing form contrast. */
body[data-site-palette].login-body .login-visual { color: #fff; background: linear-gradient(145deg, var(--palette-dark-2), var(--palette-secondary-dark)); }
body[data-site-palette].login-body .login-card-head span { color: #fff; background: var(--palette-primary); }
body[data-site-palette].theme-404 { color: var(--palette-text); background: var(--palette-soft); }
body[data-site-palette].theme-404 .box { color: var(--palette-text); border-color: var(--palette-line); background: var(--palette-surface); box-shadow: 0 25px 70px rgb(var(--palette-dark-rgb) / .12); }
body[data-site-palette].theme-404 .box > span { color: var(--palette-primary); }
body[data-site-palette].theme-404 .primary { color: #fff; border-color: var(--palette-primary); background: var(--palette-primary); }

@media (prefers-reduced-motion: reduce) {
    body[data-site-palette] *,
    body[data-site-palette] *::before,
    body[data-site-palette] *::after { scroll-behavior: auto; }
}
