/**
 * Cătălina și Copiii — Brand Override
 * Loaded AFTER assets/css/style.css. Wins via cascade.
 * Reference: docs/brand/MANUAL-DE-BRAND.md
 */

/* === Disable broken preloader === */
/* Kinco ships a preload overlay that's supposed to hide on window.load,
 * but main.js doesn't actually wire up the hide. Result: page stuck on
 * a bouncing favicon forever. Just disable it. */
#preload, .preload { display: none !important; }
body.preloading { overflow: visible !important; }

/* === Force WOW.js animated elements visible === */
/* The theme uses .wow .fadeIn etc. expecting WOW.js to flip visibility
 * to visible on scroll-in. WOW.js isn't loading/initializing properly,
 * so elements stay invisibility:hidden forever. Force them visible. */
.wow,
.fadeIn, .fadeInUp, .fadeInDown, .fadeInLeft, .fadeInRight,
.animated,
[class*="wow "],
[data-wow-delay], [data-wow-duration] {
  visibility: visible !important;
  opacity: 1 !important;
  animation-name: none !important;
}

/* === Google Fonts === */
@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=DM+Sans:wght@400;500;600;700&display=swap');

/* === Color tokens === */
:root {
  --primary-color1: #FBFAF7;   /* Vanilie (was: #fff) */
  --primary-color2: #1F3A5F;   /* Bleumarin (was: #2b3c6b) */
  --primary-color3: #FF7B6B;   /* Coral (was: #ff6666) */
  --primary-color4: #5a6378;   /* Gri text (was: #70747f) */
  --primary-color5: #FFC857;   /* Galben miere — psihologie clinică (was: #b250fe purple) */
  --primary-color6: #5BB8E8;   /* Bleu cer — logopedie (was: #1ab9ff) */
  --primary-color7: #FBFAF7;   /* Vanilie alt (was: #fcf9f4) */
  --primary-color8: #FFC857;   /* Galben miere alt (was: #e6a72a) */
  --primary-color9: #FFC857;   /* Galben miere alt (was: #fab319) */

  /* Brand-specific tokens (for new components in later phases) */
  --brand-cream: #FBFAF7;
  --brand-navy: #1F3A5F;
  --brand-coral: #FF7B6B;
  --brand-sky: #5BB8E8;
  --brand-honey: #FFC857;
  --brand-text: #3a4254;
  --brand-text-muted: #5a6378;
  --brand-line: #e6e0d6;

  /* Service colors */
  --service-psihologie: #FFC857;
  --service-logopedie: #5BB8E8;
  --service-psihopedagogie: #FF7B6B;
}

/* === Typography reset === */

/* All Salsa display headings → DM Serif Display */
body, p, span, div, li, a, button, input, textarea, select, label {
  font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
}

h1, h2, h3, h4, h5, h6,
.title, .heading, .tf-title, .tf-heading,
[class*="title-"], [class*="heading-"] {
  font-family: 'DM Serif Display', Georgia, serif;
  font-weight: 400;
  color: var(--brand-navy);
}

/* H3 and below switch to sans bold per brand manual */
h3, h4, h5, h6 {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-weight: 700;
}

/* Catch theme classes that hardcoded Salsa */
.font-salsa, [class*="salsa"], .title-salsa {
  font-family: 'DM Serif Display', Georgia, serif !important;
  font-weight: 400 !important;
}

/* Catch theme classes that hardcoded Rubik/Mulish */
.font-rubik, .font-mulish, [class*="rubik"], [class*="mulish"] {
  font-family: 'DM Sans', system-ui, sans-serif !important;
}

/* === Background overrides === */
body {
  background-color: var(--brand-cream);
  color: var(--brand-text);
}

/* === Button accent — coral CTA per brand manual === */
.tf-button, .btn-primary, button.primary, .cta, .submit {
  background-color: var(--brand-coral) !important;
  color: #fff !important;
  border-color: var(--brand-coral) !important;
}

.tf-button:hover, .btn-primary:hover {
  background-color: #ff6754 !important;  /* coral darkened 8% */
  border-color: #ff6754 !important;
}

/* ============================================================
 * Romanian text overflow fixes
 *
 * Romanian copy is ~20-30% longer than English on average.
 * The Kinco theme has many fixed-width / no-wrap containers
 * that need to be loosened so our text doesn't clip or overflow.
 * ============================================================ */

/* Allow long words (e.g., "psihopedagogie") to wrap on small spaces */
h1, h2, h3, h4, h5, h6,
.title, .heading,
[class*="title-"], [class*="heading-"],
.name-author,
.sub, .sub-heading,
.wrap, .copy-right,
.list-link a, .list-news .title,
.btn-rm .inner, .fl-btn .inner {
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: auto;
}

/* ============================================================
 * Hero — full-width illustration as background + text overlay on left
 *
 * Illustration was generated with empty space on the left (2/3 of frame).
 * We set it as background-image on the section and lay text content
 * on top with padding-top to clear the absolute-positioned header.
 * ============================================================ */

.tf-slider-1 {
  position: relative !important;
  background-image:
    linear-gradient(to right, rgba(251, 250, 247, 0.96) 0%, rgba(251, 250, 247, 0.85) 28%, rgba(251, 250, 247, 0.55) 42%, rgba(251, 250, 247, 0) 55%),
    url('../brand/illustrations/hero-homepage.png');
  background-size: cover, cover;
  background-position: center, right center;
  background-repeat: no-repeat, no-repeat;
  background-color: var(--brand-cream);
}

