/*
 * Aluna foundation and compatibility layer.
 * Aluna Styles owns reusable shell geometry, tokens, and component contracts.
 * Keep this file focused on root tokens, page shell resets, legacy page repairs,
 * and documented page-family exceptions.
 */

:root {
  --aluna-display-italic-family: var(--e-global-typography-aluna-display-italic-font-family, var(--font-serif, "Hanken Grotesk", system-ui, sans-serif));

  /* Core */
  --aluna-white: var(--aluna-theme-panel, #FFFCF7);
  --aluna-cream: var(--aluna-theme-page-bg, #F7F0E6);
  --aluna-oat: var(--aluna-theme-border, #E8DDCC);
  --aluna-sand: var(--aluna-theme-border, #D8C8B3);
  --aluna-text: var(--aluna-theme-text, #25231F);
  --aluna-muted: var(--aluna-theme-muted, #6C665E);
  --aluna-border: var(--aluna-theme-border, #DED3C3);
  --aluna-divider: var(--aluna-theme-divider, #E8DDCC);
  --aluna-link: var(--aluna-theme-link, #245A3E);
  --aluna-link-hover: var(--aluna-theme-link-hover, #173F2F);

  /* Brand green */
  --aluna-green-900: var(--aluna-theme-action, #173F2F);
  --aluna-green-700: var(--aluna-theme-action-hover, #245A3E);
  --aluna-green-500: var(--aluna-theme-muted, #5F7449);
  --aluna-green-300: var(--aluna-theme-soft-fill, #8FA27A);
  --aluna-green-100: var(--aluna-theme-soft-fill, #DDE7D3);
  --aluna-green-50: var(--aluna-theme-soft-fill, #EFF4EA);

  /* Thread / red */
  --thread-red: var(--aluna-theme-thread, #A9473A);
  --thread-coral: color-mix(in srgb, var(--aluna-theme-thread, #C65A49) 72%, var(--aluna-theme-panel, #FFFCF7));
  --thread-soft: color-mix(in srgb, var(--aluna-theme-thread, #D98273) 42%, var(--aluna-theme-panel, #FFFCF7));
  --thread-wash: color-mix(in srgb, var(--aluna-theme-thread, #D98273) 12%, var(--aluna-theme-panel, #FFFCF7));
  --aluna-wood: var(--aluna-theme-wood, #A1742A);
  --aluna-shadow-color: var(--aluna-theme-shadow, #2B211B);
  --aluna-overlay-color: var(--aluna-theme-overlay, #18211D);
  --aluna-selected: var(--aluna-theme-selected, #DDE7D3);
  --aluna-notice: var(--aluna-theme-notice, #A1742A);
  --aluna-success: var(--aluna-theme-success, #2F6B55);
  --urgent-red: var(--aluna-theme-clinical-boundary, #B8483B);
  --urgent-text: var(--aluna-theme-clinical-boundary, #7F3028);
  --urgent-red-dark: var(--aluna-theme-clinical-boundary, #8E352C);

  /* End-of-Life */
  --eol-plum-900: var(--aluna-theme-muted, #5D4A68);
  --eol-plum-700: var(--aluna-theme-muted, #74617D);
  --eol-lavender-400: var(--aluna-theme-soft-fill, #A290AD);
  --eol-lavender-200: var(--aluna-theme-soft-fill, #D9CDDF);
  --eol-lavender-50: var(--aluna-theme-panel, #F3EEF5);

  /* Blood Bank */
  --bloodbank-green: var(--aluna-theme-action, #214F3A);
  --bloodbank-red: var(--aluna-theme-accent, #A33B32);
  --bloodbank-plasma: var(--aluna-theme-wood, #D8A84F);
  --bloodbank-cold: var(--aluna-theme-muted, #7F9AA0);
  --bloodbank-cream: var(--aluna-theme-page-bg, #F4E9D8);

  /* Transport */
  --transport-green: var(--aluna-theme-action, #20493B);
  --transport-bluegreen: var(--aluna-theme-action-hover, #1F5361);
  --transport-gray: var(--aluna-theme-muted, #67706D);
  --transport-oxygen: var(--aluna-theme-soft-fill, #AFC8CD);
  --transport-wash: var(--aluna-theme-soft-fill, #EAF1EF);

  /* Compatibility aliases for restored page CSS */
  --warm-white: var(--aluna-white);
  --cream: var(--aluna-cream);
  --oat: var(--aluna-oat);
  --sand: var(--aluna-sand);
  --charcoal: var(--aluna-text);
  --mid: var(--aluna-muted);
  --border: var(--aluna-border);
  --line: var(--aluna-theme-border, var(--aluna-border));
  --sage-dark: var(--aluna-green-900);
  --sage: var(--aluna-green-700);
  --sage-light: var(--aluna-green-300);
  --thread: var(--thread-red);
  --aluna-blood-accent: var(--bloodbank-red);
  --aluna-transport-accent: var(--transport-bluegreen);

  /* Layout geometry */
  --aluna-shell-max: 1180px;
  --aluna-shell-wide: 1360px;
  --aluna-shell-pad-y: clamp(56px, 7vw, 96px);
  --aluna-shell-pad-x: clamp(20px, 4vw, 56px);
  --aluna-shell-pad-x-mobile: clamp(16px, 5vw, 24px);
  --aluna-shell-gap: clamp(28px, 4vw, 56px);
  --aluna-shell-adminbar-offset: var(--wp-admin--admin-bar--height, 0px);
  --aluna-layout-header-height: var(--aluna-native-nav-h, var(--aluna-style-nav-height-desktop, 80px));
  --aluna-shell-fixed-top: var(--aluna-layout-header-height);
  --aluna-layout-gap: clamp(20px, 3vw, 40px);
  --aluna-layout-pad-block: var(--aluna-style-screen-padding-block, clamp(26px, 4.4vh, 58px));
  --aluna-layout-pad-inline: var(--aluna-style-screen-padding-inline, clamp(18px, 2vw, 36px));
  --aluna-layout-top: calc(var(--aluna-layout-header-height) + var(--aluna-layout-gap));
  --aluna-layout-bottom: var(--aluna-layout-gap);
  --aluna-layout-footer-height: var(--aluna-style-footer-height, clamp(46px, 4.8vh, 56px));
  --aluna-layout-frame-height: calc(100svh - var(--aluna-shell-adminbar-offset) - var(--aluna-layout-top) - var(--aluna-layout-bottom));
  --aluna-layout-footer-frame-height: calc(100svh - var(--aluna-shell-adminbar-offset) - var(--aluna-layout-top) - var(--aluna-layout-footer-height) - (var(--aluna-layout-gap) * 2));
  --aluna-layout-body-min-height: var(--aluna-layout-frame-height);
  --aluna-layout-column-width: calc((100vw - (var(--aluna-layout-pad-inline) * 2) - var(--aluna-layout-gap)) / 2);
  --aluna-panel-gap: var(--aluna-layout-gap);
  --aluna-panel-pad: clamp(18px, 2.5vw, 32px);
  /* Axis split of --aluna-panel-pad. staffhub referenced these before they existed, so the
     declaration silently dropped and the patient record rendered with no padding at all. */
  --aluna-panel-pad-y: var(--aluna-panel-pad);
  --aluna-panel-pad-x: var(--aluna-panel-pad);
  --aluna-panel-radius: var(--aluna-shell-panel-radius, 24px);
  --aluna-panel-main-min: 0px;
  --aluna-panel-side: 360px;
  --aluna-panel-max-height: calc(100svh - var(--aluna-shell-adminbar-offset) - var(--aluna-shell-fixed-top) - 48px);
  --aluna-panel-sticky-top: calc(var(--aluna-shell-adminbar-offset) + var(--aluna-layout-header-height) + var(--aluna-layout-gap));
}

body.admin-bar {
  --aluna-shell-adminbar-offset: 32px;
}

/* The global header is fixed. Keep its responsive height and the optional
   WordPress admin bar in one inherited coordinate so page shells, overlays,
   and anchored controls all clear the same chrome. */
body {
  --aluna-layout-header-height: var(--aluna-native-nav-h, var(--aluna-style-nav-height-mobile, 64px));
  --aluna-shell-fixed-top: var(--aluna-layout-header-height);
  --aluna-layout-header-offset: calc(var(--aluna-shell-adminbar-offset) + var(--aluna-layout-header-height));
  --aluna-layout-top: calc(var(--aluna-layout-header-height) + var(--aluna-layout-gap));
  --aluna-layout-frame-height: calc(100svh - var(--aluna-shell-adminbar-offset) - var(--aluna-layout-top) - var(--aluna-layout-bottom));
  --aluna-layout-footer-frame-height: calc(100svh - var(--aluna-shell-adminbar-offset) - var(--aluna-layout-top) - var(--aluna-layout-footer-height) - (var(--aluna-layout-gap) * 2));
  --aluna-layout-body-min-height: var(--aluna-layout-frame-height);
  --aluna-panel-max-height: calc(100svh - var(--aluna-shell-adminbar-offset) - var(--aluna-shell-fixed-top) - 48px);
  --aluna-panel-sticky-top: calc(var(--aluna-shell-adminbar-offset) + var(--aluna-layout-header-height) + var(--aluna-layout-gap));
}

@media (min-width: 861px) {
  body {
    --aluna-layout-header-height: var(--aluna-native-nav-h-desktop, var(--aluna-style-nav-height-desktop, 80px));
  }
}

@media (max-width: 860px) {
  body {
    --aluna-layout-header-height: var(--aluna-native-nav-h-mobile, var(--aluna-style-nav-height-mobile, 64px));
  }
}

.aluna-split--main-normal-flow {
  --aluna-active-content-panel-padding: var(--aluna-fixed-content-panel-padding, var(--aluna-content-panel-padding));
  --aluna-active-content-panel-padding-compact: var(--aluna-fixed-content-panel-padding-compact, var(--aluna-content-panel-padding-compact));
}

.aluna-split--main-document-scroll {
  --aluna-active-content-panel-padding: var(--aluna-scroll-content-panel-padding, var(--aluna-content-panel-padding));
  --aluna-active-content-panel-padding-compact: var(--aluna-scroll-content-panel-padding-compact, var(--aluna-content-panel-padding-compact));
}

@media screen and (max-width: 782px) {
  body.admin-bar {
    --aluna-shell-adminbar-offset: 46px;
  }
}

.aluna-shell,
.aluna-shell *,
.aluna-panel,
.aluna-panel * {
  box-sizing: border-box;
}

.aluna-shell {
  display: block;
  min-width: 0;
  padding-block: var(--aluna-shell-pad-y);
  scroll-margin-top: var(--aluna-layout-top);
  width: 100%;
}

.aluna-shell-inner {
  margin-inline: auto;
  max-width: var(--aluna-shell-max);
  min-width: 0;
  padding-inline: var(--aluna-shell-pad-x);
  width: 100%;
}

.aluna-shell-inner--wide {
  max-width: var(--aluna-shell-wide);
}

.aluna-shell--page-scroll {
  min-height: 0;
  overflow: visible;
}

.aluna-shell--viewport {
  align-content: start;
  display: grid;
  min-height: calc(100svh - var(--aluna-shell-adminbar-offset) - var(--aluna-shell-fixed-top));
}

.aluna-shell--fixed {
  height: calc(100svh - var(--aluna-shell-adminbar-offset) - var(--aluna-shell-fixed-top));
  overflow: hidden;
}

.aluna-panel-layout {
  align-items: start;
  display: grid;
  gap: var(--aluna-panel-gap);
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
}

.aluna-panel-layout--split,
.aluna-panel-layout[data-aluna-panel-layout="split"] {
  grid-template-columns: minmax(0, 1fr);
}

.aluna-panel-layout--stack,
.aluna-panel-layout[data-aluna-panel-layout="stack"] {
  grid-template-columns: minmax(0, 1fr);
}

.aluna-panel {
  background: var(--aluna-shell-panel-bg, transparent);
  border-radius: var(--aluna-panel-radius);
  color: var(--aluna-shell-ink, var(--aluna-text));
  min-width: 0;
  padding: var(--aluna-active-content-panel-padding, var(--aluna-content-panel-padding, var(--aluna-panel-pad)));
}

.aluna-panel--segment-inset {
  padding: var(--aluna-segment-padding, 26px);
}

/* Public request and CareHub veterinarian summaries share one responsive
   component contract. Aluna Styles owns the source geometry; Elementor owns
   the typography roles. */
.aluna-vet-card {
  container: aluna-vet-card / inline-size;
}

.aluna-vet-card-summary {
  --aluna-vet-card-summary-gap: clamp(18px, calc(var(--aluna-style-vet-card-gap, 20px) * 0.7), 24px);
  --aluna-vet-card-summary-avatar-size: clamp(88px, calc(var(--aluna-style-vet-avatar-size, 96px) * 0.84), 104px);
  --aluna-vet-card-summary-avatar-compact-size: clamp(72px, calc(var(--aluna-style-vet-avatar-size, 96px) * 0.68), 92px);
  align-items: center;
  column-gap: var(--aluna-vet-card-summary-gap);
  display: grid;
  grid-template-areas: "photo identity action";
  grid-template-columns: var(--aluna-vet-card-summary-avatar-size) minmax(0, 1fr) auto;
  min-width: 0;
}

.aluna-vet-card-summary__photo {
  border-radius: var(--aluna-style-vet-avatar-radius, 14px);
  grid-area: photo;
  height: var(--aluna-vet-card-summary-avatar-size);
  overflow: hidden;
  width: var(--aluna-vet-card-summary-avatar-size);
}

.aluna-vet-card-summary__photo img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.aluna-vet-card-summary__identity {
  grid-area: identity;
  min-width: 0;
}

.aluna-vet-card-summary__action {
  align-self: start;
  grid-area: action;
  justify-self: end;
}

.aluna-vet-card-summary .aluna-vet-card-summary__eyebrow {
  font-family: var(--e-global-typography-aluna-label-font-family, "Sora", system-ui, sans-serif) !important;
  font-size: var(--e-global-typography-aluna-label-font-size, 0.74rem) !important;
  font-style: var(--e-global-typography-aluna-label-font-style, normal) !important;
  font-weight: var(--e-global-typography-aluna-label-font-weight, 500) !important;
  letter-spacing: var(--e-global-typography-aluna-label-letter-spacing, 0.16em) !important;
  line-height: var(--e-global-typography-aluna-label-line-height, 1.18) !important;
  text-decoration: var(--e-global-typography-aluna-label-text-decoration, none) !important;
  text-transform: var(--e-global-typography-aluna-label-text-transform, uppercase) !important;
  word-spacing: var(--e-global-typography-aluna-label-word-spacing, normal) !important;
}

.aluna-vet-card-summary .aluna-vet-card-summary__name {
  font-family: var(--e-global-typography-aluna-h4-font-family, "Sora", system-ui, sans-serif) !important;
  font-size: var(--e-global-typography-aluna-h4-font-size, 1.25rem) !important;
  font-style: var(--e-global-typography-aluna-h4-font-style, normal) !important;
  font-weight: var(--e-global-typography-aluna-h4-font-weight, 600) !important;
  letter-spacing: var(--e-global-typography-aluna-h4-letter-spacing, -0.01em) !important;
  line-height: var(--e-global-typography-aluna-h4-line-height, 1.34) !important;
  text-transform: var(--e-global-typography-aluna-h4-text-transform, none) !important;
}

.aluna-vet-card-summary :is(.aluna-vet-card-summary__meta, .aluna-vet-card-summary__meta *) {
  font-family: var(--e-global-typography-aluna-body-sm-font-family, "Sora", system-ui, sans-serif) !important;
  font-size: var(--e-global-typography-aluna-body-sm-font-size, 0.88rem) !important;
  font-style: var(--e-global-typography-aluna-body-sm-font-style, normal) !important;
  font-weight: var(--e-global-typography-aluna-body-sm-font-weight, 400) !important;
  letter-spacing: var(--e-global-typography-aluna-body-sm-letter-spacing, 0) !important;
  line-height: var(--e-global-typography-aluna-body-sm-line-height, 1.65) !important;
  text-transform: var(--e-global-typography-aluna-body-sm-text-transform, none) !important;
}

@container aluna-vet-card (max-width: 500px) {
  .aluna-vet-card-summary {
    align-items: start;
    grid-template-areas:
      "photo identity"
      "photo action";
    grid-template-columns: var(--aluna-vet-card-summary-avatar-compact-size) minmax(0, 1fr);
    row-gap: 8px;
  }

  .aluna-vet-card-summary__photo {
    height: var(--aluna-vet-card-summary-avatar-compact-size);
    width: var(--aluna-vet-card-summary-avatar-compact-size);
  }

  .aluna-vet-card-summary__action {
    justify-self: start;
  }
}

.aluna-panel--content-scroll,
.aluna-panel--modal {
  max-height: var(--aluna-panel-max-height);
  overflow: auto;
  overscroll-behavior: contain;
}

.aluna-panel--sticky {
  position: sticky;
  top: var(--aluna-panel-sticky-top);
}

.aluna-split {
  position: relative;
}

.aluna-split--focused.aluna-shell {
  align-content: start;
  display: grid;
  gap: 0;
  padding: var(--aluna-layout-top) var(--aluna-layout-pad-inline) var(--aluna-layout-bottom);
}

.aluna-split--footer-fixed-frame.aluna-split--focused.aluna-shell {
  --aluna-layout-body-min-height: var(--aluna-layout-footer-frame-height);
  padding-bottom: calc(var(--aluna-layout-footer-height) + (var(--aluna-layout-gap) * 2));
}

.aluna-intake-assistant--front-page.aluna-split--focused:not(.aluna-intake-assistant--emergency-page) {
  --aluna-layout-pad-inline: var(--aluna-style-screen-padding-inline, 36px);
  --aluna-layout-top: calc(var(--aluna-layout-header-height) + var(--aluna-layout-gap));
  --aluna-layout-footer-frame-height: calc(100svh - var(--aluna-shell-adminbar-offset) - var(--aluna-layout-top) - var(--aluna-layout-footer-height) - var(--aluna-layout-gap));
  --aluna-layout-body-min-height: var(--aluna-layout-footer-frame-height);
  --aluna-layout-column-width: calc((100vw - (var(--aluna-layout-pad-inline) * 2) - var(--aluna-layout-gap)) / 2);
  --aluna-panel-gap: var(--aluna-layout-gap);
}

@media (min-width: 768px) {
  .aluna-intake-assistant--front-page.aluna-split--focused:not(.aluna-intake-assistant--emergency-page) {
    --aluna-layout-bottom: var(--aluna-layout-gap);
    --aluna-layout-top: var(--aluna-layout-gap);
    --aluna-layout-footer-frame-height: calc(100svh - var(--aluna-shell-adminbar-offset) - var(--aluna-layout-header-height) - var(--aluna-layout-top) - var(--aluna-layout-footer-height) - var(--aluna-layout-bottom));
    --aluna-layout-body-min-height: var(--aluna-layout-footer-frame-height);
    padding-bottom: calc(var(--aluna-layout-footer-height) + var(--aluna-layout-bottom));
  }
}

.aluna-split--focused > .aluna-split__layout {
  align-items: stretch;
  gap: var(--aluna-layout-gap);
  grid-row: 1;
  margin: 0;
  max-width: none;
  min-height: var(--aluna-layout-body-min-height);
  padding: 0;
  width: 100%;
}

.aluna-split--focused > .aluna-split__layout + .aluna-layout-footer {
  margin-top: var(--aluna-layout-gap);
}

.aluna-split--focused .aluna-split__main,
.aluna-split--focused .aluna-split__side {
  box-sizing: border-box;
  min-height: 0;
}

.aluna-split--focused[data-aluna-assistant-shell] .aluna-split__main,
.aluna-split--focused[data-aluna-assistant-shell] .aluna-split__side {
  align-self: stretch;
  min-height: var(--aluna-layout-body-min-height);
}

.aluna-split--focused .aluna-layout-footer {
  border-radius: var(--aluna-panel-radius);
  margin: 0;
  width: 100%;
}

.aluna-assistant-shell .aluna-layout-footer {
  align-items: center;
  background: var(--aluna-shell-panel-bg, var(--aluna-assistant-panel-bg, #fffdf8));
  border-radius: var(--aluna-panel-radius);
  box-sizing: border-box;
  color: var(--aluna-theme-text, #071620);
  display: flex;
  gap: 18px;
  justify-content: space-between;
  min-height: var(--aluna-layout-footer-height);
  padding: clamp(18px, 2vw, 26px) clamp(28px, 3.6vw, 54px);
  width: 100%;
}

.aluna-intake-assistant--front-page.aluna-split--footer-full-width-after-content.aluna-split--focused > .aluna-layout-footer {
  border-radius: 0;
  margin-left: calc(var(--aluna-layout-pad-inline, 0px) * -1);
  margin-right: calc(var(--aluna-layout-pad-inline, 0px) * -1);
  width: calc(100% + (var(--aluna-layout-pad-inline, 0px) * 2));
}

@media (min-width: 768px) {
  .aluna-intake-assistant--front-page.aluna-split--footer-full-width-after-content.aluna-split--focused > .aluna-layout-footer {
    bottom: 0;
    left: 0;
    margin-left: 0;
    margin-right: 0;
    min-height: var(--aluna-layout-footer-height);
    padding: 8px 40px;
    position: fixed !important;
    right: 0;
    width: auto;
    z-index: 3;
  }

}

.aluna-split--footer-left-column .aluna-split__main > .aluna-layout-footer {
  bottom: auto !important;
  left: auto !important;
  margin-top: var(--aluna-layout-gap);
  max-width: none !important;
  position: static !important;
  right: auto !important;
}

.aluna-split--footer-fixed-frame.aluna-split--focused > .aluna-layout-footer {
  bottom: var(--aluna-layout-gap);
  left: var(--aluna-layout-pad-inline);
  position: fixed !important;
  right: var(--aluna-layout-pad-inline);
  width: auto !important;
  z-index: 3;
}

.aluna-assistant-shell .aluna-layout-footer span {
  align-items: center;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
}

.aluna-assistant-shell .aluna-layout-footer a,
.aluna-assistant-shell .aluna-layout-footer a:visited,
.aluna-assistant-shell .aluna-layout-footer small {
  color: var(--aluna-theme-text, #071620);
  font-family: var(--e-global-typography-aluna-footer-utility-font-family, var(--e-global-typography-aluna-ui-font-family, "Hanken Grotesk")), system-ui, sans-serif;
  font-size: var(--e-global-typography-aluna-footer-utility-font-size, 14px);
  font-style: var(--e-global-typography-aluna-footer-utility-font-style, normal);
  font-weight: var(--e-global-typography-aluna-footer-utility-font-weight, 650);
  letter-spacing: var(--e-global-typography-aluna-footer-utility-letter-spacing, 0);
  line-height: var(--e-global-typography-aluna-footer-utility-line-height, 1.15);
  text-decoration: none;
  text-transform: var(--e-global-typography-aluna-footer-utility-text-transform, none);
}

.aluna-assistant-shell .aluna-layout-footer small {
  color: color-mix(in srgb, var(--aluna-theme-text, #071620) 72%, transparent);
}

.aluna-assistant-shell .aluna-layout-footer a + a::before,
.aluna-assistant-shell .aluna-layout-footer small + a::before {
  color: color-mix(in srgb, var(--aluna-theme-text, #071620) 52%, transparent);
  content: "·";
  margin-right: 6px;
}

.aluna-split__layout {
  align-items: start;
  display: grid;
  gap: var(--aluna-panel-gap);
  grid-template-columns: 1fr;
}

.aluna-split__main,
.aluna-split__side {
  min-width: 0;
}

.aluna-split__side {
  align-self: start;
  display: grid;
  gap: var(--aluna-panel-gap);
}

.aluna-split--segments-stack .aluna-split__side,
.aluna-panel--segments-stack {
  align-content: start;
  gap: var(--aluna-panel-gap);
}

.aluna-split--segments-accordion .aluna-split__side,
.aluna-panel--segments-accordion {
  align-content: start;
  gap: var(--aluna-split-compact-gap, calc(var(--aluna-panel-gap) * 0.5));
}

.aluna-split--sticky .aluna-split__side,
.aluna-split__side.aluna-panel--sticky {
  position: sticky;
  top: var(--aluna-panel-sticky-top);
}

.aluna-split--fixed.aluna-split--focused .aluna-split__side,
.aluna-split--focused .aluna-split__side.aluna-panel--fixed {
  height: var(--aluna-layout-body-min-height) !important;
  min-height: var(--aluna-layout-body-min-height) !important;
  max-height: var(--aluna-layout-body-min-height) !important;
}

.aluna-split--fixed.aluna-split--focused .aluna-split__side,
.aluna-split--focused .aluna-split__side.aluna-panel--fixed {
  position: fixed !important;
  right: var(--aluna-layout-pad-inline) !important;
  width: var(--aluna-layout-column-width) !important;
  z-index: 2;
}

.aluna-split--main-normal-flow.aluna-split--fixed.aluna-split--focused .aluna-split__main {
  height: auto !important;
  max-height: none !important;
  min-height: var(--aluna-layout-body-min-height) !important;
  overflow: visible;
  overscroll-behavior: auto;
  position: static !important;
  scrollbar-gutter: auto;
  width: auto !important;
}

.aluna-split .aluna-panel--content-scroll {
  max-height: none;
  overflow: visible;
}

.aluna-split__segment {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.aluna-split__segment--fixed {
  flex: none;
}

.aluna-split__segment--persistent {
  order: -1;
}

.aluna-panel--segments-accordion .aluna-split__segment {
  gap: var(--aluna-split-compact-gap, 12px);
}

.aluna-panel--segments-accordion .aluna-split__segment--compactable {
  padding-block: var(--aluna-split-compact-pad, 12px);
}

.aluna-split__toggle {
  align-items: center;
  appearance: none;
  background: transparent;
  border: 0;
  color: inherit;
  cursor: pointer;
  display: flex;
  font: inherit;
  font-weight: 800;
  gap: 10px;
  justify-content: space-between;
  padding: 0;
  text-align: left;
  width: 100%;
}

.aluna-split__segment[aria-expanded="false"] > :not(.aluna-split__toggle) {
  display: none;
}

@media (min-width: 960px) {
  .aluna-panel-layout--split,
  .aluna-panel-layout[data-aluna-panel-layout="split"] {
    grid-template-columns: minmax(var(--aluna-panel-main-min), 1fr) minmax(0, 1fr);
  }

  .aluna-split__layout {
    grid-template-columns: minmax(var(--aluna-panel-main-min), 1fr) minmax(0, 1fr);
  }
}

@media (max-width: 959px) {
  .aluna-panel--segment-inset {
    padding: var(--aluna-segment-padding-compact, var(--aluna-segment-padding, 26px));
  }

  .aluna-shell--fixed {
    height: auto;
    min-height: 0;
    overflow: visible;
  }

  .aluna-panel--content-scroll,
  .aluna-panel--modal {
    max-height: none;
    overflow: visible;
  }

  .aluna-panel--sticky {
    position: static;
  }

  .aluna-split--sticky .aluna-split__side,
  .aluna-split__side.aluna-panel--sticky,
  .aluna-split--main-normal-flow.aluna-split--fixed.aluna-split--focused .aluna-split__main,
  .aluna-split--fixed.aluna-split--focused .aluna-split__side,
  .aluna-split--fixed .aluna-split__side,
  .aluna-split--focused .aluna-split__side.aluna-panel--fixed,
  .aluna-split__side.aluna-panel--fixed {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    position: static !important;
    width: auto !important;
  }
}

@media (max-width: 767px) {
  .aluna-split--focused.aluna-shell {
    padding:
      var(--aluna-layout-top)
      var(--aluna-layout-pad-inline-mobile, clamp(0px, var(--aluna-layout-pad-inline), 24px))
      var(--aluna-layout-pad-block-mobile, 0px);
  }

  .aluna-assistant-shell .aluna-layout-footer {
    border-radius: var(--aluna-layout-footer-radius-mobile, 0px);
  }

  .aluna-shell {
    padding-block: clamp(40px, 10vw, 64px);
  }

  .aluna-shell-inner {
    padding-inline: var(--aluna-shell-pad-x-mobile);
  }

  .aluna-split--footer-fixed-frame.aluna-split--focused > .aluna-layout-footer {
    bottom: auto !important;
    left: auto !important;
    position: static !important;
    right: auto !important;
    width: 100% !important;
  }
}

body:is(.page-id-6, .page-id-8, .page-id-9, .page-id-10, .page-id-11, .page-id-12, .page-id-22) {
  background: var(--aluna-theme-page-bg, #fdfbf7);
  color: var(--aluna-theme-text, #232320);
}

body .scroll-top,
body .scroll-top :is(svg, path, .screen-reader-text) {
  color: var(--aluna-theme-action, #173F2F) !important;
  fill: currentColor !important;
}

body .scroll-top:is(:hover, :focus-visible),
body .scroll-top:is(:hover, :focus-visible) :is(svg, path, .screen-reader-text) {
  color: var(--aluna-theme-action-hover, #245A3E) !important;
  fill: currentColor !important;
}

body #load.spinner-loader {
  background: var(--aluna-theme-page-bg, #fdfbf7) !important;
  color: var(--aluna-theme-action, #173F2F) !important;
}

body:is(.page-id-6, .page-id-8, .page-id-9, .page-id-11, .page-id-22) .masthead,
body:is(.page-id-6, .page-id-8, .page-id-9, .page-id-11, .page-id-22) #main-slideshow,
body:is(.page-id-6, .page-id-8, .page-id-9, .page-id-11, .page-id-22) .page-title {
  display: none;
}

body:is(.page-id-6, .page-id-8, .page-id-9, .page-id-11, .page-id-22) .wf-wrap {
  max-width: none;
  padding: 0;
}

body:is(.page-id-6, .page-id-8, .page-id-9, .page-id-11, .page-id-22) #main,
body:is(.page-id-6, .page-id-8, .page-id-9, .page-id-11, .page-id-22) .content,
body:is(.page-id-6, .page-id-8, .page-id-9, .page-id-11, .page-id-22) #content {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}


body.page-id-8 {
  --aluna-service-hero-heading-accent: var(--aluna-theme-action-hover, #245A3E);
  --aluna-service-content-heading-accent: var(--aluna-theme-muted, #5F7449);
  --aluna-display-italic-accent: var(--aluna-service-hero-heading-accent);
  --aluna-heading-italic-accent: var(--aluna-service-content-heading-accent);
}

body.page-id-8 [data-id="pcfaqsection"] {
  background-color: var(--aluna-theme-page-bg, #fdfbf7) !important;
}


body.page-id-9 {
  --aluna-service-hero-heading-accent: var(--urgent-red);
  --aluna-service-content-heading-accent: var(--urgent-text);
  --aluna-display-italic-accent: var(--aluna-service-hero-heading-accent);
  --aluna-heading-italic-accent: var(--aluna-service-content-heading-accent);
}


body.page-id-10 {
  --aluna-service-hero-heading-accent: var(--eol-plum-900);
  --aluna-service-content-heading-accent: var(--eol-plum-700);
  --aluna-display-italic-accent: var(--aluna-service-hero-heading-accent);
  --aluna-heading-italic-accent: var(--aluna-service-content-heading-accent);
}


body.page-id-12 {
  --aluna-service-hero-heading-accent: var(--bloodbank-red, #A33B32);
  --aluna-service-content-heading-accent: var(--bloodbank-red, #A33B32);
  --aluna-display-italic-accent: var(--aluna-service-hero-heading-accent);
  --aluna-heading-italic-accent: var(--aluna-service-content-heading-accent);
  --aluna-blood-dark-surface: color-mix(in srgb, var(--aluna-theme-overlay, #3A2D28) 92%, var(--aluna-theme-shadow, #2B211B));
  --aluna-blood-dark-surface-alt: color-mix(in srgb, var(--aluna-theme-overlay, #343432) 86%, var(--aluna-theme-wood, #D8A84F));
  --aluna-blood-dark-text: var(--aluna-theme-panel, #FFFCF7);
  --aluna-blood-dark-muted: color-mix(in srgb, var(--aluna-theme-panel, #FFFCF7) 76%, transparent);
}

/* === Blood Bank original CSS restoration 2026-05-06 === */

body.page-id-12 :is(
  [data-id="bbwhy"],
  [data-id="bbstatsnative"],
  [data-id="bbmodel"],
  [data-id="bbdonornative"],
  [data-id="bbproductsnative"],
  [data-id="bbwho"],
  [data-id="bbstandards"],
  [data-id="bbpartnersnative"],
  [data-id="bbinvolve"],
  [data-id="bbcontactnative"],
  [data-id="bbnctas"]
) {
  scroll-margin-top: clamp(92px, 10vw, 126px);
}

body.page-id-12 .aluna-page--blood-bank :is(
  [data-id="bbwhy"],
  [data-id="bbstatsnative"],
  [data-id="bbmodel"],
  [data-id="bbdonornative"],
  [data-id="bbwho"],
  [data-id="bbstandards"],
  [data-id="bbpartnersnative"],
  [data-id="bbinvolve"],
  [data-id="bbcontactnative"],
  [data-id="bbnctas"]
) {
  background-color: var(--aluna-theme-page-bg, #F7F0E6) !important;
  color: var(--aluna-theme-text, #25231F) !important;
}

body.page-id-12 .aluna-page--blood-bank :is(.stat-grid-native, [data-id="bbstatsgrid"]) {
  background: color-mix(in srgb, var(--aluna-theme-card, #FFFDF8) 18%, transparent) !important;
}

body.page-id-12 .aluna-page--blood-bank :is(.aluna-primary-hero-stage, .aluna-native-hero) {
  --hero-accent: var(--aluna-blood-accent, var(--thread, #ad3d27));
  overflow: clip;
  padding-bottom: clamp(48px, 6vw, 78px);
  padding-top: clamp(112px, 10vw, 138px);
}

body.page-id-12 .aluna-page--blood-bank :is(.aluna-primary-hero-stage, .aluna-native-hero) :is(.aluna-kicker, .aluna-branded-eyebrow) {
  align-items: center;
  color: var(--hero-accent) !important;
  display: inline-flex;
  gap: 12px;
  margin: 0 0 18px;
  text-wrap: balance;
}

body.page-id-12 .aluna-page--blood-bank :is(.aluna-primary-hero-stage, .aluna-native-hero) :is(.aluna-kicker, .aluna-branded-eyebrow)::before {
  background: var(--hero-accent);
  content: "";
  display: inline-block;
  height: 2px;
  width: 34px;
}

body.page-id-12 .aluna-page--blood-bank :is(.aluna-primary-hero-stage, .aluna-native-hero) .aluna-display {
  text-wrap: balance;
}

body.page-id-12 .aluna-page--blood-bank :is(.aluna-primary-hero-stage, .aluna-native-hero) .aluna-display em {
  color: var(--hero-accent);
  font-style: var(--e-global-typography-aluna-display-italic-font-style, italic);
}

body.page-id-12 .aluna-page--blood-bank :is(h1, h2, h3, .elementor-heading-title) > span[style*="color"] {
  color: var(--bloodbank-plasma, var(--aluna-theme-wood, #D8A84F)) !important;
}

body.page-id-12 .aluna-page--blood-bank [data-id="bbproductsnative"] {
  background-color: var(--aluna-theme-overlay, #25231F) !important;
}

body.page-id-12 .aluna-page--blood-bank [data-id^="bbmodelstep"][data-id$="copy"],
body.page-id-12 .aluna-page--blood-bank [data-id="0882f70"] {
  border-color: var(--aluna-theme-divider, #E8DDCC) !important;
}

body.page-id-12 .aluna-page--blood-bank [data-id="bbproductsnative"] :is(
  [data-id="bbprod0"],
  [data-id="bbplatelet"]
) {
  background-color: var(--aluna-blood-dark-surface, #3A2D28) !important;
  border-color: var(--aluna-theme-thread, #A9473A) !important;
  color: var(--aluna-blood-dark-text, #FFFCF7) !important;
}

body.page-id-12 .aluna-page--blood-bank [data-id="bbproductsnative"] [data-id="bbprod1"] {
  background-color: var(--aluna-blood-dark-surface-alt, #43392D) !important;
  border-color: var(--bloodbank-plasma, var(--aluna-theme-wood, #D8A84F)) !important;
  color: var(--aluna-blood-dark-text, #FFFCF7) !important;
}

body.page-id-12 .aluna-page--blood-bank [data-id="bbproductsnative"] :is(
  [data-id="6d663b2"],
  [data-id="caed431"]
) {
  background-color: color-mix(in srgb, var(--aluna-blood-dark-surface-alt, #343432) 82%, var(--aluna-theme-card, #FFFDF8)) !important;
  color: var(--aluna-blood-dark-text, #FFFCF7) !important;
}

body.page-id-12 .aluna-page--blood-bank [data-id="bbproductsnative"] :is(
  [data-id="bbprod0"],
  [data-id="bbprod1"],
  [data-id="6d663b2"],
  [data-id="caed431"],
  [data-id="bbplatelet"]
) :is(.elementor-heading-title, h3, p, .elementor-widget-text-editor, .product-meta) {
  color: var(--aluna-blood-dark-muted, color-mix(in srgb, var(--aluna-theme-panel, #FFFCF7) 76%, transparent)) !important;
}

body.page-id-12 .aluna-page--blood-bank [data-id="bbproductsnative"] :is(
  [data-id="bbprod0"],
  [data-id="bbprod1"],
  [data-id="6d663b2"],
  [data-id="caed431"],
  [data-id="bbplatelet"]
) :is(h3, h4, h5, h6, h3.elementor-heading-title, .elementor-widget-heading .elementor-heading-title) {
  color: var(--aluna-blood-dark-text, #FFFCF7) !important;
}

body.page-id-12 .aluna-page--blood-bank [data-id^="bbmodelstep"] .elementor-widget-icon :is(.elementor-icon, svg, path) {
  color: var(--aluna-theme-thread, #A9473A) !important;
  border-color: currentColor !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

body.page-id-12 .aluna-page--blood-bank :is(.aluna-primary-hero-stage, .aluna-native-hero) .aluna-lede {
  text-wrap: pretty;
}

body.page-id-12 .aluna-page--blood-bank :is(.aluna-primary-hero-stage, .aluna-native-hero) .aluna-lede p {
  margin: 0;
}

body.page-id-12 .aluna-page--blood-bank :is(.aluna-primary-hero-stage, .aluna-native-hero) .aluna-service-hero__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: clamp(28px, 4vw, 44px);
  margin-top: clamp(24px, 3vw, 34px);
}

body.page-id-12 .aluna-page--blood-bank :is(.aluna-primary-hero-stage, .aluna-native-hero) .aluna-service-hero__actions :is(.elementor-button, .aluna-button) {
  align-items: center;
  border-radius: 999px;
  box-shadow: none;
  display: inline-flex;
  justify-content: center;
  min-height: 48px;
  padding: 14px 24px;
  text-decoration: none;
}

body.page-id-12 .aluna-page--blood-bank :is(.aluna-primary-hero-stage, .aluna-native-hero) .aluna-service-hero__stats {
  border-top: 1px solid color-mix(in srgb, var(--aluna-theme-border, #2f5238) 14%, transparent);
  display: grid;
  gap: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: clamp(8px, 1vw, 14px);
  padding-top: clamp(20px, 3vw, 28px);
}

body.page-id-12 .aluna-page--blood-bank .aluna-service-hero__stat {
  min-width: 0;
  padding-left: clamp(18px, 2.2vw, 24px);
  padding-right: clamp(18px, 2.2vw, 24px);
}

body.page-id-12 .aluna-page--blood-bank .aluna-service-hero__stat:first-child {
  padding-left: 0;
}

body.page-id-12 .aluna-page--blood-bank .aluna-native-editorial__grid {
  align-items: start;
  display: grid;
  gap: clamp(32px, 5vw, 76px);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  width: 100%;
}

body.page-id-12 .aluna-page--blood-bank .aluna-native-editorial__left,
body.page-id-12 .aluna-page--blood-bank .aluna-native-editorial__right {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

body.page-id-12 .aluna-page--blood-bank .aluna-native-editorial__left {
  gap: clamp(12px, 1.7vw, 20px);
}

body.page-id-12 .aluna-page--blood-bank .aluna-native-editorial__right {
  gap: clamp(14px, 1.9vw, 24px);
}

body.page-id-12 .aluna-page--blood-bank :is(.aluna-native-editorial__lead, .aluna-native-editorial__copy, .bb-native-contact-copy) {
  max-width: 680px;
}

body.page-id-12 .aluna-page--blood-bank .aluna-native-editorial__callout {
  background: var(--aluna-theme-page-bg, #f6f1e8);
  border-left: 3px solid var(--sage, #5f7d61);
  border-radius: 0 18px 18px 0;
  padding: 1rem 1.1rem;
}

body.page-id-12 .aluna-page--blood-bank .aluna-native-editorial__callout p {
  margin: 0;
}

body.page-id-12 .aluna-page--blood-bank .clinic-category .elementor-heading-title {
  color: var(--sage-dark, #2f5238);
  letter-spacing: var(--e-global-typography-aluna-label-letter-spacing, 0.08em);
  line-height: 1.25;
  margin: 0;
  text-transform: var(--e-global-typography-aluna-label-text-transform, uppercase);
}

body.page-id-12 .aluna-page--blood-bank .aluna-native-process__step-title .elementor-heading-title,
body.page-id-12 .aluna-page--blood-bank .bb-native-product-title .elementor-heading-title,
body.page-id-12 .aluna-page--blood-bank .bb-native-callout-title .elementor-heading-title,
body.page-id-12 .aluna-page--blood-bank .bb-native-milestone-title .elementor-heading-title {
  line-height: 1.08;
  margin: 0 0 8px;
}

body.page-id-12 .aluna-page--blood-bank .aluna-native-process__step-body p {
  margin: 0;
}

body.page-id-12 .aluna-page--blood-bank .aluna-native-involve__card {
  box-sizing: border-box;
  min-width: 0;
  background: color-mix(in srgb, var(--aluna-theme-panel, #fffdf8) 5.5%, transparent);
  border: 1px solid color-mix(in srgb, var(--aluna-theme-panel, #fffdf8) 14%, transparent);
  border-radius: var(--aluna-radius-card, 16px);
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 100%;
}

body.page-id-12 .aluna-page--blood-bank .bb-native-donor-card .bb-native-card-copy {
  flex: 1 1 auto;
}

body.page-id-12 .aluna-page--blood-bank .bb-native-card-foot {
  margin-top: auto;
  width: 100%;
}

body.page-id-12 .aluna-page--blood-bank .product-meta p,
body.page-id-12 .aluna-page--blood-bank .bb-native-card-foot-copy p,
body.page-id-12 .aluna-page--blood-bank .bb-native-callout-copy p {
  margin: 0;
}

body.page-id-12 .aluna-page--blood-bank .donate-section {
  background: var(--sage-dark, #2f5238);
  padding: clamp(64px, 8vw, 96px) clamp(20px, 5vw, 56px);
}

body.page-id-12 .aluna-page--blood-bank .donate-section .section-label {
  color: var(--aluna-theme-wood, #A1742A);
}

body.page-id-12 .aluna-page--blood-bank .donate-section .section-label::before {
  background: var(--thread-soft, #d98273);
}

body.page-id-12 .aluna-page--blood-bank .aluna-native-involve__grid {
  display: grid;
  gap: clamp(16px, 2vw, 24px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: clamp(24px, 3.2vw, 42px);
  width: 100%;
}

body.page-id-12 .aluna-page--blood-bank .aluna-native-involve__label .elementor-heading-title {
  margin: 0 0 12px;
}

body.page-id-12 .aluna-page--blood-bank .aluna-native-involve__title .elementor-heading-title {
  margin: 0 0 12px;
}

body.page-id-12 .aluna-page--blood-bank .bb-native-clinic-list:not(.aluna-arrow-list) .clinic-row {
  align-items: center;
  border-top: 1px solid color-mix(in srgb, var(--aluna-theme-border, #2f5238) 10%, transparent);
  display: flex;
  gap: 10px 14px;
  justify-content: space-between;
  min-width: 0;
  padding-block: 11px;
}

body.page-id-12 .aluna-page--blood-bank .bb-native-clinic-list .clinic-row:first-of-type {
  border-top: 0;
  padding-top: 0;
}

body.page-id-12 .aluna-page--blood-bank .aluna-native-service-cta--blood-bank {
  --aluna-button-secondary-border-source: var(--aluna-theme-panel, #ffffff);
  --aluna-button-secondary-hover-text: var(--aluna-theme-action-text, var(--aluna-theme-panel, #ffffff));
  --aluna-button-secondary-text: color-mix(in srgb, var(--aluna-theme-action-text, var(--aluna-theme-panel, #ffffff)) 88%, transparent);
  --aluna-heading-italic-accent: var(--sage-light, #b2c7ab);
  background: var(--sage-dark, #2f5238);
  margin-top: clamp(14px, 2vw, 24px);
  padding: clamp(48px, 7vw, 72px) clamp(20px, 5vw, 56px);
  text-align: center;
}

body.page-id-12 .aluna-page--blood-bank .aluna-native-service-cta__title .elementor-heading-title {
  color: var(--aluna-theme-panel, #ffffff);
  margin: 0 auto 16px;
  max-width: 640px;
}

body.page-id-12 .aluna-page--blood-bank .aluna-native-service-cta__lead p {
  color: color-mix(in srgb, var(--aluna-theme-panel, #ffffff) 74%, transparent);
  line-height: 1.68;
  margin: 0 auto clamp(22px, 3vw, 34px);
  max-width: 560px;
}

body.page-id-12 .aluna-page--blood-bank .aluna-native-service-cta__actions {
  background: transparent;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  padding: 0;
  width: 100%;
}

body.page-id-12 .aluna-page--blood-bank .aluna-native-service-cta__action-col {
  width: auto;
}

body.page-id-12 .aluna-page--blood-bank .aluna-native-service-cta__button {
  margin: 0;
}

body.page-id-12 .aluna-page--blood-bank .aluna-native-service-cta__button .elementor-button {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  justify-content: center;
  min-height: 50px;
  padding: 14px 34px;
  text-decoration: none;
}

body.page-id-12 .aluna-page--blood-bank .aluna-native-service-cta__button .elementor-button:hover {
  transform: translateY(-1px);
}

@media (min-width: 1180px) {
  body.page-id-12 .aluna-page--blood-bank :is(.aluna-primary-hero-stage, .aluna-native-hero) {
    padding-top: clamp(122px, 10vw, 150px);
  }
}

@media (max-width: 900px) {
  body.page-id-12 .aluna-page--blood-bank .aluna-native-editorial__grid,
  body.page-id-12 .aluna-page--blood-bank .aluna-native-involve__grid {
    grid-template-columns: 1fr;
  }

  body.page-id-12 .aluna-page--blood-bank .bb-native-clinic-list:not(.aluna-arrow-list) .clinic-row {
    align-items: flex-start;
    flex-direction: column;
  }

  body.page-id-12 .aluna-page--blood-bank .aluna-native-service-cta__actions {
    align-items: stretch;
    flex-direction: column;
  }

  body.page-id-12 .aluna-page--blood-bank .aluna-native-service-cta__action-col,
  body.page-id-12 .aluna-page--blood-bank .aluna-native-service-cta__button,
  body.page-id-12 .aluna-page--blood-bank .aluna-native-service-cta__button .elementor-button {
    width: 100%;
  }
}

@media (max-width: 860px) {
  body.page-id-12 .aluna-page--blood-bank :is(.aluna-primary-hero-stage, .aluna-native-hero) {
    padding-bottom: 42px;
    padding-top: 108px;
  }

  body.page-id-12 .aluna-page--blood-bank :is(.aluna-primary-hero-stage, .aluna-native-hero) .aluna-service-hero__actions {
    align-items: stretch;
    flex-direction: column;
  }

  body.page-id-12 .aluna-page--blood-bank :is(.aluna-primary-hero-stage, .aluna-native-hero) .aluna-service-hero__actions :is(.elementor-button, .aluna-button) {
    width: 100%;
  }

  body.page-id-12 .aluna-page--blood-bank :is(.aluna-primary-hero-stage, .aluna-native-hero) .aluna-service-hero__stats {
    margin-top: 28px;
  }
}

@media (max-width: 560px) {
  body.page-id-12 .aluna-page--blood-bank :is(.aluna-primary-hero-stage, .aluna-native-hero) {
    padding-top: 94px;
  }

  body.page-id-12 .aluna-page--blood-bank :is(.aluna-primary-hero-stage, .aluna-native-hero) .aluna-service-hero__stats {
    grid-template-columns: 1fr;
    padding-top: 10px;
  }

  body.page-id-12 .aluna-page--blood-bank .aluna-service-hero__stat {
    padding: 15px 0;
  }

  body.page-id-12 .aluna-page--blood-bank .aluna-service-hero__stat + .aluna-service-hero__stat {
    border-top: 1px solid color-mix(in srgb, var(--aluna-theme-border, #2f5238) 12%, transparent);
  }
}

/* Shared transient status feedback. Content and live-region behavior remain owned by each surface. */
.aluna-status-message {
  --aluna-status-accent: var(--aluna-theme-link, #1769b0);
  --aluna-status-surface: color-mix(in srgb, var(--aluna-status-accent) 12%, var(--aluna-theme-panel, #fff));
  --aluna-status-border: color-mix(in srgb, var(--aluna-status-accent) 30%, var(--aluna-theme-border, #d0d6ce));
  --aluna-status-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 10v6M12 7h.01'/%3E%3C/svg%3E");
  align-items: start;
  background: var(--aluna-status-surface);
  border: 1px solid var(--aluna-status-border);
  border-inline-start: var(--aluna-status-border-inline-start-width, 4px) solid var(--aluna-status-accent);
  border-radius: var(--aluna-form-field-radius, 12px);
  box-sizing: border-box;
  color: var(--aluna-theme-text, #161f13);
  display: grid !important;
  gap: 14px;
  grid-template-columns: 26px minmax(0, 1fr);
  line-height: 1.45;
  margin: 0;
  padding: 15px 17px;
}

.aluna-status-message:empty {
  display: none !important;
}

.aluna-status-message::before {
  background: var(--aluna-status-accent);
  content: '';
  display: block;
  height: 24px;
  margin-top: 1px;
  -webkit-mask: var(--aluna-status-icon) center / contain no-repeat;
  mask: var(--aluna-status-icon) center / contain no-repeat;
  width: 24px;
}

.aluna-status-message[data-aluna-status-tone='success'] {
  --aluna-status-accent: var(--aluna-theme-success, #2f6b55);
  --aluna-status-surface: var(--aluna-style-success-bg, var(--aluna-theme-success-bg, color-mix(in srgb, var(--aluna-theme-success, #2f6b55) 12%, var(--aluna-theme-panel, #fff))));
  --aluna-status-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12 2.6 2.6L16.5 9'/%3E%3C/svg%3E");
}

.aluna-status-message[data-aluna-status-tone='warning'] {
  --aluna-status-accent: var(--aluna-theme-notice, #a1742a);
  --aluna-status-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 21 20H3L12 3Z'/%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3C/svg%3E");
}

.aluna-status-message[data-aluna-status-tone='error'] {
  --aluna-status-accent: var(--aluna-form-error, var(--aluna-theme-clinical-boundary, #b8483b));
  --aluna-status-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v6M12 17h.01'/%3E%3C/svg%3E");
}

@media (max-width: 560px) {
  .aluna-status-message {
    gap: 12px;
    grid-template-columns: 22px minmax(0, 1fr);
    padding: 13px 14px;
  }

  .aluna-status-message::before {
    height: 21px;
    width: 21px;
  }
}


/* Booking pages */
[data-id^="af-booking-page-"] {
  background: var(--aluna-theme-page-bg, #f8f4ec);
}

[data-id^="af-booking-hero-"] .elementor-heading-title,
[data-id="af-consult-hero-title"] .elementor-heading-title {
  max-width: 9ch;
}

[data-id^="af-booking-hero-"] .elementor-heading-title em,
[data-id="af-consult-hero-title"] .elementor-heading-title em,
[data-id="af-consult-expect-title"] .elementor-heading-title em {
  color: var(--aluna-theme-action-hover, #5c7a5f);
  font-family: var(--aluna-display-italic-family);
  font-style: var(--e-global-typography-aluna-display-italic-font-style, italic);
}

[data-id^="af-booking-hero-"] .elementor-widget-text-editor p,
[data-id="af-consult-hero-lead"] .elementor-widget-text-editor p,
[data-id="af-booking-note-body"] .elementor-widget-text-editor p,
[data-id="af-consult-note-body"] .elementor-widget-text-editor p,
[data-id^="af-consult-expect-card-"] .elementor-widget-text-editor p {
  margin: 0;
}

[data-id="af-booking-note-card"],
[data-id="af-consult-note-card"] {
  border: 1px solid color-mix(in srgb, var(--aluna-theme-border, #344f38) 16%, transparent);
  border-radius: 18px;
  background: color-mix(in srgb, var(--aluna-theme-card, #fffcf5) 78%, transparent);
  box-shadow: 0 18px 40px color-mix(in srgb, var(--aluna-theme-text, #232320) 5%, transparent);
}

[data-id="af-consult-price"] .elementor-widget-text-editor {
  display: inline-flex;
}

[data-id="af-consult-price"] .elementor-widget-container {
  display: inline-flex;
}

[data-id="af-consult-price"] p {
  margin: 0;
  padding: 12px 16px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--aluna-theme-border, #344f38) 16%, transparent);
  background: color-mix(in srgb, var(--aluna-theme-card, #fffcf5) 85%, transparent);
  line-height: 1.3;
}

[data-id="af-consult-expect-title"] .elementor-heading-title {
  max-width: 10ch;
}

[data-id^="af-consult-expect-card-"] {
  width: calc(25% - 14px) !important;
  border: 1px solid var(--aluna-theme-border, #ddd5c6);
  border-radius: 24px;
  background: var(--aluna-theme-card, #fffcf8);
  padding: 24px;
  box-shadow: 0 18px 40px color-mix(in srgb, var(--aluna-theme-text, #232320) 5%, transparent);
}

.aluna-gf-booking-shell .elementor-shortcode,
.aluna-gf-booking-shell .gform_wrapper.gform-theme,
.aluna-gf-booking-shell .gform_wrapper.gravity-theme {
  width: 100%;
}

.aluna-gf-booking-shell .gform_wrapper.gform-theme,
.aluna-gf-booking-shell .gform_wrapper.gravity-theme {
  margin: 0 !important;
  padding: clamp(22px, 3vw, 34px) !important;
  border: 1px solid color-mix(in srgb, var(--aluna-theme-border, #344f38) 18%, transparent) !important;
  border-radius: 18px !important;
  background: color-mix(in srgb, var(--aluna-theme-card, #fffcf5) 82%, transparent) !important;
  box-shadow: 0 18px 40px color-mix(in srgb, var(--aluna-theme-text, #232320) 5%, transparent) !important;
}

@media (min-width: 782px) {
  .aluna-gf-booking-shell .gform_wrapper.gform-theme .ginput_complex,
  .aluna-gf-booking-shell .gform_wrapper.gravity-theme .ginput_complex {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }

  .aluna-gf-booking-shell .gform_wrapper.gform-theme .ginput_complex span,
  .aluna-gf-booking-shell .gform_wrapper.gravity-theme .ginput_complex span {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
  }
}

.aluna-gf-booking-shell .gform_wrapper.gform-theme .gfield_label,
.aluna-gf-booking-shell .gform_wrapper.gravity-theme .gfield_label,
.aluna-gf-booking-shell .gform_wrapper.gform-theme legend.gfield_label,
.aluna-gf-booking-shell .gform_wrapper.gravity-theme legend.gfield_label {
  color: var(--aluna-theme-text, #232321) !important;
  letter-spacing: 0.03em !important;
}

.aluna-gf-booking-shell .gform_wrapper.gform-theme .gfield_required,
.aluna-gf-booking-shell .gform_wrapper.gravity-theme .gfield_required {
  color: var(--aluna-theme-clinical-boundary, #a94b34) !important;
  font-style: normal !important;
}

.aluna-gf-booking-shell .gform_wrapper.gform-theme input[type="text"],
.aluna-gf-booking-shell .gform_wrapper.gform-theme input[type="tel"],
.aluna-gf-booking-shell .gform_wrapper.gform-theme input[type="email"],
.aluna-gf-booking-shell .gform_wrapper.gform-theme textarea,
.aluna-gf-booking-shell .gform_wrapper.gform-theme select,
.aluna-gf-booking-shell .gform_wrapper.gravity-theme input[type="text"],
.aluna-gf-booking-shell .gform_wrapper.gravity-theme input[type="tel"],
.aluna-gf-booking-shell .gform_wrapper.gravity-theme input[type="email"],
.aluna-gf-booking-shell .gform_wrapper.gravity-theme textarea,
.aluna-gf-booking-shell .gform_wrapper.gravity-theme select {
  min-height: 52px !important;
  border: 1px solid color-mix(in srgb, var(--aluna-theme-border, #344f38) 18%, transparent) !important;
  border-radius: 10px !important;
  background: var(--aluna-theme-field, #fffdf8) !important;
  color: var(--aluna-theme-text, #232321) !important;
  box-shadow: none !important;
}

.aluna-gf-booking-shell .gform_wrapper.gform-theme textarea,
.aluna-gf-booking-shell .gform_wrapper.gravity-theme textarea {
  min-height: 150px !important;
}

.aluna-gf-booking-shell .gform_wrapper.gform-theme .gfield_radio,
.aluna-gf-booking-shell .gform_wrapper.gravity-theme .gfield_radio {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

.aluna-gf-booking-shell .gform_wrapper.gform-theme .gchoice,
.aluna-gf-booking-shell .gform_wrapper.gravity-theme .gchoice {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
}

.aluna-gf-booking-shell .gform_wrapper.gform-theme .gfield_radio label,
.aluna-gf-booking-shell .gform_wrapper.gravity-theme .gfield_radio label {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 42px !important;
  padding: 10px 15px !important;
  border: 1px solid color-mix(in srgb, var(--aluna-theme-border, #344f38) 18%, transparent) !important;
  border-radius: 999px !important;
  background: var(--aluna-theme-field, #fffdf8) !important;
  color: var(--aluna-theme-muted, #69635c) !important;
}

.aluna-gf-booking-shell .gform_wrapper.gform-theme .gfield_description,
.aluna-gf-booking-shell .gform_wrapper.gravity-theme .gfield_description {
  color: var(--aluna-theme-muted, #69635c) !important;
  line-height: 1.6 !important;
}

.aluna-gf-booking-shell .gform_wrapper.gform-theme input[type="submit"],
.aluna-gf-booking-shell .gform_wrapper.gravity-theme input[type="submit"],
.aluna-gf-booking-shell .gform_wrapper.gform-theme .gform_button,
.aluna-gf-booking-shell .gform_wrapper.gravity-theme .gform_button {
  border-radius: 999px !important;
  padding: 0.9rem 1.3rem !important;
  background: var(--aluna-theme-action, #2e4a31) !important;
  color: var(--aluna-theme-panel, #fffaf4) !important;
  border: 0 !important;
  box-shadow: none !important;
}

@media (max-width: 1024px) {
  [data-id^="af-consult-expect-card-"] {
    width: calc(50% - 12px) !important;
  }
}

@media (max-width: 767px) {
  [data-id^="af-consult-expect-card-"] {
    width: 100% !important;
  }
}

/* Utility status pages */
[data-id^="af-status-page-"] {
  background: var(--aluna-theme-page-bg, #f8f4ec);
}

[data-id$="-hero-shell"] [data-widget_type="heading.default"] p.elementor-heading-title:first-child {
  margin: 0 0 10px;
  color: var(--aluna-theme-accent, #7b4b3a);
  letter-spacing: var(--e-global-typography-aluna-label-letter-spacing, 0.12em);
  text-transform: var(--e-global-typography-aluna-label-text-transform, uppercase);
}

[data-id$="-hero-shell"] h1.elementor-heading-title {
  line-height: 0.95;
  letter-spacing: -0.04em;
  max-width: 10ch;
}

[data-id$="-hero-shell"] .elementor-widget-text-editor p {
  margin: 0;
  max-width: 760px;
  line-height: 1.72;
}

.af-status-card,
.af-status-help-card {
  border: 1px solid color-mix(in srgb, var(--aluna-theme-border, #ddd5c6) 92%, transparent);
  border-radius: 22px;
  background: var(--aluna-theme-card, #fffcf8);
  box-shadow: 0 18px 40px color-mix(in srgb, var(--aluna-theme-text, #232320) 4%, transparent);
}

.af-status-card {
  width: calc(50% - 12px) !important;
}

.af-status-help-card {
  width: calc(33.333% - 12px) !important;
}

.af-status-card h2.elementor-heading-title,
[data-id$="-help-heading"] h2.elementor-heading-title {
  line-height: 0.98;
  letter-spacing: -0.03em;
}

.af-status-help-card h3.elementor-heading-title {
  line-height: 1.05;
  letter-spacing: -0.02em;
}

.af-status-card .elementor-widget-text-editor p,
.af-status-help-card .elementor-widget-text-editor p {
  margin: 0;
  line-height: 1.72;
}

.af-status-actions .elementor-button {
  border-radius: 999px;
  padding: 0.9rem 1.32rem;
  box-shadow: none;
  background: var(--aluna-theme-action, #2e4a31) !important;
  color: var(--aluna-theme-panel, #fffaf4) !important;
}

.af-status-actions [data-settings*="secondary"] .elementor-button,
.af-status-actions .elementor-element:last-child .elementor-button {
  border: 1px solid color-mix(in srgb, var(--aluna-theme-border, #344f38) 18%, transparent) !important;
  background: color-mix(in srgb, var(--aluna-theme-card, #fffcf5) 78%, transparent) !important;
  color: var(--aluna-theme-action, #2e4a31) !important;
}

@media (max-width: 1024px) {
  .af-status-card,
  .af-status-help-card {
    width: 100% !important;
  }
}

@media (max-width: 767px) {
  [data-id$="-hero-shell"] h1.elementor-heading-title {
  }
}

/* Policy pages */
.policy-hero .e-con-inner,
.terms-hero .e-con-inner,
.aluna-policy-document__header {
  margin-inline: auto;
  width: min(980px, calc(100% - 48px));
}

.policy-hero,
.terms-hero {
  padding-block: clamp(46px, 7vw, 82px) clamp(28px, 4vw, 48px);
}

.policy-hero .elementor-heading-title,
.terms-hero .elementor-heading-title,
.aluna-policy-document__title {
  max-width: 10ch;
}

.policy-hero .elementor-heading-title em,
.terms-hero .elementor-heading-title em,
.policy-section .elementor-heading-title em,
.core-rule .elementor-heading-title em {
  color: var(--aluna-theme-action-hover, #5c7a5f);
  font-family: var(--aluna-display-italic-family);
  font-style: var(--e-global-typography-aluna-display-italic-font-style, italic);
}

.policy-hero .elementor-widget-text-editor p,
.policy-section .elementor-widget-text-editor p,
.core-rule .elementor-widget-text-editor p {
  margin: 0;
}

.core-rule .e-con-inner,
.policy-layout .e-con-inner,
.terms-section .e-con-inner {
  max-width: 1140px;
}

.terms-section {
  margin-inline: auto;
  width: min(1140px, calc(100% - 48px));
}

.core-rule .aluna-col-100,
.terms-section .aluna-col-100 {
  max-width: 820px;
}

.core-rule .aluna-col-100 {
  padding: 28px 30px;
  border: 1px solid color-mix(in srgb, var(--aluna-theme-border, #344f38) 16%, transparent);
  border-radius: 22px;
  background: color-mix(in srgb, var(--aluna-theme-card, #fffcf5) 82%, transparent);
  box-shadow: 0 18px 40px color-mix(in srgb, var(--aluna-theme-text, #232320) 5%, transparent);
}

.policy-layout .policy-toc {
  position: sticky;
  top: 130px;
  align-self: flex-start;
  padding: 22px 22px 24px;
  border: 1px solid color-mix(in srgb, var(--aluna-theme-border, #344f38) 14%, transparent);
  border-radius: 20px;
  background: color-mix(in srgb, var(--aluna-theme-card, #fffcf5) 84%, transparent);
  box-shadow: 0 18px 40px color-mix(in srgb, var(--aluna-theme-text, #232320) 4%, transparent);
}

.policy-layout .policy-toc-label {
  margin: 0 0 12px;
  color: var(--aluna-theme-action, #2e4a31);
  letter-spacing: var(--e-global-typography-aluna-label-letter-spacing, 0.08em);
  text-transform: var(--e-global-typography-aluna-label-text-transform, uppercase);
}

.policy-layout .policy-toc ul {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 8px;
}

.policy-layout .policy-toc a {
  color: var(--aluna-theme-action, #2e4a31);
  text-decoration: none;
}

.policy-layout .policy-content {
  gap: 24px;
}

body.privacy-policy #main {
  padding: 0;
}

body.privacy-policy #main .wf-wrap,
body.privacy-policy #main .wf-container-main,
body.privacy-policy #content {
  box-sizing: border-box;
  max-width: none;
  padding-inline: 0;
  width: 100%;
}

.aluna-policy-document {
  width: 100%;
}

.aluna-policy-document__eyebrow,
.aluna-policy-document__title,
.aluna-policy-document__updated {
  margin: 0;
}

.aluna-policy-document__eyebrow {
  color: var(--aluna-theme-action-hover, #5c7a5f);
  margin-bottom: 15px;
}

.aluna-policy-document__updated {
  color: var(--aluna-theme-muted, #6c665e);
  margin-top: 18px;
}

.aluna-policy-document__body {
  color: var(--aluna-theme-muted, #6c665e);
  margin-inline: auto;
  max-width: 820px;
  padding-bottom: clamp(48px, 6vw, 76px);
  width: min(820px, calc(100% - 48px));
}

.aluna-policy-document__body h2 {
  color: var(--aluna-theme-text, #25231f);
  margin: clamp(28px, 4vw, 40px) 0 10px;
}

.aluna-policy-document__body h2:first-child {
  margin-top: 0;
}

.aluna-policy-document__body p {
  margin: 0 0 14px;
}

.aluna-policy-document__body ul {
  display: grid;
  gap: 8px;
  margin: 0 0 20px;
  padding-left: 1.25em;
}

.aluna-policy-document__body a {
  color: var(--aluna-theme-link, var(--aluna-theme-action, #2e4a31));
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
}

.aluna-policy-document__body a:hover,
.aluna-policy-document__body a:focus-visible {
  color: var(--aluna-theme-link-hover, var(--aluna-theme-action-hover, #5c7a5f));
}

.policy-section {
  padding: 28px 30px;
  border: 1px solid color-mix(in srgb, var(--aluna-theme-border, #ddd5c6) 92%, transparent);
  border-radius: 22px;
  background: var(--aluna-theme-card, #fffcf8);
  box-shadow: 0 18px 40px color-mix(in srgb, var(--aluna-theme-text, #232320) 4%, transparent);
}

.policy-section .policy-list {
  margin: 12px 0 0;
  padding-left: 18px;
  display: grid;
  gap: 8px;
}

.policy-section .callout-thread,
.policy-section .time-badge {
  margin-top: 14px;
  padding: 14px 16px;
  border-left: 3px solid color-mix(in srgb, var(--aluna-theme-action-hover, #5c7a5f) 52%, transparent);
  background: color-mix(in srgb, var(--aluna-theme-soft-fill, #5c7a5f) 8%, transparent);
  border-radius: 0 14px 14px 0;
}

.policy-section .contact-box-body {
  margin-top: 16px;
  border-top: 1px solid color-mix(in srgb, var(--aluna-theme-border, #ddd5c6) 90%, transparent);
  padding-top: 16px;
}

.policy-section .contact-row {
  width: calc(50% - 10px) !important;
  padding: 12px 0;
}

.policy-section .contact-label .elementor-heading-title {
  letter-spacing: var(--e-global-typography-aluna-label-letter-spacing, 0.04em);
  text-transform: var(--e-global-typography-aluna-label-text-transform, uppercase);
}

@media (max-width: 1024px) {
  .policy-layout .policy-toc,
  .policy-layout .policy-content,
  .policy-section .contact-row {
    width: 100% !important;
  }

  .policy-layout .policy-toc {
    position: static;
  }
}

@media (max-width: 767px) {
  .policy-hero,
  .terms-hero {
    padding-top: 72px;
  }

  .policy-section,
  .core-rule .aluna-col-100 {
    padding: 22px 20px;
  }
}

/* AlunaPlus restoration */
body.page-id-22 .aluna-native-page-shell > :is(.e-con-inner, .elementor-container) {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

body.page-id-22 [data-id="aplabel"] .elementor-heading-title,
body.page-id-22 [data-id="apserviceslabel"] .elementor-heading-title {
  letter-spacing: var(--e-global-typography-aluna-label-letter-spacing, 0.08em);
  text-transform: var(--e-global-typography-aluna-label-text-transform, uppercase);
}

body.page-id-22 [data-id="aptitle"] .elementor-heading-title {
  max-width: 14ch;
  line-height: 0.96;
  letter-spacing: -0.03em;
}

body.page-id-22 :is([data-id="aptitle"], [data-id="apintrotitle"], [data-id="aphubtitle"]) em {
  color: var(--aluna-theme-action-hover, #5c7a5f);
  font-family: var(--aluna-display-italic-family);
  font-style: var(--e-global-typography-aluna-display-italic-font-style, italic);
}

body.page-id-22 :is([data-id="apintrotitle"], [data-id="aphubtitle"]) .elementor-heading-title {
  line-height: 1;
  letter-spacing: -0.03em;
  max-width: 16ch;
}

body.page-id-22 :is([data-id="aplead"], [data-id="apintrocopy0"], [data-id="apintrocopy1"], [data-id="aphubcopy"], [data-id^="apcard"][data-id$="copy"]) p {
  margin: 0;
  line-height: 1.65;
}

body.page-id-22 [data-id="apservicesgrid"] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

body.page-id-22 [data-id^="apcard"].aluna-native-card {
  box-shadow: 0 18px 40px color-mix(in srgb, var(--aluna-theme-text, #232320) 5%, transparent);
  height: 100%;
}

body.page-id-22 [data-id^="apcard"][data-id$="title"] .elementor-heading-title {
  line-height: 1.08;
  letter-spacing: -0.02em;
}

body.page-id-22 :is([data-id="apherobtn0"], [data-id="apherobtn1"], [data-id^="apcard"][data-id$="link"]) .elementor-button {
  border-radius: 999px;
  box-shadow: none;
  letter-spacing: 0;
  padding: 0.9rem 1.3rem;
}

body.page-id-22 [data-id="apherobtn0"] .elementor-button {
  background: var(--aluna-theme-action, #2e4a31) !important;
  color: var(--aluna-theme-panel, #fffaf4) !important;
}

body.page-id-22 :is([data-id="apherobtn1"], [data-id^="apcard"][data-id$="link"]) .elementor-button {
  background: transparent !important;
  border: 1px solid color-mix(in srgb, var(--aluna-theme-action, #2e4a31) 18%, transparent) !important;
  color: var(--aluna-theme-action, #2e4a31) !important;
}

@media (max-width: 1024px) {
  body.page-id-22 [data-id="apservicesgrid"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  body.page-id-22 [data-id="aptitle"] .elementor-heading-title {
  }

  body.page-id-22 :is([data-id="apintrotitle"], [data-id="aphubtitle"]) .elementor-heading-title {
  }

  body.page-id-22 [data-id="apservicesgrid"] {
    grid-template-columns: 1fr;
  }
}

/* About restoration */
body.page-id-13 .aluna-native-kicker .elementor-heading-title {
  align-items: center;
  color: var(--sage) !important;
  display: flex;
  gap: 12px;
  letter-spacing: var(--e-global-typography-aluna-label-letter-spacing, 0.16em) !important;
  margin: 0 0 18px !important;
  text-transform: var(--e-global-typography-aluna-label-text-transform, uppercase);
}

body.page-id-13 .aluna-native-kicker .elementor-heading-title::before {
  background: var(--thread-soft);
  content: "";
  display: block;
  height: 1px;
  width: 24px;
}

body.page-id-13 .aluna-native-title .elementor-heading-title {
  color: var(--charcoal) !important;
  margin: 0 0 clamp(18px, 2.2vw, 28px) !important;
}

body.page-id-13 .aluna-native-title em {
  color: var(--sage) !important;
  font-family: var(--aluna-display-italic-family) !important;
  font-style: var(--e-global-typography-aluna-display-italic-font-style, italic);
}

body.page-id-13 :is(.aluna-native-lead, .aluna-native-body) {
  margin: 0 !important;
}

body.page-id-13 :is(.aluna-native-lead p, .aluna-native-body p) {
  color: var(--mid) !important;
  line-height: 1.75 !important;
  margin: 0 0 18px !important;
  max-width: 72ch;
}

body.page-id-13 .aluna-native-body p:last-child {
  margin-bottom: 0 !important;
}

body.page-id-13 .aluna-native-cta {
  color: color-mix(in srgb, var(--aluna-theme-panel, #f7f1e7) 74%, transparent) !important;
  overflow: hidden;
  text-align: center;
}

body.page-id-13 .aluna-native-cta > :is(.e-con-inner, .elementor-container) {
  margin-left: auto;
  margin-right: auto;
  max-width: 760px;
}

body.page-id-13 .aluna-native-cta .aluna-native-title .elementor-heading-title {
  color: var(--cream) !important;
}

body.page-id-13 .aluna-native-cta .aluna-native-title em {
  color: var(--sage-light) !important;
  font-family: var(--aluna-display-italic-family) !important;
  font-style: var(--e-global-typography-aluna-display-italic-font-style, italic);
}

body.page-id-13 .aluna-native-cta .aluna-native-lead p {
  color: color-mix(in srgb, var(--aluna-theme-panel, #f7f1e7) 72%, transparent) !important;
  margin-inline: auto !important;
  max-width: 58ch;
}

body.page-id-13 .aluna-native-values-grid {
  padding-top: 0 !important;
}

body.page-id-13 .aluna-native-values-grid > :is(.e-con-inner, .elementor-container) {
  display: grid;
  gap: clamp(18px, 2.6vw, 32px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(100%, var(--aluna-content-wide, 1180px));
}

body.page-id-13 .aluna-native-value-card {
  background: color-mix(in srgb, var(--aluna-theme-card, #fffaf2) 86%, transparent);
  border: 1px solid color-mix(in srgb, var(--aluna-theme-border, #2f5238) 15%, transparent);
  border-radius: var(--aluna-card-radius);
  min-width: 0;
  padding: clamp(24px, 3vw, 34px);
  width: auto !important;
}

body.page-id-13 .aluna-native-value-number .elementor-heading-title {
  align-items: center;
  background: color-mix(in srgb, var(--aluna-theme-soft-fill, #2f5238) 8%, transparent);
  border-radius: 999px;
  color: var(--sage) !important;
  display: inline-flex;
  height: 34px;
  justify-content: center;
  letter-spacing: 0.12em !important;
  margin: 0 0 20px !important;
  width: 46px;
}

body.page-id-13 .aluna-native-value-title .elementor-heading-title {
  color: var(--charcoal) !important;
  margin: 0 0 12px !important;
}

body.page-id-13 .aluna-native-value-copy p {
  color: var(--mid) !important;
  line-height: 1.68 !important;
  margin: 0 !important;
}

@media (max-width: 860px) {
  body.page-id-13 .aluna-native-values-grid > :is(.e-con-inner, .elementor-container) {
    grid-template-columns: 1fr;
  }
}

/* Emergency Transport restoration */
body.page-id-11 :is(.aluna-service-hero, .aluna-layout-section--hero, .aluna-native-hero) {
  --hero-accent: var(--aluna-transport-accent) !important;
}

body.page-id-11 .aluna-native-book-section {
  padding-block: clamp(56px, 8vw, 104px) !important;
}

body.page-id-11 .aluna-native-book-section > :is(.e-con-inner, .elementor-container) {
  align-items: stretch;
  display: grid;
  gap: clamp(28px, 5vw, 72px);
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
  margin-inline: auto;
  max-width: var(--aluna-page-max, 1180px);
}

body.page-id-11 .aluna-native-book-section__kicker .elementor-heading-title {
  align-items: center;
  color: var(--sage, #55775d) !important;
  display: flex;
  gap: 12px;
  letter-spacing: var(--e-global-typography-aluna-label-letter-spacing, 0.16em) !important;
  margin: 0 0 18px !important;
  text-transform: var(--e-global-typography-aluna-label-text-transform, uppercase);
}

body.page-id-11 .aluna-native-book-section__kicker .elementor-heading-title::before {
  background: var(--thread, #ad3d27);
  content: "";
  height: 1px;
  width: 28px;
}

body.page-id-11 .aluna-native-book-section__title .elementor-heading-title {
  color: var(--charcoal, #24211d) !important;
  margin: 0 0 24px !important;
}

body.page-id-11 .aluna-native-book-section__title em {
  color: var(--sage, #55775d) !important;
  font-family: var(--aluna-display-italic-family) !important;
  font-style: var(--e-global-typography-aluna-display-italic-font-style, italic);
}

body.page-id-11 :is(.aluna-native-book-section__lead p, .aluna-native-book-section__body p) {
  color: var(--mid, #69645d) !important;
  line-height: 1.78 !important;
  margin: 0 0 18px !important;
}

body.page-id-11 .aluna-native-book-section__card-col {
  background: color-mix(in srgb, var(--aluna-theme-card, #ffffff) 58%, transparent);
  border: 1px solid var(--line, #ddd9ce);
  border-radius: 18px;
  box-shadow: 0 20px 60px color-mix(in srgb, var(--aluna-theme-action, #1f3f2a) 8%, transparent);
}

body.page-id-11 .aluna-native-book-section__card {
  margin: 0 !important;
}

body.page-id-11 .aluna-native-book-section__card .aluna-native-card__title .elementor-heading-title,
body.page-id-11 .aluna-native-book-section__card h3,
body.page-id-11 .aluna-native-book-section__card-col .aluna-native-card__title .elementor-heading-title {
  color: var(--charcoal, #24211d) !important;
  margin: 0 0 14px !important;
}

body.page-id-11 :is(.aluna-native-book-section__card p, .aluna-native-book-section__card li, .aluna-native-book-section__fineprint p, .aluna-native-book-section__card-col .aluna-native-card__body p) {
  color: var(--mid, #69645d) !important;
  line-height: 1.7 !important;
}

body.page-id-11 .aluna-native-book-section__card ul {
  border-block: 1px solid var(--line, #ddd9ce);
  list-style: none;
  margin: 22px 0 26px !important;
  padding: 12px 0 !important;
}

body.page-id-11 .aluna-native-book-section__card li {
  margin: 0 !important;
  padding: 8px 0 8px 24px;
  position: relative;
}

body.page-id-11 .aluna-native-book-section__card li::before {
  color: var(--thread, #ad3d27);
  content: "→";
  left: 0;
  position: absolute;
}

body.page-id-11 .aluna-native-book-section__actions {
  background: transparent !important;
  padding: 0 !important;
  width: 100%;
}

body.page-id-11 .aluna-native-book-section__actions > :is(.e-con-inner, .elementor-container) {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

body.page-id-11 :is(.aluna-native-book-section__button, .aluna-native-book-section__button .elementor-button) {
  width: 100% !important;
}

body.page-id-11 .aluna-native-book-section__button .elementor-button {
  border-radius: 999px !important;
  min-height: 50px;
  padding: 14px 28px !important;
}

body.page-id-11 .aluna-native-book-section__button--primary .elementor-button {
  background: var(--sage-dark, #1f3f2a) !important;
  border: 1.5px solid var(--sage-dark, #1f3f2a) !important;
  color: var(--aluna-theme-panel, #ffffff) !important;
}

body.page-id-11 .aluna-native-book-section__button--secondary .elementor-button {
  background: transparent !important;
  border: 1.5px solid var(--line, #ddd9ce) !important;
  color: var(--charcoal, #24211d) !important;
}

body.page-id-11 .aluna-native-book-section__fineprint {
  margin: 16px 0 0 !important;
}

body.page-id-11 .aluna-native-book-section__fineprint p {
  margin: 0 !important;
}

body.page-id-11 #content a:not(.elementor-button):not(.aluna-button):not([class*="button"]) {
  color: var(--aluna-theme-link, #245A3E) !important;
}

body.page-id-11 #content a:not(.elementor-button):not(.aluna-button):not([class*="button"]):is(:hover, :focus-visible) {
  color: var(--aluna-theme-link-hover, #173F2F) !important;
}

/* Invalid/legacy Elementor payload fallback: keep the rendered transport copy
 * on the same Global Fonts contract while the page data repair remains a
 * separate content-structure task. */
body.page-id-11 #content {
  font-family: var(--e-global-typography-aluna-body-font-family, "Sora", system-ui, sans-serif);
  font-size: var(--e-global-typography-aluna-body-font-size, 1rem);
  font-style: var(--e-global-typography-aluna-body-font-style, normal);
  font-weight: var(--e-global-typography-aluna-body-font-weight, 300);
  line-height: var(--e-global-typography-aluna-body-line-height, 1.65);
}

body.page-id-11 #content h1 {
  font-family: var(--e-global-typography-aluna-h1-font-family, "Hanken Grotesk", system-ui, sans-serif) !important;
  font-size: var(--e-global-typography-aluna-h1-font-size, 3.2rem) !important;
  font-style: var(--e-global-typography-aluna-h1-font-style, normal) !important;
  font-weight: var(--e-global-typography-aluna-h1-font-weight, 400) !important;
  letter-spacing: var(--e-global-typography-aluna-h1-letter-spacing, -0.02em) !important;
  line-height: var(--e-global-typography-aluna-h1-line-height, 1.1) !important;
  text-transform: var(--e-global-typography-aluna-h1-text-transform, none) !important;
}

body.page-id-11 #content h2 {
  font-family: var(--e-global-typography-aluna-h2-font-family, "Hanken Grotesk", system-ui, sans-serif) !important;
  font-size: var(--e-global-typography-aluna-h2-font-size, 2.6rem) !important;
  font-style: var(--e-global-typography-aluna-h2-font-style, normal) !important;
  font-weight: var(--e-global-typography-aluna-h2-font-weight, 400) !important;
  letter-spacing: var(--e-global-typography-aluna-h2-letter-spacing, -0.02em) !important;
  line-height: var(--e-global-typography-aluna-h2-line-height, 1.16) !important;
  text-transform: var(--e-global-typography-aluna-h2-text-transform, none) !important;
}

body.page-id-11 #content h3 {
  font-family: var(--e-global-typography-aluna-h3-font-family, "Sora", system-ui, sans-serif) !important;
  font-size: var(--e-global-typography-aluna-h3-font-size, 1.6rem) !important;
  font-style: var(--e-global-typography-aluna-h3-font-style, normal) !important;
  font-weight: var(--e-global-typography-aluna-h3-font-weight, 500) !important;
  letter-spacing: var(--e-global-typography-aluna-h3-letter-spacing, -0.02px) !important;
  line-height: var(--e-global-typography-aluna-h3-line-height, 1.24) !important;
  text-transform: var(--e-global-typography-aluna-h3-text-transform, none) !important;
}

body.page-id-11 #content :is(p, li) {
  font-family: var(--e-global-typography-aluna-body-font-family, "Sora", system-ui, sans-serif);
  font-size: var(--e-global-typography-aluna-body-font-size, 1rem);
  font-style: var(--e-global-typography-aluna-body-font-style, normal);
  font-weight: var(--e-global-typography-aluna-body-font-weight, 300);
  letter-spacing: var(--e-global-typography-aluna-body-letter-spacing, 0);
  line-height: var(--e-global-typography-aluna-body-line-height, 1.65);
  text-transform: var(--e-global-typography-aluna-body-text-transform, none);
}

body.page-id-11 #content a {
  font-family: var(--e-global-typography-aluna-ui-font-family, "Sora", system-ui, sans-serif);
  font-size: var(--e-global-typography-aluna-ui-font-size, 0.9rem);
  font-style: var(--e-global-typography-aluna-ui-font-style, normal);
  font-weight: var(--e-global-typography-aluna-ui-font-weight, 500);
  line-height: var(--e-global-typography-aluna-ui-line-height, 1.25);
  text-transform: var(--e-global-typography-aluna-ui-text-transform, none);
}

body:is(.page-id-16, .page-id-17, .page-id-516) #content h1.wp-block-heading {
  font-family: var(--e-global-typography-aluna-h1-font-family, "Hanken Grotesk", system-ui, sans-serif) !important;
  font-size: var(--e-global-typography-aluna-h1-font-size, 3.2rem) !important;
  font-style: var(--e-global-typography-aluna-h1-font-style, normal) !important;
  font-weight: var(--e-global-typography-aluna-h1-font-weight, 400) !important;
  letter-spacing: var(--e-global-typography-aluna-h1-letter-spacing, -0.02em) !important;
  line-height: var(--e-global-typography-aluna-h1-line-height, 1.1) !important;
  text-transform: var(--e-global-typography-aluna-h1-text-transform, none) !important;
}

body:is(.page-id-16, .page-id-17, .page-id-516) #content p.wp-block-paragraph {
  font-family: var(--e-global-typography-aluna-body-font-family, "Sora", system-ui, sans-serif);
  font-size: var(--e-global-typography-aluna-body-font-size, 1rem);
  font-style: var(--e-global-typography-aluna-body-font-style, normal);
  font-weight: var(--e-global-typography-aluna-body-font-weight, 300);
  line-height: var(--e-global-typography-aluna-body-line-height, 1.65);
}

/* Preserve the Body role even when the retired Gravity Forms shortcode on the
 * legacy transport booking page is rendered as literal fallback text. */
body.page-id-18 #content .elementor-shortcode {
  font-family: var(--e-global-typography-aluna-body-font-family, "Sora", system-ui, sans-serif);
  font-size: var(--e-global-typography-aluna-body-font-size, 1rem);
  font-style: var(--e-global-typography-aluna-body-font-style, normal);
  font-weight: var(--e-global-typography-aluna-body-font-weight, 300);
  line-height: var(--e-global-typography-aluna-body-line-height, 1.65);
}

@media (max-width: 860px) {
  body.page-id-11 .aluna-native-book-section > :is(.e-con-inner, .elementor-container) {
    grid-template-columns: 1fr;
  }
}

body:is(.page-id-6, .page-id-8, .page-id-9, .page-id-10, .page-id-11, .page-id-12, .page-id-13, .page-id-14, .page-id-19, .page-id-22, .page-id-23, .page-id-516) :is(.aluna-layout-section, .aluna-native-editorial, .aluna-native-rebuilt, .aluna-native-page-shell, .aluna-native-hero) {
  background-color: var(--aluna-theme-page-bg, #fdfbf7) !important;
  color: var(--aluna-theme-text, #232320) !important;
}

body:is(.page-id-9, .page-id-10) :is([data-id="ucsymptoms"], [data-id="ucprocproc"], [data-id="eolteamnative"]) {
  background-color: var(--aluna-theme-page-bg, #fdfbf7) !important;
  color: var(--aluna-theme-text, #232320) !important;
}

body:is(.page-id-6, .page-id-8, .page-id-9, .page-id-10, .page-id-11, .page-id-12, .page-id-13, .page-id-14, .page-id-19, .page-id-22, .page-id-23, .page-id-516) :is(.elementor-heading-title, h1, h2, h3, h4, h5, h6) {
  color: var(--aluna-theme-text, #25231f) !important;
}

body:is(.page-id-6, .page-id-8, .page-id-9, .page-id-10, .page-id-11, .page-id-12, .page-id-13, .page-id-14, .page-id-19, .page-id-22, .page-id-23, .page-id-516) :is(.aluna-kicker, .aluna-branded-eyebrow, .aluna-section-label, .section-label, .hero-eyebrow),
body:is(.page-id-6, .page-id-8, .page-id-9, .page-id-10, .page-id-11, .page-id-12, .page-id-13, .page-id-14, .page-id-19, .page-id-22, .page-id-23, .page-id-516) :is(.aluna-kicker, .aluna-branded-eyebrow, .aluna-section-label, .section-label, .hero-eyebrow) :is(.elementor-heading-title, .elementor-widget-container) {
  color: var(--aluna-theme-action-hover, #245a3e) !important;
}

body:is(.page-id-6, .page-id-8, .page-id-9, .page-id-10, .page-id-11, .page-id-12, .page-id-13, .page-id-14, .page-id-19, .page-id-22, .page-id-23, .page-id-516) :is(.elementor-heading-title, h1, h2, h3, h4, h5, h6) em {
  color: var(--aluna-display-italic-accent, var(--aluna-theme-accent, #a9473a)) !important;
}

body:is(.page-id-6, .page-id-8, .page-id-9, .page-id-10, .page-id-11, .page-id-12, .page-id-13, .page-id-14, .page-id-19, .page-id-22, .page-id-23, .page-id-516) .elementor-widget-text-editor {
  color: var(--aluna-theme-muted, #6c665e) !important;
}

body:is(.page-id-6, .page-id-8, .page-id-9, .page-id-10, .page-id-11, .page-id-12, .page-id-13, .page-id-14, .page-id-19, .page-id-22, .page-id-23, .page-id-516) .elementor-widget-text-editor :is(p, li) {
  color: var(--aluna-theme-muted, #6c665e) !important;
}

body:is(.page-id-6, .page-id-8, .page-id-9, .page-id-10, .page-id-11, .page-id-12, .page-id-13, .page-id-14, .page-id-19, .page-id-22, .page-id-23, .page-id-516) .elementor-widget-text-editor a:not(.elementor-button) {
  color: var(--aluna-theme-link, #245a3e) !important;
}

body:is(.page-id-6, .page-id-8, .page-id-9, .page-id-10, .page-id-11, .page-id-12, .page-id-13, .page-id-14, .page-id-19, .page-id-22, .page-id-23, .page-id-516) .elementor-button.elementor-button-link:not(.aluna-button-primary):not(.aluna-button-secondary):not(.aluna-button-thread):not(.aluna-button-ghost):not(.aluna-button-hero):not(.aluna-button-nav) {
  color: var(--aluna-theme-link, #245a3e) !important;
}

body:is(.page-id-6, .page-id-8, .page-id-9, .page-id-10, .page-id-11, .page-id-12, .page-id-13, .page-id-14, .page-id-19, .page-id-22, .page-id-23, .page-id-516) .elementor-button.elementor-button-link:not(.aluna-button-primary):not(.aluna-button-secondary):not(.aluna-button-thread):not(.aluna-button-ghost):not(.aluna-button-hero):not(.aluna-button-nav) :is(.elementor-button-content-wrapper, .elementor-button-text) {
  color: inherit !important;
}

body:is(.page-id-6, .page-id-8, .page-id-9, .page-id-10, .page-id-11, .page-id-12, .page-id-13, .page-id-14, .page-id-19, .page-id-22, .page-id-23, .page-id-516) .elementor-divider-separator {
  border-color: var(--aluna-theme-divider, #e8ddcc) !important;
}

body:is(.page-id-6, .page-id-8, .page-id-9, .page-id-10, .page-id-11, .page-id-12, .page-id-13, .page-id-14, .page-id-19, .page-id-22, .page-id-23, .page-id-516) .elementor-accordion :is(.elementor-tab-title, .elementor-accordion-icon, .elementor-accordion-title) {
  color: var(--aluna-theme-action-hover, #245a3e) !important;
}

body:is(.page-id-6, .page-id-8, .page-id-9, .page-id-10, .page-id-11, .page-id-12, .page-id-13, .page-id-14, .page-id-19, .page-id-22, .page-id-23, .page-id-516) .elementor-accordion :is(.elementor-tab-title, .elementor-accordion-title) {
  font-family: var(--e-global-typography-aluna-accordion-list-font-family, "Hanken Grotesk", system-ui, sans-serif) !important;
  font-size: var(--e-global-typography-aluna-accordion-list-font-size, 1.3rem) !important;
  font-style: var(--e-global-typography-aluna-accordion-list-font-style, normal) !important;
  font-weight: var(--e-global-typography-aluna-accordion-list-font-weight, 600) !important;
  letter-spacing: var(--e-global-typography-aluna-accordion-list-letter-spacing, 0) !important;
  line-height: var(--e-global-typography-aluna-accordion-list-line-height, 1.2) !important;
  text-transform: var(--e-global-typography-aluna-accordion-list-text-transform, none) !important;
}

body:is(.page-id-6, .page-id-8, .page-id-9, .page-id-10, .page-id-11, .page-id-12, .page-id-13, .page-id-14, .page-id-19, .page-id-22, .page-id-23, .page-id-516) .elementor-widget-n-accordion :is(.e-n-accordion-item-title, .e-n-accordion-item-title-text, .e-n-accordion-item-title-icon) {
  color: var(--aluna-theme-text, #25231F) !important;
}

body:is(.page-id-6, .page-id-8, .page-id-9, .page-id-10, .page-id-11, .page-id-12, .page-id-13, .page-id-14, .page-id-19, .page-id-22, .page-id-23, .page-id-516) .elementor-widget-n-accordion :is(.e-n-accordion-item-title, .e-n-accordion-item-title-text) {
  font-family: var(--e-global-typography-aluna-accordion-list-font-family, "Hanken Grotesk", system-ui, sans-serif) !important;
  font-size: var(--e-global-typography-aluna-accordion-list-font-size, 1.3rem) !important;
  font-style: var(--e-global-typography-aluna-accordion-list-font-style, normal) !important;
  font-weight: var(--e-global-typography-aluna-accordion-list-font-weight, 600) !important;
  letter-spacing: var(--e-global-typography-aluna-accordion-list-letter-spacing, 0) !important;
  line-height: var(--e-global-typography-aluna-accordion-list-line-height, 1.2) !important;
  text-transform: var(--e-global-typography-aluna-accordion-list-text-transform, none) !important;
}

body:is(.page-id-6, .page-id-8, .page-id-9, .page-id-10, .page-id-11, .page-id-12, .page-id-13, .page-id-14, .page-id-19, .page-id-22, .page-id-23, .page-id-516) .elementor-accordion .elementor-accordion-icon :is(svg, path) {
  color: currentColor !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

body:is(.page-id-6, .page-id-8, .page-id-9, .page-id-10, .page-id-11, .page-id-12, .page-id-13, .page-id-14, .page-id-19, .page-id-22, .page-id-23, .page-id-516) .elementor-accordion :is(.elementor-accordion-item, .elementor-tab-content) {
  border-color: var(--aluna-theme-border, #ded3c3) !important;
}

body:is(.page-id-6, .page-id-8, .page-id-9, .page-id-10, .page-id-11, .page-id-12, .page-id-13, .page-id-14, .page-id-19, .page-id-22, .page-id-23, .page-id-516) .elementor-accordion .elementor-tab-content {
  color: var(--aluna-theme-text, #25231f) !important;
}

body:is(.page-id-6, .page-id-8, .page-id-9, .page-id-10, .page-id-11, .page-id-12, .page-id-13, .page-id-14, .page-id-19, .page-id-22, .page-id-23, .page-id-516) :is(.aluna-native-card, .aluna-primary-service-card, .aluna-people-card, .aluna-price-card, .service-card, .pricing-card, .route-card, .area-card, .aluna-native-involve__card) {
  background-color: var(--aluna-theme-card, #fffdf8) !important;
  border-color: var(--aluna-theme-border, #ded3c3) !important;
  color: var(--aluna-theme-text, #25231f) !important;
}

body:is(.page-id-6, .page-id-8, .page-id-9, .page-id-10, .page-id-11, .page-id-12, .page-id-13, .page-id-14, .page-id-19, .page-id-22, .page-id-23, .page-id-516) .aluna-native-process :is([class*="aluna-col-"], .e-con:has(.aluna-native-process__step-title)) {
  border-color: var(--aluna-theme-border, #ded3c3) !important;
}

body:is(.page-id-6, .page-id-8, .page-id-9, .page-id-10, .page-id-11, .page-id-12, .page-id-13, .page-id-14, .page-id-19, .page-id-22, .page-id-23, .page-id-516) .e-con:has(> .e-con-inner .aluna-native-process__title):has(> .e-con-inner .aluna-native-process__step-title) > .e-con-inner > :is([class*="aluna-col-"], .e-con:has(.aluna-native-process__step-title)) {
  border-color: var(--aluna-theme-border, #ded3c3) !important;
}

body:is(.page-id-6, .page-id-8, .page-id-9, .page-id-10, .page-id-11, .page-id-12, .page-id-13, .page-id-14, .page-id-19, .page-id-22, .page-id-23, .page-id-516) :is(.aluna-native-editorial, .aluna-native-bb-section__wrap) :is([class*="aluna-col-"], .e-con:has(.elementor-widget-heading + .elementor-widget-text-editor)) {
  border-color: var(--aluna-theme-border, #ded3c3) !important;
}

body:is(.page-id-6, .page-id-8, .page-id-9, .page-id-10, .page-id-11, .page-id-12, .page-id-13, .page-id-14, .page-id-19, .page-id-22, .page-id-23, .page-id-516) :is(.aluna-service-hero__actions, .aluna-native-service-cta__actions, .aluna-native-book-section__actions, [data-id*="btn"], [data-id*="link"]) .elementor-button {
  background-color: var(--aluna-theme-action, #173f2f) !important;
  border-color: var(--aluna-theme-action, #173f2f) !important;
  color: var(--aluna-theme-panel, #fffcf7) !important;
  fill: currentColor !important;
}

body:is(.page-id-6, .page-id-8, .page-id-9, .page-id-10, .page-id-11, .page-id-12, .page-id-13, .page-id-14, .page-id-19, .page-id-22, .page-id-23, .page-id-516) :is(.aluna-service-hero__actions, .aluna-native-service-cta__actions, .aluna-native-book-section__actions, [data-id*="btn"], [data-id*="link"]) .elementor-button :is(.elementor-button-content-wrapper, .elementor-button-text, svg, path) {
  fill: currentColor !important;
}

body:is(.page-id-6, .page-id-8, .page-id-9, .page-id-10, .page-id-11, .page-id-12, .page-id-13, .page-id-14, .page-id-19, .page-id-22, .page-id-23, .page-id-516) .aluna-service-hero :is(.e-con:has(.aluna-service-hero__actions), .e-con:has(.aluna-native-service-cta__actions)) {
  background-color: var(--aluna-theme-text, #25231f) !important;
}

/* Gravity Forms booking confirmations */
body .aluna-gf-booking-shell .gform_wrapper.gform-theme:has(.aluna-confirmation),
body .aluna-gf-booking-shell .gform_wrapper.gravity-theme:has(.aluna-confirmation) {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body .gform_wrapper.gform-theme .gform_confirmation_message:has(.aluna-confirmation),
body .gform_wrapper.gravity-theme .gform_confirmation_message:has(.aluna-confirmation) {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--charcoal, #25231f) !important;
  padding: 0 !important;
}

body .aluna-confirmation,
body .aluna-care-hub-handoff {
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--aluna-theme-panel, #fffcf7) 96%, transparent), color-mix(in srgb, var(--aluna-theme-page-bg, #f7f0e6) 86%, transparent)),
    var(--warm-white, #fffcf7) !important;
  border: 1px solid color-mix(in srgb, var(--aluna-theme-border, #245a3e) 14%, transparent) !important;
  border-radius: 20px !important;
  box-shadow: 0 22px 64px color-mix(in srgb, var(--aluna-theme-text, #25231f) 7%, transparent) !important;
  box-sizing: border-box !important;
  color: var(--charcoal, #25231f) !important;
  margin: 0 auto clamp(22px, 3vw, 34px) !important;
  max-width: 1160px !important;
  overflow: hidden !important;
  width: 100% !important;
}

body .aluna-confirmation {
  display: grid !important;
  gap: clamp(26px, 4vw, 58px) !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(260px, 0.72fr) !important;
  min-height: clamp(360px, 42vw, 520px) !important;
  padding: clamp(30px, 5vw, 68px) !important;
}

body .aluna-confirmation__copy {
  align-self: center !important;
  max-width: 680px !important;
}

body .aluna-confirmation__eyebrow {
  align-items: center !important;
  color: var(--sage, #245a3e) !important;
  display: inline-flex !important;
  gap: 12px !important;
  letter-spacing: var(--e-global-typography-aluna-label-letter-spacing, 0.12em) !important;
  line-height: 1.25 !important;
  margin: 0 0 18px !important;
  text-transform: var(--e-global-typography-aluna-label-text-transform, uppercase) !important;
}

body .aluna-confirmation__eyebrow::before {
  background: var(--thread, #a9473a) !important;
  content: "" !important;
  display: inline-block !important;
  height: 2px !important;
  width: 34px !important;
}

body .aluna-confirmation h2 {
  color: var(--charcoal, #25231f) !important;
  margin: 0 0 clamp(18px, 2.5vw, 26px) !important;
  max-width: 9.5ch !important;
}

body .aluna-confirmation__lead {
  color: color-mix(in srgb, var(--aluna-theme-text, #25231f) 76%, transparent) !important;
  line-height: 1.68 !important;
  margin: 0 0 clamp(22px, 3vw, 34px) !important;
  max-width: 60ch !important;
}

body .aluna-confirmation__steps {
  border-top: 1px solid color-mix(in srgb, var(--aluna-theme-border, #245a3e) 13%, transparent) !important;
  display: grid !important;
  gap: 0 !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body .aluna-confirmation__steps li {
  display: grid !important;
  gap: 8px !important;
  grid-template-columns: minmax(155px, 0.34fr) minmax(0, 1fr) !important;
  padding: 16px 0 !important;
}

body .aluna-confirmation__steps li + li {
  border-top: 1px solid color-mix(in srgb, var(--aluna-theme-border, #245a3e) 10%, transparent) !important;
}

body .aluna-confirmation__steps strong {
  color: var(--sage-dark, #173f2f) !important;
}

body .aluna-confirmation__steps span {
  color: color-mix(in srgb, var(--aluna-theme-text, #25231f) 74%, transparent) !important;
  line-height: 1.58 !important;
}

body .aluna-confirmation a {
  color: var(--aluna-theme-link, #173f2f) !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 0.18em !important;
}

body .aluna-confirmation__actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: clamp(22px, 3vw, 34px) !important;
}

body .aluna-confirmation .aluna-button,
body .aluna-care-hub-handoff a {
  align-items: center !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  justify-content: center !important;
  line-height: 1.2 !important;
  min-height: 48px !important;
  padding: 14px 22px !important;
  text-decoration: none !important;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease !important;
}

body .aluna-confirmation .aluna-button-primary,
body .aluna-care-hub-handoff a {
  background: var(--sage-dark, #173f2f) !important;
  border: 1px solid var(--sage-dark, #173f2f) !important;
  color: var(--cream, #f7f0e6) !important;
}

body .aluna-confirmation .aluna-button-secondary {
  background: color-mix(in srgb, var(--aluna-theme-panel, #fffcf7) 72%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--aluna-theme-border, #245a3e) 22%, transparent) !important;
  color: var(--charcoal, #25231f) !important;
}

body .aluna-confirmation .aluna-button:hover,
body .aluna-care-hub-handoff a:hover {
  transform: translateY(-1px) !important;
}

body .aluna-confirmation__art {
  align-self: stretch !important;
  background: linear-gradient(180deg, color-mix(in srgb, var(--aluna-theme-card, #fffaf2) 78%, transparent), color-mix(in srgb, var(--aluna-theme-border, #eee5d6) 52%, transparent)) !important;
  border: 1px dashed color-mix(in srgb, var(--aluna-theme-border, #245a3e) 24%, transparent) !important;
  border-radius: 18px !important;
  display: grid !important;
  isolation: isolate !important;
  margin: 0 !important;
  min-height: 320px !important;
  overflow: hidden !important;
  place-items: center !important;
  position: relative !important;
}

body .aluna-confirmation__arch {
  border: 2px solid color-mix(in srgb, var(--aluna-theme-wood, #a1742a) 26%, transparent) !important;
  border-bottom: 0 !important;
  border-radius: 999px 999px 0 0 !important;
  bottom: 18% !important;
  height: 58% !important;
  left: 50% !important;
  position: absolute !important;
  transform: translateX(-50%) !important;
  width: 48% !important;
  z-index: 1 !important;
}

body .aluna-confirmation__thread {
  background: var(--thread, #a9473a) !important;
  height: 2px !important;
  left: 13% !important;
  position: absolute !important;
  top: 43% !important;
  width: 74% !important;
  z-index: 3 !important;
}

body .aluna-confirmation__surface {
  background: color-mix(in srgb, var(--aluna-theme-soft-fill, #245a3e) 12%, transparent) !important;
  border-radius: 999px !important;
  bottom: 22% !important;
  height: 10px !important;
  left: 24% !important;
  position: absolute !important;
  width: 52% !important;
  z-index: 2 !important;
}

body .aluna-confirmation__art figcaption {
  display: none !important;
}

body .aluna-care-hub-handoff {
  padding: clamp(24px, 4vw, 44px) !important;
}

body .aluna-care-hub-handoff h3 {
  color: var(--sage-dark, #173f2f) !important;
  margin: 0 0 12px !important;
}

body .aluna-care-hub-handoff p {
  color: color-mix(in srgb, var(--aluna-theme-text, #25231f) 76%, transparent) !important;
  line-height: 1.62 !important;
  margin: 0 !important;
  max-width: 72ch !important;
}

body .aluna-care-hub-handoff p + p {
  margin-top: 20px !important;
}

@media (max-width: 860px) {
  body .aluna-confirmation {
    grid-template-columns: 1fr !important;
    padding: 24px !important;
  }

  body .aluna-confirmation h2 {
  }

  body .aluna-confirmation__art {
    min-height: 240px !important;
    order: -1 !important;
  }

  body .aluna-confirmation__steps li {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 560px) {
  body .aluna-confirmation,
  body .aluna-care-hub-handoff {
    border-radius: 16px !important;
  }

  body .aluna-confirmation {
    padding: 20px !important;
  }

  body .aluna-confirmation__actions,
  body .aluna-confirmation .aluna-button,
  body .aluna-care-hub-handoff a {
    width: 100% !important;
  }
}
