/**
 * Jemasen full color rebrand — design only, no content changes.
 *
 * Research basis:
 * - Logo palette (navy, purple, teal, pink, green, gold sun)
 * - Competitors: warm multi-tone care sites (Bloom, Main Street) — not clinical single-teal
 * - Accessibility: WCAG AA contrast on body text and CTAs (Benetech, Coforma)
 *
 * REPLACES legacy Hostinger colors:
 *   #247E79 teal  → logo purple/navy system
 *   #FDFBD4 yellow → warm cream / lavender / mint
 *   #0074CC blue   → logo purple
 *   #20BD40 green  → logo green #52B788
 */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

.jem-rebrand {
  /* ── Logo-derived brand tokens ── */
  --jem-navy: #1b3a5c;
  --jem-navy-deep: #142c45;
  --jem-purple: #7b4b94;
  --jem-purple-soft: #9b6bb0;
  --jem-teal: #2da89b;
  --jem-teal-soft: #3ebfb0;
  --jem-pink: #d9568a;
  --jem-green: #52b788;
  --jem-green-soft: #6ecf9e;
  --jem-gold: #c9956b;
  --jem-sun: #f4c542;
  --jem-sun-dark: #d4a82e;
  --jem-cream: #fff9f2;
  --jem-lavender: #f5eff8;
  --jem-mint: #edf7f4;
  --jem-sky: #f0f9ff;
  --jem-surface: #ffffff;
  --jem-muted: #4a5c6e;
  --jem-border: #e4e9ef;
  --jem-font: 'Plus Jakarta Sans', system-ui, sans-serif;
  --jem-display: 'Fraunces', Georgia, serif;
  --jem-radius: 1rem;
  --jem-radius-lg: 1.25rem;
  --jem-shadow: 0 8px 32px rgb(27 58 92 / 7%);
  --jem-shadow-hover: 0 16px 44px rgb(123 75 148 / 14%);
  --jem-gradient-brand: linear-gradient(135deg, var(--jem-purple) 0%, var(--jem-navy) 100%);
  --jem-gradient-warm: linear-gradient(135deg, var(--jem-sun) 0%, var(--jem-gold) 100%);
  --jem-gradient-life: linear-gradient(135deg, var(--jem-teal-soft) 0%, var(--jem-green) 55%, var(--jem-sun) 100%);

  /* Override Elementor kit globals (old WP palette) */
  --e-global-color-primary: var(--jem-navy);
  --e-global-color-secondary: var(--jem-navy);
  --e-global-color-text: var(--jem-muted);
  --e-global-color-accent: var(--jem-purple);
  --e-global-color-a728aa7: var(--jem-purple);
  --e-global-color-5a31348: var(--jem-navy);
  --e-global-color-418fc0d: var(--jem-muted);
  --e-global-color-9f58354: var(--jem-green);
  --e-global-color-08dfad5: var(--jem-green);
  --e-global-color-3bee666: var(--jem-green);
  --e-global-color-7518dff: var(--jem-navy);
  --e-global-color-92f78c1: var(--jem-navy);
  --e-global-color-79c592f: var(--jem-cream);
  --e-global-color-df67fd6: var(--jem-mint);
  --e-global-color-ff9cfd0: var(--jem-lavender);
  --e-global-typography-primary-font-family: var(--jem-font);
  --e-global-typography-text-font-family: var(--jem-font);
}

.jem-rebrand html {
  scroll-behavior: smooth;
}

.jem-rebrand body {
  font-family: var(--jem-font) !important;
  color: var(--jem-navy) !important;
  background: var(--jem-cream) !important;
  -webkit-font-smoothing: antialiased;
}

/* ═══ TYPOGRAPHY ═══ */

.jem-rebrand .elementor-heading-title,
.jem-rebrand h1,
.jem-rebrand h2,
.jem-rebrand h3,
.jem-rebrand h4,
.jem-rebrand h5 {
  font-family: var(--jem-font) !important;
  letter-spacing: -0.02em;
  color: var(--jem-navy) !important;
}

.jem-rebrand .site-main h2.elementor-heading-title {
  color: var(--jem-purple) !important;
}