/* Hide the embedded img — we use it as background instead */
.tf-slider-1 .box-feature {
  display: none !important;
}

.tf-slider-1 .item-slider-1 {
  min-height: 82vh;
  padding: 120px 24px 80px 7vw !important;
  position: relative;
  z-index: 2;
  display: flex !important;
  align-items: center !important;
}

.tf-slider-1 .box-content {
  max-width: 720px;
  position: relative;
  z-index: 2;
}

/* Hide Kinco-era hand-drawn arrow SVG next to "din creșterea copilului tău" */
.tf-slider-1 .box-content .box-custom svg {
  display: none !important;
}

/* More breathing room for hero stack */
.tf-slider-1 .box-content > div + div,
.tf-slider-1 .box-content > div + ul,
.tf-slider-1 .box-content > ul + div,
.tf-slider-1 .box-content > div + .box-btn {
  margin-top: 20px;
}

.tf-slider-1 .box-content ul {
  margin-bottom: 32px !important;
  gap: 10px 22px !important;
}

.tf-slider-1 .box-content .box-btn .fl-btn {
  padding: 12px 28px !important;
  height: auto !important;
  min-height: 48px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

/* Hide Font Awesome arrow icons that overflow buttons in hero */
.tf-slider-1 .box-content .box-btn .fl-btn .inner::before,
.tf-slider-1 .box-content .box-btn .fl-btn .inner::after {
  display: none !important;
  content: none !important;
}

/* On mobile, switch to text-only with smaller background visible */
@media (max-width: 991px) {
  .tf-slider-1 {
    background-position: center bottom;
    background-size: contain;
    background-repeat: no-repeat;
  }
  .tf-slider-1 .item-slider-1 {
    min-height: auto;
    padding: 180px 20px 60vw 20px !important;  /* bottom padding makes room for image */
    text-align: center;
  }
  .tf-slider-1 .box-content {
    max-width: none;
    margin: 0 auto;
  }
}

/* Typography for hero text overlay */
.tf-slider-1 .box-content .title,
.tf-slider-1 .box-content .box-custom .wrap {
  font-size: clamp(30px, 3.6vw, 52px) !important;
  line-height: 1.08 !important;
  white-space: normal !important;
  color: var(--brand-navy) !important;
  margin: 0 !important;
}
.tf-slider-1 .box-content .sub {
  white-space: normal !important;
  font-size: 12px !important;
  letter-spacing: 3px !important;
  color: var(--brand-text-muted) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  margin-bottom: 14px;
  display: block;
}
.tf-slider-1 .box-content .box-custom {
  white-space: normal !important;
  flex-wrap: wrap !important;
  margin-bottom: 24px;
}
.tf-slider-1 .box-content .box-custom .wrap {
  color: var(--brand-coral) !important;
}
.tf-slider-1 .box-content ul {
  margin: 0 0 28px 0 !important;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
}
.tf-slider-1 .box-content ul li {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500;
  color: var(--brand-navy);
}
.tf-slider-1 .box-content ul li .fas.fa-check {
  color: var(--brand-coral);
  margin-right: 6px;
}
.tf-slider-1 .box-content .box-btn {
  display: flex !important;
  flex-wrap: wrap;
  gap: 12px;
}

/* "DESPRE / PROCESUL / SERVICII" eyebrow labels */
.title-heading .sub-heading,
.title-heading .inner-sub,
.sub-heading .inner-sub {
  white-space: nowrap;
  font-size: 12px !important;
  letter-spacing: 2px !important;
}

/* H2 main headings — scale relative to viewport */
.tf-section h2.title,
.title-heading h2 {
  font-size: clamp(24px, 3.4vw, 44px) !important;
  line-height: 1.15 !important;
}

/* Service cards (Psihologie/Logopedie/Psihopedagogie) — title room */
.item-courses .box-content .box-wrap h4.title,
.item-courses .box-content .box-wrap .title a {
  font-size: 22px !important;
  line-height: 1.2 !important;
  min-height: auto !important;
}
.item-courses .box-content .box-wrap .sub {
  font-size: 14px !important;
  line-height: 1.55 !important;
}
.item-courses .box-content ul li {
  font-size: 12.5px !important;
  white-space: nowrap;
}

/* Discovery cards (De ce noi) — title doesn't clip */
.sc-discovery-2 .box-content h4.title,
.sc-discovery-2 .box-content .title a {
  font-size: 20px !important;
  line-height: 1.25 !important;
}
.sc-discovery-2 .box-content .wrap {
  font-size: 14px !important;
  line-height: 1.55 !important;
}
.sc-discovery-2 .box-content .fl-btn .inner {
  font-size: 12px !important;
}

/* Process cards (Cum lucrăm — 4 steps) */
.sc-services-2 .box-content h4.title,
.sc-services-2 .box-content .title a {
  font-size: 18px !important;
  line-height: 1.25 !important;
}
.sc-services-2 .box-content .sub {
  font-size: 13px !important;
  line-height: 1.5 !important;
}

/* Counter section — Romanian labels are longer */
.sc-fun-fact p,
.sc-fun-fact .clr-pri-1 {
  font-size: 14px !important;
  white-space: normal !important;
  line-height: 1.3 !important;
}

/* Testimonials — let role line wrap if needed */
.item-fb .heading .name-author {
  font-size: 17px !important;
}
.item-fb .heading ul li p {
  white-space: normal !important;
  font-size: 13px !important;
}
.item-fb .wrap p {
  font-size: 15px !important;
  line-height: 1.55 !important;
}

/* Blog teaser cards (Articole utile) */
.sc-artice .title-article-post,
.sc-artice .title-article-post a {
  font-size: 18px !important;
  line-height: 1.25 !important;
}
.sc-artice .wrap {
  font-size: 14px !important;
  line-height: 1.55 !important;
}

/* Newsletter heading — "Primește articole utile, direct în inbox" is long */
.tf-subcribe-2 .title {
  font-size: clamp(20px, 2.8vw, 36px) !important;
  line-height: 1.2 !important;
}
.tf-subcribe-2 .sub {
  font-size: 14px !important;
  line-height: 1.55 !important;
}
.tf-subcribe-2 input[type="email"] {
  font-size: 14px !important;
}

/* Footer widgets — Romanian labels wrap */
.widget-footer .title-widget {
  font-size: 16px !important;
}
.widget-footer .list-link a,
.widget-footer .list-news .title a,
.widget-footer .list-contact li {
  font-size: 14px !important;
  white-space: normal !important;
  line-height: 1.5 !important;
}

/* Footer contact rows — fix icon/text overlap on wrap (theme has line-height:1.8px typo + icon absolute) */
.widget-logo .list-contact ul {
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
.widget-logo .list-contact ul li {
  position: static !important;
  padding-left: 0 !important;
  margin-bottom: 16px !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
}
.widget-logo .list-contact ul li > span,
.widget-logo .list-contact ul li > a {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  flex: 1 !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: #FBFAF7 !important;
}
.widget-logo .list-contact ul li i {
  position: static !important;
  transform: none !important;
  flex-shrink: 0 !important;
  width: 18px !important;
  display: inline-flex !important;
  justify-content: center !important;
  margin-top: 3px !important;
  color: var(--brand-coral) !important;
  font-size: 14px !important;
}

/* Buttons — "Programează o evaluare" is long, give it room */
.fl-btn,
.fl-btn .inner {
  white-space: normal !important;
  text-align: center;
}
.tf-slider-1 .fl-btn .inner,
.tf-register .fl-btn .inner {
  font-size: 13px !important;
  letter-spacing: 0.5px !important;
}

/* Top bar — "Cabinet / Adresă de completat" and "Programări / 0758..." */
.inner-contact ul li {
  font-size: 13px !important;
  white-space: nowrap;
}
.inner-contact ul li:first-child {
  font-size: 11px !important;
  letter-spacing: 1px;
}

/* Main nav — Romanian items might wrap on smaller screens */
.mainnav .menu > li > a {
  font-size: 14px !important;
  white-space: nowrap;
  padding: 0 14px !important;
}
.mainnav .sub-menu li a {
  font-size: 13px !important;
  white-space: normal !important;
  line-height: 1.4 !important;
}

/* CTA / Register section — "Hai să facem primul pas împreună" */
.tf-register .title {
  font-size: clamp(24px, 3vw, 40px) !important;
  line-height: 1.2 !important;
}
.tf-register input[type="text"],
.tf-register input[type="email"] {
  font-size: 14px !important;
}

/* Sidebar overlay menu — quote widget + categories */
#sidebar2 .widget-quote .author,
#sidebar2 .widget-news .title a,
#sidebar2 .widget-category li .wd-ctm,
#sidebar2 .widget-tag a {
  font-size: 13px !important;
  white-space: normal !important;
  line-height: 1.4 !important;
}

/* Ensure all sections have safe horizontal padding on small viewports */
@media (max-width: 768px) {
  .tf-section .container,
  .tf-subcribe-2 .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .tf-slider-1 .box-content {
    padding: 24px !important;
  }
}

/* ============================================================
 * Hardcoded color overrides
 *
 * The Kinco theme has #b250fe (purple) and other accent colors
 * baked directly into shortcodes.css / style.css (not via CSS
 * variables). We override them globally here.
 * ============================================================ */

/* Backgrounds that were purple → coral (CTA) or honey (accent) */
[style*="background-color: #b250fe"],
[style*="background:#b250fe"],
[style*="background: #b250fe"] {
  background-color: var(--brand-coral) !important;
  background: var(--brand-coral) !important;
}

/* Override style.css's `.cls-1 { fill: #b250fe !important; }` for hamburger menu */
.cls-1,
.menu-bar-right .cls-1,
.btn-menu .cls-1,
svg .cls-1 {
  fill: #FF7B6B !important;
}

/* === "Programează o evaluare" button — coral pill CTA on inner pages === */
.tf-sc-about3 .fl-btn.st-3,
.tf-sc-about3 .fl-btn.st-11,
.sc-about-2 .fl-btn.st-3,
.sc-about-2 .fl-btn.st-11,
.sc-about-content .fl-btn.st-11,
.sc-about-content .fl-btn.st-3,
.tf-sc-about3 .box-btn .fl-btn,
.sc-about-content .fl-btn,
.sc-about-2 .box-btn .fl-btn,
.service-detail-intro .fl-btn.st-11,
.service-cta-card .fl-btn.st-11 {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background-color: var(--brand-coral) !important;
  color: #fff !important;
  border-radius: 24px !important;
  padding: 14px 32px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  letter-spacing: 0.5px;
  text-decoration: none;
  width: auto !important;
  min-height: 48px;
  height: auto !important;
  text-transform: none !important;
  border: none !important;
}
.tf-sc-about3 .fl-btn.st-3:hover,
.tf-sc-about3 .fl-btn.st-11:hover,
.sc-about-2 .fl-btn.st-3:hover,
.sc-about-2 .fl-btn.st-11:hover,
.service-detail-intro .fl-btn.st-11:hover,
.service-cta-card .fl-btn.st-11:hover {
  background-color: #ff6754 !important;
  color: #fff !important;
}
.tf-sc-about3 .fl-btn .inner,
.sc-about-2 .fl-btn .inner,
.sc-about-content .fl-btn .inner,
.service-detail-intro .fl-btn .inner,
.service-cta-card .fl-btn .inner {
  text-transform: none !important;
  color: #fff !important;
  white-space: nowrap;
}
.tf-sc-about3 .fl-btn .inner::before,
.tf-sc-about3 .fl-btn .inner::after,
.sc-about-2 .fl-btn .inner::before,
.sc-about-2 .fl-btn .inner::after,
.sc-about-content .fl-btn .inner::before,
.sc-about-content .fl-btn .inner::after,
.service-detail-intro .fl-btn .inner::before,
.service-detail-intro .fl-btn .inner::after,
.service-cta-card .fl-btn .inner::before,
.service-cta-card .fl-btn .inner::after {
  display: none !important;
  content: none !important;
}

/* === Fix logo overlap with menu on inner pages (about, contact, etc.) === */
/* The inner pages have a different header layout with logo+menu in same row,
 * causing the brand logo (which is wider than original Kinco logo) to overlap. */
#site-header .site-header-inner #site-logo .logo,
#site-header .site-header-inner #site-logo {
  flex-shrink: 0 !important;
  max-width: 280px !important;
}
#site-header .site-header-inner #site-logo .logo img,
.header_main #site-logo .logo img,
#site-logo .logo img {
  max-width: 280px !important;
  height: auto !important;
  display: block !important;
}
#site-header .site-header-inner .nav-wrap {
  margin-left: 32px !important;
}
@media (max-width: 991px) {
  #site-header .site-header-inner #site-logo .logo img,
  #site-logo .logo img {
    max-width: 220px !important;
  }
}

