/* ============================================================================
   Ambiance HomeHealth and Wellness — Brand override layer
   Load AFTER the theme's styles.css:
     <link rel="stylesheet" href="/assets/css/styles.css">
     <link rel="stylesheet" href="/assets/css/brand.css">

   Strategy: the Themesflat theme is fully CSS-variable driven, so we remap its
   :root tokens to the Ambiance palette (sampled from the logo, Spec §1) rather
   than editing thousands of rules. Off-brand decorative tokens (yellow/green/
   pink) are intentionally LEFT IN PLACE until the HTML is in and we can confirm
   where they're actually used (likely rating stars / success states).
   ========================================================================== */

/* Heading display serif (echoes the logo wordmark) + keep theme's body sans. */
@import url("https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400..700;1,400..600&display=swap");

:root {
  /* ---- Official Ambiance tokens (use these in any new CSS) ---------------- */
  --ambiance-navy:    #2A3C96;   /* primary brand blue (dark end of gradient) */
  --ambiance-blue:    #0F83CA;   /* light end of gradient, links / CTAs       */
  --ambiance-crimson: #A41330;   /* accent — hearts, dividers, CTA hover      */
  --ambiance-maroon:  #761933;   /* deep accent, footer rule                  */
  --ambiance-ink:     #1A1A2E;   /* body text                                 */
  --ambiance-bg:      #F7F9FC;   /* section alt background                    */
  --ambiance-white:   #FFFFFF;
  --ambiance-gradient: linear-gradient(135deg, #2A3C96, #0F83CA);
  --ambiance-gradient-accent: linear-gradient(135deg, #A41330, #761933);

  /* ---- Remap the theme's accent/red tokens → crimson --------------------- */
  --red:      var(--ambiance-crimson);
  --red-2:    #C7213B;                 /* lighter crimson for hover states     */

  /* ---- Remap blues → Ambiance blue/navy ---------------------------------- */
  --blue:     var(--ambiance-blue);
  --blue-2:   var(--ambiance-navy);
  --blue-3:   var(--ambiance-blue);
  --blue-4:   var(--ambiance-navy);

  /* ---- Remap dark/near-black + theme's stray purples → navy/ink ---------- */
  --black:    var(--ambiance-ink);
  --black-2:  var(--ambiance-navy);    /* was a purple                         */
  --black-3:  var(--ambiance-ink);
  --black-4:  var(--ambiance-navy);    /* dark-navy section bg                 */
  --black-5:  #17215C;                 /* deeper navy for dark hero/footer bg  */
  --cayent:   #7FA8D9;                 /* was purple → soft blue               */
  --purple:   #6E7BC0;                 /* was purple → muted navy-blue         */
  --bg-3:     var(--ambiance-navy);    /* was a purple block bg                */

  /* ---- Text + neutral backgrounds ---------------------------------------- */
  --color-title:     var(--ambiance-ink);
  --color-paragraph: #4A4A5A;
  --gray-dark: var(--ambiance-bg);
  --gray-6:    var(--ambiance-bg);
  --bg-2:      var(--ambiance-bg);

  /* ---- Bootstrap theme bridge (Spec stack uses Bootstrap) ---------------- */
  --bs-primary:        #2A3C96;
  --bs-primary-rgb:    42, 60, 150;
  --bs-link-color:     #0F83CA;
  --bs-link-color-rgb: 15, 131, 202;
  --bs-link-hover-color: #2A3C96;
  --bs-body-color:     #1A1A2E;
}

/* Headings in the display serif; body stays on the theme's Rethink Sans. */
h1, h2, h3, .display-1, .display-2, .display-3, .heading-serif {
  font-family: "Lora", Georgia, "Times New Roman", serif;
}

/* Brand gradient hero/overlay + primary button helpers (safe, additive). */
.bg-ambiance-gradient { background: var(--ambiance-gradient); }
.text-ambiance-navy   { color: var(--ambiance-navy) !important; }
.text-ambiance-blue   { color: var(--ambiance-blue) !important; }
.text-ambiance-crimson{ color: var(--ambiance-crimson) !important; }

.btn-ambiance {
  background: var(--ambiance-gradient);
  border: none;
  color: #fff;
  transition: filter .2s ease, transform .2s ease;
}
.btn-ambiance:hover { filter: brightness(1.06); color: #fff; }

.btn-ambiance-accent {
  background: var(--ambiance-crimson);
  border: none;
  color: #fff;
}
.btn-ambiance-accent:hover { background: var(--ambiance-maroon); color: #fff; }

/* WCAG note (Spec §6.5): navy/blue/crimson on white all pass AA for text;
   crimson text on navy backgrounds does NOT — use white text on navy. */

/* ===========================================================================
   Ambiance form + multi-step application components
   (theme styles .form-contact-us/.item; these cover our additions)
   ========================================================================== */
.ambiance-form .form-control,
.ambiance-form .tf-select,
.apply-form .item input,
.apply-form .item select,
.apply-form fieldset.apply-field .field-icon > input,
.apply-form fieldset.apply-field .field-icon > select,
.apply-form fieldset.apply-field > select.tf-select,
.apply-form fieldset.apply-field textarea,
.apply-form .item-textarea textarea {
  width: 100%; border: 1px solid #d7deec; border-radius: 10px;
  padding: 12px 14px; font-size: 15px; color: var(--ambiance-ink); background: #fff;
}
.ambiance-form .form-control:focus,
.apply-form .item input:focus,
.apply-form .item select:focus,
.apply-form fieldset.apply-field .field-icon > input:focus,
.apply-form fieldset.apply-field .field-icon > select:focus,
.apply-form fieldset.apply-field > select.tf-select:focus,
.apply-form fieldset.apply-field textarea:focus,
.apply-form .item-textarea textarea:focus {
  outline: none; border-color: var(--ambiance-blue);
  box-shadow: 0 0 0 3px rgba(15,131,202,.15);
}
.apply-form .field-icon { position: relative; }
.apply-form .field-icon > i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--ambiance-blue); }
.apply-form .field-icon > input { padding-left: 44px; }
.apply-form .field-icon > select { padding-left: 44px; }
.apply-form .cols:not(.apply-cols) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.apply-form .item-textarea { margin-top: 8px; }
@media (max-width: 640px){ .apply-form .cols { grid-template-columns: 1fr; } }

.ambiance-form .is-invalid { border-color: var(--ambiance-crimson) !important; box-shadow: 0 0 0 3px rgba(164,19,48,.12) !important; }
.radio-inline, .checkbox-inline { cursor: pointer; }

/* Consistent and accessible checkbox sizing across all forms */
.ambiance-form input[type="checkbox"],
.ambiance-form .checkbox-inline input[type="checkbox"],
.ambiance-form .radio-box input[type="checkbox"] {
  width: 18px;
  height: 18px;
  min-width: 18px;
  min-height: 18px;
  margin-top: 2px;
  accent-color: var(--ambiance-blue);
}

/* Stepper */
.apply-step { display: none; }
.apply-step.is-active { display: block; animation: applyFade .25s ease; }
@keyframes applyFade { from { opacity: 0; transform: translateY(6px);} to { opacity:1; transform:none; } }
.apply-progress-bar { height: 8px; background: #e7ecf6; border-radius: 999px; overflow: hidden; }
.apply-progress-bar > span { display:block; height:100%; background: var(--ambiance-gradient); transition: width .3s ease; }

@media (prefers-reduced-motion: reduce){
  .apply-step.is-active { animation: none; }
  .apply-progress-bar > span { transition: none; }
}

/* Lead-form service checklist tiles */
.checkbox-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
@media (max-width: 640px){ .checkbox-grid { grid-template-columns: 1fr; } }
.checkbox-tile {
  display: flex; align-items: center; gap: 10px; cursor: pointer;
  border: 1px solid #d7deec; border-radius: 10px; padding: 10px 14px;
  font-size: 14px; transition: border-color .15s ease, background .15s ease;
}
.checkbox-tile:hover { border-color: var(--ambiance-blue); }
.checkbox-tile:has(input:checked) { border-color: var(--ambiance-blue); background: rgba(15,131,202,.06); }

/* FAQ accordion (native <details>) */
.faq-item{border:1px solid var(--line,#E6EAF3);border-radius:10px;margin-bottom:10px;background:#fff;overflow:hidden}
.faq-item summary{cursor:pointer;padding:16px 18px;font-weight:600;color:var(--ambiance-navy);list-style:none;display:flex;justify-content:space-between;align-items:center}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-size:22px;color:var(--ambiance-blue);line-height:1}
.faq-item[open] summary::after{content:"\2212"}
.faq-answer{padding:0 18px 16px;color:#4A4A5A}

/* Footer without newsletter band — middle is the first block in footer-left. */
.footer .footer-left > .middle:first-child {
  padding-top: 0;
}

/* ---- Homepage CDN imagery (owner-provided) ---- */
.page-title-home .page-title-home-inner.ambiance-hero-0,
.page-title-home .page-title-home-inner.ambiance-hero-1 {
  background-image: none;
}
.page-title-home .page-title-home-inner.ambiance-hero-0::after,
.page-title-home .page-title-home-inner.ambiance-hero-1::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: right;
  transform: scaleX(-1);
}
.page-title-home .page-title-home-inner.ambiance-hero-0::after {
  background-image: url("https://images.pexels.com/photos/7345460/pexels-photo-7345460.jpeg");
}
.page-title-home .page-title-home-inner.ambiance-hero-1::after {
  background-image: url("https://images.pexels.com/photos/29372696/pexels-photo-29372696.jpeg");
}
.page-title-home .page-title-home-inner.ambiance-hero-2 {
  background-image: url("https://images.pexels.com/photos/34328480/pexels-photo-34328480.jpeg");
}
.page-title-home .page-title-home-inner::before {
  z-index: 1;
  background: linear-gradient(270deg, rgba(26,26,46,0.1) 25%, rgba(42,60,150,0.82) 72%);
}
.page-title-home .page-title-content { position: relative; z-index: 2; }
@media (min-width: 992px) {
  .page-title-home.h-1 .page-title-content {
    max-width: 50%;
  }
}
.page-title-home .page-title-content .title,
.page-title-home .page-title-content .sub-title,
.page-title-home .page-title-content .body-1 { color: #fff; }
.page-title-home.h-1 .page-title-content .title {
  max-width: 100%;
  margin-bottom: 0;
  letter-spacing: -0.02em;
}
.page-title-home .ambiance-hero-lead {
  max-width: 100%;
  margin-top: 18px;
  margin-bottom: 32px;
}
.page-title-home .list-btn { margin-top: 0; }
.page-title-home .pagination-home.style-white .swiper-pagination-bullet::before {
  background-color: #fff;
}
.page-title-home .pagination-home.style-white .swiper-pagination-bullet.swiper-pagination-bullet-active::after {
  border-color: #fff !important;
}

.wg-video.ambiance-about-video {
  background-image: url("https://lirp.cdn-website.com/d97630a4/dms3rep/multi/opt/PSG-Home-Health-Care-691b44a2-1200h.png");
  background-size: cover;
  background-position: center;
  min-height: 430px;
  border-radius: 15px;
}
.wg-video.ambiance-appointment-video {
  background-image: url("https://lirp.cdn-website.com/d97630a4/dms3rep/multi/opt/damir-bosnjak-VQ2L7t5qt_8-unsplash-1920w.jpg");
  background-size: cover;
  background-position: center;
}

/* Template contact form — field error state */
.form-contact-us .is-invalid,
.form-contact-us input.is-invalid,
.form-contact-us textarea.is-invalid {
  border-color: var(--ambiance-crimson) !important;
}
.form-contact-us .field-error { color: var(--ambiance-crimson); font-size: 13px; margin-top: 4px; }

/* Request a Call Back — row layout (name/email, phone/zip, message, consent, submit) */
.form-contact-us .cols.ambiance-form-row {
  width: 100%;
  flex-wrap: nowrap;
  box-sizing: border-box;
}
.form-contact-us .cols.ambiance-form-row .item.ambiance-form-half,
.form-contact-us .cols.ambiance-form-row fieldset.item.ambiance-form-half {
  flex: 1 1 calc(50% - 15px);
  max-width: calc(50% - 15px) !important;
  min-width: 0;
  width: auto;
  border: 0;
  padding: 0;
  margin: 0;
}
.form-contact-us .cols.ambiance-form-row .item.ambiance-form-half input,
.form-contact-us .cols.ambiance-form-row fieldset.item.ambiance-form-half input {
  width: 100%;
  box-sizing: border-box;
}
.form-contact-us .ambiance-form-full {
  flex: 1 1 100%;
  max-width: 100% !important;
  width: 100%;
  min-width: 0;
}
.form-contact-us .cols.ambiance-form-row-full .item-textarea.ambiance-form-full {
  max-width: 100% !important;
  width: 100%;
}
.form-contact-us .cols.ambiance-form-row-full .item-textarea textarea {
  width: 100%;
  box-sizing: border-box;
}
.form-contact-us .ambiance-form-consent {
  padding: 4px 2px 0;
}
.form-contact-us .cols.ambiance-form-row-full .tf-btn.ambiance-form-full {
  max-width: 100% !important;
}
@media (max-width: 767px) {
  .form-contact-us .cols.ambiance-form-row {
    flex-wrap: wrap;
  }
  .form-contact-us .cols.ambiance-form-row .item.ambiance-form-half,
  .form-contact-us .cols.ambiance-form-row fieldset.item.ambiance-form-half {
    flex: 1 1 100%;
    max-width: 100% !important;
  }
}

/* PNG logos (replace SVG wordmarks) */
.logo-header img,
.logo-mobile img {
  display: block;
  max-height: 52px;
  width: auto;
  height: auto;
}
.logo-footer img {
  display: block;
  max-width: 220px;
  width: auto;
  height: auto;
}

/* Careers listing — benefit cards to openings */
.ambiance-careers-page .careers-openings {
  margin-top: 48px;
}

/* Lead forms — careers apply, refer, switch/request (match inner-page section rhythm) */
.section-lead-form .form-contact-us.apply-form,
.section-careers-apply .form-contact-us.apply-form {
  max-width: 100% !important;
  width: 100%;
  margin: 0;
}

/* Make contact/apply forms fill container cleanly on mobile */
.ambiance-contact-module,
.form-contact-us,
.form-contact-us.apply-form,
.form-contact-us .item,
.form-contact-us fieldset.item,
.form-contact-us fieldset.apply-field,
.form-contact-us .item-textarea {
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .ambiance-contact-module,
  .form-contact-us,
  .form-contact-us.apply-form {
    width: 100%;
    max-width: 100% !important;
  }
  .form-contact-us {
    padding-left: 0;
    padding-right: 0;
  }
  .form-contact-us .item,
  .form-contact-us fieldset.item,
  .form-contact-us fieldset.apply-field,
  .form-contact-us .item-textarea,
  .form-contact-us .tf-btn {
    width: 100%;
    max-width: 100% !important;
  }
}
.ambiance-apply-prefill {
  max-width: 100%;
  background: rgba(15,131,202,.08);
  border: 1px solid #cfe3f3;
  border-radius: 12px;
  padding: 14px 18px;
}
.form-contact-us.apply-form .apply-field-label {
  display: block;
  font-weight: 600;
  font-size: 14px;
  line-height: 1.35;
  color: var(--ambiance-navy);
  margin: 0 0 6px;
}
.form-contact-us.apply-form .apply-cols {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  width: 100%;
  margin-bottom: 20px;
}
.form-contact-us.apply-form .apply-cols .apply-field,
.form-contact-us.apply-form .cols .apply-field {
  max-width: 100% !important;
  min-width: 0;
}
.form-contact-us.apply-form fieldset.apply-field {
  border: 0;
  padding: 0;
  margin: 0;
}
.form-contact-us.apply-form fieldset.apply-field-full {
  grid-column: 1 / -1;
}
.form-contact-us.apply-form .apply-radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 28px;
  align-items: center;
  margin-top: 2px;
}
.form-contact-us.apply-form .apply-radio-group .radio-inline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 15px;
  line-height: 1.4;
}
.form-contact-us.apply-form .apply-cols > fieldset.apply-field-full + .apply-field {
  margin-top: 0;
}
.form-contact-us.apply-form fieldset.apply-field .field-icon {
  position: relative;
}
.form-contact-us.apply-form fieldset.apply-field .field-icon > i {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  color: var(--ambiance-blue);
  pointer-events: none;
  line-height: 1;
}
/* Unified control height — inputs and selects match */
.form-contact-us.apply-form fieldset.apply-field .field-icon > input,
.form-contact-us.apply-form fieldset.apply-field .field-icon > select,
.form-contact-us.apply-form fieldset.apply-field > select.tf-select {
  width: 100%;
  box-sizing: border-box;
  height: 48px;
  min-height: 48px;
  padding: 0 14px;
  border: 1px solid #d7deec !important;
  border-radius: 10px !important;
  background: #fff;
  font-size: 15px;
  line-height: 1.4;
  color: var(--ambiance-ink);
  appearance: none;
  -webkit-appearance: none;
}
.form-contact-us.apply-form fieldset.apply-field .field-icon > input,
.form-contact-us.apply-form fieldset.apply-field .field-icon > select {
  padding-left: 44px;
  padding-right: 40px;
}
.form-contact-us.apply-form fieldset.apply-field > select.tf-select {
  padding-right: 40px;
}
/* Custom chevron — native arrow removed by appearance: none */
.form-contact-us.apply-form fieldset.apply-field > select.tf-select,
.form-contact-us.apply-form fieldset.apply-field .field-icon > select {
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%234A4A5A' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 12px 8px;
}
.form-contact-us.apply-form fieldset.apply-field textarea {
  width: 100%;
  box-sizing: border-box;
  display: block;
  min-height: 100px;
  padding: 12px 14px;
  margin-top: 0;
  border: 1px solid #d7deec !important;
  border-radius: 10px !important;
}
.form-contact-us.apply-form .employer-block,
.form-contact-us.apply-form .certification,
.form-contact-us.apply-form .checkbox-grid,
.form-contact-us.apply-form .apply-progress,
.form-contact-us.apply-form .apply-nav {
  width: 100%;
  max-width: 100% !important;
}
@media (max-width: 767px) {
  .form-contact-us.apply-form .apply-cols {
    grid-template-columns: 1fr;
  }
}

/* Inner page banner — ensure parallax hero displays */
.page-title .page-title-content.paralax-bg {
  min-height: 220px;
}

/* Homepage section rhythm */
.ambiance-appointment-band .form-contact-us { margin-bottom: 0; }
.section-testimonials.ambiance-after-form { margin-top: 48px; }
.section-department.ambiance-team-band {
  position: relative;
  border-radius: 15px;
  overflow: hidden;
  padding-top: 48px;
  padding-bottom: 48px;
}
.section-department.ambiance-team-band .section-team { padding-top: 0; padding-bottom: 0; }
.section-department.ambiance-team-band .heading-section { margin-bottom: 40px !important; }
.section-why.ambiance-why-close { padding-bottom: 48px; }
.section-why .ambiance-why-image {
  min-height: 320px;
  max-height: 480px;
}
.section-why .ambiance-why-image img {
  width: 100%;
  height: 100%;
  min-height: 320px;
  max-height: 480px;
  object-fit: cover;
  object-position: center top;
}

/* Why Ambiance page */
.ambiance-why-page .features-list {
  margin-top: 0;
  margin-bottom: 0;
}
.section-department.ambiance-why-cta-band,
.section-department.ambiance-lead-cta-band {
  position: relative;
  border-radius: 15px;
  overflow: hidden;
  padding-top: 56px;
  padding-bottom: 56px;
}
.ambiance-why-cta-band .ambiance-why-form-card .form-contact-us,
.ambiance-lead-cta-band .ambiance-lead-form-card .form-contact-us {
  margin-bottom: 0;
  background: #fff;
  border-radius: 12px;
  padding: 32px 28px;
}
.ambiance-why-cta-thumb {
  max-height: 200px;
}
.ambiance-why-cta-thumb img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  object-position: center;
}
.ambiance-why-page .ambiance-why-cities {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 24px;
}
.ambiance-why-page .section-history .history-item .bottom-history .image img {
  object-fit: cover;
}

/* Services listing — CDN card images */
.ambiance-services-page .department-item.style-2 .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
.ambiance-services-page .department-item.style-2 .image {
  min-height: 220px;
}
.ambiance-services-contact-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.ambiance-services-contact-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 12px;
}
.ambiance-services-contact-list li:last-child {
  margin-bottom: 0;
}
.ambiance-services-contact-list a {
  color: inherit;
  text-decoration: none;
}
.ambiance-services-contact-list a:hover {
  color: var(--ambiance-crimson);
}

/* Service detail — template services-details layout */
.ambiance-service-detail-page .image-details {
  border-radius: 12px;
  overflow: hidden;
}
.ambiance-service-detail-page .image-details img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  min-height: 200px;
  max-height: 420px;
}
.ambiance-service-detail-page .list-img .image-details {
  flex: 1;
  min-width: 0;
}
.ambiance-service-detail-page .list-img .image-details img {
  min-height: 180px;
  max-height: 280px;
}
.ambiance-service-detail-page .ambiance-service-gallery-single .image-details img {
  min-height: 280px;
  max-height: 480px;
  object-position: center center;
}
.ambiance-service-detail-page .sidebar-categories .list .item.active a {
  color: var(--ambiance-crimson);
  font-weight: 600;
}
.ambiance-service-inline-cta {
  border-radius: 16px;
  padding: 32px 36px;
  text-align: center;
  color: #fff;
}
.ambiance-service-inline-cta .title {
  color: #fff;
  margin: 0 0 10px;
  font-size: clamp(22px, 3vw, 28px);
}
.ambiance-service-inline-cta p {
  color: rgba(255, 255, 255, 0.92);
  margin: 0 0 20px;
}
.ambiance-service-inline-cta a {
  color: #fff;
  text-decoration: underline;
}
.ambiance-step-card .ambiance-step-num {
  font-size: 32px;
  font-weight: 700;
  color: var(--ambiance-blue);
  line-height: 1;
  margin-bottom: 12px;
}
.ambiance-why-page .ambiance-why-payment-grid .history-item {
  display: flex;
  flex-direction: column;
}
.ambiance-why-page .ambiance-why-payment-grid .history-item .bottom-history {
  flex: 1;
}