.jem-rebrand .elementor-slide-heading,
.jem-rebrand .elementor-widget-heading h1.elementor-heading-title {
  font-family: var(--jem-display) !important;
}

.jem-rebrand .elementor-widget-text-editor,
.jem-rebrand .elementor-image-box-description,
.jem-rebrand .elementor-icon-box-description,
.jem-rebrand .testimonial_description span {
  font-family: var(--jem-font) !important;
  line-height: 1.7 !important;
  color: var(--jem-muted) !important;
}

.jem-rebrand .elementor-widget-text-editor p {
  font-size: 1.05rem;
}

/* ═══ HEADER — purple/navy bar (NOT old teal) ═══ */

.jem-rebrand .elementor-location-header .elementor-element-bbb5052:not(.elementor-motion-effects-element-type-background),
.jem-rebrand .elementor-location-header .elementor-element-bbb5052 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background: var(--jem-gradient-brand) !important;
}

.jem-rebrand .elementor-location-header .elementor-element-7abae939 {
  background: var(--jem-surface) !important;
  box-shadow: 0 2px 20px rgb(123 75 148 / 8%);
  border-bottom: 3px solid var(--jem-lavender) !important;
}

.jem-rebrand .elementor-location-header .elementor-icon-list-text,
.jem-rebrand .elementor-location-header .elementor-icon-list-icon svg {
  color: rgb(255 255 255 / 94%) !important;
  fill: rgb(255 255 255 / 94%) !important;
}

.jem-rebrand .elementor-location-header .rkit-nav-link {
  font-family: var(--jem-font) !important;
  font-weight: 600 !important;
  color: var(--jem-navy) !important;
}

.jem-rebrand .elementor-location-header .rkit-menu-active > .rkit-nav-link,
.jem-rebrand .elementor-location-header .rkit-nav-link:hover {
  color: var(--jem-purple) !important;
}

.jem-rebrand .elementor-location-header .rkit-submenu-item {
  background: var(--jem-navy) !important;
}

.jem-rebrand .elementor-location-header .rkit-submenu-item:hover {
  background: var(--jem-purple) !important;
}

.jem-rebrand .elementor-location-header .rkit-btn-hamburger {
  background: var(--jem-purple) !important;
  color: #fff !important;
}

.jem-rebrand .elementor-location-header .elementor-button {
  background: var(--jem-gradient-warm) !important;
  color: var(--jem-navy) !important;
  border: none !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 16px rgb(244 197 66 / 40%);
}

/* ═══ HERO — logo canopy colors (purple + navy + warmth) ═══ */

.jem-rebrand .elementor-slides .elementor-background-overlay {
  background: linear-gradient(
    115deg,
    rgb(27 58 92 / 78%) 0%,
    rgb(123 75 148 / 55%) 45%,
    rgb(45 168 155 / 35%) 100%
  ) !important;
  opacity: 1 !important;
}

.jem-rebrand .elementor-slide-heading {
  font-family: var(--jem-display) !important;
  font-size: clamp(1.85rem, 4.5vw, 3rem) !important;
  line-height: 1.12 !important;
  color: #fff !important;
}

.jem-rebrand .elementor-slide-description {
  color: rgb(255 255 255 / 93%) !important;
}

.jem-rebrand .elementor-slide-button {
  background: var(--jem-gradient-warm) !important;
  color: var(--jem-navy) !important;
  border: none !important;
  border-radius: 9999px !important;
  font-weight: 700 !important;
  box-shadow: 0 6px 24px rgb(244 197 66 / 45%);
}

.jem-rebrand .elementor-slide-button:hover {
  background: #fff !important;
  color: var(--jem-purple) !important;
}

.jem-rebrand .swiper-pagination-bullet-active {
  background: var(--jem-sun) !important;
}

/* ═══ LEGACY COLOR PURGE — site-wide ═══ */

.jem-rebrand .site-main .elementor-top-section:nth-of-type(odd):not([data-settings*="stretch"]) {
  background-color: var(--jem-cream) !important;
}

.jem-rebrand .site-main .elementor-top-section:nth-of-type(even):not([data-settings*="stretch"]) {
  background-color: var(--jem-lavender) !important;
}