/* Targeted overrides for known purple patterns in shortcodes.css */
.tf-section .item-courses .box-feature::before,
.tf-section .box-feature .overlay,
.slider-fb .item-fb::before,
.list-news .feature::before,
.title-heading .sub-heading .inner-sub::before,
.title-heading .sub-heading .inner-sub::after,
.menu-bar-right .cls-1,
.btn-menu span,
.btn-menu span::before,
.btn-menu span::after,
.scroll-top,
#scroll-top,
.sc-fun-fact .number-counter,
.fl-feedback .item-fb .box-avt::before,
.box-feature .overlay i,
.list-gallery .overlay {
  background-color: var(--brand-coral) !important;
  color: var(--brand-coral);
}

/* Text that was purple → navy or coral */
.clr-pri-5:not([class*="bg-"]):not([style*="background"]) {
  color: var(--brand-honey);
}

/* Discovery section background image - kill it, use solid cream */
.tf-discovery-2 {
  background-image: none !important;
  background-color: var(--brand-cream) !important;
  background: var(--brand-cream) !important;
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}

/* CTA section register background image - replace with brand color block */
.tf-section.tf-register {
  background-image: none !important;
  background-color: var(--brand-navy) !important;
}
.tf-section.tf-register::before {
  display: none !important;
}
.tf-section.tf-register .feature-register {
  display: none !important;
}
.tf-section.tf-register .title,
.tf-section.tf-register .sub-heading,
.tf-section.tf-register .inner-sub {
  color: var(--brand-cream) !important;
}
.tf-section.tf-register .inner-sub {
  color: var(--brand-honey) !important;
}
.tf-section.tf-register input[type="text"],
.tf-section.tf-register input[type="email"],
.tf-section.tf-register textarea {
  background-color: rgba(251, 250, 247, 0.95) !important;
  color: var(--brand-navy) !important;
  border: 1px solid var(--brand-cream) !important;
}