/* Testimonials — branded stars + avatar layout on style-1 cards */
.testimonials-item .ambiance-rating i,
.testimonials-item.style-1 .rating i {
  color: var(--ambiance-crimson);
}
.testimonials-item.style-1 .user-testimonials .img-avartar {
  flex-shrink: 0;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  overflow: hidden;
}
.testimonials-item.style-1 .user-testimonials .img-avartar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}
.testimonials-item.style-1 .user-testimonials {
  gap: 14px;
  flex-wrap: nowrap;
  align-items: center;
}
.testimonials-item.style-1 .user-testimonials .name-user {
  margin-bottom: 2px;
  font-size: 16px;
  line-height: 1.3;
}
.testimonials-item.style-1 .user-testimonials .position {
  display: block;
  color: var(--color-paragraph);
  font-size: 14px;
  line-height: 1.4;
}
.section-testimonials .sw-testimonials .swiper-slide {
  height: auto;
}
.section-testimonials .sw-testimonials .testimonials-item.style-1 {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.section-testimonials .testimonials-item.style-1 .icon {
  margin-top: auto;
}

/* Job listing tags */
.chip-tag{display:inline-flex;align-items:center;gap:5px;background:#eef1f9;color:var(--ambiance-navy);border-radius:999px;padding:3px 12px;font-size:12px;font-weight:600}

/* X (formerly Twitter) — icomoon has icon-twitter only; mask the official X mark. */
i.icon-x {
  font-family: inherit !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
}
i.icon-x:before {
  content: "";
  display: inline-block;
  width: 0.9em;
  height: 0.9em;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E") center/contain no-repeat;
  vertical-align: -0.08em;
}

/* reCAPTCHA v3 — bottom left, logo only (no “protected by” text) */
.grecaptcha-badge {
  display: none !important;
  width: 70px !important;
  overflow: hidden !important;
  left: 16px !important;
  right: auto !important;
  bottom: 16px !important;
  z-index: 9999;
  box-shadow: none !important;
}
/* .grecaptcha-badge iframe {
  width: 256px !important;
  height: 60px !important;
  margin-left: -186px !important;
} */

/* ===========================================================================
   Mobile UX fixes
   ========================================================================== */

/* Theme hides every <br> below 991px — restore intentional line breaks in content */
@media (max-width: 991px) {
  #wrapper br {
    display: inline !important;
  }
}

/* Multi-step forms — compact icon-only Back / Continue on mobile */
@media (max-width: 767px) {
  .form-contact-us.apply-form .apply-nav {
    gap: 10px;
  }
  .form-contact-us.apply-form .apply-nav .tf-btn {
    padding: 10px 14px;
    gap: 8px;
  }
  .form-contact-us.apply-form .apply-nav .apply-prev,
  .form-contact-us.apply-form .apply-nav .apply-next {
    padding: 10px 12px;
    gap: 0;
    min-width: 44px;
    justify-content: center;
  }
  .form-contact-us.apply-form .apply-nav .apply-prev > span,
  .form-contact-us.apply-form .apply-nav .apply-next > span {
    display: none;
  }
  .form-contact-us.apply-form .apply-nav .apply-submit {
    padding: 10px 16px;
    margin-left: auto;
  }
}

/* Resources — spacing before CTA buttons below FAQs */
.ambiance-resources-cta {
  margin-top: 40px;
}
@media (max-width: 767px) {
  .ambiance-resources-cta {
    margin-top: 56px;
    padding-top: 8px;
  }
}