.jem-rebrand .elementor-833 .elementor-element-4d75692,
.jem-rebrand .elementor-833 .elementor-element-e09f593,
.jem-rebrand .elementor-833 .elementor-element-4544ca1,
.jem-rebrand .elementor-833 .elementor-element-aac4bf6 > .elementor-widget-wrap {
  background: var(--jem-lavender) !important;
}

.jem-rebrand .jem-bg-brand.jem-shared-cta,
.jem-rebrand .jem-bg-brand.jem-final-cta,
.jem-rebrand .jem-band-brand.jem-shared-cta,
.jem-rebrand .jem-band-brand.jem-layout-cta {
  background: var(--jem-gradient-brand) !important;
}

.jem-rebrand .jem-bg-brand .elementor-heading-title,
.jem-rebrand .jem-bg-brand .elementor-widget-text-editor,
.jem-rebrand .jem-bg-brand p {
  color: rgb(255 255 255 / 92%) !important;
}

.jem-rebrand .jem-bg-warm {
  background: var(--jem-mint) !important;
}

.jem-rebrand .jem-text-purple {
  color: var(--jem-purple) !important;
  fill: var(--jem-purple) !important;
}

.jem-rebrand .elementor-833 .elementor-element-f477e5c,
.jem-rebrand .elementor-833 .elementor-element-82b0ac8,
.jem-rebrand .elementor-833 .elementor-element-893c600,
.jem-rebrand .elementor-833 .elementor-element-fd565bc,
.jem-rebrand .elementor-833 .elementor-element-e73ee3b > .elementor-widget-container,
.jem-rebrand .elementor-833 .elementor-element-1097dcb,
.jem-rebrand .elementor-833 .elementor-element-920d9f7,
.jem-rebrand .elementor-833 .elementor-element-20acc95,
.jem-rebrand .elementor-833 .elementor-element-c07e0e9 {
  background: var(--jem-mint) !important;
}

.jem-rebrand .elementor-833 .elementor-element-4d75692 .elementor-heading-title,
.jem-rebrand .elementor-833 .elementor-element-e09f593 .elementor-heading-title,
.jem-rebrand .elementor-833 .elementor-element-aac4bf6 .elementor-heading-title,
.jem-rebrand .elementor-833 .elementor-element-eb6e8ec .elementor-heading-title,
.jem-rebrand .elementor-833 .elementor-element-ede537a .elementor-heading-title,
.jem-rebrand .elementor-833 .elementor-element-4803f32 .elementor-heading-title {
  color: rgb(255 255 255 / 92%) !important;
}

/* Inner pages: purge old teal from icons, borders, headings */
.jem-rebrand .site-main .elementor-view-stacked .elementor-icon {
  background: var(--jem-purple) !important;
  color: #fff !important;
  fill: #fff !important;
}

.jem-rebrand .site-main .elementor-view-default .elementor-icon,
.jem-rebrand .site-main .elementor-view-framed .elementor-icon {
  color: var(--jem-purple) !important;
  fill: var(--jem-purple) !important;
  border-color: var(--jem-purple) !important;
}

.jem-rebrand .site-main .elementor-icon-list-icon svg,
.jem-rebrand .site-main .elementor-icon-list-icon i {
  color: var(--jem-purple) !important;
  fill: var(--jem-purple) !important;
}

/* Old teal text headings on homepage */
.jem-rebrand .elementor-833 .elementor-element-c16540d .elementor-heading-title,
.jem-rebrand .elementor-833 .elementor-element-0ff9c7d .elementor-heading-title,
.jem-rebrand .elementor-833 .elementor-element-299f021 .elementor-heading-title {
  color: var(--jem-purple) !important;
}

/* ═══ SERVICE CARDS — logo rainbow accents ═══ */

.jem-rebrand .site-main .elementor-column > .elementor-widget-wrap.elementor-element-populated {
  border-radius: var(--jem-radius-lg);
}