/* Counter section - kill any purple background */
.tf-counter,
.tf-section.tf-counter {
  background-color: var(--brand-cream) !important;
  position: relative !important;
  overflow: visible !important;
  padding: 60px 0 80px !important;
}
.tf-counter::before,
.tf-counter::after {
  display: none !important;
}

/* Side illustrations (replaces gray fun-fact decorations with Catalina-with-kids art) */
.tf-counter .fun-fact1,
.tf-section.tf-counter .fun-fact1 {
  position: absolute !important;
  left: 2vw !important;
  bottom: -20px !important;
  top: auto !important;
  width: clamp(140px, 16vw, 240px) !important;
  height: auto !important;
  animation: none !important;
  z-index: 1;
}
.tf-counter .fun-fact2,
.tf-section.tf-counter .fun-fact2 {
  position: absolute !important;
  right: 2vw !important;
  bottom: -20px !important;
  top: auto !important;
  width: clamp(140px, 16vw, 240px) !important;
  height: auto !important;
  animation: none !important;
  z-index: 1;
}

/* Counter container padding so labels don't get cut by side illustrations */
.tf-counter .container {
  padding-left: clamp(180px, 20vw, 280px) !important;
  padding-right: clamp(180px, 20vw, 280px) !important;
  position: relative;
  z-index: 2;
}

