/* Bloom Outer Wrap presentation presets and operator colour overrides. */

.bloom-site-header {
  --bow-header-bg: rgba(255, 253, 248, .92);
  --bow-header-text: var(--b-copy-main, var(--b-color-text, #1f2923));
  --bow-header-muted: var(--b-copy-muted, var(--b-color-muted, #6b746d));
  --bow-header-accent: var(--b-brand-main, var(--b-color-primary, #526b57));
  --bow-header-accent-alt: var(--b-brand-alt, var(--b-color-secondary, #73917a));
  --bow-header-link-hover: var(--bow-header-accent);
  --bow-header-border: rgba(229, 222, 210, .78);
  --bow-header-cta-bg: linear-gradient(135deg, var(--bow-header-accent), var(--bow-header-accent-alt));
  --bow-header-cta-text: #fffdf8;
  --bow-header-dropdown-bg: rgba(255, 253, 248, .97);
  --bow-header-mobile-bg: linear-gradient(180deg, rgba(255, 253, 248, .99), rgba(248, 244, 237, .99));
  --bow-header-overlay-text: #fff;
  --bow-header-toggle-bg: #fffdf8;
  --bow-header-toggle-line: var(--bow-header-accent);
  --bow-header-toggle-border: color-mix(in srgb, var(--bow-header-accent) 28%, transparent);
  --bow-header-toggle-hover-bg: var(--bow-header-accent);
  --bow-header-toggle-hover-line: #fff;
  --bow-header-toggle-focus: var(--bow-header-accent-alt);
  --nn-charcoal: var(--bow-header-text);
  --nn-muted: var(--bow-header-muted);
  --nn-deep-sage: var(--bow-header-link-hover);
  --nn-sage: var(--bow-header-accent-alt);
  --nn-warm-white: var(--bow-header-cta-text);
  background: var(--bow-header-bg);
  border-bottom-color: var(--bow-header-border);
}

.bloom-site-header[data-bloom-preset="light"] {
  --bow-header-bg: rgba(255, 255, 255, .94);
  --bow-header-text: #151b2b;
  --bow-header-muted: #667085;
  --bow-header-accent: #4f46e5;
  --bow-header-accent-alt: #06b6d4;
  --bow-header-link-hover: #4f46e5;
  --bow-header-border: rgba(15, 23, 42, .10);
  --bow-header-dropdown-bg: rgba(255, 255, 255, .98);
  --bow-header-mobile-bg: linear-gradient(180deg, #fff, #f7f8fc);
  --bow-header-toggle-bg: #151b2b;
  --bow-header-toggle-line: #fff;
  --bow-header-toggle-border: rgba(15, 23, 42, .22);
}

.bloom-site-header[data-bloom-preset="dark"] {
  --bow-header-bg: rgba(17, 24, 39, .94);
  --bow-header-text: #f8fafc;
  --bow-header-muted: #cbd5e1;
  --bow-header-accent: #818cf8;
  --bow-header-accent-alt: #22d3ee;
  --bow-header-link-hover: #a5b4fc;
  --bow-header-border: rgba(248, 250, 252, .14);
  --bow-header-dropdown-bg: rgba(15, 23, 42, .98);
  --bow-header-mobile-bg: linear-gradient(180deg, #111827, #0f172a);
  --bow-header-cta-text: #fff;
  --bow-header-toggle-bg: #f8fafc;
  --bow-header-toggle-line: var(--bow-header-accent);
  --bow-header-toggle-border: rgba(248, 250, 252, .32);
}

.bloom-site-header[data-bloom-preset="solid_neutral"] {
  --bow-header-bg: #f1f0ec;
  --bow-header-text: #23231f;
  --bow-header-muted: #68685f;
  --bow-header-accent: #44443f;
  --bow-header-accent-alt: #6d6d66;
  --bow-header-link-hover: #11110f;
  --bow-header-border: #d7d5cd;
  --bow-header-dropdown-bg: #f7f6f2;
  --bow-header-mobile-bg: #f1f0ec;
  --bow-header-toggle-bg: #fff;
  --bow-header-toggle-line: #44443f;
  --bow-header-toggle-border: rgba(68, 68, 63, .22);
}

.bloom-site-header[data-bloom-preset="inherit"],
.bloom-site-header[data-bloom-preset="custom"] {
  --bow-header-bg: var(--b-ui-panel, rgba(255, 255, 255, .92));
  --bow-header-text: var(--b-copy-main, #151b2b);
  --bow-header-muted: var(--b-copy-muted, #667085);
  --bow-header-accent: var(--b-brand-main, #4f46e5);
  --bow-header-accent-alt: var(--b-brand-alt, #06b6d4);
  --bow-header-link-hover: var(--b-brand-main, #4f46e5);
  --bow-header-border: var(--b-ui-border, rgba(15, 23, 42, .10));
  --bow-header-dropdown-bg: var(--b-ui-panel, #fff);
  --bow-header-mobile-bg: var(--b-ui-bg, #f8fafc);
  --bow-header-toggle-bg: var(--b-ui-panel, #fff);
  --bow-header-toggle-line: var(--bow-header-accent);
  --bow-header-toggle-border: color-mix(in srgb, var(--bow-header-accent) 28%, transparent);
}

.bloom-site-header .bloom-site-brand,
.bloom-site-header .bloom-site-brand__text strong,
.bloom-site-header .bloom-site-nav__link {
  color: var(--bow-header-text);
}

/* Keep the mobile toggle foreground independent from generic header text. */
.bloom-site-header .bloom-site-nav__toggle {
  color: var(--bow-header-toggle-line, var(--bow-header-accent));
}

.bloom-site-header .bloom-site-brand__text small {
  color: var(--bow-header-muted);
}

.bloom-site-header .bloom-site-nav__link:hover,
.bloom-site-header .bloom-site-nav__link:focus-visible,
.bloom-site-header .bloom-site-nav__item.is-open > .bloom-site-nav__link,
.bloom-site-header .current-menu-item > .bloom-site-nav__link,
.bloom-site-header .current-menu-ancestor > .bloom-site-nav__link,
.bloom-site-header .current-menu-parent > .bloom-site-nav__link,
.bloom-site-header .bloom-site-dropdown__link:hover,
.bloom-site-header .bloom-site-dropdown__link:focus-visible,
.bloom-site-header .bloom-site-dropdown__link--button:hover,
.bloom-site-header .bloom-site-dropdown__link--button:focus-visible,
.bloom-site-header .bloom-site-sub-dropdown a:hover,
.bloom-site-header .bloom-site-sub-dropdown a:focus-visible {
  color: var(--bow-header-link-hover);
}

.bloom-site-header .bloom-site-dropdown {
  background: var(--bow-header-dropdown-bg);
  border-color: var(--bow-header-border);
}

.bloom-site-header .bloom-site-dropdown__link,
.bloom-site-header .bloom-site-dropdown__link--button,
.bloom-site-header .bloom-site-sub-dropdown a {
  color: color-mix(in srgb, var(--bow-header-text) 76%, transparent);
}

.bloom-site-header .bloom-site-nav__list > li.is-menu-cta > .bloom-site-nav__link,
.bloom-site-header .bloom-site-nav__list > li.is-menu-cta > a,
.bloom-site-header .bloom-site-nav__list > li.is-menu-cta > button {
  background: var(--bow-header-cta-bg);
  color: var(--bow-header-cta-text) !important;
  border-color: var(--bow-header-border);
}

.bloom-site-header.is-overlay {
  position: absolute;
  inset: var(--bow-admin-offset) 0 auto 0;
  background: transparent;
  border-bottom-color: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.bloom-site-header.is-overlay-scroll {
  position: fixed;
  transition: background-color .24s ease, border-color .24s ease, box-shadow .24s ease, backdrop-filter .24s ease;
}

.bloom-site-header.is-overlay:not(.is-scrolled) {
  --nn-charcoal: var(--bow-header-overlay-text);
  --nn-muted: color-mix(in srgb, var(--bow-header-overlay-text) 72%, transparent);
  --nn-deep-sage: var(--bow-header-overlay-text);
  --bow-header-text: var(--bow-header-overlay-text);
  --bow-header-muted: color-mix(in srgb, var(--bow-header-overlay-text) 72%, transparent);
  --bow-header-link-hover: var(--bow-header-overlay-text);
}

.bloom-site-header.is-overlay-scroll.is-scrolled {
  position: fixed;
  background: var(--bow-header-bg);
  border-bottom-color: var(--bow-header-border);
  box-shadow: 0 10px 40px rgba(31, 41, 35, .10);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.bloom-site-footer {
  --bow-footer-link-hover: var(--bow-footer-text);
  --bow-footer-cta-bg: color-mix(in srgb, var(--bow-footer-text) 10%, transparent);
  --bow-footer-cta-text: var(--bow-footer-text);
}

.bloom-site-footer[data-bloom-preset="saas_gradient"] {
  --bow-footer-bg: var(--b-shell-footer-bg, var(--b-color-secondary, #111827));
  --bow-footer-text: var(--b-shell-footer-text, #f8fafc);
  --bow-footer-muted: var(--b-shell-footer-muted, #cbd5e1);
  --bow-footer-line: color-mix(in srgb, var(--bow-footer-text) 15%, transparent);
  --bow-footer-accent: var(--b-brand-main, var(--b-color-primary, #6366f1));
  --bow-footer-accent-alt: var(--b-brand-accent, var(--b-color-accent, #06b6d4));
  background:
    radial-gradient(circle at 12% 18%, color-mix(in srgb, var(--bow-footer-accent) 20%, transparent), transparent 30rem),
    radial-gradient(circle at 88% 8%, color-mix(in srgb, var(--bow-footer-accent-alt) 16%, transparent), transparent 32rem),
    var(--bow-footer-bg);
}

.bloom-site-footer[data-bloom-preset="solid_dark"] {
  --bow-footer-bg: #111827;
  --bow-footer-text: #f8fafc;
  --bow-footer-muted: #cbd5e1;
  --bow-footer-line: rgba(248, 250, 252, .14);
  --bow-footer-accent: #818cf8;
  --bow-footer-accent-alt: #22d3ee;
  background: var(--bow-footer-bg);
}

.bloom-site-footer[data-bloom-preset="soft_black"] {
  --bow-footer-bg: #171717;
  --bow-footer-text: #f5f5f4;
  --bow-footer-muted: #b9b9b4;
  --bow-footer-line: rgba(255, 255, 255, .12);
  --bow-footer-accent: #d4d4d0;
  --bow-footer-accent-alt: #a3a39e;
  background: var(--bow-footer-bg);
}

.bloom-site-footer[data-bloom-preset="light"] {
  --bow-footer-bg: #f8fafc;
  --bow-footer-text: #111827;
  --bow-footer-muted: #475569;
  --bow-footer-line: #dbe1ea;
  --bow-footer-accent: #4f46e5;
  --bow-footer-accent-alt: #0891b2;
  background: var(--bow-footer-bg);
}

.bloom-site-footer[data-bloom-preset="neutral"] {
  --bow-footer-bg: #eceae4;
  --bow-footer-text: #282822;
  --bow-footer-muted: #65645b;
  --bow-footer-line: #cfccc2;
  --bow-footer-accent: #525149;
  --bow-footer-accent-alt: #7b796f;
  background: var(--bow-footer-bg);
}

.bloom-site-footer[data-bloom-preset="inherit"],
.bloom-site-footer[data-bloom-preset="custom"] {
  --bow-footer-bg: var(--b-ui-bg, #f8fafc);
  --bow-footer-text: var(--b-copy-main, #111827);
  --bow-footer-muted: var(--b-copy-muted, #475569);
  --bow-footer-line: var(--b-ui-border, #dbe1ea);
  --bow-footer-accent: var(--b-brand-main, #4f46e5);
  --bow-footer-accent-alt: var(--b-brand-accent, #0891b2);
  background: var(--bow-footer-bg);
}

.bloom-site-footer .bloom-site-footer__cta {
  background: var(--bow-footer-cta-bg);
  color: var(--bow-footer-cta-text);
}

.bloom-site-footer .bloom-site-footer__menu a,
.bloom-site-footer .bloom-site-footer__social a,
.bloom-site-footer .bloom-site-footer__contact a,
.bloom-site-footer .bloom-site-footer__legal a,
.bloom-site-footer .bloom-site-footer__legal button {
  text-decoration: none;
}

.bloom-site-footer[data-bloom-link-treatment="hover"] .bloom-site-footer__menu a:hover,
.bloom-site-footer[data-bloom-link-treatment="hover"] .bloom-site-footer__social a:hover,
.bloom-site-footer[data-bloom-link-treatment="hover"] .bloom-site-footer__contact a:hover,
.bloom-site-footer[data-bloom-link-treatment="hover"] .bloom-site-footer__legal a:hover,
.bloom-site-footer[data-bloom-link-treatment="hover"] .bloom-site-footer__legal button:hover,
.bloom-site-footer[data-bloom-link-treatment="hover"] a:focus-visible,
.bloom-site-footer[data-bloom-link-treatment="hover"] button:focus-visible,
.bloom-site-footer[data-bloom-link-treatment="always"] .bloom-site-footer__menu a,
.bloom-site-footer[data-bloom-link-treatment="always"] .bloom-site-footer__social a,
.bloom-site-footer[data-bloom-link-treatment="always"] .bloom-site-footer__contact a,
.bloom-site-footer[data-bloom-link-treatment="always"] .bloom-site-footer__legal a,
.bloom-site-footer[data-bloom-link-treatment="always"] .bloom-site-footer__legal button {
  text-decoration: underline;
  text-underline-offset: .18em;
}

.bloom-site-footer .bloom-site-footer__menu a:hover,
.bloom-site-footer .bloom-site-footer__menu a:focus-visible,
.bloom-site-footer .bloom-site-footer__social a:hover,
.bloom-site-footer .bloom-site-footer__social a:focus-visible,
.bloom-site-footer .bloom-site-footer__contact a:hover,
.bloom-site-footer .bloom-site-footer__contact a:focus-visible,
.bloom-site-footer .bloom-site-footer__legal a:hover,
.bloom-site-footer .bloom-site-footer__legal a:focus-visible,
.bloom-site-footer .bloom-site-footer__legal button:hover,
.bloom-site-footer .bloom-site-footer__legal button:focus-visible {
  color: var(--bow-footer-link-hover);
}

@media (max-width: 992px) {
  .bloom-site-header .bloom-site-nav__panel {
    background: var(--bow-header-mobile-bg);
  }
  .bloom-site-header.is-overlay:not(.is-scrolled) .bloom-site-nav__panel {
    --nn-charcoal: var(--bow-header-text);
    --nn-muted: var(--bow-header-muted);
    color: var(--bow-header-text);
  }
}

@media (prefers-reduced-motion: reduce) {
  .bloom-site-header.is-overlay-scroll { transition: none; }
}