.jem-rebrand .elementor-833 [class*="elementor-element-5a65fe9"] > .elementor-element-populated,
.jem-rebrand .elementor-833 [class*="elementor-element-91299da"] > .elementor-element-populated,
.jem-rebrand .elementor-833 [class*="elementor-element-b7a08bf"] > .elementor-element-populated,
.jem-rebrand .elementor-833 [class*="elementor-element-1d74a11"] > .elementor-element-populated,
.jem-rebrand .elementor-833 [class*="elementor-element-090f9e0"] > .elementor-element-populated,
.jem-rebrand .elementor-833 [class*="elementor-element-1feef83"] > .elementor-element-populated,
.jem-rebrand .elementor-833 [class*="elementor-element-0016b83"] > .elementor-element-populated,
.jem-rebrand .elementor-833 [class*="elementor-element-bb97b0c"] > .elementor-element-populated {
  background: var(--jem-surface) !important;
  border: 1px solid var(--jem-border) !important;
  border-top: 4px solid var(--jem-purple) !important;
  border-radius: var(--jem-radius-lg) !important;
  box-shadow: var(--jem-shadow) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.jem-rebrand .elementor-833 .elementor-element-91299da > .elementor-element-populated { border-top-color: var(--jem-teal) !important; }
.jem-rebrand .elementor-833 .elementor-element-b7a08bf > .elementor-element-populated { border-top-color: var(--jem-pink) !important; }
.jem-rebrand .elementor-833 .elementor-element-1d74a11 > .elementor-element-populated { border-top-color: var(--jem-green) !important; }
.jem-rebrand .elementor-833 .elementor-element-090f9e0 > .elementor-element-populated { border-top-color: var(--jem-sun) !important; }
.jem-rebrand .elementor-833 .elementor-element-1feef83 > .elementor-element-populated { border-top-color: var(--jem-gold) !important; }

.jem-rebrand .elementor-833 [class*="elementor-element-5a65fe9"]:hover > .elementor-element-populated,
.jem-rebrand .elementor-833 [class*="elementor-element-91299da"]:hover > .elementor-element-populated,
.jem-rebrand .elementor-833 [class*="elementor-element-b7a08bf"]:hover > .elementor-element-populated,
.jem-rebrand .elementor-833 [class*="elementor-element-1d74a11"]:hover > .elementor-element-populated,
.jem-rebrand .elementor-833 [class*="elementor-element-090f9e0"]:hover > .elementor-element-populated,
.jem-rebrand .elementor-833 [class*="elementor-element-1feef83"]:hover > .elementor-element-populated,
.jem-rebrand .elementor-833 [class*="elementor-element-0016b83"]:hover > .elementor-element-populated,
.jem-rebrand .elementor-833 [class*="elementor-element-bb97b0c"]:hover > .elementor-element-populated {
  transform: translateY(-4px);
  box-shadow: var(--jem-shadow-hover) !important;
}

.jem-rebrand .elementor-image-box-title {
  color: var(--jem-purple) !important;
  font-weight: 700 !important;
}

/* ═══ BUTTONS — purple/navy default; gold sun reserved for primary CTAs only ═══ */

.jem-rebrand .elementor-button:not(.rkit-btn-hamburger),
.jem-rebrand .elementor-button-link {
  font-family: var(--jem-font) !important;
  font-weight: 700 !important;
  border-radius: 9999px !important;
  background: var(--jem-gradient-brand) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: 0 4px 18px rgb(27 58 92 / 25%) !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.jem-rebrand .elementor-button:not(.rkit-btn-hamburger):hover {
  transform: translateY(-2px);
}

/* Primary CTAs only (tagged by visitor-workflow.js) — the one place gold appears */
.jem-rebrand .jem-hero-cta.elementor-button,
.jem-rebrand .jem-header-cta.elementor-button {
  background: var(--jem-gradient-warm) !important;
  color: var(--jem-navy) !important;
  box-shadow: 0 4px 18px rgb(244 197 66 / 35%) !important;
}

.jem-rebrand .jem-hero-cta.elementor-button:hover,
.jem-rebrand .jem-header-cta.elementor-button:hover {
  background: linear-gradient(135deg, var(--jem-sun-dark), var(--jem-gold)) !important;
}

/* Text/link buttons inside service cards */
.jem-rebrand .elementor-833 .elementor-widget-button .elementor-button-link {
  background: transparent !important;
  box-shadow: none !important;
  color: var(--jem-purple) !important;
  padding: 0 !important;
}

.jem-rebrand .elementor-833 .elementor-widget-button .elementor-button-link:hover {
  color: var(--jem-teal) !important;
}

/* ═══ MEDIA ═══ */

.jem-rebrand .elementor-widget-image img,
.jem-rebrand .elementor-video,
.jem-rebrand .e-hosted-video {
  border-radius: var(--jem-radius-lg) !important;
}

.jem-rebrand .elementor-widget-video .elementor-wrapper {
  border-radius: var(--jem-radius-lg);
  box-shadow: var(--jem-shadow);
  overflow: hidden;
}

/* ═══ TESTIMONIALS ═══ */

.jem-rebrand .rkit-testimonial-card .testimonial_body {
  background: var(--jem-surface) !important;
  border: 1px solid var(--jem-border) !important;
  border-left: 4px solid var(--jem-pink) !important;
  border-radius: var(--jem-radius-lg) !important;
  box-shadow: var(--jem-shadow) !important;
}

.jem-rebrand .jem-testimonials-section .rkit-testimonial-card .testimonial_body {
  background: transparent !important;
  border: none !important;
  border-left: none !important;
  box-shadow: none !important;
}

.jem-rebrand .testimonial-author strong {
  color: var(--jem-purple) !important;
}

.jem-rebrand .rkit-testimonial-navigation {
  background: var(--jem-purple) !important;
}

.jem-rebrand .rkit-testimonial-navigation:hover {
  background: var(--jem-teal) !important;
}

.jem-rebrand .rkit-pagination-bullet-active {
  background: var(--jem-purple) !important;
}

.jem-rebrand .elementor-833 .elementor-element-a82978b .rkit-testimonial-card .testimonial_body {
  background: transparent !important;
}

/* ═══ FOOTER — navy anchor (logo text color) ═══ */

.jem-rebrand .elementor-location-footer .elementor-element-1a569ceb,
.jem-rebrand .elementor-location-footer .elementor-section {
  background: linear-gradient(180deg, var(--jem-navy) 0%, var(--jem-navy-deep) 100%) !important;
}

.jem-rebrand .elementor-location-footer,
.jem-rebrand .elementor-location-footer p,
.jem-rebrand .elementor-location-footer .elementor-icon-list-text,
.jem-rebrand .elementor-location-footer .elementor-heading-title {
  color: rgb(255 255 255 / 88%) !important;
}

.jem-rebrand .elementor-location-footer a:hover {
  color: var(--jem-sun) !important;
}

.jem-rebrand .elementor-location-footer .elementor-divider-separator {
  border-color: rgb(255 255 255 / 14%) !important;
}

/* ═══ MISC ═══ */

.jem-rebrand .elementor-shape-fill {
  fill: var(--jem-lavender) !important;
}

.jem-rebrand .elementor-tab-title.elementor-active {
  color: var(--jem-purple) !important;
}

.jem-rebrand .elementor-icon-box-title span {
  font-family: var(--jem-display) !important;
  color: var(--jem-sun-dark) !important;
}

.jem-rebrand .elementor-833 .elementor-element-c4901b2 > .elementor-element-populated,
.jem-rebrand .elementor-833 .elementor-element-54f7882 > .elementor-element-populated {
  background: var(--jem-surface) !important;
  border: 2px solid var(--jem-lavender) !important;
  box-shadow: var(--jem-shadow);
}

.jem-rebrand .elementor-833 .elementor-element-f69a045 > .elementor-widget-container,
.jem-rebrand .elementor-833 .elementor-element-c0b0298 > .elementor-widget-container {
  background: var(--jem-surface) !important;
  border: 1px solid var(--jem-border) !important;
  border-radius: var(--jem-radius);
  box-shadow: var(--jem-shadow);
}

/* Inner page hero overlays — warmer purple tint instead of flat black */
.jem-rebrand .site-main .elementor-background-overlay {
  background: linear-gradient(
    135deg,
    rgb(27 58 92 / 65%) 0%,
    rgb(123 75 148 / 50%) 100%
  ) !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

@media (max-width: 768px) {
  .jem-rebrand .elementor-slide-heading {
    font-size: 1.65rem !important;
  }
}