/* Center counter cards above illustrations on mobile */
@media (max-width: 991px) {
  .tf-counter .fun-fact1,
  .tf-counter .fun-fact2 {
    display: none !important;
  }
  .tf-counter .container {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
}

/* Feedback / testimonials section bg */
.tf-feedback,
.tf-section.tf-feedback {
  background-color: #FFF5F2 !important;  /* very pale coral wash */
  background-image: none !important;
}

/* Service-2 (Cum lucram) section */
.tf-section.tf-service-2 {
  background-color: var(--brand-cream) !important;
}

/* Newsletter subscribe — full redesign */
.tf-subcribe,
.tf-subcribe-2 {
  background-color: var(--brand-honey) !important;
  background-image: none !important;
  padding: 64px 24px !important;
  position: relative;
}
.tf-subcribe::before, .tf-subcribe::after,
.tf-subcribe-2::before, .tf-subcribe-2::after {
  display: none !important;
}
.tf-subcribe .container,
.tf-subcribe-2 .container {
  position: relative;
}
.tf-subcribe .fl-subcribe,
.tf-subcribe-2 .fl-subcribe {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 32px !important;
  align-items: center !important;
  max-width: 1100px;
  margin: 0 auto;
  background: transparent !important;
  padding: 0 !important;
}
.tf-subcribe .subcribe-wp,
.tf-subcribe-2 .subcribe-wp {
  margin: 0 !important;
}
.tf-subcribe .subcribe-wp .title,
.tf-subcribe-2 .subcribe-wp .title {
  color: var(--brand-navy) !important;
  font-family: 'DM Serif Display', Georgia, serif !important;
  font-size: clamp(24px, 2.6vw, 34px) !important;
  line-height: 1.15 !important;
  margin: 0 0 10px 0 !important;
  text-transform: none !important;
}
.tf-subcribe .subcribe-wp .sub,
.tf-subcribe-2 .subcribe-wp .sub {
  color: var(--brand-navy) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  margin: 0 !important;
  opacity: 0.85;
}
.tf-subcribe .subcribe-form,
.tf-subcribe-2 .subcribe-form {
  display: block !important;
  margin: 0 !important;
}
.tf-subcribe .subcribe-form form,
.tf-subcribe-2 .subcribe-form form {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: 10px !important;
  background: #fff !important;
  padding: 8px !important;
  border-radius: 999px !important;
  box-shadow: 0 4px 14px rgba(31, 58, 95, 0.10);
}
.tf-subcribe .subcribe-form input[type="email"],
.tf-subcribe-2 .subcribe-form input[type="email"] {
  background: transparent !important;
  border: none !important;
  outline: none !important;
  padding: 0 18px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  color: var(--brand-navy) !important;
  width: 100% !important;
  min-height: 44px;
}
.tf-subcribe .subcribe-form input[type="email"]::placeholder,
.tf-subcribe-2 .subcribe-form input[type="email"]::placeholder {
  color: var(--brand-text-muted) !important;
}
.tf-subcribe .subcribe-form button.fl-btn,
.tf-subcribe-2 .subcribe-form button.fl-btn,
.tf-subcribe .subcribe-form .fl-btn.st-7,
.tf-subcribe-2 .subcribe-form .fl-btn.st-7 {
  background-color: var(--brand-navy) !important;
  color: var(--brand-cream) !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 0 26px !important;
  height: 44px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 0.5px;
  cursor: pointer;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  text-transform: none !important;
}
.tf-subcribe .subcribe-form button.fl-btn:hover,
.tf-subcribe-2 .subcribe-form button.fl-btn:hover {
  background-color: #15294a !important;
}
.tf-subcribe .subcribe-form .fl-btn .inner::before,
.tf-subcribe .subcribe-form .fl-btn .inner::after,
.tf-subcribe-2 .subcribe-form .fl-btn .inner::before,
.tf-subcribe-2 .subcribe-form .fl-btn .inner::after {
  display: none !important;
  content: none !important;
}

@media (max-width: 768px) {
  .tf-subcribe .fl-subcribe,
  .tf-subcribe-2 .fl-subcribe {
    grid-template-columns: 1fr !important;
    text-align: center;
  }
  .tf-subcribe .subcribe-form form,
  .tf-subcribe-2 .subcribe-form form {
    grid-template-columns: 1fr !important;
    border-radius: 14px !important;
    padding: 12px !important;
  }
  .tf-subcribe .subcribe-form button.fl-btn,
  .tf-subcribe-2 .subcribe-form button.fl-btn {
    border-radius: 10px !important;
  }
}

/* Slider/hero - kill yellow rectangle around partial title */
.tf-slider-1 .box-content .box-custom {
  background: transparent !important;
  background-image: none !important;
  padding: 0 !important;
}
.tf-slider-1 .box-content .box-custom .wrap {
  color: var(--brand-coral) !important;
  background: transparent !important;
  padding: 0 !important;
  display: inline !important;
}
.tf-slider-1 .box-content .box-custom svg {
  display: none !important;  /* arrow pointing at "Kindco" - irrelevant now */
}

/* Discovery cards container - ensure they show */
.tf-discovery-2 .row {
  margin-top: 40px;
}
.tf-discovery-2 .row > [class*="col-"] {
  margin-bottom: 30px;
}
.sc-discovery-2 {
  background: #fff;
  border: 1px solid var(--brand-line);
  border-radius: 16px;
  padding: 28px 20px;
  text-align: center;
  height: 100%;
  box-shadow: 0 4px 16px rgba(31, 58, 95, 0.06);
  transition: transform 0.3s, box-shadow 0.3s;
}
.sc-discovery-2:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(31, 58, 95, 0.12);
}

/* Discovery card icons (theme had purple-tinted SVGs) - tone them down */
.sc-discovery-2 .box-feature {
  background-color: var(--brand-honey);
  border-radius: 50%;
  width: 90px;
  height: 90px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 auto 18px !important;
  overflow: hidden;
}
.sc-discovery-2 .box-feature svg {
  width: 50px !important;
  height: 50px !important;
}
.sc-discovery-2 .box-feature svg image {
  filter: hue-rotate(20deg) saturate(0.7) brightness(0.5);
}

/* Each discovery card alternates icon bg color */
.tf-discovery-2 .row > div:nth-child(2) .sc-discovery-2 .box-feature { background-color: var(--brand-sky); }
.tf-discovery-2 .row > div:nth-child(3) .sc-discovery-2 .box-feature { background-color: var(--brand-coral); }
.tf-discovery-2 .row > div:nth-child(4) .sc-discovery-2 .box-feature { background-color: var(--brand-honey); }
.tf-discovery-2 .row > div:nth-child(5) .sc-discovery-2 .box-feature { background-color: var(--brand-sky); }

/* Process step cards - tone down theme icons */
.sc-services-2 .box-feature {
  background-color: var(--brand-sky);
  border-radius: 12px;
  padding: 18px;
  margin-right: 16px;
  flex-shrink: 0;
}
.sc-services-2 .box-feature svg {
  width: 42px !important;
  height: 42px !important;
}
.sc-services-2 .box-feature svg image {
  filter: brightness(0) invert(1) opacity(0.95);  /* white icons on sky blue */
}

/* Counter icons */
.sc-fun-fact .box-feature {
  margin-bottom: 14px;
}
.sc-fun-fact .box-feature svg image {
  filter: hue-rotate(30deg) saturate(0.8);
}
.sc-fun-fact .number,
.sc-fun-fact .number-counter,
.tf-counter .sc-fun-fact .number-content,
.tf-counter .sc-fun-fact .number-content.clr-pri-1 {
  color: var(--brand-navy) !important;
  font-family: 'DM Serif Display', Georgia, serif;
  font-size: 56px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
}
.tf-counter .sc-fun-fact .box-icon svg image,
.tf-counter .sc-fun-fact .box-icon.style2 svg image {
  filter: brightness(0) invert(1) !important;
}
.tf-counter .sc-fun-fact .box-icon {
  background: rgba(255,255,255,0.18) !important;
  border-radius: 50% !important;
  width: 90px !important;
  height: 90px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px !important;
}
.tf-counter .sc-fun-fact {
  text-align: center;
}

/* Counter labels (was .clr-pri-1 = cream, invisible on cream bg) */
.tf-counter .sc-fun-fact p,
.tf-counter .sc-fun-fact .clr-pri-1 {
  color: var(--brand-navy) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  margin-top: 6px !important;
}

/* === CTA Register section — fix bottom padding + form === */
.tf-section.tf-register {
  padding: 100px 24px 80px !important;
  background-image: none !important;
  background-color: var(--brand-navy) !important;
}
.tf-section.tf-register .feature-register,
.tf-section.tf-register::before,
.tf-section.tf-register::after {
  display: none !important;
}
.tf-section.tf-register .title-heading.st-5 {
  margin-bottom: 32px;
  text-align: center;
}
.tf-section.tf-register .title-heading.st-5 .title {
  text-transform: none !important;
  text-align: center;
}
/* CTA section title styling (overrides text-transform from theme) */
.tf-section.tf-register h2.title {
  text-transform: none !important;
  font-size: clamp(28px, 3.4vw, 44px) !important;
  line-height: 1.15 !important;
  color: var(--brand-cream) !important;
  margin: 0 auto !important;
  max-width: 760px;
}

/* Container around form - kill ALL theme decoration */
.tf-section.tf-register .fl-register,
.tf-section.tf-register .fl-register * {
  text-transform: none !important;
}
.tf-section.tf-register .fl-register {
  background-image: none !important;
  background-color: var(--brand-coral) !important;
  padding: 36px !important;
  border-radius: 16px !important;
  max-width: 760px !important;
  margin: 0 auto !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.15);
  display: grid !important;
}
.tf-section.tf-register .fl-register form {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px !important;
  width: 100% !important;
}
/* Hidden honeypot — take it out of the grid flow */
.tf-section.tf-register .fl-register form > input[name="website"] {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
}
/* All rows full-width inside their grid cell */
.tf-section.tf-register .fl-register .row-form {
  background-image: none !important;
  background-color: rgba(251, 250, 247, 0.97) !important;
  border-radius: 10px !important;
  padding: 14px 18px !important;
  margin: 0 !important;
  border: none !important;
  width: 100% !important;
  display: block !important;
  box-sizing: border-box !important;
}
/* Textarea row + button row span full width */
.tf-section.tf-register .fl-register .row-form:nth-last-child(-n+2) {
  grid-column: 1 / -1 !important;
}
.tf-section.tf-register .fl-register .row-form:last-child {
  background-color: transparent !important;
  padding: 6px 0 0 0 !important;
}

.tf-section.tf-register .fl-register input[type="text"],
.tf-section.tf-register .fl-register input[type="email"],
.tf-section.tf-register .fl-register input[type="tel"],
.tf-section.tf-register .fl-register input[type="number"],
.tf-section.tf-register .fl-register select,
.tf-section.tf-register .fl-register textarea {
  background: transparent !important;
  border: none !important;
  width: 100% !important;
  padding: 0 !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  color: var(--brand-navy) !important;
  outline: none !important;
  text-transform: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  margin: 0 !important;
  min-height: 22px;
  line-height: 1.4 !important;
}
.tf-section.tf-register .fl-register select {
  cursor: pointer;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%231F3A5F' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: right center !important;
  padding-right: 18px !important;
}
.tf-section.tf-register .fl-register textarea {
  min-height: 80px;
  resize: vertical;
}
.tf-section.tf-register .fl-register input::placeholder,
.tf-section.tf-register .fl-register textarea::placeholder,
.tf-section.tf-register .fl-register select option:first-child {
  color: var(--brand-text-muted) !important;
  font-family: 'DM Sans', sans-serif !important;
  text-transform: none !important;
  font-style: normal !important;
}
.tf-section.tf-register .fl-register .row-form svg.icon {
  display: none !important;
}
.tf-section.tf-register .fl-register button,
.tf-section.tf-register .fl-register .fl-btn {
  background-color: var(--brand-navy) !important;
  color: var(--brand-cream) !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 15px 28px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  letter-spacing: 0.5px;
  height: auto !important;
  text-transform: none !important;
}
.tf-section.tf-register .fl-register button .inner,
.tf-section.tf-register .fl-register .fl-btn .inner {
  text-transform: none !important;
}
.tf-section.tf-register .fl-register button:hover {
  background-color: #15294a !important;
}
.tf-section.tf-register .fl-register button .inner::before,
.tf-section.tf-register .fl-register button .inner::after,
.tf-section.tf-register .fl-register .fl-btn .inner::before,
.tf-section.tf-register .fl-register .fl-btn .inner::after {
  display: none !important;
  content: none !important;
}

@media (max-width: 640px) {
  .tf-section.tf-register .fl-register form {
    grid-template-columns: 1fr !important;
  }
  .tf-section.tf-register .fl-register .row-form {
    grid-column: 1 / -1 !important;
  }
}

/* Testimonial avatar fallback styling */
.item-fb .box-avt {
  width: 64px;
  height: 64px;
  overflow: hidden;
  border-radius: 50%;
  background-color: var(--brand-honey);
  display: flex;
  align-items: center;
  justify-content: center;
}
.item-fb .box-avt img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* === Service detail pages === */
.service-detail-intro { padding-top: 80px; padding-bottom: 60px; }
.service-detail-intro .service-intro-text .sub-heading { margin-bottom: 12px; }
.service-detail-intro .service-intro-text .title { font-size: 38px; line-height: 1.15; margin-bottom: 20px; }
.service-detail-intro .service-intro-text .lede { font-size: 18px; line-height: 1.55; color: var(--brand-navy); margin-bottom: 20px; font-weight: 500; }
.service-detail-intro .service-intro-text p { margin-bottom: 16px; font-size: 15px; line-height: 1.7; }
.service-meta-pills { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0; }
.service-pill { display: inline-flex; align-items: center; gap: 8px; background: #FFF3EE; color: var(--brand-navy); padding: 8px 16px; border-radius: 24px; font-family: 'DM Sans', sans-serif; font-size: 13px; font-weight: 600; }
.service-pill i { color: var(--brand-coral); }
.service-cta-btn { margin-top: 12px; }
.service-intro-image { display: flex; align-items: center; justify-content: center; padding: 20px; }
.service-intro-image img { max-width: 100%; height: auto; max-height: 420px; }

.section-h2 { font-family: 'DM Serif Display', Georgia, serif; font-size: 32px; line-height: 1.2; text-align: center; margin-bottom: 40px; }

.service-includes-section { padding: 60px 0; background: #FBFAF7; }
.service-includes-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.service-include-item { background: #fff; padding: 28px 24px; border-radius: 16px; border-left: 4px solid var(--brand-coral); box-shadow: 0 4px 16px rgba(31,58,95,0.06); }
.service-include-title { font-family: 'DM Serif Display', Georgia, serif; font-size: 20px; color: var(--brand-navy); margin: 0 0 10px; line-height: 1.3; }
.service-include-desc { font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 1.65; color: #3a4254; margin: 0; }
@media (max-width: 768px) {
  .service-includes-grid { grid-template-columns: 1fr; }
}

.service-forwho-section { padding: 60px 0; }
.service-forwho-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px 32px; max-width: 1080px; margin-left: auto; margin-right: auto; }
.service-forwho-list li { display: flex; align-items: flex-start; gap: 14px; font-family: 'DM Sans', sans-serif; font-size: 15px; line-height: 1.55; color: var(--brand-navy); }
.service-forwho-list li i { color: var(--brand-coral); background: #FFF3EE; width: 28px; height: 28px; min-width: 28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; margin-top: 2px; }
@media (max-width: 768px) {
  .service-forwho-list { grid-template-columns: 1fr; }
}

.service-process-section { padding: 60px 0; background: #FBFAF7; }
.service-process-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.service-step-card { background: #fff; padding: 36px 28px 32px; border-radius: 16px; text-align: center; box-shadow: 0 4px 20px rgba(31,58,95,0.06); position: relative; }
.service-step-num { width: 56px; height: 56px; border-radius: 50%; background: var(--brand-coral); color: #fff; font-family: 'DM Serif Display', Georgia, serif; font-size: 24px; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 18px; }
.service-step-title { font-family: 'DM Serif Display', Georgia, serif; font-size: 22px; color: var(--brand-navy); margin: 0 0 12px; }
.service-step-desc { font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 1.65; color: #3a4254; margin: 0; }
@media (max-width: 768px) {
  .service-process-grid { grid-template-columns: 1fr; }
}

.service-cta-section { padding: 60px 0 80px; }
.service-cta-card { background: var(--brand-navy); padding: 56px 40px; border-radius: 20px; text-align: center; color: #fff; }
.service-cta-card .cta-title { font-family: 'DM Serif Display', Georgia, serif; font-size: 32px; margin: 0 0 12px; color: #fff; }
.service-cta-card .cta-sub { font-family: 'DM Sans', sans-serif; font-size: 16px; opacity: 0.85; margin: 0 0 28px; color: #fff; }
.service-cta-actions { display: flex; align-items: center; justify-content: center; gap: 24px; flex-wrap: wrap; }
.cta-phone-link { color: #fff; opacity: 0.9; font-family: 'DM Sans', sans-serif; font-size: 14px; text-decoration: none; }
.cta-phone-link strong { color: var(--brand-honey); }
.cta-phone-link:hover { color: #fff; opacity: 1; }

@media (max-width: 768px) {
  .service-detail-intro .service-intro-text .title { font-size: 28px; }
  .service-detail-intro .service-intro-text .lede { font-size: 16px; }
  .section-h2 { font-size: 26px; }
  .service-cta-card { padding: 40px 24px; }
  .service-cta-card .cta-title { font-size: 24px; }
}

/* === Brand CTA bar (replaces theme tf-sc-contact gray strip) === */
.brand-cta-bar { padding: 0 !important; background: transparent !important; }
.brand-cta-wrap {
  padding: 0 clamp(20px, 4vw, 80px);
  max-width: 1640px;
  margin: 0 auto;
}
.brand-cta-inner {
  background: linear-gradient(135deg, var(--brand-navy) 0%, #16294a 100%);
  border-radius: 20px;
  padding: 48px 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
  box-shadow: 0 8px 32px rgba(31,58,95,0.20);
  margin: 24px 0;
  min-height: 140px;
}
.brand-cta-text { flex: 1 1 320px; min-width: 280px; }
.brand-cta-title {
  font-family: 'DM Serif Display', Georgia, serif;
  font-size: 32px;
  line-height: 1.15;
  color: #fff;
  margin: 0 0 10px;
}
.brand-cta-sub {
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  line-height: 1.55;
  color: #FBFAF7;
  opacity: 0.9;
  margin: 0;
}
.brand-cta-actions {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-shrink: 0;
}
.brand-cta-primary {
  background: var(--brand-coral);
  color: #fff !important;
  font-family: 'DM Sans', sans-serif;
  font-weight: 600;
  font-size: 14px;
  padding: 14px 28px;
  border-radius: 24px;
  text-decoration: none !important;
  white-space: nowrap;
  transition: background 0.2s, transform 0.2s;
  display: inline-block;
}
.brand-cta-primary:hover { background: #ff6754; color: #fff !important; transform: translateY(-1px); }
.brand-cta-phone {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #fff !important;
  text-decoration: none !important;
  font-family: 'DM Sans', sans-serif;
  font-weight: 600;
  font-size: 17px;
  white-space: nowrap;
}
.brand-cta-phone:hover { color: var(--brand-honey) !important; }
.brand-cta-phone-icon {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255,255,255,0.22);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 14px;
}

@media (max-width: 768px) {
  .brand-cta-inner { padding: 28px 24px; }
  .brand-cta-title { font-size: 24px; }
  .brand-cta-actions { width: 100%; flex-direction: column; align-items: stretch; gap: 14px; }
  .brand-cta-primary { text-align: center; }
  .brand-cta-phone { justify-content: center; }
}

/* === Contact page: branded card icons + image swap === */
.contact-card-icon {
  width: 88px !important;
  height: 88px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  font-size: 34px;
  color: #fff;
  margin: 0 auto 18px;
  box-shadow: 0 6px 20px rgba(31,58,95,0.12);
}
.contact-icon-honey { background: var(--brand-honey); color: var(--brand-navy); }
.contact-icon-sky { background: var(--brand-sky); color: #fff; }
.contact-icon-coral { background: var(--brand-coral); color: #fff; }
.tf-faq .sc-faq { text-align: center; }
.tf-faq .sc-faq.active { background: var(--brand-cream); border: 2px solid var(--brand-coral); }
.tf-contact .image img {
  border-radius: 16px;
  max-width: 100%;
  height: auto;
  max-height: 460px;
  object-fit: contain;
}

/* === Blog grid: uniform card heights regardless of source illustration aspect ratio === */
.box-artice,
.box-article {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  background: #fff !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 16px rgba(31,58,95,0.06) !important;
}
.box-artice .box-feature,
.box-article .box-feature {
  display: block !important;
  overflow: hidden !important;
  background: #FFF3EE;
}
.box-artice .box-feature a,
.box-article .box-feature a {
  display: block !important;
  width: 100% !important;
  height: 240px !important;
  overflow: hidden !important;
}
.box-artice .box-feature img,
.box-article .box-feature img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  transition: transform 0.4s ease;
}
.box-artice .box-feature a:hover img,
.box-article .box-feature a:hover img {
  transform: scale(1.05);
}
.box-artice .box-content,
.box-article .box-content {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 24px !important;
}
.box-artice .box-content .title-article-post,
.box-article .box-content .title-article-post {
  flex: 1;
  margin-bottom: 16px;
}
/* Force grid rows to have equal height */
.tf-sc-blog .row,
.tf-section.tf-sc-blog .row {
  align-items: stretch !important;
}
.tf-sc-blog .row > [class*="col-"],
.tf-section.tf-sc-blog .row > [class*="col-"] {
  display: flex !important;
  margin-bottom: 30px !important;
}
