/**
 * SOLARA v3.7 — Native Block Builder Layer
 * --------------------------------------------------------------------------
 * Styles native WordPress blocks so the Gutenberg test page looks much closer
 * to the Base44 design while remaining safe and editable in the WP editor.
 */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,600&family=Mulish:wght@300;400;500;600;700&display=swap');

.solara-gutenberg-page,
.editor-styles-wrapper {
  --brand-orange: #E88752;
  --brand-terracotta: #B85C38;
  --brand-sand: #F4E6D8;
  --brand-cream: #FFF8F2;
  --brand-charcoal: #2D2A26;
  --font-heading: 'Cormorant Garamond', serif;
  --font-body: 'Mulish', sans-serif;
  background: var(--brand-cream);
  color: var(--brand-charcoal);
  font-family: var(--font-body);
}

.solara-gutenberg-page * { box-sizing: border-box; }
.solara-gutenberg-page a { color: inherit; text-decoration: none; }

.solara-gutenberg-page h1,
.solara-gutenberg-page h2,
.solara-gutenberg-page h3,
.solara-gutenberg-page h4,
.editor-styles-wrapper h1,
.editor-styles-wrapper h2,
.editor-styles-wrapper h3,
.editor-styles-wrapper h4 {
  font-family: var(--font-heading) !important;
  color: var(--brand-charcoal);
  font-weight: 400;
}

.solara-gutenberg-page p,
.solara-gutenberg-page li,
.editor-styles-wrapper p,
.editor-styles-wrapper li {
  font-family: var(--font-body) !important;
}

.solara-block-section {
  padding: 104px 24px;
  background: var(--brand-cream);
  margin: 0 !important;
}
.solara-block-inner { max-width: 1120px; margin: 0 auto; }
.solara-block-inner.narrow { max-width: 820px; }
.solara-block-eyebrow {
  font-family: var(--font-body) !important;
  font-size: 12px !important;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--brand-orange) !important;
  font-weight: 700;
  margin: 0 0 18px !important;
}
.solara-block-section-title {
  font-size: clamp(42px, 5.4vw, 68px) !important;
  line-height: .98 !important;
  letter-spacing: -.025em;
  margin: 0 auto 24px !important;
  max-width: 780px;
}
.solara-block-lead {
  font-size: 17px !important;
  line-height: 1.85 !important;
  color: rgba(45,42,38,.70) !important;
  max-width: 760px;
  margin-left: auto !important;
  margin-right: auto !important;
}
.solara-block-note {
  margin-top: 28px !important;
  color: var(--brand-terracotta) !important;
  font-weight: 700;
}

/* Hero */
.solara-block-hero {
  min-height: 96vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 160px 24px 94px;
  color: #fff;
  background:
    radial-gradient(circle at 50% 20%, rgba(232,135,82,.25), transparent 30%),
    linear-gradient(135deg, rgba(45,42,38,.58), rgba(184,92,56,.32)),
    url('https://images.unsplash.com/photo-1529156069898-49953e39b3ac?auto=format&fit=crop&w=2000&q=80') center/cover no-repeat;
}
/* v3.9: Removed hard-coded hero text colour so Gutenberg colour controls work. */
.solara-block-hero-date {
  display: inline-flex;
  width: fit-content;
  border: 1px solid rgba(255,255,255,.32);
  background: rgba(255,255,255,.12);
  backdrop-filter: blur(14px);
  padding: 10px 18px;
  border-radius: 999px;
  font-size: 11px !important;
  letter-spacing: .22em;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 26px !important;
}
.solara-block-hero-title {
  font-size: clamp(88px, 15vw, 188px) !important;
  line-height: .8 !important;
  letter-spacing: .13em;
  font-weight: 300 !important;
  margin: 0 !important;
}
.solara-block-hero-location {
  font-family: var(--font-heading) !important;
  font-size: clamp(28px, 4vw, 48px) !important;
  letter-spacing: .28em;
  font-weight: 300;
  margin: 12px 0 18px !important;
}
.solara-block-hero-kicker {
  font-size: 12px !important;
  letter-spacing: .28em;
  font-weight: 700;
  margin: 0 0 18px !important;
}
.solara-block-hero-lead {
  max-width: 680px;
  font-size: 18px !important;
  line-height: 1.8 !important;
  color: rgba(255,255,255,.88) !important;
  margin-bottom: 30px !important;
}
.solara-block-hero-buttons { gap: 14px; margin-bottom: 28px !important; }
.solara-block-hero-pills { gap: 12px; }
.solara-block-hero-pills p {
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.13);
  border-radius: 999px;
  padding: 9px 14px;
  font-size: 13px !important;
  margin: 0 !important;
}

/* Buttons */
.solara-block-button .wp-block-button__link,
.wp-block-button.solara-block-button .wp-block-button__link {
  background: linear-gradient(135deg, var(--brand-orange), var(--brand-terracotta)) !important;
  
  border-radius: 999px !important;
  padding: 15px 28px !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  box-shadow: 0 14px 32px rgba(184,92,56,.28);
}
.solara-block-button-secondary .wp-block-button__link {
  background: rgba(255,255,255,.15) !important;
  
  border: 1px solid rgba(255,255,255,.35) !important;
  border-radius: 999px !important;
  padding: 15px 24px !important;
  font-weight: 700 !important;
}
.solara-block-button-secondary.dark .wp-block-button__link {
  background: rgba(45,42,38,.08) !important;
  color: var(--brand-charcoal) !important;
  border-color: rgba(45,42,38,.16) !important;
}
.solara-block-button.light .wp-block-button__link {
  background: #fff !important;
  color: var(--brand-terracotta) !important;
}

/* Essence */
.solara-essence-cards { gap: 22px !important; margin-top: 46px !important; }
.solara-block-card,
.solara-essence-card {
  background: #fff;
  border: 1px solid rgba(184,92,56,.16);
  border-radius: 30px;
  padding: 30px;
  box-shadow: 0 18px 52px rgba(45,42,38,.07);
}
.solara-essence-card h3,
.solara-included-grid h3,
.solara-faculty-grid h3 { font-size: 30px !important; margin: 0 0 8px !important; }
.solara-block-icon {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  background: rgba(232,135,82,.12);
  color: var(--brand-orange);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 25px !important;
  margin: 0 0 18px !important;
}
.solara-about-feature { gap: 56px !important; align-items: center !important; margin-top: 78px !important; }
.solara-about-image-card { position: relative; }
.solara-rounded-image img,
.solara-about-image-card img {
  width: 100%; border-radius: 34px; display: block; box-shadow: 0 26px 70px rgba(45,42,38,.16);
}
.solara-floating-card {
  position: absolute;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(234,223,215,.9);
  border-radius: 20px;
  padding: 12px 16px;
  box-shadow: 0 16px 36px rgba(45,42,38,.12);
  backdrop-filter: blur(12px);
}
.solara-floating-card p { margin: 0 !important; color: var(--brand-terracotta); font-weight: 700; font-size: 13px !important; }
.solara-floating-card.top { top: 22px; left: 22px; }
.solara-floating-card.bottom { bottom: 22px; right: 22px; }
.solara-feature-title { font-size: clamp(38px, 4vw, 56px) !important; line-height: 1 !important; }
.solara-about-copy p { font-size: 16px !important; line-height: 1.8; color: rgba(45,42,38,.72); }
.solara-block-pill-row { display: flex !important; flex-wrap: wrap; gap: 10px; margin-top: 22px !important; }
.solara-block-pill {
  display: inline-flex;
  width: fit-content;
  background: rgba(232,135,82,.12);
  border: 1px solid rgba(232,135,82,.2);
  border-radius: 999px;
  padding: 9px 14px;
  color: var(--brand-terracotta) !important;
  font-weight: 700;
  font-size: 13px !important;
  margin: 0 !important;
}

/* Included */
.solara-included-section { background: #fff; }
.solara-included-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px !important;
  margin-top: 44px !important;
}
.solara-included-grid .wp-block-column {
  background: var(--brand-cream);
  border: 1px solid rgba(184,92,56,.14);
  border-radius: 26px;
  padding: 24px;
}
.solara-included-grid p:first-child { font-size: 27px !important; margin: 0 0 10px !important; }
.solara-included-grid h3 { font-size: 25px !important; }
.solara-included-grid p { margin: 0; color: rgba(45,42,38,.68); }

/* Schedule */
.solara-schedule-section { background: linear-gradient(180deg, #FFF8F2, #F4E6D8); }
.solara-day-tabs { gap: 10px !important; margin: 38px 0 28px !important; }
.solara-day-tabs .wp-block-column {
  flex-basis: auto !important;
  flex-grow: 0 !important;
  background: #fff;
  border: 1px solid rgba(184,92,56,.16);
  border-radius: 999px;
  padding: 11px 17px;
  font-weight: 700;
  color: var(--brand-terracotta);
  box-shadow: 0 8px 20px rgba(45,42,38,.05);
}
.solara-schedule-card {
  max-width: 840px;
  margin: 0 auto 26px !important;
  background: #fff;
  border-radius: 34px;
  padding: 44px;
  box-shadow: 0 24px 75px rgba(45,42,38,.1);
  border: 1px solid rgba(184,92,56,.14);
  text-align: center;
}
.solara-schedule-icon { font-size: 42px !important; margin: 0 !important; }
.solara-schedule-day { color: var(--brand-orange) !important; font-weight: 800; letter-spacing: .18em; font-size: 12px !important; }
.solara-schedule-title { font-size: 52px !important; margin: 6px 0 !important; }
.solara-schedule-mood { color: rgba(45,42,38,.55) !important; font-style: italic; }
.solara-schedule-card h4 { color: var(--brand-terracotta); font-size: 12px; letter-spacing: .16em; font-family: var(--font-body) !important; }

/* Headliner / Faculty */
.solara-headliner-section, .solara-faculty-section { background: #fff; }
.solara-headliner-card {
  align-items: center !important;
  background: var(--brand-cream);
  border-radius: 36px;
  padding: 24px;
  box-shadow: 0 24px 70px rgba(45,42,38,.08);
  margin-top: 44px !important;
}
.solara-headliner-card h3 { font-size: 46px !important; margin: 0 0 16px !important; }
.solara-headliner-card blockquote { border-left: 3px solid var(--brand-orange); padding-left: 20px; color: var(--brand-terracotta); font-family: var(--font-heading); font-size: 25px; }
.solara-faculty-grid { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 18px !important; margin-top: 44px !important; }
.solara-faculty-grid .wp-block-column { background: #fff; border-radius: 28px; overflow: hidden; box-shadow: 0 16px 44px rgba(45,42,38,.08); border: 1px solid rgba(184,92,56,.14); }
.solara-faculty-grid img { width: 100%; height: 220px; object-fit: cover; display: block; }
.solara-faculty-grid h3 { padding: 20px 20px 0; font-size: 27px !important; }
.solara-faculty-grid p { padding: 0 20px 22px; color: rgba(45,42,38,.62); }

/* Villa */
.solara-villa-section { background: #fff; }
.solara-villa-gallery { margin-top: 44px !important; gap: 18px !important; }
.solara-villa-gallery figure { border-radius: 28px; overflow: hidden; box-shadow: 0 16px 44px rgba(45,42,38,.08); }
.solara-villa-gallery img { aspect-ratio: 4/3; object-fit: cover; }
.solara-villa-gallery figcaption { background: linear-gradient(0deg, rgba(45,42,38,.65), transparent); font-family: var(--font-heading); font-size: 23px !important; }

/* Pricing */
.solara-pricing-section { background: linear-gradient(180deg, #FFF8F2, #F4E6D8); }
.solara-pricing-grid { gap: 24px !important; margin-top: 46px !important; align-items: stretch !important; }
.solara-price-card {
  position: relative;
  background: #fff;
  border: 1px solid rgba(184,92,56,.16);
  border-radius: 34px;
  padding: 36px !important;
  box-shadow: 0 24px 70px rgba(45,42,38,.08);
}
.solara-price-card.premium { background: linear-gradient(135deg, var(--brand-orange), var(--brand-terracotta)); color: #fff; transform: translateY(-12px); }
.solara-price-card.premium h3, .solara-price-card.premium p, .solara-price-card.premium li, .solara-price-card.premium h4 {  }
.solara-plan-label { letter-spacing: .2em; color: var(--brand-orange) !important; font-weight: 800; font-size: 12px !important; }
.solara-popular { position: absolute; top: -14px; right: 28px; background: #fff; color: var(--brand-terracotta) !important; border-radius: 999px; padding: 8px 14px; font-weight: 800; font-size: 12px !important; }
.solara-price-card h3 { font-size: 36px !important; }
.solara-price { font-family: var(--font-heading) !important; font-size: 60px !important; margin: 22px 0 0 !important; color: var(--brand-charcoal) !important; }
.solara-per { margin-top: 0 !important; color: rgba(45,42,38,.52) !important; }
.solara-price-card ul { padding-left: 20px; line-height: 2; }
.solara-price-card h4 { font-family: var(--font-body) !important; color: var(--brand-terracotta); font-size: 12px; letter-spacing: .18em; }

/* FAQ */
.solara-faq-section { background: #fff; }
.solara-faq-item {
  background: var(--brand-cream);
  border: 1px solid rgba(184,92,56,.14);
  border-radius: 22px;
  padding: 0;
  margin: 13px 0 !important;
  overflow: hidden;
}
.solara-faq-item summary { cursor: pointer; padding: 20px 24px; font-weight: 800; color: var(--brand-charcoal); }
.solara-faq-item p { padding: 0 24px 22px; color: rgba(45,42,38,.68); margin: 0; }
.solara-faq-item:not([open]) p { display: none; }

/* Contact */
.solara-contact-grid { gap: 38px !important; margin-top: 46px !important; align-items: stretch !important; }
.solara-contact-method { display: flex; gap: 16px; align-items: flex-start; background: #fff; border: 1px solid rgba(184,92,56,.14); padding: 20px; border-radius: 24px; margin-bottom: 16px; }
.solara-contact-method span { font-size: 20px; width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; background: rgba(232,135,82,.12); border-radius: 14px; }
.solara-contact-method h3 { margin: 0 0 5px !important; font-size: 27px !important; }
.solara-contact-method p { margin: 0 !important; color: rgba(45,42,38,.68); }
.solara-contact-grid img { width: 100%; border-radius: 30px; margin-top: 20px; box-shadow: 0 20px 60px rgba(45,42,38,.11); }
.solara-contact-form-card { background: #fff; border-radius: 32px; padding: 34px !important; box-shadow: 0 24px 70px rgba(45,42,38,.08); border: 1px solid rgba(184,92,56,.14); }
.solara-contact-form-card h3 { font-size: 36px !important; margin-top: 0 !important; }

/* Footer */
.solara-block-footer { background: var(--brand-charcoal) !important; color: rgba(255,255,255,.52) !important; padding: 64px 24px 40px; }
.solara-footer-inner { max-width: 980px; margin: 0 auto; }
.solara-block-footer h3 { font-family: var(--font-body) !important; text-transform: uppercase; letter-spacing: .18em; font-size: 12px !important; color: rgba(255,255,255,.32) !important; }
.solara-block-footer p, .solara-block-footer a { color: rgba(255,255,255,.52) !important; font-size: 14px; line-height: 1.9; }
.solara-footer-logo { color: var(--brand-orange) !important; font-family: var(--font-heading) !important; font-size: 34px !important; letter-spacing: .2em; font-weight: 300; margin: 0 !important; }
.solara-footer-place { text-transform: uppercase; letter-spacing: .18em; color: rgba(255,255,255,.36) !important; font-size: 12px !important; }
.solara-footer-bottom { border-top: 1px solid rgba(255,255,255,.1); margin-top: 36px; padding-top: 24px; display: flex; justify-content: space-between; gap: 20px; }
.solara-footer-bottom p { font-size: 12px !important; color: rgba(255,255,255,.28) !important; }

/* Editor comfort */
.editor-styles-wrapper .solara-block-hero { min-height: 760px; }
.editor-styles-wrapper .solara-block-section { border-top: 1px dashed rgba(184,92,56,.18); }

@media (max-width: 900px) {
  .solara-block-section { padding: 78px 20px; }
  .solara-essence-cards,
  .solara-about-feature,
  .solara-included-grid,
  .solara-faculty-grid,
  .solara-pricing-grid,
  .solara-contact-grid { display: block !important; }
  .solara-essence-card,
  .solara-included-grid .wp-block-column,
  .solara-faculty-grid .wp-block-column,
  .solara-price-card,
  .solara-contact-method { margin-bottom: 18px !important; }
  .solara-price-card.premium { transform: none; }
  .solara-block-hero-title { font-size: clamp(58px, 18vw, 96px) !important; }
  .solara-block-section-title { font-size: clamp(38px, 11vw, 52px) !important; }
  .solara-floating-card { position: static; margin-top: 12px; width: fit-content; }
  .solara-footer-bottom { flex-direction: column; text-align: center; }
}

/* -----------------------------------------------------------------------------
   SOLARA v3.3 — Editable Gutenberg hero image + overlay
   -----------------------------------------------------------------------------
   The Hero is now a native WordPress Cover block. Edit it directly in Gutenberg:
   - Replace the background image from the block toolbar/sidebar.
   - Change overlay colour, opacity, or gradient from Cover block settings.
   - Keep this CSS for typography/spacing only, not for the image source.
----------------------------------------------------------------------------- */
.solara-gutenberg-page .solara-hero,
.editor-styles-wrapper .solara-hero {
  position: relative;
  min-height: 92vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6rem 1.5rem;
  overflow: hidden;
  color: #b85c38;
  text-align: center;
  background: #fff8f2;
}


.solara-gutenberg-page .solara-hero .wp-block-cover__image-background,
.editor-styles-wrapper .solara-hero .wp-block-cover__image-background {
  object-position: center center !important;
}


.solara-gutenberg-page .solara-hero .wp-block-cover__inner-container,
.editor-styles-wrapper .solara-hero .wp-block-cover__inner-container {
  position: relative;
  z-index: 2;
  width: 100%;
}

.solara-gutenberg-page .solara-hero-overlay,
.editor-styles-wrapper .solara-hero-overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, rgba(255, 209, 179, 0.12), rgba(45, 42, 38, 0.18));
  pointer-events: none;
}

.solara-gutenberg-page .solara-hero-content,
.editor-styles-wrapper .solara-hero-content {
  position: relative;
  z-index: 2;
  max-width: 900px;
  margin: 0 auto;
}

.solara-gutenberg-page .solara-logo-wrap,
.editor-styles-wrapper .solara-logo-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 1.2rem;
}

.solara-gutenberg-page .solara-logo,
.editor-styles-wrapper .solara-logo {
  color: #c85f32;
  width: clamp(130px, 18vw, 220px);
  height: auto;
  filter: drop-shadow(0 12px 30px rgba(45, 42, 38, 0.12));
}

.solara-gutenberg-page .solara-kicker,
.editor-styles-wrapper .solara-kicker,
.solara-gutenberg-page .solara-block-hero-date,
.editor-styles-wrapper .solara-block-hero-date {
  margin: 0 auto 0.6rem !important;
  font-family: var(--font-body) !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: #b85c38 !important;
  background: transparent !important;
  border: 0 !important;
  backdrop-filter: none !important;
  padding: 0 !important;
  display: block !important;
  width: auto !important;
  font-weight: 700;
}

.solara-gutenberg-page .solara-hero h1,
.editor-styles-wrapper .solara-hero h1,
.solara-gutenberg-page .solara-block-hero-title,
.editor-styles-wrapper .solara-block-hero-title {
  margin: 0 !important;
  font-family: var(--font-heading) !important;
  font-size: clamp(4rem, 12vw, 9rem) !important;
  font-weight: 400 !important;
  letter-spacing: 0.24em !important;
  line-height: 0.9 !important;
  color: #b85c38 !important;
}

.solara-gutenberg-page .solara-block-hero-location,
.editor-styles-wrapper .solara-block-hero-location {
  margin: 0.7rem 0 0 !important;
  font-family: var(--font-heading) !important;
  font-size: clamp(1.4rem, 3vw, 2.4rem) !important;
  letter-spacing: 0.02em !important;
  text-transform: none;
  color: #b85c38 !important;
  font-style: italic;
}

.solara-gutenberg-page .solara-tagline,
.editor-styles-wrapper .solara-tagline,
.solara-gutenberg-page .solara-block-hero-kicker,
.editor-styles-wrapper .solara-block-hero-kicker {
  margin: 1.4rem 0 0 !important;
  font-family: var(--font-body) !important;
  font-size: clamp(0.85rem, 1.6vw, 1.1rem) !important;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #b85c38 !important;
  font-weight: 700;
}

.solara-gutenberg-page .solara-intro,
.editor-styles-wrapper .solara-intro,
.solara-gutenberg-page .solara-block-hero-lead,
.editor-styles-wrapper .solara-block-hero-lead {
  max-width: 660px;
  margin: 2rem auto 0 !important;
  font-family: var(--font-body) !important;
  font-size: clamp(1rem, 1.6vw, 1.2rem) !important;
  line-height: 1.7 !important;
  color: #2d2a26 !important;
}

.solara-gutenberg-page .solara-block-hero-buttons,
.editor-styles-wrapper .solara-block-hero-buttons {
  margin-top: 2.2rem !important;
}

.solara-gutenberg-page .solara-button .wp-block-button__link,
.editor-styles-wrapper .solara-button .wp-block-button__link,
.solara-gutenberg-page .solara-block-button .wp-block-button__link,
.editor-styles-wrapper .solara-block-button .wp-block-button__link {
  display: inline-flex;
  padding: 0.95rem 1.6rem !important;
  border-radius: 999px !important;
  background: #e88752 !important;
  color: #fff8f2 !important;
  font-family: var(--font-body) !important;
  font-size: 0.9rem !important;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  box-shadow: 0 14px 35px rgba(184, 92, 56, 0.28);
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.solara-gutenberg-page .solara-button .wp-block-button__link:hover,
.solara-gutenberg-page .solara-block-button .wp-block-button__link:hover {
  transform: translateY(-2px);
  background: #b85c38 !important;
  box-shadow: 0 18px 45px rgba(184, 92, 56, 0.34);
}

.solara-gutenberg-page .solara-block-button-secondary .wp-block-button__link,
.editor-styles-wrapper .solara-block-button-secondary .wp-block-button__link {
  background: rgba(255,248,242,.55) !important;
  border: 1px solid rgba(184,92,56,.40) !important;
  color: #b85c38 !important;
  border-radius: 999px !important;
  padding: 0.95rem 1.6rem !important;
  font-family: var(--font-body) !important;
  font-size: 0.9rem !important;
  font-weight: 700;
}

.solara-gutenberg-page .solara-block-hero-pills,
.editor-styles-wrapper .solara-block-hero-pills {
  margin-top: 1.2rem !important;
  gap: 0.7rem !important;
}

.solara-gutenberg-page .solara-block-hero-pills p,
.editor-styles-wrapper .solara-block-hero-pills p {
  background: rgba(255,248,242,.38) !important;
  border: 1px solid rgba(184,92,56,.18) !important;
  color: #2d2a26 !important;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 0.78rem !important;
}

@media (max-width: 768px) {
  .solara-gutenberg-page .solara-hero,
  .editor-styles-wrapper .solara-hero {
    min-height: 82vh;
    padding: 4rem 1.25rem;
  }

  .solara-gutenberg-page .solara-hero h1,
  .editor-styles-wrapper .solara-hero h1,
  .solara-gutenberg-page .solara-block-hero-title,
  .editor-styles-wrapper .solara-block-hero-title {
    letter-spacing: 0.16em !important;
  }

  .solara-gutenberg-page .solara-tagline,
  .editor-styles-wrapper .solara-tagline,
  .solara-gutenberg-page .solara-kicker,
  .editor-styles-wrapper .solara-kicker {
    letter-spacing: 0.18em;
  }
}

/* -----------------------------------------------------------------------------
   SOLARA v3.4 — Gutenberg section parity fixes
   -----------------------------------------------------------------------------
   These rules improve the visual match with the original Base44 page while
   keeping the page editable through native WordPress blocks/patterns.
*/
body.page-template-page-gutenberg .solara-header{
  position:fixed; inset:0 0 auto 0; z-index:9999; background:rgba(255,248,242,.78); backdrop-filter:blur(18px); border-bottom:1px solid rgba(234,223,215,.65); box-shadow:0 10px 30px rgba(45,42,38,.04);
}
body.page-template-page-gutenberg .solara-header a{color:#2D2A26;text-decoration:none;font-family:var(--font-body)}
body.page-template-page-gutenberg .solara-header .solara-nav-logo{font-family:var(--font-heading);color:#2D2A26;letter-spacing:.16em;font-weight:400}
body.page-template-page-gutenberg .solara-nav-cta{background:linear-gradient(135deg,#E88752,#B85C38);padding:.72rem 1.15rem;border-radius:999px;box-shadow:0 12px 26px rgba(184,92,56,.22)}
body.page-template-page-gutenberg .solara-gutenberg-page{overflow:hidden;background:#FFF8F2;color:#2D2A26;font-family:var(--font-body)}
body.page-template-page-gutenberg h1,body.page-template-page-gutenberg h2,body.page-template-page-gutenberg h3,body.page-template-page-gutenberg h4{font-family:var(--font-heading);font-weight:500;color:#2D2A26}
.solara-block-section{padding:7rem 1.5rem;background:#FFF8F2}
.solara-block-section:nth-of-type(odd){background:#fff}
.solara-block-inner{max-width:1060px;margin:0 auto;text-align:center}.solara-block-inner.narrow{max-width:760px}
.solara-block-eyebrow{font-family:var(--font-body)!important;font-size:.72rem!important;letter-spacing:.32em!important;text-transform:uppercase!important;color:#E88752!important;font-weight:700!important;margin:0 0 1rem!important;text-align:center}
.solara-block-section-title{font-size:clamp(2.6rem,6vw,4.9rem)!important;line-height:.96!important;letter-spacing:-.045em!important;font-weight:500!important;margin:0 auto 1.25rem!important;text-align:center;max-width:980px}
.solara-block-section-title span,.solara-about-copy h3 span{color:#E88752;font-family:var(--font-heading)!important}
.solara-block-lead{max-width:700px;margin:0 auto 3.2rem!important;color:#7C716A;font-size:1rem;line-height:1.75;text-align:center}.solara-block-lead.left{text-align:left;margin-left:0!important}
/* hero */
.solara-hero{color:#B85C38;text-align:center;background-position:center!important}.solara-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(255,209,179,.10),rgba(45,42,38,.12));pointer-events:none}.solara-hero .wp-block-cover__inner-container{position:relative;z-index:2}.solara-logo-wrap{display:flex;justify-content:center;margin-bottom:1rem}.solara-logo{color:#C85F32;width:clamp(118px,14vw,190px);height:auto;filter:drop-shadow(0 10px 30px rgba(255,248,242,.28))}.solara-block-hero-date{display:inline-block;padding:.45rem .85rem;border-radius:999px;background:rgba(255,248,242,.55);border:1px solid rgba(255,255,255,.35);letter-spacing:.18em!important;color:#B85C38!important}.solara-block-hero-title{font-size:clamp(4.5rem,13vw,9rem)!important;letter-spacing:.24em!important;line-height:.82!important;font-weight:400!important;margin:0 0 .4rem!important}.solara-block-hero-location{font-family:var(--font-heading);font-size:1.45rem;font-style:italic;color:#B85C38;margin:.2rem 0}.solara-tagline{font-size:.82rem!important;letter-spacing:.28em!important;text-transform:uppercase;font-weight:700!important}.solara-intro{max-width:650px;margin:1.6rem auto 0!important;font-size:1rem;line-height:1.65;color:#2D2A26;font-weight:600}.solara-block-button .wp-block-button__link,.solara-button .wp-block-button__link{background:linear-gradient(135deg,#E88752,#B85C38)!important;border-radius:999px!important;padding:.92rem 1.45rem!important;font-family:var(--font-heading)!important;font-weight:700!important;box-shadow:0 14px 32px rgba(184,92,56,.28)!important}.solara-block-button-secondary .wp-block-button__link{background:rgba(255,255,255,.18)!important;border:1px solid rgba(45,42,38,.35)!important;border-radius:999px!important;padding:.86rem 1.35rem!important}.solara-block-hero-pills{gap:1rem;margin-top:1.4rem;color:rgba(45,42,38,.78);font-size:.8rem;font-weight:700}
/* about / essence */
.solara-about-section{background:#fff}.solara-essence-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin:3rem auto 4rem;max-width:940px}.solara-essence-card{background:#FFF8F2;border:1px solid #F4E6D8;border-radius:1.1rem;min-height:230px;padding:2.25rem 1.6rem;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 22px 60px rgba(45,42,38,.03)}.solara-essence-icon{font-size:2.2rem;line-height:1;margin-bottom:1.2rem;width:54px;height:54px;display:grid;place-items:center;border-radius:999px;background:rgba(232,135,82,.10)}.solara-essence-card h3{font-size:1.35rem!important;margin:.2rem 0 .8rem!important}.solara-essence-card p{font-size:.9rem;line-height:1.65;color:#7C716A;margin:0}.solara-about-feature{align-items:center!important;gap:4rem!important;margin-top:1rem}.solara-about-image-card{position:relative}.solara-about-image-card img{border-radius:1.1rem!important;box-shadow:0 30px 70px rgba(45,42,38,.15);aspect-ratio:1.25/1;object-fit:cover}.solara-about-datebox{position:absolute;right:-1.2rem;bottom:-1.2rem;background:#fff;border:1px solid #F4E6D8;border-radius:1rem;padding:1.1rem 1.25rem;text-align:left;box-shadow:0 18px 45px rgba(45,42,38,.12)}.solara-about-datebox p{margin:.2rem 0;color:#7C716A;font-family:var(--font-heading);font-size:1rem}.solara-about-copy{text-align:left}.solara-about-copy h3{font-size:2.4rem!important;line-height:1!important;margin:0 0 1.2rem!important}.solara-about-copy p{color:#7C716A;line-height:1.75}.solara-about-pills{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.3rem}.solara-about-pills span{background:#F4E6D8;color:#B85C38;border-radius:999px;padding:.45rem .8rem;font-size:.78rem;font-weight:700}
/* included */
.solara-included-section{background:#FFF8F2}.solara-included-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:860px;margin:0 auto 2rem}.solara-included-grid div{background:#fff;border:1px solid #F4E6D8;border-radius:1rem;padding:1.4rem;text-align:left;display:grid;gap:.35rem}.solara-included-grid b{font-family:var(--font-heading);font-size:1.2rem}.solara-included-grid span{color:#7C716A;font-size:.9rem}.solara-soft-note{font-size:.9rem;color:#7C716A;text-align:center}
/* schedule */
.solara-schedule-section{background:#fff}.solara-day-pills{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap;margin:0 0 2.2rem}.solara-day-pills button{border:1px solid #EADFD7;background:#fff;border-radius:999px;padding:.65rem 1.15rem;font-weight:700;color:#2D2A26;cursor:pointer}.solara-day-pills button.is-active{background:#E88752;color:#fff;border-color:#E88752;box-shadow:0 12px 25px rgba(184,92,56,.22)}.solara-week-tabs{position:relative}.solara-week-card{max-width:920px;margin:0 auto;background:#fff;border:1px solid #F4E6D8;border-radius:1.35rem;box-shadow:0 26px 70px rgba(45,42,38,.08);overflow:hidden;text-align:left}.solara-week-card header{background:#F4E6D8;padding:2.2rem 2.5rem;display:flex;justify-content:space-between;gap:2rem}.solara-week-card header p{font-family:var(--font-body);font-size:.75rem;letter-spacing:.2em;color:#E88752;font-weight:700;margin:0 0 .5rem;text-transform:uppercase}.solara-week-card header h3{font-size:2rem!important;margin:0}.solara-week-card header em{color:#7C716A}.solara-week-card header span{font-family:var(--font-heading);font-size:1.4rem;color:#7C716A}.solara-week-body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;padding:2.4rem 2.5rem;min-height:210px}.solara-week-body h4{font-family:var(--font-body);font-size:.75rem;letter-spacing:.22em;color:#B85C38;margin:0 0 .6rem}.solara-week-body p{color:#7C716A;line-height:1.65}.solara-tab-arrow{position:absolute;top:52%;transform:translateY(-50%);width:42px;height:42px;border-radius:999px;border:1px solid #EADFD7;background:#fff;color:#E88752;font-size:2rem;line-height:1;box-shadow:0 8px 24px rgba(45,42,38,.08);cursor:pointer}.solara-tab-arrow.prev{left:0}.solara-tab-arrow.next{right:0}.solara-outline-cta{display:inline-flex;margin:2rem auto 0;border:2px solid #E88752;border-radius:999px;padding:.85rem 1.8rem;color:#E88752;text-decoration:none;font-family:var(--font-heading);font-weight:700;background:transparent}
/* headliner faculty */
.solara-headliner-section,.solara-faculty-section{background:#FFF8F2}.solara-headliner-card{max-width:760px;margin:2.5rem auto 0;display:grid;grid-template-columns:.9fr 1.1fr;gap:2rem;align-items:center;background:#fff;border:1px solid #F4E6D8;border-radius:1.4rem;padding:1rem 2rem 1rem 1rem;text-align:left;box-shadow:0 22px 60px rgba(45,42,38,.07)}.solara-headliner-card img{width:100%;aspect-ratio:1/1;border-radius:1rem;object-fit:cover}.solara-headliner-card h3{font-size:2rem!important}.solara-headliner-card p{color:#7C716A;line-height:1.7}.solara-headliner-card blockquote{border-left:3px solid #E88752;margin:1rem 0 0;padding-left:1rem;color:#B85C38;font-family:var(--font-heading);font-size:1.2rem}.solara-faculty-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem;margin-top:2.5rem}.solara-faculty-grid article{background:#fff;border:1px solid #F4E6D8;border-radius:1rem;overflow:hidden;text-align:left}.solara-faculty-grid img{width:100%;aspect-ratio:1/1;object-fit:cover}.solara-faculty-grid span{display:inline-block;margin:1rem 1rem .5rem;background:#F4E6D8;color:#B85C38;border-radius:999px;padding:.3rem .6rem;font-size:.72rem}.solara-faculty-grid h3{font-size:1.15rem!important;margin:.2rem 1rem}.solara-faculty-grid p{font-size:.86rem;color:#7C716A;line-height:1.55;margin:.6rem 1rem 1.2rem}
/* villa gallery */
.solara-villa-section{background:#fff}.solara-gallery{max-width:850px;margin:2rem auto 0}.solara-gallery-main-wrap{position:relative;background:#fff;border-radius:1.25rem;overflow:hidden;box-shadow:0 24px 70px rgba(45,42,38,.10)}.solara-gallery-main-wrap img{width:100%;aspect-ratio:1.65/1;object-fit:cover;display:block}.solara-gallery-main-wrap button{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:999px;background:#fff;border:1px solid #EADFD7;color:#E88752;font-size:2rem;z-index:2}.solara-gallery-main-wrap button:first-child{left:1rem}.solara-gallery-main-wrap button:nth-child(3){right:1rem}.solara-gallery-main-wrap p{position:absolute;left:1rem;bottom:1rem;background:rgba(255,248,242,.88);border-radius:999px;padding:.55rem .9rem;color:#B85C38;font-weight:700}.solara-gallery-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-top:1rem}.solara-gallery-thumbs button{padding:0;border:2px solid transparent;border-radius:.8rem;overflow:hidden;background:none;cursor:pointer}.solara-gallery-thumbs button.is-active{border-color:#E88752}.solara-gallery-thumbs img{width:100%;aspect-ratio:1.4/1;object-fit:cover;display:block}
/* pricing */
.solara-pricing-section{background:#fff}.solara-pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;align-items:stretch;max-width:900px;margin:2.6rem auto}.solara-price-card{background:#fff;border:1px solid #EADFD7;border-radius:1.4rem;padding:2.2rem;text-align:left;box-shadow:0 24px 70px rgba(45,42,38,.05);position:relative}.solara-price-card.premium{background:linear-gradient(135deg,#E88752,#B85C38);color:#fff;box-shadow:0 28px 80px rgba(184,92,56,.24)}.solara-price-card.premium *{color:#fff!important}.solara-plan-label{display:inline-block;background:#F4E6D8;color:#B85C38;border-radius:999px;padding:.35rem .75rem;font-size:.75rem;letter-spacing:.12em;font-weight:700}.solara-popular{position:absolute;right:1.5rem;top:1.4rem;background:rgba(255,255,255,.22);border-radius:999px;padding:.35rem .75rem}.solara-price-card h3{font-size:1.7rem!important}.solara-price{font-family:var(--font-heading);font-size:2.4rem!important;color:#2D2A26!important}.solara-price span{font-family:var(--font-body);font-size:.85rem;color:#7C716A}.solara-price-card li{margin:.65rem 0;color:#7C716A}.solara-price-card li::marker{color:#E88752}.solara-light-cta{display:block;text-align:center;background:#fff;border-radius:999px;padding:.9rem 1rem;text-decoration:none;font-family:var(--font-heading);font-weight:700;margin-top:2rem}
/* faq */
.solara-faq-section{background:#FFF8F2}.solara-faq-card{background:#fff;border:1px solid #EADFD7;border-radius:1.3rem;padding:1.7rem 2rem;box-shadow:0 22px 65px rgba(45,42,38,.05);text-align:left}.solara-faq-card details{border-bottom:1px solid #F4E6D8;padding:1rem 0}.solara-faq-card details:last-child{border-bottom:0}.solara-faq-card summary{cursor:pointer;font-family:var(--font-heading);font-size:1.15rem;color:#2D2A26;list-style:none;display:flex;justify-content:space-between}.solara-faq-card summary:after{content:'⌄';color:#E88752}.solara-faq-card details[open] summary:after{content:'⌃'}.solara-faq-card details:not([open]) p{display:none}.solara-faq-card p{color:#7C716A;line-height:1.7}.solara-faq-whatsapp{text-align:center;color:#7C716A;margin-top:2rem}.solara-faq-whatsapp a{display:inline-flex;margin-top:.7rem;background:#25D366;color:#fff;text-decoration:none;border-radius:999px;padding:.7rem 1.1rem;font-weight:700}
/* contact */
.solara-contact-section{background:#fff}.solara-contact-grid{display:grid;grid-template-columns:1fr .95fr;gap:4rem;align-items:start;text-align:left}.solara-contact-section .solara-block-section-title{text-align:left!important}.solara-contact-method{display:flex;gap:1rem;align-items:center;border:1px solid #EADFD7;border-radius:1rem;padding:1rem 1.2rem;margin-bottom:1rem;background:#fff}.solara-contact-method span{width:34px;height:34px;display:grid;place-items:center;border-radius:999px;background:#F4E6D8;font-size:1.05rem!important;flex:0 0 34px}.solara-contact-method h3{font-size:1.1rem!important;margin:0}.solara-contact-method p{margin:.2rem 0 0;color:#7C716A}.solara-contact-photo{width:100%;border-radius:1rem;box-shadow:0 20px 55px rgba(45,42,38,.08);aspect-ratio:1.8/1;object-fit:cover}.solara-contact-form-card{background:#FFF8F2;border:1px solid #EADFD7;border-radius:1.4rem;padding:2rem;box-shadow:0 28px 75px rgba(45,42,38,.07)}.solara-contact-form-card h3{font-size:2rem!important;margin:0 0 1.5rem}.solara-contact-form-card label{display:block;font-size:.75rem;letter-spacing:.22em;color:#E88752;font-weight:700;margin-bottom:1.1rem}.solara-contact-form-card input,.solara-contact-form-card textarea{box-sizing:border-box;width:100%;margin-top:.45rem;border:1px solid #EADFD7;border-radius:.8rem;background:#fff;padding:1rem;color:#2D2A26;font-family:var(--font-body);font-size:1rem}.solara-contact-form-card textarea{min-height:120px}.solara-contact-form-card button{width:100%;border:0;border-radius:999px;background:linear-gradient(135deg,#E88752,#B85C38);color:#fff;padding:1rem 1.2rem;font-family:var(--font-heading);font-weight:700;font-size:1rem;box-shadow:0 16px 38px rgba(184,92,56,.24)}.solara-contact-form-card>p{text-align:center;color:#7C716A;font-size:.82rem;margin-top:1.3rem}
/* footer */
.solara-block-footer{background:#2D2A26;color:rgba(255,255,255,.50);padding:4rem 1.5rem!important}.solara-footer-inner{max-width:980px;margin:0 auto}.solara-footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:4rem;margin-bottom:3rem}.solara-footer-logo{font-family:var(--font-heading);font-size:1.8rem;letter-spacing:.22em;color:#E88752!important;margin:0 0 .2rem}.solara-footer-place,.solara-block-footer h3{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.35);font-family:var(--font-body);margin:0 0 1rem}.solara-block-footer a{display:block;color:rgba(255,255,255,.55);text-decoration:none;margin:.45rem 0}.solara-footer-cta{display:inline-block!important;background:linear-gradient(135deg,#E88752,#B85C38);border-radius:999px;padding:.85rem 1.2rem;margin-top:.8rem!important}.solara-footer-bottom{border-top:1px solid rgba(255,255,255,.10);padding-top:1.5rem;display:flex;justify-content:space-between;gap:2rem;color:rgba(255,255,255,.28);font-size:.8rem}
@media (max-width: 860px){.solara-block-section{padding:5rem 1.1rem}.solara-week-body{grid-template-columns:1fr}.solara-tab-arrow{display:none}.solara-block-hero-title{letter-spacing:.14em!important}.solara-contact-section .solara-block-section-title{text-align:center!important}.solara-block-lead.left{text-align:center}.solara-footer-bottom{flex-direction:column;text-align:center}.solara-gallery-thumbs{grid-template-columns:repeat(2,1fr)}}


/* -----------------------------------------------------------------------------
   SOLARA v3.5 — Clean navigation + larger hero SVG logo
   ----------------------------------------------------------------------------- */
html { scroll-behavior: smooth; }
.solara-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background: rgba(255, 248, 242, 0.78);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(234, 223, 215, 0.65);
  box-shadow: 0 10px 30px rgba(45, 42, 38, 0.04);
}
.solara-nav-inner {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0.9rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.solara-nav-brand {
  display: inline-flex;
  flex-direction: column;
  line-height: 1;
  text-decoration: none;
}
.solara-nav-logo {
  font-family: var(--font-heading, 'Cormorant Garamond', serif);
  color: #2D2A26;
  font-size: 1.35rem;
  letter-spacing: 0.18em;
  font-weight: 400;
}
.solara-logo-subtitle {
  margin-top: 0.15rem;
  font-family: var(--font-body, 'Mulish', sans-serif);
  color: rgba(45, 42, 38, 0.48);
  font-size: 0.62rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.solara-desktop-nav {
  display: flex;
  align-items: center;
  gap: 1.45rem;
}
.solara-desktop-nav a,
.solara-mobile-nav a {
  font-family: var(--font-body, 'Mulish', sans-serif);
  color: #2D2A26;
  font-size: 0.86rem;
  text-decoration: none;
}
.solara-nav-cta {
  background: linear-gradient(135deg, #E88752, #B85C38);
  
  padding: 0.72rem 1.15rem;
  border-radius: 999px;
  box-shadow: 0 12px 26px rgba(184, 92, 56, 0.22);
  font-weight: 700;
}
.solara-menu-toggle {
  display: none;
  width: 42px;
  height: 42px;
  border: 1px solid #EADFD7;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 4px;
}
.solara-menu-toggle span {
  width: 18px;
  height: 2px;
  background: #2D2A26;
  display: block;
}
.solara-mobile-nav {
  display: none;
  flex-direction: column;
  gap: 0.8rem;
  padding: 0 1.5rem 1.4rem;
  background: rgba(255, 248, 242, 0.98);
  border-top: 1px solid #EADFD7;
}
.solara-mobile-nav.is-open { display: flex; }

.solara-logo {
  display: block;
  width: clamp(190px, 22vw, 300px);
  height: auto;
  color: #b85c38;
}

@media (max-width: 860px) {
  .solara-desktop-nav { display: none; }
  .solara-menu-toggle { display: inline-flex; }
}

/* -----------------------------------------------------------------------------
   SOLARA v3.6 — Gutenberg Builder Control Layer
   -----------------------------------------------------------------------------
   These rules keep the Base44 visual language while letting native Gutenberg
   controls override almost everything from the editor sidebar: colours,
   gradients, padding, margin, borders, radius, typography and width.
----------------------------------------------------------------------------- */
:root {
  --brand-orange: #E88752;
  --brand-terracotta: #B85C38;
  --brand-sand: #F4E6D8;
  --brand-cream: #FFF8F2;
  --brand-charcoal: #2D2A26;
  --brand-border: #EADFD7;
  --font-heading: 'Cormorant Garamond', Georgia, serif;
  --font-body: 'Mulish', system-ui, sans-serif;
}

body,
.editor-styles-wrapper {
  background: var(--brand-cream);
  color: var(--brand-charcoal);
  font-family: var(--font-body);
}

body .wp-block-heading,
.editor-styles-wrapper .wp-block-heading,
body h1, body h2, body h3, body h4,
.editor-styles-wrapper h1,
.editor-styles-wrapper h2,
.editor-styles-wrapper h3,
.editor-styles-wrapper h4 {
  font-family: var(--font-heading);
}

.solara-builder-section {
  box-sizing: border-box;
}

.solara-builder-section .wp-block-group,
.solara-builder-section .wp-block-column,
.solara-builder-section .wp-block-cover,
.solara-builder-section .wp-block-image,
.solara-builder-section .wp-block-media-text,
.solara-builder-section .wp-block-buttons,
.solara-builder-section .wp-block-button {
  box-sizing: border-box;
}

.solara-eyebrow,
.solara-kicker,
.solara-plan-label,
.solara-popular {
  color: var(--brand-orange);
  font-family: var(--font-body);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .32em;
  text-transform: uppercase;
}

.solara-section-title,
.solara-hero-title {
  font-family: var(--font-heading);
  font-weight: 400;
  line-height: .95;
}

.solara-hero-title {
  letter-spacing: .24em;
}

.solara-lead,
.solara-intro {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

.solara-logo {
  display: block;
  width: clamp(190px, 22vw, 300px);
  height: auto;
  color: #b85c38;
}

.solara-logo-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 1.2rem;
}

.solara-tagline {
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: .28em;
  text-transform: uppercase;
}

.solara-hero-location {
}

.solara-hero-pills p,
.solara-pill-row p,
.solara-about-pills span {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: var(--brand-sand);
  color: var(--brand-terracotta);
  padding: .45rem .8rem;
  font-size: .78rem;
  margin: .2rem;
}

.solara-editable-card:hover,
.solara-essence-card:hover,
.solara-price-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 70px rgba(45, 42, 38, .09);
}

.solara-essence-icon {
  font-size: clamp(2.2rem, 5vw, 4.5rem);
  line-height: 1;
  margin: 0 auto 1rem;
}

.solara-card-row .wp-block-column {
  min-width: 0;
}

.solara-rounded-image img,
.solara-feature-row img,
.solara-faculty-section img,
.solara-editable-gallery img,
.solara-contact-section img {
  border-radius: 1.5rem;
}

.solara-floating-datebox {
  width: fit-content;
  margin: -4rem 1.25rem 0 auto;
  position: relative;
  z-index: 2;
  box-shadow: 0 18px 55px rgba(45, 42, 38, .12);
}

.solara-included-grid ul,
.solara-price-card ul {
  list-style: none;
  padding-left: 0;
}

.solara-included-grid li,
.solara-price-card li {
  margin: .75rem 0;
}

.solara-included-grid li::before,
.solara-price-card li::before {
  content: '✓';
  color: var(--brand-orange);
  font-weight: 700;
  margin-right: .6rem;
}

.solara-price-card.premium,
.solara-price-card.premium * {
  color: #fff;
}

.solara-price {
  font-family: var(--font-heading);
  font-size: clamp(2rem, 4vw, 3rem);
  color: var(--brand-charcoal);
}
.solara-price span {
  font-family: var(--font-body);
  font-size: .85rem;
  color: inherit;
  opacity: .8;
}

.solara-faq-card details {
  border-bottom: 1px solid var(--brand-border);
  padding: 1rem 0;
}
.solara-faq-card details:last-child { border-bottom: 0; }
.solara-faq-card summary {
  cursor: pointer;
  font-family: var(--font-heading);
  font-size: 1.15rem;
}
.solara-faq-card details:not([open]) > *:not(summary) {
  display: none !important;
}

.solara-contact-method {
  display: block;
}

.solara-footer h3,
.solara-footer p,
.solara-footer a {
  color: rgba(255,255,255,.55);
}
.solara-footer h3 {
  color: rgba(255,255,255,.35);
  font-family: var(--font-heading);
  font-size: .85rem;
  letter-spacing: .24em;
  text-transform: uppercase;
}
.solara-footer .wp-block-column:first-child h3 {
  color: var(--brand-orange);
  font-size: 2rem;
  letter-spacing: .22em;
}

/* Editor helper: make selectable custom sections obvious only in editor. */
.editor-styles-wrapper .solara-editable-card:hover,
.editor-styles-wrapper .solara-builder-section:hover {
  outline: 1px dashed rgba(232,135,82,.35);
  outline-offset: 4px;
}

@media (max-width: 768px) {
  .solara-hero-title { letter-spacing: .14em; }
  .solara-builder-section { padding-left: 1rem !important; padding-right: 1rem !important; }
  .solara-floating-datebox { margin: -2rem auto 0; }
}


/* --------------------------------------------------------------------------
   SOLARA v3.7 — Native editor control improvements
   --------------------------------------------------------------------------
   These styles are intentionally light defaults. The actual values can be
   overridden from the WordPress block sidebar because the page is built with
   native Group, Cover, Columns, Heading, Paragraph, Image, Button and Details
   blocks. Select the section/card/text/button/image in the editor and adjust
   Colour, Typography, Dimensions, Border and Layout controls.
*/
.solara-builder-section,
.editor-styles-wrapper .solara-builder-section {
  position: relative;
}
.solara-editable-card,
.editor-styles-wrapper .solara-editable-card {
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.solara-editable-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 55px rgba(45, 42, 38, .08);
}
.editor-styles-wrapper .solara-builder-section:hover,
.editor-styles-wrapper .solara-editable-card:hover,
.editor-styles-wrapper .wp-block-button:hover,
.editor-styles-wrapper .wp-block-image:hover,
.editor-styles-wrapper .wp-block-heading:hover,
.editor-styles-wrapper .wp-block-paragraph:hover {
  outline: 1px dashed rgba(232, 135, 82, .55);
  outline-offset: 4px;
}
.editor-styles-wrapper .solara-builder-section::before {
  content: "Editable Solara section — select blocks inside for sidebar controls";
  display: none;
  position: absolute;
  top: 8px;
  left: 12px;
  z-index: 20;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(45,42,38,.78);
  color: #fff;
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: .02em;
}
.editor-styles-wrapper .solara-builder-section:hover::before { display: block; }

/* Make Details/FAQ answers behave cleanly in the editor and front-end. */
.solara-faq-card details:not([open]) > *:not(summary) { display: none !important; }
.solara-faq-card summary { cursor: pointer; font-weight: 700; }

/* Native Gallery/Space helpers */
.solara-space-section .wp-block-gallery,
.editor-styles-wrapper .solara-space-section .wp-block-gallery {
  gap: 1rem !important;
}
.solara-space-section .wp-block-image img {
  border-radius: 1.5rem;
}

/* -----------------------------------------------------------------------------
   SOLARA v3.8 — Section visual repair pass
   -----------------------------------------------------------------------------
   Purpose: keep the page native-Gutenberg/editable, but bring the visible output
   closer to the Base44 reference for: Included, Week, Faculty,
   Space, Pricing and Contact. These rules intentionally target Solara classes
   only, so the sidebar controls in Gutenberg remain available on each block.
----------------------------------------------------------------------------- */

/* Global section rhythm for the builder output */
.solara-builder-section {
  box-sizing: border-box;
}
.solara-builder-section .solara-eyebrow {
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  letter-spacing: .34em !important;
  text-transform: uppercase !important;
  color: #E88752 !important;
  margin: 0 0 22px !important;
}
.solara-builder-section .solara-section-title,
.solara-builder-section .solara-section-title mark {
  font-family: var(--font-heading) !important;
  font-weight: 400 !important;
  letter-spacing: -.035em !important;
  line-height: .96 !important;
}
.solara-builder-section .solara-section-title {
  font-size: clamp(48px, 6.8vw, 84px) !important;
  color: #2D2A26 !important;
  margin: 0 auto 22px !important;
}
.solara-builder-section .solara-section-title mark {
  color: #E88752 !important;
}
.solara-builder-section .solara-lead,
.solara-builder-section > p:not(.solara-eyebrow),
.solara-builder-section .wp-block-paragraph {
  font-family: var(--font-body) !important;
}

/* WHAT'S INCLUDED — two tidy cards, readable text, Base44-like spacing */
.solara-included-section {
  background: #FFF8F2 !important;
  padding-top: 110px !important;
  padding-bottom: 100px !important;
}
.solara-included-section .solara-section-title {
  max-width: 760px !important;
  text-align: center !important;
}
.solara-included-section .solara-lead {
  max-width: 720px !important;
  color: rgba(45,42,38,.68) !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
  margin: 0 auto 48px !important;
}
.solara-included-section .solara-included-grid,
.solara-included-section .wp-block-columns {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  gap: 24px !important;
  align-items: stretch !important;
}
.solara-included-section .solara-included-grid .wp-block-column,
.solara-included-section .wp-block-columns > .wp-block-column {
  background: #FFFFFF !important;
  border: 1px solid #EADFD7 !important;
  border-radius: 26px !important;
  padding: 30px 34px !important;
  box-shadow: 0 20px 70px rgba(45,42,38,.045) !important;
}
.solara-included-section li,
.solara-included-section p,
.solara-included-section span {
  color: #2D2A26 !important;
  opacity: 1 !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
}
.solara-included-section ul {
  margin: 0 !important;
  padding-left: 0 !important;
  list-style: none !important;
}
.solara-included-section li {
  position: relative !important;
  padding-left: 28px !important;
  margin: 0 0 13px !important;
}
.solara-included-section li::before {
  content: '✓' !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  color: #E88752 !important;
  font-weight: 800 !important;
}
.solara-included-section .solara-soft-note,
.solara-included-section > p:last-child {
  color: rgba(45,42,38,.62) !important;
  text-align: center !important;
  margin-top: 36px !important;
  font-size: 15px !important;
}

/* THE WEEK — readable Base44 card instead of faded text */
.solara-schedule-section {
  background: #FFFFFF !important;
  padding-top: 105px !important;
  padding-bottom: 105px !important;
}
.solara-schedule-section .solara-section-title {
  max-width: 900px !important;
  text-align: center !important;
  margin-bottom: 18px !important;
}
.solara-schedule-section .solara-lead {
  max-width: 720px !important;
  margin: 0 auto 34px !important;
  color: rgba(45,42,38,.62) !important;
  font-size: 18px !important;
  line-height: 1.65 !important;
}
.solara-schedule-card,
.solara-week-card {
  max-width: 950px !important;
  margin: 0 auto !important;
  background: #FFFFFF !important;
  border: 1px solid #EADFD7 !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  box-shadow: 0 28px 90px rgba(45,42,38,.08) !important;
  text-align: center !important;
}
.solara-schedule-card > .solara-eyebrow,
.solara-week-card header {
  background: #F4E6D8 !important;
}
.solara-schedule-card > .solara-eyebrow {
  display: block !important;
  padding: 28px 34px 0 !important;
  margin: -2rem -2rem 0 !important;
  text-align: center !important;
}
.solara-schedule-card > h3,
.solara-schedule-card .wp-block-heading.has-2-xl-font-size {
  background: #F4E6D8 !important;
  margin: 0 -2rem !important;
  padding: 8px 34px 12px !important;
  font-size: clamp(30px, 3.4vw, 44px) !important;
  color: #2D2A26 !important;
  text-align: center !important;
  font-weight: 600 !important;
}
.solara-schedule-card > p:not(.solara-eyebrow) {
  background: #F4E6D8 !important;
  margin: 0 -2rem 0 !important;
  padding: 0 34px 32px !important;
  color: rgba(45,42,38,.52) !important;
  font-style: italic !important;
  text-align: center !important;
}
.solara-schedule-card .wp-block-columns {
  padding: 46px 34px 30px !important;
  gap: 50px !important;
}
.solara-schedule-card h4 {
  font-family: var(--font-body) !important;
  font-size: 12px !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
  
  margin: 0 0 16px !important;
  text-align: left !important;
}
.solara-schedule-card ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: left !important;
}
.solara-schedule-card li {
  color: rgba(45,42,38,.68) !important;
  opacity: 1 !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
  position: relative !important;
  padding-left: 20px !important;
}
.solara-schedule-card li::before {
  content: '' !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 999px !important;
  background: #E88752 !important;
  position: absolute !important;
  left: 0 !important;
  top: .72em !important;
}
.solara-schedule-section .wp-block-button.is-style-outline .wp-block-button__link {
  border: 2px solid #E88752 !important;
  color: #E88752 !important;
  background: transparent !important;
  border-radius: 999px !important;
  padding: 14px 30px !important;
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
}

/* FACULTY — restore card layout, consistent images and typography */
.solara-faculty-section {
  background: #FFF8F2 !important;
  padding-top: 108px !important;
  padding-bottom: 110px !important;
}
.solara-faculty-section .solara-section-title {
  max-width: 980px !important;
  text-align: center !important;
  margin-bottom: 42px !important;
}
.solara-faculty-section .solara-card-row,
.solara-faculty-section .wp-block-columns {
  max-width: 1080px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  gap: 22px !important;
  align-items: stretch !important;
}
.solara-faculty-section .wp-block-column {
  background: #FFFFFF !important;
  border: 1px solid #EADFD7 !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  box-shadow: 0 18px 58px rgba(45,42,38,.055) !important;
  padding: 0 0 20px !important;
}
.solara-faculty-section figure {
  margin: 0 !important;
}
.solara-faculty-section img {
  display: block !important;
  width: 100% !important;
  height: 210px !important;
  object-fit: cover !important;
  border-radius: 0 !important;
}
.solara-faculty-section h3 {
  font-size: 22px !important;
  line-height: 1.15 !important;
  margin: 20px 20px 14px !important;
  color: #2D2A26 !important;
  font-weight: 500 !important;
}
.solara-faculty-section p:not(.solara-eyebrow) {
  margin: 0 20px !important;
  color: rgba(45,42,38,.64) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

/* THE SPACE — cleaner three-card gallery */
.solara-space-section {
  background: #FFFFFF !important;
  padding-top: 108px !important;
  padding-bottom: 110px !important;
}
.solara-space-section .solara-section-title {
  max-width: 980px !important;
  text-align: center !important;
  margin-bottom: 20px !important;
}
.solara-space-section .solara-lead {
  max-width: 720px !important;
  margin: 0 auto 44px !important;
  color: rgba(45,42,38,.66) !important;
  font-size: 18px !important;
}
.solara-space-section .wp-block-gallery {
  max-width: 1040px !important;
  margin: 0 auto !important;
  gap: 24px !important;
}
.solara-space-section .wp-block-image {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 28px !important;
  box-shadow: 0 26px 70px rgba(45,42,38,.08) !important;
}
.solara-space-section .wp-block-image img {
  height: 310px !important;
  width: 100% !important;
  object-fit: cover !important;
  transform: scale(1.01) !important;
}
.solara-space-section .wp-block-image figcaption {
  position: absolute !important;
  inset: auto 0 0 0 !important;
  margin: 0 !important;
  padding: 54px 16px 18px !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  text-align: center !important;
  background: linear-gradient(180deg, rgba(45,42,38,0), rgba(45,42,38,.62)) !important;
}

/* PRICING — fix oversized heading and card/button styling */
.solara-pricing-section {
  background: #FFFFFF !important;
  padding-top: 108px !important;
  padding-bottom: 110px !important;
}
.solara-pricing-section .solara-section-title {
  max-width: 1000px !important;
  text-align: center !important;
  font-size: clamp(46px, 5.5vw, 72px) !important;
  margin-bottom: 18px !important;
}
.solara-pricing-section .solara-lead {
  max-width: 680px !important;
  margin: 0 auto 44px !important;
  color: rgba(45,42,38,.62) !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
}
.solara-pricing-section .solara-pricing-grid,
.solara-pricing-section > .wp-block-columns {
  max-width: 930px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  gap: 28px !important;
  align-items: stretch !important;
}
.solara-price-card {
  border-radius: 28px !important;
  padding: 38px !important;
  min-height: 560px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  box-shadow: 0 26px 80px rgba(45,42,38,.06) !important;
}
.solara-price-card h3 {
  font-size: 30px !important;
  line-height: 1.15 !important;
  margin: 28px 0 22px !important;
}
.solara-price-card .solara-price {
  font-size: 42px !important;
  margin: 0 0 24px !important;
}
.solara-price-card li {
  font-size: 15px !important;
  line-height: 1.6 !important;
  margin: 10px 0 !important;
}
.solara-price-card .wp-block-buttons {
  margin-top: auto !important;
}
.solara-price-card .wp-block-button__link {
  border-radius: 999px !important;
  padding: 14px 26px !important;
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
}
.solara-price-card:not(.premium) .wp-block-button__link {
  background: #FFFFFF !important;
  color: #E88752 !important;
  border: 2px solid #E88752 !important;
}
.solara-price-card.premium .wp-block-button__link {
  background: #FFFFFF !important;
  
  border: 0 !important;
}
.solara-price-card.premium .solara-plan-label {
  background: rgba(255,255,255,.35) !important;
  color: #FFFFFF !important;
}

/* CONTACT — small icons and Base44 card/form proportions */
.solara-contact-section {
  background: #FFFFFF !important;
  padding-top: 110px !important;
  padding-bottom: 110px !important;
}
.solara-contact-section > .wp-block-columns,
.solara-contact-section .solara-contact-grid {
  max-width: 1060px !important;
  margin: 0 auto !important;
  gap: 56px !important;
  align-items: flex-start !important;
}
.solara-contact-section .solara-section-title {
  text-align: left !important;
  font-size: clamp(56px, 7vw, 92px) !important;
  max-width: 460px !important;
}
.solara-contact-section p:not(.solara-eyebrow) {
  color: rgba(45,42,38,.66) !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
}
.solara-contact-method {
  display: grid !important;
  grid-template-columns: 44px 1fr !important;
  gap: 18px !important;
  align-items: center !important;
  min-height: 86px !important;
  padding: 18px 22px !important;
  border-radius: 20px !important;
  box-shadow: none !important;
}
.solara-contact-method p {
  margin: 0 !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}
.solara-contact-method p::first-letter {
  font-size: 22px !important;
}
.solara-contact-method img,
.solara-contact-method svg {
  width: 34px !important;
  height: 34px !important;
  object-fit: contain !important;
}
.solara-contact-section figure.wp-block-image {
  margin: 18px 0 0 !important;
}
.solara-contact-section figure.wp-block-image img {
  width: 100% !important;
  height: 210px !important;
  object-fit: cover !important;
  border-radius: 22px !important;
  box-shadow: 0 20px 55px rgba(45,42,38,.08) !important;
}
.solara-form-card,
.solara-contact-form-card {
  background: #FFF8F2 !important;
  border: 1px solid #EADFD7 !important;
  border-radius: 30px !important;
  padding: 42px !important;
  box-shadow: 0 28px 80px rgba(45,42,38,.075) !important;
}
.solara-form-card h3,
.solara-contact-form-card h3 {
  font-size: 34px !important;
  line-height: 1.1 !important;
}
.solara-form-card .wp-block-button__link,
.solara-contact-form-card button,
.solara-contact-form-card .wp-block-button__link {
  width: 100% !important;
  box-sizing: border-box !important;
  border-radius: 999px !important;
  padding: 16px 24px !important;
}

@media (max-width: 900px) {
  .solara-builder-section .solara-section-title { font-size: clamp(42px, 12vw, 64px) !important; }
  .solara-schedule-card .wp-block-columns { padding: 34px 24px !important; }
  .solara-space-section .wp-block-gallery { display: block !important; }
  .solara-space-section .wp-block-image { margin-bottom: 18px !important; }
  .solara-contact-section .solara-section-title { text-align: center !important; max-width: none !important; }
}


/* -----------------------------------------------------------------------------
   SOLARA v3.9 — Hero editor-control fix
   -----------------------------------------------------------------------------
   Previous versions forced the hero heading and paragraph colours with high
   specificity/!important rules. That made the Gutenberg sidebar colour controls
   appear to do nothing. These rules keep Solara defaults only when the block
   has no user-selected text colour. When you select a hero Heading/Paragraph and
   set Colour/Typography in the sidebar, WordPress now wins.
----------------------------------------------------------------------------- */
:where(.solara-hero-title):not(.has-text-color):not([style*="color"]) {
  color: var(--brand-terracotta, #B85C38);
}

:where(.solara-hero-location):not(.has-text-color):not([style*="color"]),
:where(.solara-tagline):not(.has-text-color):not([style*="color"]),
:where(.solara-kicker):not(.has-text-color):not([style*="color"]) {
  color: var(--brand-terracotta, #B85C38);
}

:where(.solara-intro):not(.has-text-color):not([style*="color"]) {
  color: var(--brand-charcoal, #2D2A26);
}

/* Keep the hero text blocks editable without losing their default Solara spacing. */
.solara-hero-title {
  font-family: var(--font-heading, 'Cormorant Garamond', Georgia, serif);
  font-weight: 400;
  line-height: .82;
  letter-spacing: .24em;
}

.solara-intro {
  max-width: 650px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.65;
}

/* Editor helper: make selected hero text easier to target. */
.editor-styles-wrapper .solara-hero-title.is-selected,
.editor-styles-wrapper .solara-intro.is-selected,
.editor-styles-wrapper .solara-tagline.is-selected,
.editor-styles-wrapper .solara-kicker.is-selected {
  outline: 1px dashed rgba(232, 135, 82, .45);
  outline-offset: 6px;
}


/* -----------------------------------------------------------------------------
   SOLARA v3.10 — Transparent top menu with gradual scroll fade
   -----------------------------------------------------------------------------
   The header starts fully transparent over the hero. As the visitor scrolls,
   JS updates --solara-nav-bg-opacity and adds .is-scrolled for border/shadow.
----------------------------------------------------------------------------- */
.solara-header {
  --solara-nav-bg-opacity: 0;
  background: rgba(255, 248, 242, var(--solara-nav-bg-opacity)) !important;
  border-bottom-color: rgba(234, 223, 215, calc(var(--solara-nav-bg-opacity) * 0.75)) !important;
  box-shadow: 0 10px 30px rgba(45, 42, 38, calc(var(--solara-nav-bg-opacity) * 0.055)) !important;
  backdrop-filter: blur(calc(var(--solara-nav-bg-opacity) * 18px));
  -webkit-backdrop-filter: blur(calc(var(--solara-nav-bg-opacity) * 18px));
  transition:
    background-color 420ms ease,
    border-color 420ms ease,
    box-shadow 420ms ease,
    backdrop-filter 420ms ease,
    -webkit-backdrop-filter 420ms ease;
}

.solara-header:not(.is-scrolled) {
  border-bottom-color: transparent !important;
  box-shadow: none !important;
}

.solara-header.is-scrolled {
  --solara-nav-bg-opacity: 0.88;
}

.solara-header .solara-nav-logo,
.solara-header .solara-desktop-nav a,
.solara-header .solara-mobile-nav a {
  transition: color 420ms ease, opacity 420ms ease;
}

.solara-header .solara-mobile-nav.is-open {
  background: rgba(255, 248, 242, 0.96) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

/* -----------------------------------------------------------------------------
   SOLARA v3.11 — Editable native Gutenberg carousels
   -----------------------------------------------------------------------------
   The content remains normal Gutenberg blocks. JS only turns the saved blocks into
   a carousel on the front end, so you can still edit text, images, cards, colours,
   spacing and buttons directly in the WordPress editor.
*/
.solara-native-carousel-section .solara-carousel-tabs {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: .7rem;
  margin: 2rem auto 1.8rem;
}
.solara-carousel-tab {
  appearance: none;
  border: 1px solid var(--solara-border, #EADFD7);
  background: #fff;
  color: var(--brand-charcoal, #2D2A26);
  border-radius: 999px;
  padding: .65rem 1.1rem;
  font-family: var(--font-body, Mulish, sans-serif);
  font-weight: 700;
  font-size: .86rem;
  cursor: pointer;
  transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}
.solara-carousel-tab:hover { transform: translateY(-1px); }
.solara-carousel-tab.is-active {
  background: var(--brand-orange, #E88752);
  border-color: var(--brand-orange, #E88752);
  color: #fff;
  box-shadow: 0 12px 26px rgba(184, 92, 56, .20);
}
.solara-carousel-frame {
  position: relative;
  max-width: 980px;
  margin: 0 auto;
}
.solara-editable-carousel.is-carousel-ready {
  max-width: 900px;
  margin: 0 auto;
}
.solara-editable-carousel.is-carousel-ready .solara-carousel-slide[hidden] { display: none !important; }
.solara-editable-carousel.is-carousel-ready .solara-carousel-slide.is-active {
  animation: solaraFadeSlide .28s ease both;
}
@keyframes solaraFadeSlide {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
.solara-carousel-arrow,
.solara-gallery-arrow {
  appearance: none;
  position: absolute;
  z-index: 5;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid var(--solara-border, #EADFD7);
  background: rgba(255,255,255,.94);
  color: var(--brand-orange, #E88752);
  font-size: 2rem;
  line-height: 1;
  box-shadow: 0 12px 34px rgba(45,42,38,.10);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.solara-carousel-prev { left: -22px; }
.solara-carousel-next { right: -22px; }
.solara-carousel-arrow:hover,
.solara-gallery-arrow:hover {
  background: var(--brand-orange, #E88752);
  color: #fff;
}
.solara-week-carousel .solara-schedule-card {
  min-height: 360px;
  box-shadow: 0 24px 70px rgba(45,42,38,.08) !important;
}
.solara-week-carousel .wp-block-columns { align-items: flex-start !important; }
.solara-week-carousel ul { margin-left: 0 !important; padding-left: 1.15rem !important; }

/* Space gallery carousel: uses a normal Gutenberg Gallery block in the editor. */
.solara-gallery-carousel-frame {
  position: relative;
  max-width: 900px;
  margin: 2.2rem auto 0;
}
.solara-space-carousel.is-gallery-carousel-ready {
  display: block !important;
  margin: 0 !important;
}
.solara-space-carousel.is-gallery-carousel-ready > .wp-block-image {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  border-radius: 1.6rem !important;
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(45,42,38,.11);
  position: relative;
}
.solara-space-carousel.is-gallery-carousel-ready > .wp-block-image[hidden] { display: none !important; }
.solara-space-carousel.is-gallery-carousel-ready img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
}
.solara-space-carousel.is-gallery-carousel-ready figcaption {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  margin: 0 !important;
  padding: 5rem 1.5rem 1.2rem !important;
  background: linear-gradient(0deg, rgba(45,42,38,.62), rgba(45,42,38,0)) !important;
  color: #fff !important;
  font-family: var(--font-heading, 'Cormorant Garamond', serif) !important;
  font-size: 1.35rem !important;
  text-align: center !important;
}
.solara-gallery-prev { left: 1rem; }
.solara-gallery-next { right: 1rem; }
.solara-gallery-dots {
  display: flex;
  justify-content: center;
  gap: .5rem;
  margin-top: 1rem;
}
.solara-gallery-dot {
  width: 9px;
  height: 9px;
  border: 0;
  border-radius: 999px;
  background: #EADFD7;
  cursor: pointer;
}
.solara-gallery-dot.is-active {
  width: 24px;
  background: var(--brand-orange, #E88752);
}

/* Editor safety: keep all slides visible/editable in wp-admin. */
.editor-styles-wrapper .solara-carousel-slide,
.editor-styles-wrapper .solara-space-carousel > .wp-block-image {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.editor-styles-wrapper .solara-week-carousel {
  display: grid;
  gap: 1.25rem;
}
.editor-styles-wrapper .solara-week-carousel::before {
  content: 'Editable carousel: each card below becomes a slide on the front end. Edit, duplicate, delete or reorder the cards here.';
  display: block;
  padding: .75rem 1rem;
  border: 1px dashed #E88752;
  border-radius: .9rem;
  color: #B85C38;
  font-family: var(--font-body, Mulish, sans-serif);
  font-size: .85rem;
  background: rgba(232,135,82,.08);
}
@media (max-width: 900px) {
  .solara-carousel-prev { left: .5rem; }
  .solara-carousel-next { right: .5rem; }
  .solara-carousel-arrow { top: calc(100% + 1.5rem); }
  .solara-carousel-prev { left: calc(50% - 54px); }
  .solara-carousel-next { right: calc(50% - 54px); }
  .solara-carousel-frame { padding-bottom: 4.5rem; }
  .solara-gallery-arrow { width: 38px; height: 38px; }
}

/* -----------------------------------------------------------------------------
   SOLARA v3.14 — Hero readability, warm overlay and faculty card polish
   ----------------------------------------------------------------------------- */

/* Hero warm summer gradient overlay. It sits above the Cover image and below text. */
.solara-gutenberg-page .solara-hero,
.editor-styles-wrapper .solara-hero {
  position: relative;
  isolation: isolate;
}


.solara-gutenberg-page .solara-hero .wp-block-cover__inner-container,
.editor-styles-wrapper .solara-hero .wp-block-cover__inner-container {
  position: relative;
  z-index: 3;
}

/* Brighter hero text using Solara cream, with warm terracotta depth for readability. */
.solara-gutenberg-page .solara-hero .solara-logo,
.editor-styles-wrapper .solara-hero .solara-logo {
  color: #FFF8F2;
  filter: drop-shadow(0 10px 26px rgba(45, 42, 38, .34));
}

.solara-gutenberg-page .solara-hero .solara-block-hero-title,
.editor-styles-wrapper .solara-hero .solara-block-hero-title,
.solara-gutenberg-page .solara-hero .solara-block-hero-location,
.editor-styles-wrapper .solara-hero .solara-block-hero-location,
.solara-gutenberg-page .solara-hero .solara-block-hero-kicker,
.editor-styles-wrapper .solara-hero .solara-block-hero-kicker,
.solara-gutenberg-page .solara-hero .solara-block-hero-lead,
.editor-styles-wrapper .solara-hero .solara-block-hero-lead {
  color: #FFF8F2;
  text-shadow: 0 2px 16px rgba(45, 42, 38, .42), 0 1px 2px rgba(184, 92, 56, .28);
}

/* Put the date/location into a 50% opacity rounded box. */
.solara-gutenberg-page .solara-hero .solara-block-hero-date,
.editor-styles-wrapper .solara-hero .solara-block-hero-date {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  max-width: max-content;
  margin: 0 auto 1.05rem !important;
  padding: .58rem 1.05rem !important;
  border-radius: 999px !important;
  background: rgba(255, 248, 242, .50) !important;
  border: 1px solid rgba(255, 248, 242, .64) !important;
  color: #2D2A26 !important;
  text-shadow: none !important;
  backdrop-filter: blur(12px);
  box-shadow: 0 10px 30px rgba(45, 42, 38, .10);
}

/* Hero CTA hover states. */
.solara-gutenberg-page .solara-hero .wp-block-button__link,
.editor-styles-wrapper .solara-hero .wp-block-button__link {
  transition: transform .24s ease, box-shadow .24s ease, background .24s ease, color .24s ease, border-color .24s ease;
}

.solara-gutenberg-page .solara-hero .solara-block-button .wp-block-button__link:hover,
.editor-styles-wrapper .solara-hero .solara-block-button .wp-block-button__link:hover {
  transform: translateY(-3px) scale(1.015);
  background: linear-gradient(135deg, #E88752 0%, #B85C38 100%) !important;
  box-shadow: 0 20px 46px rgba(184, 92, 56, .36) !important;
}

.solara-gutenberg-page .solara-hero .solara-block-button-secondary .wp-block-button__link,
.editor-styles-wrapper .solara-hero .solara-block-button-secondary .wp-block-button__link {
  color: #FFF8F2 !important;
  border-color: rgba(255, 248, 242, .82) !important;
  background: rgba(255, 248, 242, .08) !important;
  backdrop-filter: blur(10px);
}

.solara-gutenberg-page .solara-hero .solara-block-button-secondary .wp-block-button__link:hover,
.editor-styles-wrapper .solara-hero .solara-block-button-secondary .wp-block-button__link:hover {
  transform: translateY(-3px) scale(1.015);
  color: #B85C38 !important;
  background: rgba(255, 248, 242, .92) !important;
  border-color: rgba(255, 248, 242, .98) !important;
  box-shadow: 0 18px 42px rgba(45, 42, 38, .20) !important;
}

.solara-gutenberg-page .solara-hero .solara-block-hero-pills p,
.editor-styles-wrapper .solara-hero .solara-block-hero-pills p {
  background: rgba(255, 248, 242, .66) !important;
  color: #2D2A26 !important;
  border: 1px solid rgba(255,248,242,.72) !important;
  backdrop-filter: blur(10px);
}

/* Faculty section closer to Base44: compact editorial cards with pill labels. */
.solara-gutenberg-page .solara-faculty-section,
.editor-styles-wrapper .solara-faculty-section {
  background: #FFF8F2 !important;
}

.solara-gutenberg-page .solara-faculty-section .solara-section-title,
.editor-styles-wrapper .solara-faculty-section .solara-section-title {
  max-width: 900px;
  margin-left: auto !important;
  margin-right: auto !important;
  line-height: .96 !important;
}

.solara-gutenberg-page .solara-faculty-section .solara-card-row,
.editor-styles-wrapper .solara-faculty-section .solara-card-row {
  max-width: 1040px;
  margin: 2.3rem auto 0 !important;
  gap: 1.35rem !important;
  align-items: stretch !important;
}

.solara-gutenberg-page .solara-faculty-section .solara-card-row > .wp-block-column,
.editor-styles-wrapper .solara-faculty-section .solara-card-row > .wp-block-column {
  background: #FFFFFF;
  border: 1px solid rgba(232, 135, 82, .22);
  border-radius: 18px;
  overflow: hidden;
  padding: 0 0 1.1rem !important;
  box-shadow: 0 18px 48px rgba(45, 42, 38, .055);
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.solara-gutenberg-page .solara-faculty-section .solara-card-row > .wp-block-column:hover,
.editor-styles-wrapper .solara-faculty-section .solara-card-row > .wp-block-column:hover {
  transform: translateY(-4px);
  border-color: rgba(232, 135, 82, .36);
  box-shadow: 0 22px 58px rgba(45, 42, 38, .09);
}

.solara-gutenberg-page .solara-faculty-section .solara-card-row figure,
.editor-styles-wrapper .solara-faculty-section .solara-card-row figure {
  margin: 0 !important;
}

.solara-gutenberg-page .solara-faculty-section .solara-card-row img,
.editor-styles-wrapper .solara-faculty-section .solara-card-row img {
  width: 100% !important;
  height: 190px !important;
  aspect-ratio: 1.25 / 1 !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  display: block;
}

.solara-gutenberg-page .solara-faculty-section .solara-card-row h3,
.editor-styles-wrapper .solara-faculty-section .solara-card-row h3 {
  font-family: var(--font-heading) !important;
  font-size: 1.25rem !important;
  line-height: 1.15 !important;
  font-weight: 500 !important;
  margin: .55rem 1rem .45rem !important;
  color: #2D2A26 !important;
}

.solara-gutenberg-page .solara-faculty-section .solara-card-row p,
.editor-styles-wrapper .solara-faculty-section .solara-card-row p {
  font-family: var(--font-body) !important;
  font-size: .86rem !important;
  line-height: 1.55 !important;
  color: rgba(45, 42, 38, .62) !important;
  margin: .35rem 1rem 0 !important;
  padding: 0 !important;
}

.solara-gutenberg-page .solara-faculty-section .solara-card-row p:first-of-type,
.editor-styles-wrapper .solara-faculty-section .solara-card-row p:first-of-type {
  display: inline-block;
  background: #F4E6D8;
  color: #B85C38 !important;
  border-radius: 999px;
  padding: .28rem .68rem !important;
  font-size: .72rem !important;
  margin-top: .9rem !important;
}

@media (max-width: 900px) {
  .solara-gutenberg-page .solara-faculty-section .solara-card-row,
  .editor-styles-wrapper .solara-faculty-section .solara-card-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  .solara-gutenberg-page .solara-faculty-section .solara-card-row,
  .editor-styles-wrapper .solara-faculty-section .solara-card-row {
    grid-template-columns: 1fr !important;
  }
}

/* -----------------------------------------------------------------------------
 * SOLARA v3.15 — Global section title alignment fix
 * -----------------------------------------------------------------------------
 * Keeps every main section header centred and constrained in both the front end
 * and the Gutenberg editor. This fixes titles drifting to the side when nested
 * inside editable Group / Constrained layout blocks.
 */
.solara-gutenberg-page .solara-builder-section,
.editor-styles-wrapper .solara-builder-section {
  text-align: center;
}

.solara-gutenberg-page .solara-builder-section > .solara-eyebrow,
.solara-gutenberg-page .solara-builder-section > .wp-block-heading.solara-section-title,
.solara-gutenberg-page .solara-builder-section > .solara-section-title,
.solara-gutenberg-page .solara-builder-section > .solara-lead,
.solara-gutenberg-page .solara-builder-section > .solara-block-lead,
.editor-styles-wrapper .solara-builder-section > .solara-eyebrow,
.editor-styles-wrapper .solara-builder-section > .wp-block-heading.solara-section-title,
.editor-styles-wrapper .solara-builder-section > .solara-section-title,
.editor-styles-wrapper .solara-builder-section > .solara-lead,
.editor-styles-wrapper .solara-builder-section > .solara-block-lead {
  display: block !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  max-width: 920px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  justify-self: center !important;
  align-self: center !important;
}

.solara-gutenberg-page .solara-builder-section > .solara-eyebrow,
.editor-styles-wrapper .solara-builder-section > .solara-eyebrow {
  max-width: 100% !important;
  margin-bottom: 1rem !important;
}

.solara-gutenberg-page .solara-builder-section > .wp-block-heading.solara-section-title,
.solara-gutenberg-page .solara-builder-section > .solara-section-title,
.editor-styles-wrapper .solara-builder-section > .wp-block-heading.solara-section-title,
.editor-styles-wrapper .solara-builder-section > .solara-section-title {
  font-family: var(--font-heading) !important;
  font-size: clamp(3.25rem, 6.2vw, 5.2rem) !important;
  line-height: .95 !important;
  letter-spacing: -0.035em !important;
  margin-top: 0 !important;
  margin-bottom: 1.25rem !important;
  color: var(--brand-charcoal) !important;
}

.solara-gutenberg-page .solara-builder-section > .wp-block-heading.solara-section-title mark,
.solara-gutenberg-page .solara-builder-section > .solara-section-title mark,
.editor-styles-wrapper .solara-builder-section > .wp-block-heading.solara-section-title mark,
.editor-styles-wrapper .solara-builder-section > .solara-section-title mark {
  font-family: var(--font-heading) !important;
  color: var(--brand-orange) !important;
}

.solara-gutenberg-page .solara-builder-section > .solara-lead,
.solara-gutenberg-page .solara-builder-section > .solara-block-lead,
.editor-styles-wrapper .solara-builder-section > .solara-lead,
.editor-styles-wrapper .solara-builder-section > .solara-block-lead {
  max-width: 720px !important;
  color: rgba(45,42,38,.68) !important;
  line-height: 1.75 !important;
}

/* Contact is intentionally left-aligned on desktop, matching the Base44 layout. */
@media (min-width: 861px) {
  .solara-gutenberg-page .solara-contact-section .solara-section-title,
  .editor-styles-wrapper .solara-contact-section .solara-section-title,
  .solara-gutenberg-page .solara-contact-section .solara-eyebrow,
  .editor-styles-wrapper .solara-contact-section .solara-eyebrow {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 560px !important;
  }
}

@media (max-width: 860px) {
  .solara-gutenberg-page .solara-builder-section > .wp-block-heading.solara-section-title,
  .solara-gutenberg-page .solara-builder-section > .solara-section-title,
  .editor-styles-wrapper .solara-builder-section > .wp-block-heading.solara-section-title,
  .editor-styles-wrapper .solara-builder-section > .solara-section-title {
    font-size: clamp(2.65rem, 12vw, 4rem) !important;
  }
}


/* -----------------------------------------------------------------------------
 * SOLARA v3.16 — Intercalated section backgrounds
 * -----------------------------------------------------------------------------
 * Matches the Base44 landing page rhythm: hero image, white editorial sections,
 * warm cream/sand bands, then dark footer. These are default theme styles only;
 * individual Gutenberg section backgrounds can still be changed from the editor.
 */
:root {
  --solara-bg-white: #FFFFFF;
  --solara-bg-cream: #FFF8F2;
  --solara-bg-soft: #FFFAF5;
  --solara-bg-sand: #F4E6D8;
  --solara-bg-sand-soft: #FBF1E8;
}

/* Front end */
.solara-about-section {
  background: var(--solara-bg-white) !important;
}

.solara-included-section {
  background: linear-gradient(180deg, var(--solara-bg-cream) 0%, var(--solara-bg-soft) 100%) !important;
}

.solara-schedule-section,
.solara-native-carousel-section {
  background: var(--solara-bg-white) !important;
}

.solara-headliner-section {
  background: linear-gradient(135deg, var(--solara-bg-sand-soft) 0%, var(--solara-bg-cream) 100%) !important;
}

.solara-faculty-section {
  background: var(--solara-bg-white) !important;
}

.solara-space-section {
  background: var(--solara-bg-white) !important;
}

.solara-pricing-section {
  background: linear-gradient(180deg, var(--solara-bg-white) 0%, var(--solara-bg-soft) 100%) !important;
}

.solara-faq-section {
  background: linear-gradient(180deg, var(--solara-bg-sand-soft) 0%, var(--solara-bg-cream) 100%) !important;
}

.solara-contact-section {
  background: var(--solara-bg-white) !important;
}

.solara-footer {
  background: #2D2A26 !important;
}

/* Editor canvas parity: the editor uses an extra wrapper, so repeat the rhythm. */
.editor-styles-wrapper .solara-about-section {
  background: var(--solara-bg-white) !important;
}
.editor-styles-wrapper .solara-included-section {
  background: linear-gradient(180deg, var(--solara-bg-cream) 0%, var(--solara-bg-soft) 100%) !important;
}
.editor-styles-wrapper .solara-schedule-section,
.editor-styles-wrapper .solara-native-carousel-section {
  background: var(--solara-bg-white) !important;
}
.editor-styles-wrapper .solara-headliner-section {
  background: linear-gradient(135deg, var(--solara-bg-sand-soft) 0%, var(--solara-bg-cream) 100%) !important;
}
.editor-styles-wrapper .solara-faculty-section {
  background: var(--solara-bg-white) !important;
}
.editor-styles-wrapper .solara-space-section {
  background: var(--solara-bg-white) !important;
}
.editor-styles-wrapper .solara-pricing-section {
  background: linear-gradient(180deg, var(--solara-bg-white) 0%, var(--solara-bg-soft) 100%) !important;
}
.editor-styles-wrapper .solara-faq-section {
  background: linear-gradient(180deg, var(--solara-bg-sand-soft) 0%, var(--solara-bg-cream) 100%) !important;
}
.editor-styles-wrapper .solara-contact-section {
  background: var(--solara-bg-white) !important;
}
.editor-styles-wrapper .solara-footer {
  background: #2D2A26 !important;
}

/* -----------------------------------------------------------------------------
   SOLARA v3.17 — Glass effect top navigation
   -----------------------------------------------------------------------------
   Adds a soft frosted-glass layer to the menu. It stays lightly transparent over
   the hero, then becomes stronger as the visitor scrolls.
----------------------------------------------------------------------------- */
.solara-header {
  --solara-nav-bg-opacity: 0;
  background: rgba(255, 248, 242, calc(0.18 + (var(--solara-nav-bg-opacity) * 0.72))) !important;
  border-bottom: 1px solid rgba(255, 255, 255, calc(0.18 + (var(--solara-nav-bg-opacity) * 0.28))) !important;
  box-shadow:
    0 14px 42px rgba(45, 42, 38, calc(0.025 + (var(--solara-nav-bg-opacity) * 0.075))),
    inset 0 1px 0 rgba(255, 255, 255, calc(0.20 + (var(--solara-nav-bg-opacity) * 0.30))) !important;
  backdrop-filter: saturate(150%) blur(18px) !important;
  -webkit-backdrop-filter: saturate(150%) blur(18px) !important;
}

.solara-header:not(.is-scrolled) {
  border-bottom-color: rgba(255, 255, 255, 0.22) !important;
  box-shadow:
    0 10px 32px rgba(45, 42, 38, 0.025),
    inset 0 1px 0 rgba(255, 255, 255, 0.24) !important;
}

.solara-header.is-scrolled {
  --solara-nav-bg-opacity: 0.92;
  border-bottom-color: rgba(234, 223, 215, 0.68) !important;
}

.solara-header .solara-nav-inner {
  position: relative;
}

.solara-header .solara-nav-cta {
  transition: transform 220ms ease, box-shadow 220ms ease, filter 220ms ease;
}

.solara-header .solara-nav-cta:hover {
  transform: translateY(-1px);
  filter: brightness(1.04);
  box-shadow: 0 16px 34px rgba(184, 92, 56, 0.28);
}

/* -----------------------------------------------------------------------------
   SOLARA v3.18 — Footer heading readability fix
   -----------------------------------------------------------------------------
   The footer column headings, especially “QUICK LINKS”, were too low-contrast on
   the charcoal footer. This keeps the Base44 muted style but makes it readable.
----------------------------------------------------------------------------- */
.solara-footer h3,
.solara-block-footer h3,
.editor-styles-wrapper .solara-footer h3,
.editor-styles-wrapper .solara-block-footer h3 {
  color: rgba(255, 248, 242, 0.72) !important;
  opacity: 1 !important;
}

.solara-footer .wp-block-column:nth-child(2) h3,
.solara-block-footer .solara-footer-grid > *:nth-child(2) h3,
.editor-styles-wrapper .solara-footer .wp-block-column:nth-child(2) h3 {
  color: #F4E6D8 !important;
}

/* -----------------------------------------------------------------------------
   SOLARA v3.19 — Contact section parity + Contact Form 7 styling
   -----------------------------------------------------------------------------
   Fixes the Gutenberg contact layout so it matches the Base44 reference:
   - left/right two-column layout with balanced widths
   - small contact icons instead of oversized emoji blocks
   - no vertical broken text
   - full Contact Form 7 form styling inside the card
----------------------------------------------------------------------------- */
.solara-contact-v319,
.solara-contact-section.solara-contact-v319 {
  background: #FFFFFF !important;
  padding-top: clamp(72px, 8vw, 112px) !important;
  padding-bottom: clamp(72px, 8vw, 112px) !important;
}

.solara-contact-v319 .solara-contact-grid {
  max-width: 1080px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(380px, 0.95fr) !important;
  gap: clamp(42px, 6vw, 72px) !important;
  align-items: start !important;
}

.solara-contact-v319 .solara-contact-copy,
.solara-contact-v319 .solara-contact-form-column {
  min-width: 0 !important;
}

.solara-contact-v319 .solara-eyebrow {
  text-align: left !important;
  margin-bottom: 1rem !important;
}

.solara-contact-v319 .solara-contact-title,
.solara-contact-v319 .solara-section-title {
  text-align: left !important;
  max-width: 520px !important;
  margin: 0 0 1.5rem !important;
  font-size: clamp(48px, 6vw, 86px) !important;
  line-height: 0.96 !important;
  letter-spacing: -0.03em !important;
}

.solara-contact-v319 .solara-contact-intro {
  max-width: 520px !important;
  color: rgba(45,42,38,.68) !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
  margin: 0 0 2rem !important;
}

.solara-contact-v319 .solara-contact-method {
  box-sizing: border-box !important;
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 34px 1fr !important;
  gap: 16px !important;
  align-items: center !important;
  min-height: 72px !important;
  padding: 16px 20px !important;
  border-radius: 18px !important;
  margin: 0 0 14px !important;
  background: #FFFFFF !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.solara-contact-v319 .solara-contact-icon {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  margin: 0 !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 12px !important;
  background: rgba(232,135,82,.10) !important;
  font-size: 18px !important;
  line-height: 1 !important;
  color: #B85C38 !important;
  text-align: center !important;
}

.solara-contact-v319 .solara-contact-whatsapp .solara-contact-icon {
  background: rgba(37,211,102,.10) !important;
}

.solara-contact-v319 .solara-contact-method-text,
.solara-contact-v319 .solara-contact-method-text p,
.solara-contact-v319 .solara-contact-method p {
  margin: 0 !important;
  min-width: 0 !important;
  max-width: none !important;
  width: auto !important;
  color: rgba(45,42,38,.68) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  text-align: left !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.solara-contact-v319 .solara-contact-method strong {
  display: block !important;
  color: #2D2A26 !important;
  font-family: var(--font-heading) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  margin-bottom: 1px !important;
}

.solara-contact-v319 .solara-contact-photo,
.solara-contact-v319 figure.solara-contact-photo {
  margin: 28px 0 0 !important;
}

.solara-contact-v319 figure.solara-contact-photo img,
.solara-contact-v319 .solara-contact-photo img {
  display: block !important;
  width: 100% !important;
  height: 190px !important;
  object-fit: cover !important;
  border-radius: 20px !important;
  box-shadow: 0 20px 55px rgba(45,42,38,.10) !important;
}

.solara-contact-v319 .solara-contact-form-card,
.solara-contact-v319 .solara-form-card {
  box-sizing: border-box !important;
  width: 100% !important;
  background: #FFF8F2 !important;
  border: 1px solid #EADFD7 !important;
  border-radius: 28px !important;
  padding: clamp(28px, 4vw, 42px) !important;
  box-shadow: 0 28px 80px rgba(45,42,38,.075) !important;
}

.solara-contact-v319 .solara-contact-form-card h3 {
  max-width: 440px !important;
  margin: 0 0 1.6rem !important;
  color: #2D2A26 !important;
  font-family: var(--font-heading) !important;
  font-size: clamp(28px, 3vw, 36px) !important;
  line-height: 1.12 !important;
  font-weight: 600 !important;
}

.solara-contact-v319 .wpcf7,
.solara-contact-v319 .wpcf7 form,
.solara-contact-v319 .wpcf7-form {
  margin: 0 !important;
}

.solara-contact-v319 .wpcf7 label {
  display: block !important;
  margin: 0 0 18px !important;
  color: #B85C38 !important;
  font-family: var(--font-body) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
}

.solara-contact-v319 .wpcf7 input:not([type="submit"]),
.solara-contact-v319 .wpcf7 textarea {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  margin-top: 8px !important;
  border: 1px solid #EADFD7 !important;
  border-radius: 14px !important;
  background: #FFFFFF !important;
  color: #2D2A26 !important;
  padding: 15px 18px !important;
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  outline: none !important;
  box-shadow: none !important;
}

.solara-contact-v319 .wpcf7 textarea {
  min-height: 118px !important;
  resize: vertical !important;
}

.solara-contact-v319 .wpcf7 input:focus,
.solara-contact-v319 .wpcf7 textarea:focus {
  border-color: #E88752 !important;
  box-shadow: 0 0 0 3px rgba(232,135,82,.14) !important;
}

.solara-contact-v319 .wpcf7 input[type="submit"] {
  width: 100% !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg,#E88752,#B85C38) !important;
  color: #FFFFFF !important;
  padding: 16px 24px !important;
  font-family: var(--font-heading) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  box-shadow: 0 18px 42px rgba(184,92,56,.25) !important;
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease !important;
}

.solara-contact-v319 .wpcf7 input[type="submit"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 24px 56px rgba(184,92,56,.32) !important;
  filter: saturate(1.05) !important;
}

.solara-contact-v319 .wpcf7-spinner {
  display: block !important;
  margin: 12px auto 0 !important;
}

.solara-contact-v319 .wpcf7-not-valid-tip,
.solara-contact-v319 .wpcf7-response-output {
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

.solara-contact-v319 .solara-form-note {
  margin: 18px 0 0 !important;
  text-align: center !important;
  color: rgba(45,42,38,.45) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

.solara-contact-v319 .solara-form-missing {
  background: rgba(232,135,82,.10) !important;
  border: 1px solid rgba(232,135,82,.20) !important;
  border-radius: 14px !important;
  padding: 14px !important;
  color: #B85C38 !important;
}

@media (max-width: 900px) {
  .solara-contact-v319 .solara-contact-grid {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }
  .solara-contact-v319 .solara-contact-title,
  .solara-contact-v319 .solara-section-title,
  .solara-contact-v319 .solara-eyebrow {
    text-align: left !important;
  }
}

/* -----------------------------------------------------------------------------
   SOLARA v3.20 — What's Included section parity
   Keeps the section editable in Gutenberg while making the front end match the
   Base44 reference: centered heading, two-column rounded item cards, soft note.
----------------------------------------------------------------------------- */
.solara-included-section {
  background: #FFF8F2 !important;
  padding-top: clamp(5.5rem, 8vw, 7.5rem) !important;
  padding-bottom: clamp(5rem, 7vw, 6.75rem) !important;
}

.solara-included-section > .wp-block-group__inner-container,
.solara-included-section .wp-block-group__inner-container,
.solara-included-section .wp-block-columns,
.solara-included-section .solara-included-grid {
  max-width: 1040px !important;
}

.solara-included-section .solara-eyebrow {
  margin-bottom: 1rem !important;
  color: #E88752 !important;
  font-family: var(--font-body) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.32em !important;
  text-transform: uppercase !important;
  text-align: center !important;
}

.solara-included-section .solara-section-title,
.solara-included-section h2.solara-section-title {
  margin: 0 auto 1.35rem !important;
  max-width: 760px !important;
  font-family: var(--font-heading) !important;
  font-size: clamp(3rem, 6vw, 5.2rem) !important;
  font-weight: 500 !important;
  line-height: 0.92 !important;
  letter-spacing: -0.035em !important;
  text-align: center !important;
  color: #2D2A26 !important;
}

.solara-included-section .solara-section-title mark {
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  color: #E88752 !important;
}

.solara-included-section .solara-lead {
  max-width: 680px !important;
  margin: 0 auto clamp(3rem, 5vw, 4rem) !important;
  font-family: var(--font-body) !important;
  font-size: clamp(1rem, 1.35vw, 1.18rem) !important;
  line-height: 1.65 !important;
  text-align: center !important;
  color: rgba(45, 42, 38, 0.62) !important;
}

.solara-included-section .solara-included-grid,
.solara-included-section .wp-block-columns.solara-included-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1rem 1.15rem !important;
  max-width: 1020px !important;
  margin: 0 auto clamp(3rem, 5vw, 3.75rem) !important;
}

.solara-included-section .solara-included-grid > .wp-block-column {
  display: contents !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.solara-included-section .solara-included-grid ul {
  display: contents !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.solara-included-section .solara-included-grid li {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
  min-height: 4.55rem !important;
  margin: 0 !important;
  padding: 1.18rem 1.45rem !important;
  background: rgba(255, 255, 255, 0.78) !important;
  border: 1px solid #EADFD7 !important;
  border-radius: 1.05rem !important;
  box-shadow: none !important;
  color: rgba(45, 42, 38, 0.72) !important;
  font-family: var(--font-body) !important;
  font-size: clamp(0.98rem, 1.15vw, 1.08rem) !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease, background .25s ease;
}

.solara-included-section .solara-included-grid li:hover {
  transform: translateY(-2px);
  border-color: rgba(232, 135, 82, 0.34) !important;
  background: #FFFFFF !important;
  box-shadow: 0 18px 42px rgba(184, 92, 56, 0.08) !important;
}

.solara-included-section .solara-included-grid li::before {
  content: '✓' !important;
  flex: 0 0 auto !important;
  color: #E88752 !important;
  font-family: var(--font-body) !important;
  font-size: 1.08rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  margin: 0 !important;
}

/* Let the typed emoji sit after the check mark, not oversized or misaligned. */
.solara-included-section .solara-included-grid li > img,
.solara-included-section .solara-included-grid li .emoji {
  width: 1.25em !important;
  height: 1.25em !important;
  vertical-align: -0.18em !important;
}

.solara-included-section .solara-soft-note,
.solara-included-section > p.solara-soft-note,
.solara-included-section .wp-block-group__inner-container > p.solara-soft-note {
  display: table !important;
  max-width: min(640px, calc(100% - 2rem)) !important;
  margin: 0 auto !important;
  padding: 0.9rem 1.65rem !important;
  border: 1px solid rgba(232, 135, 82, 0.58) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.50) !important;
  color: #E88752 !important;
  font-family: var(--font-body) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  text-align: center !important;
}

.solara-included-section .solara-soft-note::before {
  content: '✓';
  margin-right: .55rem;
  font-weight: 800;
}

@media (max-width: 780px) {
  .solara-included-section {
    padding-top: 4.5rem !important;
    padding-bottom: 4.75rem !important;
  }
  .solara-included-section .solara-section-title,
  .solara-included-section h2.solara-section-title {
    font-size: clamp(2.55rem, 13vw, 4rem) !important;
  }
  .solara-included-section .solara-included-grid,
  .solara-included-section .wp-block-columns.solara-included-grid {
    grid-template-columns: 1fr !important;
    gap: .85rem !important;
  }
  .solara-included-section .solara-included-grid li {
    min-height: auto !important;
    padding: 1rem 1.1rem !important;
    font-size: 0.98rem !important;
  }
}

/* -----------------------------------------------------------------------------
   SOLARA v3.21 — Mobile-first responsiveness + editor visibility controls
   -----------------------------------------------------------------------------
   Primary target: modern iPhones, including iPhone 15/15 Pro widths.
   These rules keep the Gutenberg version editable while making the front end
   stack cleanly on small screens.
----------------------------------------------------------------------------- */

/* Visibility styles available in Gutenberg sidebar > Styles. */
.is-style-solara-mobile-only,
.editor-styles-wrapper .is-style-solara-mobile-only {
  display: none !important;
}

@media (max-width: 782px) {
  .is-style-solara-hide-mobile,
  .editor-styles-wrapper .is-style-solara-hide-mobile {
    display: none !important;
  }
  .is-style-solara-mobile-only,
  .editor-styles-wrapper .is-style-solara-mobile-only {
    display: initial !important;
  }
  .is-style-solara-hide-desktop,
  .editor-styles-wrapper .is-style-solara-hide-desktop {
    display: initial !important;
  }
  .is-style-solara-mobile-compact,
  .editor-styles-wrapper .is-style-solara-mobile-compact {
    padding-top: 2.75rem !important;
    padding-bottom: 2.75rem !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}

@media (min-width: 783px) {
  .is-style-solara-hide-desktop,
  .editor-styles-wrapper .is-style-solara-hide-desktop {
    display: none !important;
  }
}

/* Global small-screen rhythm. */
@media (max-width: 782px) {
  html, body {
    overflow-x: hidden !important;
  }

  body {
    -webkit-text-size-adjust: 100%;
  }

  .solara-builder-section,
  .solara-about-section,
  .solara-included-section,
  .solara-schedule-section,
  .solara-headliner-section,
  .solara-faculty-section,
  .solara-space-section,
  .solara-pricing-section,
  .solara-faq-section,
  .solara-contact-section {
    padding: 4.5rem 1.15rem !important;
  }

  .solara-builder-section > .wp-block-group__inner-container,
  .solara-about-section > .wp-block-group__inner-container,
  .solara-included-section > .wp-block-group__inner-container,
  .solara-schedule-section > .wp-block-group__inner-container,
  .solara-headliner-section > .wp-block-group__inner-container,
  .solara-faculty-section > .wp-block-group__inner-container,
  .solara-space-section > .wp-block-group__inner-container,
  .solara-pricing-section > .wp-block-group__inner-container,
  .solara-faq-section > .wp-block-group__inner-container,
  .solara-contact-section > .wp-block-group__inner-container {
    width: 100% !important;
    max-width: 100% !important;
  }

  .solara-eyebrow,
  .solara-kicker {
    font-size: 0.72rem !important;
    letter-spacing: .22em !important;
  }

  .solara-section-title,
  h2.solara-section-title,
  .solara-contact-title {
    font-size: clamp(2.45rem, 13.5vw, 4.2rem) !important;
    line-height: .94 !important;
    letter-spacing: -0.025em !important;
    max-width: 100% !important;
  }

  .solara-lead,
  .solara-block-lead,
  .solara-intro,
  .solara-contact-intro {
    font-size: 1rem !important;
    line-height: 1.65 !important;
    max-width: 34rem !important;
  }

  .wp-block-columns,
  .solara-feature-row,
  .solara-card-row,
  .solara-contact-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1.35rem !important;
  }

  .wp-block-column {
    flex-basis: auto !important;
    width: 100% !important;
  }

  .solara-editable-card,
  .solara-price-card,
  .solara-contact-method,
  .solara-contact-form-card,
  .solara-faq-card,
  .solara-headliner-card,
  .solara-schedule-card {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 1.25rem !important;
  }

  .solara-button,
  .wp-block-button__link,
  .wpcf7-submit {
    width: 100% !important;
    max-width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
    min-height: 48px !important;
  }

  img,
  figure,
  .wp-block-image img {
    max-width: 100% !important;
    height: auto !important;
  }
}

/* Hero specifically for mobile. */
@media (max-width: 782px) {
  .solara-hero {
    min-height: 100svh !important;
    padding: 6.5rem 1.1rem 3.25rem !important;
    background-position: center center !important;
  }

  .solara-hero-content {
    width: min(100%, 26rem) !important;
  }

  .solara-logo {
    width: clamp(150px, 48vw, 210px) !important;
  }

  .solara-hero-title,
  .solara-hero h1 {
    font-size: clamp(4rem, 20vw, 6.5rem) !important;
    letter-spacing: .14em !important;
    line-height: .86 !important;
    margin-left: .12em !important;
  }

  .solara-hero-location {
    font-size: clamp(1.25rem, 6vw, 1.85rem) !important;
  }

  .solara-tagline {
    font-size: .76rem !important;
    letter-spacing: .22em !important;
  }

  .solara-hero .solara-intro {
    font-size: .98rem !important;
    line-height: 1.55 !important;
    max-width: 22rem !important;
  }

  .solara-hero .wp-block-buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .75rem !important;
    width: min(100%, 20rem) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .solara-hero-pills {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .65rem !important;
    width: min(100%, 22rem) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .solara-hero-pills > * {
    justify-content: center !important;
    white-space: normal !important;
    text-align: center !important;
    font-size: .76rem !important;
    padding: .65rem .7rem !important;
  }
}

/* About / Essence mobile. */
@media (max-width: 782px) {
  .solara-about-section .wp-block-columns:first-of-type,
  .solara-about-section .solara-card-row {
    grid-template-columns: 1fr !important;
  }

  .solara-essence-card {
    min-height: auto !important;
    padding: 1.4rem 1.2rem !important;
  }

  .solara-essence-icon,
  .solara-about-section .solara-essence-icon img {
    max-height: 132px !important;
    width: auto !important;
  }

  .solara-feature-row {
    align-items: stretch !important;
  }

  .solara-floating-datebox {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    bottom: -1.4rem !important;
  }
}

/* Included, schedule, faculty, dates, space, pricing and FAQ mobile polish. */
@media (max-width: 782px) {
  .solara-included-grid {
    grid-template-columns: 1fr !important;
  }

  .solara-native-carousel,
  .solara-week-carousel {
    overflow: visible !important;
  }

  .solara-schedule-card {
    padding: 1.5rem 1.15rem !important;
  }

  .solara-schedule-card .wp-block-columns {
    gap: .75rem !important;
  }

  .solara-faculty-cards {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }

  .solara-faculty-cards .wp-block-image img {
    aspect-ratio: 1.25 / 1 !important;
    object-fit: cover !important;
    width: 100% !important;
  }


  .solara-space-carousel .wp-block-gallery,
  .solara-gallery-carousel,
  .solara-editable-gallery {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .9rem !important;
  }

  .solara-space-section .wp-block-gallery figure,
  .solara-gallery-carousel figure {
    width: 100% !important;
  }

  .solara-pricing-section .wp-block-columns {
    grid-template-columns: 1fr !important;
  }

  .solara-price-card {
    padding: 1.6rem 1.25rem !important;
  }

  .solara-price {
    font-size: clamp(2.2rem, 12vw, 3.4rem) !important;
  }

  .solara-faq-card details,
  .solara-faq-card .wp-block-details {
    padding: 0 !important;
  }
}

/* Contact mobile: no narrow text columns, touch-friendly form. */
@media (max-width: 782px) {
  .solara-contact-section {
    padding-left: 1.15rem !important;
    padding-right: 1.15rem !important;
  }

  .solara-contact-grid,
  .solara-contact-section > .wp-block-group__inner-container > .wp-block-columns {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1.8rem !important;
  }

  .solara-contact-title {
    text-align: left !important;
  }

  .solara-contact-method {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    align-items: center !important;
    gap: .85rem !important;
    padding: 1rem !important;
    min-height: auto !important;
  }

  .solara-contact-method p,
  .solara-contact-method-text,
  .solara-contact-method-text * {
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    line-height: 1.45 !important;
  }

  .solara-contact-icon,
  .solara-contact-method .emoji,
  .solara-contact-method img {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    font-size: 1.35rem !important;
  }

  .solara-contact-photo img {
    aspect-ratio: 16 / 10 !important;
    object-fit: cover !important;
  }

  .solara-contact-form-card {
    padding: 1.4rem !important;
  }

  .wpcf7-form input,
  .wpcf7-form textarea,
  .wpcf7-form select {
    min-height: 48px !important;
    font-size: 16px !important; /* avoids iOS zoom on focus */
  }
}

/* Footer mobile. */
@media (max-width: 782px) {
  .solara-footer {
    padding: 3.5rem 1.25rem 2.25rem !important;
  }
  .solara-footer .wp-block-columns,
  .solara-footer .wp-block-group__inner-container > .wp-block-columns {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
    text-align: left !important;
  }
  .solara-footer .wp-block-buttons .wp-block-button__link {
    width: auto !important;
  }
}

/* Extra-tight iPhone widths. */
@media (max-width: 430px) {
  .solara-section-title,
  h2.solara-section-title {
    font-size: clamp(2.25rem, 14vw, 3.55rem) !important;
  }

  .solara-hero-title,
  .solara-hero h1 {
    font-size: clamp(3.6rem, 19vw, 5.4rem) !important;
  }

  .solara-hero-pills {
    grid-template-columns: 1fr !important;
  }

  .solara-floating-datebox {
    width: max-content !important;
    max-width: calc(100vw - 3rem) !important;
  }
}

/* Editor note: make visibility styles obvious inside the canvas. */
.editor-styles-wrapper .is-style-solara-hide-mobile,
.editor-styles-wrapper .is-style-solara-mobile-only,
.editor-styles-wrapper .is-style-solara-hide-desktop {
  position: relative;
}

.editor-styles-wrapper .is-style-solara-hide-mobile::before,
.editor-styles-wrapper .is-style-solara-mobile-only::before,
.editor-styles-wrapper .is-style-solara-hide-desktop::before {
  content: 'Responsive visibility style active';
  display: inline-block;
  position: absolute;
  z-index: 10;
  top: .35rem;
  left: .35rem;
  padding: .25rem .5rem;
  border-radius: 999px;
  background: rgba(45, 42, 38, .72);
  color: #fff8f2;
  font: 600 11px/1 var(--font-body);
  pointer-events: none;
}

/* -----------------------------------------------------------------------------
   SOLARA v3.22 — What's Included: remove automatic tick/check icons
   -----------------------------------------------------------------------------
   The included items already use editable emoji/icons inside the Gutenberg list
   text. This removes the extra generated orange tick so each item only shows the
   icon/content you edit in the WordPress editor.
*/
.solara-included-section .solara-included-grid li::before,
.solara-included-section .wp-block-list li::before,
.solara-included-section ul li::before {
  content: none !important;
  display: none !important;
}

.solara-included-section .solara-included-grid li,
.solara-included-section .wp-block-list li,
.solara-included-section ul li {
  padding-left: 0 !important;
  list-style: none !important;
}

.solara-included-section .solara-included-grid ul,
.solara-included-section .wp-block-list,
.solara-included-section ul {
  list-style: none !important;
  padding-left: 0 !important;
}

/* -----------------------------------------------------------------------------
 * SOLARA v3.23 — What's Included note single-line fix
 * Keeps the massage note on one line on desktop/tablet while remaining safe on very small phones.
 * -------------------------------------------------------------------------- */
.solara-included-section .solara-soft-note {
  display: block;
  width: fit-content;
  max-width: calc(100vw - 3rem);
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: clamp(0.8rem, 1.1vw, 0.95rem);
}

@media (max-width: 390px) {
  .solara-included-section .solara-soft-note {
    white-space: normal;
    overflow: visible;
    text-overflow: initial;
  }
}


.solara-faculty-section .solara-muted-note,
.editor-styles-wrapper .solara-faculty-section .solara-muted-note {
  display: block !important;
  width: fit-content !important;
  max-width: min(680px, 100%) !important;
  margin: 36px auto 0 !important;
  text-align: center !important;
  float: none !important;
  clear: both !important;
}


/* -----------------------------------------------------------------------------
   SOLARA v3.25 — Hero sand text, updated logo and warmer editable overlay
   ----------------------------------------------------------------------------- */


.solara-gutenberg-page .solara-hero .solara-logo-wrap,
.editor-styles-wrapper .solara-hero .solara-logo-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 1rem;
}

.solara-gutenberg-page .solara-hero .solara-logo,
.editor-styles-wrapper .solara-hero .solara-logo {
  display: block;
  width: clamp(190px, 22vw, 300px);
  height: auto;
  color: #F4E6D8;
  filter: drop-shadow(0 12px 34px rgba(45, 42, 38, .38));
}

.solara-gutenberg-page .solara-hero .solara-kicker,
.editor-styles-wrapper .solara-hero .solara-kicker {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  max-width: max-content !important;
  margin: 0 auto 1.05rem !important;
  padding: .58rem 1.05rem !important;
  border-radius: 999px !important;
  background: rgba(244, 230, 216, .50) !important;
  border: 1px solid rgba(244, 230, 216, .62) !important;
  color: #F4E6D8 !important;
  text-shadow: 0 1px 10px rgba(45, 42, 38, .42);
  backdrop-filter: blur(12px);
  box-shadow: 0 12px 36px rgba(45, 42, 38, .12);
}

.solara-gutenberg-page .solara-hero .solara-hero-title,
.editor-styles-wrapper .solara-hero .solara-hero-title,
.solara-gutenberg-page .solara-hero .solara-hero-location,
.editor-styles-wrapper .solara-hero .solara-hero-location,
.solara-gutenberg-page .solara-hero .solara-tagline,
.editor-styles-wrapper .solara-hero .solara-tagline,
.solara-gutenberg-page .solara-hero .solara-intro,
.editor-styles-wrapper .solara-hero .solara-intro {
  color: #F4E6D8;
  text-shadow: 0 2px 18px rgba(45, 42, 38, .52), 0 1px 2px rgba(184, 92, 56, .26);
}

.solara-gutenberg-page .solara-hero .solara-intro,
.editor-styles-wrapper .solara-hero .solara-intro {
  font-weight: 700;
}

.solara-gutenberg-page .solara-hero .solara-button .wp-block-button__link:hover,
.editor-styles-wrapper .solara-hero .solara-button .wp-block-button__link:hover {
  transform: translateY(-3px) scale(1.018);
  background: linear-gradient(135deg, #F0A06D 0%, #E88752 42%, #B85C38 100%) !important;
  box-shadow: 0 22px 54px rgba(184, 92, 56, .42) !important;
}

.solara-gutenberg-page .solara-hero .solara-button-secondary .wp-block-button__link,
.editor-styles-wrapper .solara-hero .solara-button-secondary .wp-block-button__link {
  color: #F4E6D8 !important;
  border-color: rgba(244, 230, 216, .72) !important;
  background: rgba(244, 230, 216, .08) !important;
  backdrop-filter: blur(10px);
}

.solara-gutenberg-page .solara-hero .solara-button-secondary .wp-block-button__link:hover,
.editor-styles-wrapper .solara-hero .solara-button-secondary .wp-block-button__link:hover {
  transform: translateY(-3px) scale(1.018);
  color: #B85C38 !important;
  background: rgba(244, 230, 216, .94) !important;
  border-color: rgba(244, 230, 216, .98) !important;
  box-shadow: 0 20px 48px rgba(45, 42, 38, .24) !important;
}

@media (max-width: 782px) {
  .solara-gutenberg-page .solara-hero .solara-logo,
  .editor-styles-wrapper .solara-hero .solara-logo {
    width: clamp(170px, 56vw, 240px) !important;
  }
}

/* -----------------------------------------------------------------------------
   SOLARA v3.26 — Hero pills content support + sand itinerary CTA
   ----------------------------------------------------------------------------- */
.solara-gutenberg-page .solara-hero .solara-block-hero-pills,
.editor-styles-wrapper .solara-hero .solara-block-hero-pills,
.solara-gutenberg-page .solara-hero .solara-hero-pills,
.editor-styles-wrapper .solara-hero .solara-hero-pills {
  gap: .9rem !important;
}

.solara-gutenberg-page .solara-hero .solara-block-hero-pills p,
.editor-styles-wrapper .solara-hero .solara-block-hero-pills p,
.solara-gutenberg-page .solara-hero .solara-hero-pills p,
.editor-styles-wrapper .solara-hero .solara-hero-pills p {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  padding: .45rem .82rem !important;
  border-radius: 999px !important;
  background: rgba(244, 230, 216, .72) !important;
  color: #2D2A26 !important;
  border: 1px solid rgba(244, 230, 216, .88) !important;
  box-shadow: 0 10px 28px rgba(45, 42, 38, .12);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  white-space: nowrap;
}

/* Secondary hero CTA: “Get the Full Itinerary (PDF)” in Solara sand. */
.solara-gutenberg-page .solara-hero .solara-button-secondary .wp-block-button__link,
.editor-styles-wrapper .solara-hero .solara-button-secondary .wp-block-button__link,
.solara-gutenberg-page .solara-hero .solara-block-button-secondary .wp-block-button__link,
.editor-styles-wrapper .solara-hero .solara-block-button-secondary .wp-block-button__link {
  color: #F4E6D8 !important;
  border: 1.5px solid rgba(244, 230, 216, .92) !important;
  background: rgba(244, 230, 216, .10) !important;
  box-shadow: 0 14px 34px rgba(45, 42, 38, .16) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.solara-gutenberg-page .solara-hero .solara-button-secondary .wp-block-button__link:hover,
.editor-styles-wrapper .solara-hero .solara-button-secondary .wp-block-button__link:hover,
.solara-gutenberg-page .solara-hero .solara-block-button-secondary .wp-block-button__link:hover,
.editor-styles-wrapper .solara-hero .solara-block-button-secondary .wp-block-button__link:hover {
  transform: translateY(-3px) scale(1.018);
  color: #B85C38 !important;
  background: #F4E6D8 !important;
  border-color: #F4E6D8 !important;
  box-shadow: 0 20px 48px rgba(45, 42, 38, .26) !important;
}

/* -----------------------------------------------------------------------------
   SOLARA v3.74 — Hero date pill frosted-glass match
   -----------------------------------------------------------------------------
   Makes the hero date/location pill use the same sand glass treatment as the
   secondary itinerary CTA. This keeps the date readable while making both
   elements feel part of the same visual system.
----------------------------------------------------------------------------- */
.solara-gutenberg-page .solara-hero .solara-kicker,
.editor-styles-wrapper .solara-hero .solara-kicker {
  color: #F4E6D8 !important;
  border: 1.5px solid rgba(244, 230, 216, .92) !important;
  background: rgba(244, 230, 216, .10) !important;
  box-shadow: 0 14px 34px rgba(45, 42, 38, .16) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  text-shadow: 0 2px 14px rgba(45, 42, 38, .36) !important;
}

.solara-gutenberg-page .solara-hero .solara-kicker:hover,
.editor-styles-wrapper .solara-hero .solara-kicker:hover {
  background: rgba(244, 230, 216, .16) !important;
  border-color: rgba(244, 230, 216, .98) !important;
}

/* -----------------------------------------------------------------------------
   SOLARA v3.27 — Section title refinement
   Makes main section titles slightly thinner and about 2pt smaller.
   Also supports edited Gutenberg headings by targeting the shared title classes.
   ----------------------------------------------------------------------------- */
.solara-gutenberg-page .solara-builder-section > .wp-block-heading.solara-section-title,
.solara-gutenberg-page .solara-builder-section > .solara-section-title,
.editor-styles-wrapper .solara-builder-section > .wp-block-heading.solara-section-title,
.editor-styles-wrapper .solara-builder-section > .solara-section-title {
  font-size: clamp(3.08rem, 5.95vw, 5.03rem) !important;
  font-weight: 300 !important;
  line-height: .95 !important;
  letter-spacing: -0.035em !important;
  text-wrap: balance;
}

.solara-gutenberg-page .solara-builder-section > .wp-block-heading.solara-section-title mark,
.solara-gutenberg-page .solara-builder-section > .solara-section-title mark,
.editor-styles-wrapper .solara-builder-section > .wp-block-heading.solara-section-title mark,
.editor-styles-wrapper .solara-builder-section > .solara-section-title mark {
  font-weight: 300 !important;
}

@media (max-width: 782px) {
  .solara-gutenberg-page .solara-builder-section > .wp-block-heading.solara-section-title,
  .solara-gutenberg-page .solara-builder-section > .solara-section-title,
  .editor-styles-wrapper .solara-builder-section > .wp-block-heading.solara-section-title,
  .editor-styles-wrapper .solara-builder-section > .solara-section-title {
    font-size: clamp(2.55rem, 11.2vw, 4rem) !important;
  }
}

/* -----------------------------------------------------------------------------
   SOLARA v3.28 — Fully transparent nav at top of page
   -----------------------------------------------------------------------------
   At scrollY = 0 the menu bar has no background, border, blur or shadow. JS still
   increases --solara-nav-bg-opacity as the user scrolls, creating the fade-in.
----------------------------------------------------------------------------- */
.solara-header {
  --solara-nav-bg-opacity: 0;
  background: rgba(255, 248, 242, calc(var(--solara-nav-bg-opacity) * 0.92)) !important;
  border-bottom: 1px solid rgba(234, 223, 215, calc(var(--solara-nav-bg-opacity) * 0.68)) !important;
  box-shadow:
    0 14px 42px rgba(45, 42, 38, calc(var(--solara-nav-bg-opacity) * 0.08)),
    inset 0 1px 0 rgba(255, 255, 255, calc(var(--solara-nav-bg-opacity) * 0.28)) !important;
  backdrop-filter: saturate(calc(100% + (var(--solara-nav-bg-opacity) * 50%))) blur(calc(var(--solara-nav-bg-opacity) * 18px)) !important;
  -webkit-backdrop-filter: saturate(calc(100% + (var(--solara-nav-bg-opacity) * 50%))) blur(calc(var(--solara-nav-bg-opacity) * 18px)) !important;
}

.solara-header:not(.is-scrolled) {
  background: transparent !important;
  border-bottom-color: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.solara-header.is-scrolled {
  --solara-nav-bg-opacity: 0.92;
}

/* -----------------------------------------------------------------------------
   SOLARA v3.29 — Hero title and tagline sand colour
   -----------------------------------------------------------------------------
   Keeps the main SOLARA title and MOVE · BREATHE · BELONG tagline in the
   brand sand colour, on both the front end and the Gutenberg editor.
*/
.solara-gutenberg-page .solara-hero .solara-block-hero-title,
.editor-styles-wrapper .solara-hero .solara-block-hero-title,
.solara-gutenberg-page .solara-hero .solara-tagline,
.editor-styles-wrapper .solara-hero .solara-tagline {
  color: #F4E6D8 !important;
  text-shadow: 0 2px 18px rgba(45, 42, 38, .46), 0 1px 2px rgba(184, 92, 56, .24);
}

/* -----------------------------------------------------------------------------
   SOLARA v3.31 — FAQ answers visible in Gutenberg editor
   -----------------------------------------------------------------------------
   Front end: FAQ answers remain collapsed unless opened.
   Editor: all hidden FAQ answer text is forced visible so it can be selected,
   read and edited directly inside Gutenberg.
----------------------------------------------------------------------------- */
.editor-styles-wrapper .solara-faq-card details,
.editor-styles-wrapper .solara-faq-card .wp-block-details {
  overflow: visible !important;
}

.editor-styles-wrapper .solara-faq-card details:not([open]) > *:not(summary),
.editor-styles-wrapper .solara-faq-card .wp-block-details:not([open]) > *:not(summary),
.editor-styles-wrapper .solara-faq-card details > p,
.editor-styles-wrapper .solara-faq-card .wp-block-details > p {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  max-height: none !important;
  margin-top: 0.8rem !important;
  color: #7C716A !important;
  pointer-events: auto !important;
}

.editor-styles-wrapper .solara-faq-card details:not([open]),
.editor-styles-wrapper .solara-faq-card .wp-block-details:not([open]) {
  background: rgba(244, 230, 216, 0.18) !important;
  border-radius: 0.85rem !important;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

.editor-styles-wrapper .solara-faq-card details:not([open])::before,
.editor-styles-wrapper .solara-faq-card .wp-block-details:not([open])::before {
  content: "Editor preview: answer visible here, collapsed on live site";
  display: block;
  margin-top: 0.5rem;
  font-family: var(--font-body);
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(184, 92, 56, 0.65);
}

/* -----------------------------------------------------------------------------
   SOLARA v3.32 — Appearance / Menus / Customizer compatibility
   -----------------------------------------------------------------------------
   The header can now use a menu created under Appearance > Menus or
   Appearance > Customize > Menus. These rules keep WordPress menu markup looking
   like the original hand-coded Solara navigation.
*/
.solara-desktop-nav .solara-desktop-menu,
.solara-mobile-nav .solara-mobile-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
.solara-desktop-nav .solara-desktop-menu {
  display: flex;
  align-items: center;
  gap: 1.45rem;
}
.solara-desktop-nav .menu-item,
.solara-mobile-nav .menu-item {
  margin: 0;
  padding: 0;
}
.solara-desktop-nav .menu-item a,
.solara-mobile-nav .menu-item a {
  font-family: var(--font-body, 'Mulish', sans-serif);
  color: #2D2A26;
  font-size: 0.86rem;
  text-decoration: none;
  transition: color 220ms ease, opacity 220ms ease, transform 220ms ease;
}
.solara-desktop-nav .menu-item a:hover,
.solara-mobile-nav .menu-item a:hover {
  color: #B85C38;
}
.solara-desktop-nav .solara-menu-cta-item > a,
.solara-mobile-nav .solara-menu-cta-item > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #E88752, #B85C38);
  color: #fff !important;
  padding: 0.72rem 1.15rem;
  border-radius: 999px;
  box-shadow: 0 12px 26px rgba(184, 92, 56, 0.22);
  font-weight: 700;
}
.solara-desktop-nav .solara-menu-cta-item > a:hover,
.solara-mobile-nav .solara-menu-cta-item > a:hover {
  transform: translateY(-1px);
  filter: brightness(1.04);
  box-shadow: 0 16px 34px rgba(184, 92, 56, 0.28);
}
.solara-custom-logo-wrap img.custom-logo {
  display: block;
  width: auto;
  max-width: 150px;
  max-height: 46px;
  height: auto;
}
@media (max-width: 860px) {
  .solara-mobile-nav .solara-mobile-menu {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
  }
}

/* -----------------------------------------------------------------------------
   SOLARA v3.34 — Dates pattern + faculty note alignment repair
   ----------------------------------------------------------------------------- */
.solara-faculty-section > .solara-muted-note,
.editor-styles-wrapper .solara-faculty-section > .solara-muted-note,
.solara-faculty-section .wp-block-paragraph.solara-muted-note,
.editor-styles-wrapper .solara-faculty-section .wp-block-paragraph.solara-muted-note {
  display: block !important;
  width: 100% !important;
  max-width: 760px !important;
  margin: 36px auto 0 !important;
  text-align: center !important;
  justify-self: center !important;
  align-self: center !important;
  float: none !important;
  clear: both !important;
}

/* --------------------------------------------------------------------------
   SOLARA v3.37 — Editor hero overlay/logo fix
   --------------------------------------------------------------------------
   The large translucent circle was the editor rendering the hero radial overlay
   while hovering/selecting the Cover block. Hide that editor-only radial layer
   so the editor preview stays clean. The front-end hero gradient remains intact.
*/
.editor-styles-wrapper .solara-hero::after,
.editor-styles-wrapper .solara-hero-overlay {
  display: none !important;
  content: none !important;
}

.editor-styles-wrapper .solara-hero .wp-block-cover__background {
  background: linear-gradient(
    180deg,
    rgba(45, 42, 38, 0.08) 0%,
    rgba(232, 135, 82, 0.18) 45%,
    rgba(255, 248, 242, 0.42) 100%
  ) !important;
}

.solara-logo-wrap.wp-block-image {
  display: flex;
  justify-content: center;
  margin: 0 auto 1rem;
}
.solara-logo-wrap.wp-block-image img.solara-logo {
  display: block;
  width: clamp(190px, 22vw, 300px);
  height: auto;
}


/* -----------------------------------------------------------------------------
 * SOLARA v3.38 — What's Included centred item text
 * -----------------------------------------------------------------------------
 * Centres the editable list item content and keeps only the emoji/text entered
 * in Gutenberg. No extra generated check icon is shown.
 */
.solara-included-section .solara-included-grid li {
  justify-content: center !important;
  text-align: center !important;
  gap: 0.55rem !important;
  padding-left: 1.45rem !important;
  padding-right: 1.45rem !important;
}

.solara-included-section .solara-included-grid li::before {
  content: none !important;
  display: none !important;
}

.editor-styles-wrapper .solara-included-section .solara-included-grid li {
  justify-content: center !important;
  text-align: center !important;
}

.editor-styles-wrapper .solara-included-section .solara-included-grid li::before {
  content: none !important;
  display: none !important;
}

/* -----------------------------------------------------------------------------
   SOLARA v3.39 — iPhone/mobile hero and responsive polish
   -----------------------------------------------------------------------------
   Fixes the mobile hero so the content fits naturally on iPhone screens, keeps
   the background image visible, reduces oversized typography, and prevents the
   CTA/pills from being pushed below the first mobile viewport.
----------------------------------------------------------------------------- */
@media (max-width: 782px) {
  html, body {
    overflow-x: hidden !important;
  }

  .solara-gutenberg-page .solara-hero,
  .editor-styles-wrapper .solara-hero {
    min-height: 100svh !important;
    padding: calc(5.75rem + env(safe-area-inset-top, 0px)) 1rem 2rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-position: center top !important;
  }

  .solara-gutenberg-page .solara-hero .wp-block-cover__image-background,
  .editor-styles-wrapper .solara-hero .wp-block-cover__image-background {
    object-position: center top !important;
  }

  

  .solara-gutenberg-page .solara-hero-content,
  .editor-styles-wrapper .solara-hero-content {
    width: min(100%, 22rem) !important;
    max-width: 22rem !important;
    margin: 0 auto !important;
    transform: translateY(.15rem);
  }

  .solara-gutenberg-page .solara-hero .solara-logo-wrap,
  .editor-styles-wrapper .solara-hero .solara-logo-wrap {
    margin: 0 auto .7rem !important;
  }

  .solara-gutenberg-page .solara-hero .solara-logo,
  .editor-styles-wrapper .solara-hero .solara-logo {
    width: clamp(94px, 30vw, 132px) !important;
    max-width: 132px !important;
    filter: drop-shadow(0 8px 22px rgba(45,42,38,.22)) !important;
  }

  .solara-gutenberg-page .solara-hero .solara-kicker,
  .editor-styles-wrapper .solara-hero .solara-kicker {
    display: inline-block !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 auto .95rem !important;
    padding: .58rem .86rem !important;
    border-radius: 999px !important;
    background: rgba(244, 230, 216, .52) !important;
    border: 1px solid rgba(255,255,255,.45) !important;
    color: #FFF8F2 !important;
    font-size: clamp(.58rem, 2.55vw, .72rem) !important;
    line-height: 1.15 !important;
    letter-spacing: .22em !important;
    text-align: center !important;
    white-space: normal !important;
    text-shadow: 0 1px 8px rgba(45,42,38,.36) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
  }

  .solara-gutenberg-page .solara-hero-title,
  .solara-gutenberg-page .solara-hero h1,
  .editor-styles-wrapper .solara-hero-title,
  .editor-styles-wrapper .solara-hero h1 {
    font-size: clamp(3.75rem, 17.5vw, 5.25rem) !important;
    line-height: .82 !important;
    letter-spacing: .18em !important;
    margin: 0 0 .45rem .16em !important;
    color: #F4E6D8 !important;
    text-shadow: 0 3px 24px rgba(45,42,38,.42), 0 1px 2px rgba(255,248,242,.36) !important;
  }

  .solara-gutenberg-page .solara-hero-location,
  .editor-styles-wrapper .solara-hero-location {
    margin: .15rem 0 .75rem !important;
    font-size: clamp(1.1rem, 5vw, 1.45rem) !important;
    line-height: 1.1 !important;
    color: #F4E6D8 !important;
    text-shadow: 0 2px 14px rgba(45,42,38,.35) !important;
  }

  .solara-gutenberg-page .solara-tagline,
  .editor-styles-wrapper .solara-tagline {
    margin: .45rem 0 .9rem !important;
    font-size: clamp(.66rem, 2.8vw, .78rem) !important;
    line-height: 1.25 !important;
    letter-spacing: .20em !important;
    color: #F4E6D8 !important;
    text-shadow: 0 2px 14px rgba(45,42,38,.38) !important;
  }

  .solara-gutenberg-page .solara-hero .solara-intro,
  .editor-styles-wrapper .solara-hero .solara-intro {
    max-width: 20.5rem !important;
    margin: .9rem auto 1rem !important;
    font-size: clamp(.92rem, 3.75vw, 1.02rem) !important;
    line-height: 1.48 !important;
    color: #FFF8F2 !important;
    text-shadow: 0 2px 14px rgba(45,42,38,.42) !important;
  }

  .solara-gutenberg-page .solara-hero .wp-block-buttons,
  .editor-styles-wrapper .solara-hero .wp-block-buttons {
    width: min(100%, 19.5rem) !important;
    margin: .95rem auto 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .62rem !important;
  }

  .solara-gutenberg-page .solara-hero .wp-block-button,
  .editor-styles-wrapper .solara-hero .wp-block-button {
    width: 100% !important;
  }

  .solara-gutenberg-page .solara-hero .wp-block-button__link,
  .editor-styles-wrapper .solara-hero .wp-block-button__link {
    width: 100% !important;
    min-height: 46px !important;
    padding: .82rem 1rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: .78rem !important;
    line-height: 1.15 !important;
    letter-spacing: .08em !important;
  }

  .solara-gutenberg-page .solara-hero-pills,
  .editor-styles-wrapper .solara-hero-pills {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .5rem !important;
    width: min(100%, 20.5rem) !important;
    margin: .9rem auto 0 !important;
  }

  .solara-gutenberg-page .solara-hero-pills p,
  .editor-styles-wrapper .solara-hero-pills p {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: .48rem .55rem !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: nowrap !important;
    font-size: clamp(.62rem, 2.65vw, .72rem) !important;
    line-height: 1.15 !important;
    border-radius: 999px !important;
  }

  /* Compact mobile section rhythm after the hero. */
  .solara-gutenberg-page .solara-builder-section:not(.solara-hero),
  .editor-styles-wrapper .solara-builder-section:not(.solara-hero) {
    padding-left: 1.15rem !important;
    padding-right: 1.15rem !important;
    padding-top: clamp(4rem, 13vw, 5.5rem) !important;
    padding-bottom: clamp(4rem, 13vw, 5.5rem) !important;
  }

  .solara-gutenberg-page .solara-section-title,
  .editor-styles-wrapper .solara-section-title {
    font-size: clamp(2.35rem, 11vw, 3.5rem) !important;
    line-height: .98 !important;
    letter-spacing: -0.035em !important;
  }

  .solara-gutenberg-page .solara-lead,
  .editor-styles-wrapper .solara-lead,
  .solara-gutenberg-page .solara-block-lead,
  .editor-styles-wrapper .solara-block-lead {
    max-width: 21rem !important;
    font-size: .98rem !important;
    line-height: 1.55 !important;
  }

  .solara-contact-grid,
  .solara-feature-row,
  .solara-pricing-section .wp-block-columns,
  .solara-faculty-cards,
  .solara-card-row {
    gap: 1rem !important;
  }
}

@media (max-width: 430px) {
  .solara-gutenberg-page .solara-hero,
  .editor-styles-wrapper .solara-hero {
    padding-top: calc(5.35rem + env(safe-area-inset-top, 0px)) !important;
    padding-bottom: 1.6rem !important;
  }

  .solara-gutenberg-page .solara-hero-content,
  .editor-styles-wrapper .solara-hero-content {
    max-width: 20.75rem !important;
  }

  .solara-gutenberg-page .solara-hero .solara-logo,
  .editor-styles-wrapper .solara-hero .solara-logo {
    width: clamp(86px, 28vw, 116px) !important;
  }

  .solara-gutenberg-page .solara-hero-title,
  .solara-gutenberg-page .solara-hero h1,
  .editor-styles-wrapper .solara-hero-title,
  .editor-styles-wrapper .solara-hero h1 {
    font-size: clamp(3.25rem, 16.5vw, 4.65rem) !important;
  }

  .solara-gutenberg-page .solara-hero .solara-intro,
  .editor-styles-wrapper .solara-hero .solara-intro {
    font-size: .92rem !important;
    max-width: 19.25rem !important;
  }

  .solara-gutenberg-page .solara-hero .wp-block-buttons,
  .editor-styles-wrapper .solara-hero .wp-block-buttons,
  .solara-gutenberg-page .solara-hero-pills,
  .editor-styles-wrapper .solara-hero-pills {
    width: min(100%, 19.25rem) !important;
  }
}

/* -----------------------------------------------------------------------------
   SOLARA v3.40 — Mobile hero image cover fix
   -----------------------------------------------------------------------------
   Keeps the hero photograph full-bleed on mobile. The image should cover the
   whole hero section instead of visually shrinking behind the overlay/content.
----------------------------------------------------------------------------- */
@media (max-width: 782px) {
  .solara-gutenberg-page .solara-hero.wp-block-cover,
  .editor-styles-wrapper .solara-hero.wp-block-cover {
    position: relative !important;
    overflow: hidden !important;
    min-height: 100svh !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }

  .solara-gutenberg-page .solara-hero.wp-block-cover .wp-block-cover__image-background,
  .editor-styles-wrapper .solara-hero.wp-block-cover .wp-block-cover__image-background,
  .solara-gutenberg-page .solara-hero.wp-block-cover video.wp-block-cover__video-background,
  .editor-styles-wrapper .solara-hero.wp-block-cover video.wp-block-cover__video-background {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
  }

  .solara-gutenberg-page .solara-hero.wp-block-cover .wp-block-cover__background,
  .editor-styles-wrapper .solara-hero.wp-block-cover .wp-block-cover__background {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }

  /* Keep the warm fade readable but let more of the photo remain visible. */
  
}

@media (max-width: 430px) {
  .solara-gutenberg-page .solara-hero.wp-block-cover .wp-block-cover__image-background,
  .editor-styles-wrapper .solara-hero.wp-block-cover .wp-block-cover__image-background {
    object-position: center center !important;
  }
}

/* -----------------------------------------------------------------------------
   SOLARA v3.41 — Remove editor-only hero circular hover overlay
   -----------------------------------------------------------------------------
   The Gutenberg editor was showing a large radial/circular overlay on hover from
   previous hero overlay helpers. Keep the live front-end hero overlay, but make
   the editor canvas cleaner and easier to edit.
*/
.editor-styles-wrapper .solara-hero::before,
.editor-styles-wrapper .solara-hero::after,
.editor-styles-wrapper .solara-hero-overlay {
  content: none !important;
  display: none !important;
  background: none !important;
  box-shadow: none !important;
  opacity: 0 !important;
}

.editor-styles-wrapper .solara-hero .wp-block-cover__background {
  background: linear-gradient(
    180deg,
    rgba(255, 248, 242, 0.10) 0%,
    rgba(255, 248, 242, 0.24) 48%,
    rgba(255, 248, 242, 0.58) 100%
  ) !important;
  opacity: .42 !important;
  border-radius: 0 !important;
}

.editor-styles-wrapper .solara-hero:hover::before,
.editor-styles-wrapper .solara-hero:hover::after,
.editor-styles-wrapper .solara-hero.is-selected::before,
.editor-styles-wrapper .solara-hero.is-selected::after,
.editor-styles-wrapper .solara-hero.has-child-selected::before,
.editor-styles-wrapper .solara-hero.has-child-selected::after {
  content: none !important;
  display: none !important;
  background: none !important;
  opacity: 0 !important;
}


/* -----------------------------------------------------------------------------
   SOLARA v3.42 — Editable Cover overlay fix
   -----------------------------------------------------------------------------
   The hero overlay must be controlled by the native Gutenberg Cover block
   settings: Cover > Block > Colour > Overlay. Earlier versions forced custom
   pseudo overlays and !important cover-background rules, which prevented the
   editor controls from taking effect.
*/
.solara-gutenberg-page .solara-hero,
.editor-styles-wrapper .solara-hero {
  isolation: isolate;
}

.solara-gutenberg-page .solara-hero::before,
.editor-styles-wrapper .solara-hero::before,
.solara-gutenberg-page .solara-hero::after,
.editor-styles-wrapper .solara-hero::after {
  display: none !important;
  content: none !important;
}

/* Let Gutenberg's own Cover overlay span handle colour, gradient and opacity. */
.solara-gutenberg-page .solara-hero .wp-block-cover__background,
.editor-styles-wrapper .solara-hero .wp-block-cover__background {
  z-index: 1;
}

.solara-gutenberg-page .solara-hero .wp-block-cover__image-background,
.editor-styles-wrapper .solara-hero .wp-block-cover__image-background {
  z-index: 0;
}

.solara-gutenberg-page .solara-hero .wp-block-cover__inner-container,
.editor-styles-wrapper .solara-hero .wp-block-cover__inner-container {
  position: relative;
  z-index: 2;
}

/* -----------------------------------------------------------------------------
   SOLARA v3.44 — Editor UX / reusable block style presets
   -----------------------------------------------------------------------------
   These classes are exposed through Gutenberg's block sidebar under Styles.
   They give you quick, reusable Solara design presets without locking content.
*/
.is-style-solara-section,
.solara-builder-section {
  position: relative;
}

.is-style-solara-card,
.solara-editable-card {
  background: #fff;
  color: #2D2A26;
  border: 1px solid #EADFD7;
  border-radius: 1.35rem;
  box-shadow: 0 18px 55px rgba(45, 42, 38, 0.08);
}

.is-style-solara-card:not(.wp-block-columns):not(.wp-block-cover) {
  padding: clamp(1.25rem, 3vw, 2.25rem);
}

.is-style-solara-glass {
  background: rgba(255, 248, 242, 0.58);
  border: 1px solid rgba(255, 255, 255, 0.45);
  box-shadow: 0 18px 55px rgba(45, 42, 38, 0.10), inset 0 1px 0 rgba(255, 255, 255, 0.35);
  -webkit-backdrop-filter: blur(18px) saturate(130%);
  backdrop-filter: blur(18px) saturate(130%);
}

.is-style-solara-sand-box {
  background: #F4E6D8;
  color: #2D2A26;
  border: 1px solid #EADFD7;
  border-radius: 1.25rem;
}

.is-style-solara-sand-box:not(.wp-block-columns):not(.wp-block-cover) {
  padding: clamp(1rem, 3vw, 2rem);
}

.is-style-solara-sunset-card {
  background: linear-gradient(135deg, #E88752 0%, #B85C38 100%);
  color: #fff;
  border-radius: 1.5rem;
  box-shadow: 0 18px 45px rgba(184, 92, 56, 0.24);
}

.is-style-solara-sunset-card:not(.wp-block-columns):not(.wp-block-cover) {
  padding: clamp(1.5rem, 3vw, 2.5rem);
}

.is-style-solara-eyebrow,
.solara-eyebrow {
  font-family: var(--wp--preset--font-family--body, 'Mulish', sans-serif);
  color: #B85C38;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .22em;
  line-height: 1.2;
  text-transform: uppercase;
}

.is-style-solara-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin: .25rem;
  padding: .55rem .9rem;
  border-radius: 999px;
  background: rgba(244, 230, 216, .72);
  color: #2D2A26;
  border: 1px solid rgba(234, 223, 215, .95);
  font-size: .9rem;
}

.is-style-solara-lead,
.solara-lead,
.solara-block-lead {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  color: #7C716A;
  line-height: 1.8;
}

.is-style-solara-editorial {
  font-family: var(--wp--preset--font-family--heading, 'Cormorant Garamond', serif);
  font-weight: 300;
  letter-spacing: -0.02em;
  line-height: .98;
  text-wrap: balance;
}

.wp-block-button.is-style-solara-primary .wp-block-button__link,
.is-style-solara-primary .wp-block-button__link {
  background: linear-gradient(135deg, #E88752 0%, #B85C38 100%);
  color: #fff;
  border: 0;
  border-radius: 999px;
  box-shadow: 0 14px 35px rgba(184, 92, 56, .28);
  transition: transform .22s ease, box-shadow .22s ease;
}

.wp-block-button.is-style-solara-primary .wp-block-button__link:hover,
.is-style-solara-primary .wp-block-button__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 45px rgba(184, 92, 56, .34);
}

.wp-block-button.is-style-solara-secondary .wp-block-button__link,
.is-style-solara-secondary .wp-block-button__link {
  background: #F4E6D8;
  color: #2D2A26;
  border: 1px solid rgba(244, 230, 216, .7);
  border-radius: 999px;
  box-shadow: 0 12px 30px rgba(45, 42, 38, .10);
  transition: transform .22s ease, background .22s ease;
}

.wp-block-button.is-style-solara-secondary .wp-block-button__link:hover,
.is-style-solara-secondary .wp-block-button__link:hover {
  transform: translateY(-2px);
  background: #FFF8F2;
}

.wp-block-image.is-style-solara-rounded img,
.is-style-solara-rounded img {
  border-radius: 1.5rem;
  box-shadow: 0 18px 55px rgba(45, 42, 38, .10);
}

.wp-block-details.is-style-solara-faq-item,
.is-style-solara-faq-item {
  border: 1px solid #EADFD7;
  border-radius: 1rem;
  background: #fff;
  padding: 1rem 1.25rem;
  box-shadow: 0 10px 35px rgba(45,42,38,.05);
}

.wp-block-details.is-style-solara-faq-item summary,
.is-style-solara-faq-item summary {
  color: #2D2A26;
  font-weight: 700;
  cursor: pointer;
}


/* -----------------------------------------------------------------------------
   SOLARA v3.45 — Footer block validation/editor fix
   ----------------------------------------------------------------------------- */
.solara-footer .solara-footer-logo {
  font-family: var(--wp--preset--font-family--heading, 'Cormorant Garamond', serif);
  color: #E88752;
  font-size: clamp(2rem, 3vw, 2.75rem);
  font-weight: 300;
  letter-spacing: 0.2em;
  margin: 0 0 .25rem;
}
.solara-footer .solara-footer-location,
.solara-footer .solara-footer-heading {
  color: rgba(255,248,242,.78);
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: .75rem;
  font-weight: 700;
}
.solara-footer .solara-footer-tagline,
.solara-footer .solara-footer-social,
.solara-footer .solara-footer-copy,
.solara-footer .solara-footer-bottom,
.solara-footer .wp-block-navigation-item__content {
  color: rgba(255,248,242,.55);
}
.solara-footer .wp-block-navigation__container {
  gap: .5rem !important;
}
.solara-footer .wp-block-navigation-item__content:hover {
  color: #FFF8F2;
}
.solara-footer .solara-footer-bottom {
  font-size: .8rem;
}
@media (max-width: 760px) {
  .solara-footer .solara-footer-grid { gap: 2rem; }
  .solara-footer .solara-footer-bottom { justify-content: center !important; text-align: center; }
}

/* -----------------------------------------------------------------------------
   SOLARA v3.46 — Pricing redesign
   ----------------------------------------------------------------------------- */
.solara-pricing-redesign {
  background: linear-gradient(180deg, #fff 0%, #FFF8F2 100%);
}
.solara-pricing-redesign .solara-pricing-title {
  max-width: 980px;
  margin-inline: auto !important;
  line-height: .95 !important;
}
.solara-pricing-redesign .solara-pricing-lead {
  max-width: 620px;
  margin: 1rem auto 3rem !important;
  color: #7c716a;
}
.solara-pricing-redesign .solara-pricing-grid,
.solara-pricing-grid-redesign {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 2.2rem !important;
  align-items: stretch !important;
  max-width: 980px !important;
  margin: 3rem auto 0 !important;
}
.solara-pricing-redesign .solara-pricing-grid > .wp-block-column {
  min-width: 0;
}
.solara-pricing-redesign .solara-price-card {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  box-shadow: 0 30px 90px rgba(45,42,38,.08);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.solara-pricing-redesign .solara-price-card::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at top right, rgba(232,135,82,.12), transparent 38%);
  opacity: .9;
}
.solara-pricing-redesign .solara-price-card > * {
  position: relative;
  z-index: 1;
}
.solara-pricing-redesign .solara-price-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 42px 110px rgba(45,42,38,.13);
}
.solara-pricing-redesign .solara-price-card.standard.most-popular {
  border-color: rgba(232,135,82,.72) !important;
  background: linear-gradient(180deg, #fff 0%, #fffaf5 100%) !important;
}
.solara-pricing-redesign .solara-price-card.premium {
  background: linear-gradient(145deg, #E88752 0%, #D17143 48%, #B85C38 100%) !important;
  color: #fff !important;
  box-shadow: 0 34px 95px rgba(184,92,56,.28);
}
.solara-pricing-redesign .solara-price-card.premium * {
  color: #fff !important;
}
.solara-pricing-redesign .solara-price-card-top {
  margin: 0 0 1.65rem !important;
  gap: .75rem !important;
}
.solara-pricing-redesign .solara-plan-label,
.solara-pricing-redesign .solara-popular,
.solara-pricing-redesign .solara-premium-note {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-height: 32px;
  border-radius: 999px;
  padding: .44rem .9rem;
  margin: 0 !important;
  font-family: var(--font-body);
  font-size: .72rem !important;
  font-weight: 800;
  letter-spacing: .22em;
  line-height: 1;
  text-transform: uppercase;
}
.solara-pricing-redesign .solara-plan-label {
  background: #F4E6D8;
  color: #B85C38 !important;
}
.solara-pricing-redesign .solara-popular {
  background: linear-gradient(135deg, #E88752, #B85C38);
  color: #fff !important;
  box-shadow: 0 10px 28px rgba(184,92,56,.22);
}
.solara-pricing-redesign .premium .solara-plan-label,
.solara-pricing-redesign .solara-premium-note {
  background: rgba(255,255,255,.24);
  color: #fff !important;
}
.solara-pricing-redesign .solara-plan-title {
  margin: 0 0 .55rem !important;
  font-family: var(--font-heading) !important;
  font-size: clamp(1.8rem, 2.2vw, 2.45rem) !important;
  font-weight: 500 !important;
  line-height: 1.05 !important;
  color: #2D2A26 !important;
}
.solara-pricing-redesign .solara-plan-subtitle {
  margin: 0 0 1.85rem !important;
  color: #7c716a !important;
  font-size: .95rem;
}
.solara-pricing-redesign .premium .solara-plan-subtitle {
  color: rgba(255,255,255,.78) !important;
}
.solara-pricing-redesign .solara-price {
  margin: 0 0 2rem !important;
  font-family: var(--font-heading) !important;
  font-size: clamp(2.8rem, 4vw, 4.2rem) !important;
  font-weight: 500 !important;
  line-height: .9 !important;
  color: #2D2A26 !important;
}
.solara-pricing-redesign .solara-price span {
  font-family: var(--font-body) !important;
  font-size: .88rem !important;
  font-weight: 700;
  color: #7c716a !important;
  margin-left: .4rem;
}
.solara-pricing-redesign .solara-includes-label {
  margin: 0 0 .85rem !important;
  font-size: .72rem !important;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #A79B93 !important;
  font-weight: 800;
}
.solara-pricing-redesign .solara-price-features {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 2.2rem !important;
  display: grid;
  gap: .75rem;
}
.solara-pricing-redesign .solara-price-features li {
  position: relative;
  margin: 0 !important;
  padding-left: 1.55rem;
  color: #6f655f !important;
  font-size: .98rem;
  line-height: 1.45;
}
.solara-pricing-redesign .solara-price-features li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: .02rem;
  color: #E88752;
  font-weight: 800;
}
.solara-pricing-redesign .premium .solara-price-features li {
  color: rgba(255,255,255,.92) !important;
}
.solara-pricing-redesign .premium .solara-price-features li::before {
  color: rgba(255,255,255,.92);
}
.solara-pricing-redesign .solara-pricing-buttons {
  margin-top: auto !important;
}
.solara-pricing-redesign .solara-pricing-button .wp-block-button__link {
  border-radius: 999px !important;
  padding: .95rem 1.5rem !important;
  min-width: 190px;
  text-align: center;
  font-family: var(--font-heading) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: transform .24s ease, box-shadow .24s ease, background .24s ease, color .24s ease, border-color .24s ease !important;
}
.solara-pricing-redesign .solara-pricing-button-primary .wp-block-button__link {
  background: linear-gradient(135deg, #E88752, #B85C38) !important;
  color: #fff !important;
  box-shadow: 0 16px 36px rgba(184,92,56,.20);
}
.solara-pricing-redesign .solara-pricing-button-light .wp-block-button__link {
  background: #fff !important;
  color: #B85C38 !important;
  box-shadow: 0 16px 34px rgba(45,42,38,.16);
}
.solara-pricing-redesign .solara-pricing-button .wp-block-button__link:hover {
  transform: translateY(-3px) scale(1.015);
  box-shadow: 0 22px 48px rgba(184,92,56,.30);
}
.solara-pricing-redesign .solara-pricing-button-primary .wp-block-button__link:hover {
  background: linear-gradient(135deg, #B85C38, #E88752) !important;
}
.solara-pricing-redesign .solara-pricing-button-light .wp-block-button__link:hover {
  background: #FFF8F2 !important;
  color: #2D2A26 !important;
}
.solara-pricing-redesign .solara-pricing-notes {
  margin-top: 2rem !important;
  color: #7c716a;
  font-size: .92rem;
}
.solara-pricing-redesign .solara-pricing-notes p {
  margin: .35rem 0 !important;
}
@media (max-width: 860px) {
  .solara-pricing-redesign .solara-pricing-grid,
  .solara-pricing-grid-redesign {
    grid-template-columns: 1fr !important;
    gap: 1.35rem !important;
    margin-top: 2rem !important;
  }
  .solara-pricing-redesign .solara-price-card {
    padding: 1.65rem !important;
  }
  .solara-pricing-redesign .solara-section-title {
    font-size: clamp(2.45rem, 12vw, 4rem) !important;
  }
  .solara-pricing-redesign .solara-price {
    font-size: 3rem !important;
  }
  .solara-pricing-redesign .solara-pricing-button .wp-block-button__link {
    width: 100%;
    min-width: 0;
  }
}


/* -----------------------------------------------------------------------------
   SOLARA v3.60 — Mobile hero title centring fix
   -----------------------------------------------------------------------------
   The mobile rule previously used margin-left: .16em on the SOLARA h1 to
   compensate for letter-spacing. On real phones this pushed the title off centre.
   Keep the title as a centred fit-content block instead.
----------------------------------------------------------------------------- */
@media (max-width: 782px) {
  .solara-gutenberg-page .solara-hero .solara-hero-title,
  .solara-gutenberg-page .solara-hero h1.solara-hero-title,
  .solara-gutenberg-page .solara-hero h1,
  .editor-styles-wrapper .solara-hero .solara-hero-title,
  .editor-styles-wrapper .solara-hero h1.solara-hero-title,
  .editor-styles-wrapper .solara-hero h1 {
    display: block !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 auto .45rem !important;
    text-align: center !important;
    transform: none !important;
  }
}

@media (max-width: 430px) {
  .solara-gutenberg-page .solara-hero .solara-hero-title,
  .solara-gutenberg-page .solara-hero h1.solara-hero-title,
  .solara-gutenberg-page .solara-hero h1,
  .editor-styles-wrapper .solara-hero .solara-hero-title,
  .editor-styles-wrapper .solara-hero h1.solara-hero-title,
  .editor-styles-wrapper .solara-hero h1 {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* -----------------------------------------------------------------------------
   SOLARA v3.69 — Dates & Flights / Travel section
   -----------------------------------------------------------------------------
   Live structure only:
   - .solara-travel-section wraps the section.
   - .solara-travel-grid creates the two desktop cards.
   - .solara-travel-card holds each flight.
   - .solara-travel-route-row displays departure, route and arrival.
   This replaces the previous ticket/timeline experiments.
----------------------------------------------------------------------------- */
.solara-travel-section,
.solara-travel-v69 {
  background: linear-gradient(180deg, var(--brand-cream) 0%, var(--brand-soft) 100%) !important;
  padding-top: clamp(5.25rem, 8vw, 7.25rem) !important;
  padding-bottom: clamp(5rem, 7vw, 6.75rem) !important;
  text-align: center;
}

.solara-travel-section .solara-section-title {
  max-width: 860px !important;
  margin-bottom: 1.2rem !important;
}

.solara-travel-section .solara-lead {
  max-width: 650px !important;
  margin-bottom: clamp(2.7rem, 4.4vw, 3.8rem) !important;
  color: rgba(45, 42, 38, .66) !important;
}

.solara-travel-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(1.5rem, 3vw, 2.25rem) !important;
  max-width: 1040px !important;
  margin: 0 auto !important;
  align-items: stretch !important;
}

.solara-travel-grid > .wp-block-column {
  min-width: 0 !important;
  margin: 0 !important;
}

.solara-travel-card {
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  min-height: 245px !important;
  height: 100% !important;
  padding: clamp(1.45rem, 3vw, 2rem) clamp(1.35rem, 3vw, 2rem) !important;
  border: 1px solid rgba(234, 223, 215, .96) !important;
  border-radius: 1.55rem !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(232,135,82,.10), transparent 34%),
    #FFFFFF !important;
  box-shadow: 0 24px 70px rgba(45, 42, 38, .065) !important;
  overflow: hidden;
  text-align: left !important;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.solara-travel-card:hover {
  transform: translateY(-3px);
  border-color: rgba(232, 135, 82, .32) !important;
  box-shadow: 0 32px 88px rgba(45, 42, 38, .10) !important;
}

.solara-travel-card-head {
  display: flex !important;
  align-items: center !important;
  gap: .95rem !important;
  margin: 0 0 clamp(2rem, 4vw, 2.65rem) !important;
}

.solara-travel-badge {
  display: grid !important;
  place-items: center !important;
  width: 3rem !important;
  height: 3rem !important;
  min-width: 3rem !important;
  margin: 0 !important;
  border-radius: 999px !important;
  background: #F8E9DC !important;
  color: var(--brand-orange) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 1.15rem !important;
  line-height: 1 !important;
}

.solara-travel-card-return .solara-travel-badge {
  transform: scaleX(-1);
}

.solara-travel-heading {
  min-width: 0 !important;
}

.solara-travel-card-title {
  margin: 0 0 .2rem !important;
  color: var(--brand-charcoal) !important;
  font-family: var(--font-heading) !important;
  font-size: clamp(1.35rem, 2.1vw, 1.75rem) !important;
  font-weight: 500 !important;
  line-height: 1.05 !important;
}

.solara-travel-card-date {
  margin: 0 !important;
  color: rgba(45, 42, 38, .58) !important;
  font-size: .9rem !important;
  line-height: 1.25 !important;
}

.solara-travel-route-row {
  display: grid !important;
  grid-template-columns: minmax(75px, .8fr) minmax(130px, 1.5fr) minmax(75px, .8fr) !important;
  align-items: end !important;
  gap: clamp(.85rem, 2vw, 1.35rem) !important;
  width: 100% !important;
}

.solara-travel-point {
  min-width: 0 !important;
  text-align: left !important;
}

.solara-travel-point-end {
  text-align: right !important;
}

.solara-travel-time {
  margin: 0 !important;
  color: var(--brand-charcoal) !important;
  font-family: var(--font-heading) !important;
  font-size: clamp(2.05rem, 4vw, 3.1rem) !important;
  font-weight: 500 !important;
  line-height: .9 !important;
  letter-spacing: -.02em !important;
}

.solara-travel-code {
  margin: .5rem 0 .2rem !important;
  color: var(--brand-charcoal) !important;
  font-size: .86rem !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

.solara-travel-city {
  margin: 0 !important;
  color: rgba(45, 42, 38, .52) !important;
  font-size: .78rem !important;
  line-height: 1.25 !important;
}

.solara-travel-line-wrap {
  display: grid !important;
  align-items: center !important;
  justify-items: center !important;
  margin-bottom: .32rem !important;
}

.solara-travel-line {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 1.6rem !important;
  margin: 0 0 .2rem !important;
  color: var(--brand-orange) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 1.05rem !important;
  line-height: 1 !important;
  text-align: center !important;
}

.solara-travel-line::before,
.solara-travel-line::after {
  content: '';
  display: block;
  flex: 1 1 auto;
  height: 1px;
  background: currentColor;
  opacity: .55;
}

.solara-travel-line::before { margin-right: .55rem; }
.solara-travel-line::after { margin-left: .55rem; }

.solara-travel-card-return .solara-travel-line {
  transform: scaleX(-1);
}

.solara-travel-direct {
  margin: 0 !important;
  color: rgba(45, 42, 38, .55) !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-align: center !important;
}

.solara-travel-note {
  display: table !important;
  width: fit-content !important;
  max-width: min(720px, calc(100% - 2rem)) !important;
  margin: clamp(1.65rem, 3vw, 2.2rem) auto 0 !important;
  padding: .95rem 1.55rem !important;
  border: 1px solid rgba(184, 92, 56, .22) !important;
  border-radius: 1rem !important;
  background: #F4E6D8 !important;
  color: rgba(45, 42, 38, .68) !important;
  font-size: .95rem !important;
  line-height: 1.45 !important;
  text-align: center !important;
  box-shadow: none !important;
}

@media (max-width: 900px) {
  .solara-travel-grid {
    grid-template-columns: 1fr !important;
    max-width: 620px !important;
  }

  .solara-travel-card {
    min-height: 0 !important;
  }
}

@media (max-width: 560px) {
  .solara-travel-card {
    padding: 1.35rem 1.15rem 1.25rem !important;
    border-radius: 1.35rem !important;
  }

  .solara-travel-card-head {
    margin-bottom: 1.8rem !important;
  }

  .solara-travel-badge {
    width: 2.7rem !important;
    height: 2.7rem !important;
    min-width: 2.7rem !important;
  }

  .solara-travel-route-row {
    grid-template-columns: minmax(64px, .8fr) minmax(95px, 1.15fr) minmax(64px, .8fr) !important;
    gap: .65rem !important;
  }

  .solara-travel-card-title {
    font-size: 1.25rem !important;
  }

  .solara-travel-card-date {
    font-size: .82rem !important;
  }

  .solara-travel-time {
    font-size: clamp(1.75rem, 8vw, 2.25rem) !important;
  }

  .solara-travel-code {
    font-size: .75rem !important;
    letter-spacing: .13em !important;
  }

  .solara-travel-city {
    display: none !important;
  }

  .solara-travel-line {
    font-size: .95rem !important;
  }

  .solara-travel-line::before { margin-right: .35rem; }
  .solara-travel-line::after { margin-left: .35rem; }

  .solara-travel-note {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 1rem !important;
  }
}

/* -----------------------------------------------------------------------------
   SOLARA v3.64 — Booking page pattern
   -----------------------------------------------------------------------------
   Styles the reusable “Solara — Booking Page” pattern. The layout keeps the same
   editorial Solara language as the landing page: large serif title, soft cream
   background, rounded cards, clear booking steps, and a premium form card.
----------------------------------------------------------------------------- */
.solara-booking-page {
  background: linear-gradient(180deg, #FFF8F2 0%, #FFFAF5 100%) !important;
}

.solara-booking-page .solara-booking-title {
  max-width: 900px !important;
}

.solara-booking-page .solara-booking-lead {
  max-width: 740px !important;
  margin-bottom: clamp(2.5rem, 5vw, 4rem) !important;
}

.solara-booking-grid {
  max-width: 1120px !important;
  margin: 0 auto !important;
  gap: clamp(1.5rem, 4vw, 3rem) !important;
  align-items: flex-start !important;
}

.solara-booking-form-card,
.solara-booking-summary-card,
.solara-booking-steps-card,
.solara-booking-deposit-card {
  box-shadow: 0 28px 80px rgba(45, 42, 38, .07) !important;
}

.solara-booking-info-column {
  display: grid !important;
  gap: 1.1rem !important;
}

.solara-booking-form-title,
.solara-booking-summary-card h3,
.solara-booking-steps-card h3,
.solara-booking-deposit-card h3 {
  margin-top: 0 !important;
  color: var(--brand-charcoal, #2D2A26) !important;
  font-family: var(--font-heading, 'Cormorant Garamond', Georgia, serif) !important;
  font-weight: 500 !important;
  line-height: 1.05 !important;
}

.solara-booking-form-title {
  margin-bottom: .75rem !important;
  font-size: clamp(2rem, 3vw, 2.75rem) !important;
}

.solara-booking-form-intro,
.solara-booking-summary-card p,
.solara-booking-steps-card p,
.solara-booking-deposit-card p,
.solara-booking-note {
  color: rgba(45, 42, 38, .66) !important;
  line-height: 1.7 !important;
}

.solara-booking-form-intro {
  margin: 0 0 1.75rem !important;
}

.solara-booking-list,
.solara-booking-steps {
  margin: 1.15rem 0 0 !important;
  padding-left: 0 !important;
  list-style: none !important;
}

.solara-booking-list li,
.solara-booking-steps li {
  margin: .75rem 0 !important;
  color: rgba(45, 42, 38, .70) !important;
  line-height: 1.55 !important;
}

.solara-booking-steps {
  counter-reset: solaraBookingStep;
}

.solara-booking-steps li {
  counter-increment: solaraBookingStep;
  position: relative;
  padding-left: 2.35rem;
}

.solara-booking-steps li::before {
  content: counter(solaraBookingStep);
  position: absolute;
  left: 0;
  top: -.1rem;
  width: 1.6rem;
  height: 1.6rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--brand-sand, #F4E6D8);
  color: var(--brand-terracotta, #B85C38);
  font-size: .78rem;
  font-weight: 800;
}

.solara-booking-reference {
  display: inline-flex;
  margin-top: .3rem !important;
  padding: .65rem .9rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, .65);
  border: 1px solid rgba(184, 92, 56, .20);
  color: var(--brand-terracotta, #B85C38) !important;
  font-weight: 700;
}

.solara-booking-note {
  max-width: 780px !important;
  margin: 2.2rem auto 0 !important;
  padding: 1rem 1.35rem;
  border-radius: 1rem;
  background: rgba(244, 230, 216, .58);
  border: 1px solid rgba(184, 92, 56, .18);
  font-size: .95rem;
}

/* Contact Form 7 fields inside the booking pattern. */
.solara-booking-page .wpcf7 label {
  display: block !important;
  margin: 0 0 1.05rem !important;
  color: var(--brand-terracotta, #B85C38) !important;
  font-family: var(--font-body, 'Mulish', sans-serif) !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
  letter-spacing: .18em !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
}

.solara-booking-page .wpcf7 input:not([type="submit"]):not([type="checkbox"]),
.solara-booking-page .wpcf7 textarea,
.solara-booking-page .wpcf7 select {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  margin-top: .55rem !important;
  border: 1px solid var(--brand-border, #EADFD7) !important;
  border-radius: .9rem !important;
  background: #FFFFFF !important;
  color: var(--brand-charcoal, #2D2A26) !important;
  padding: .95rem 1rem !important;
  font-family: var(--font-body, 'Mulish', sans-serif) !important;
  font-size: 1rem !important;
  line-height: 1.4 !important;
  outline: none !important;
  box-shadow: none !important;
}

.solara-booking-page .wpcf7 textarea {
  min-height: 110px !important;
  resize: vertical !important;
}

.solara-booking-page .wpcf7 input:focus,
.solara-booking-page .wpcf7 textarea:focus,
.solara-booking-page .wpcf7 select:focus {
  border-color: var(--brand-orange, #E88752) !important;
  box-shadow: 0 0 0 3px rgba(232, 135, 82, .14) !important;
}

.solara-booking-page .wpcf7-acceptance label {
  display: flex !important;
  align-items: flex-start !important;
  gap: .65rem !important;
  margin: .8rem 0 !important;
  color: rgba(45, 42, 38, .70) !important;
  font-size: .86rem !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  line-height: 1.45 !important;
  text-transform: none !important;
}

.solara-booking-page .wpcf7-acceptance input[type="checkbox"] {
  width: 1.1rem !important;
  height: 1.1rem !important;
  margin-top: .1rem !important;
  accent-color: var(--brand-orange, #E88752);
}

.solara-booking-page .wpcf7 input[type="submit"] {
  width: 100% !important;
  margin-top: 1rem !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--brand-orange, #E88752), var(--brand-terracotta, #B85C38)) !important;
  color: #FFFFFF !important;
  padding: 1rem 1.4rem !important;
  font-family: var(--font-heading, 'Cormorant Garamond', Georgia, serif) !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  box-shadow: 0 18px 42px rgba(184, 92, 56, .25) !important;
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease !important;
}

.solara-booking-page .wpcf7 input[type="submit"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 24px 56px rgba(184, 92, 56, .32) !important;
  filter: saturate(1.05) !important;
}

.solara-booking-page .wpcf7-response-output {
  margin: 1.4rem 0 0 !important;
  padding: 1.15rem 1.25rem !important;
  border-radius: 1rem !important;
  border-color: rgba(184, 92, 56, .28) !important;
  background: rgba(244, 230, 216, .58) !important;
  color: var(--brand-charcoal, #2D2A26) !important;
  font-size: .95rem !important;
  line-height: 1.6 !important;
  white-space: pre-line;
}

@media (max-width: 900px) {
  .solara-booking-page {
    padding-top: 7rem !important;
  }

  .solara-booking-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .solara-booking-form-column,
  .solara-booking-info-column {
    width: 100% !important;
    flex-basis: auto !important;
  }

  .solara-booking-form-card,
  .solara-booking-summary-card,
  .solara-booking-steps-card,
  .solara-booking-deposit-card {
    padding: 1.5rem !important;
    border-radius: 1.35rem !important;
  }
}



/* -----------------------------------------------------------------------------
   SOLARA v3.78 — Premium corporate retreat page
   Scope: only applies inside .solara-corporate-page-v78. Main retreat page is not affected.
----------------------------------------------------------------------------- */
.solara-corporate-page-v78 {
  --corp-ink: #10282a;
  --corp-green: #1b3335;
  --corp-green-2: #274548;
  --corp-cream: #f8f5f3;
  --corp-soft: #fbfaf8;
  --corp-white: #ffffff;
  --corp-gold: #c7a36a;
  --corp-border: rgba(27, 51, 53, .13);
  --corp-muted: rgba(16, 40, 42, .68);
  color: var(--corp-ink);
}
.solara-corporate-page-v78 .solara-eyebrow,
.solara-corporate-page-v78 .solara-section-title mark { color: var(--corp-gold) !important; }
.solara-corporate-page-v78 .solara-section-title { color: var(--corp-ink) !important; }
.solara-corporate-page-v78 .solara-lead { color: var(--corp-muted) !important; }

/* Premium hero */
.solara-corporate-hero-v78 { background: var(--corp-green); }
.solara-corporate-hero-v78 .wp-block-cover__image-background { object-position: center center !important; filter: saturate(.85) contrast(1.05); }
.solara-corporate-shell-v78 { max-width: 1120px; margin: 0 auto; text-align: left; }
.solara-corporate-kicker-v78 {
  display: inline-flex; margin: 0 0 1.15rem !important; padding: .55rem .9rem; border-radius: 999px;
  background: rgba(248,245,243,.12); border: 1px solid rgba(248,245,243,.28); color: #f8f5f3 !important;
  font-size: .74rem; letter-spacing: .22em; text-transform: uppercase; font-weight: 800; backdrop-filter: blur(12px);
}
.solara-corporate-hero-title-v78 {
  max-width: 760px; margin: 0 !important; color: #fff !important; font-family: var(--font-heading) !important;
  font-size: clamp(4rem, 8.8vw, 8.8rem) !important; font-weight: 300 !important; line-height: .88 !important; letter-spacing: -.055em !important;
  text-wrap: balance;
}
.solara-corporate-hero-copy-v78 {
  max-width: 620px; margin: 1.55rem 0 0 !important; color: rgba(248,245,243,.86) !important; font-size: clamp(1rem, 1.3vw, 1.18rem) !important; line-height: 1.72 !important;
}
.solara-corporate-trust-row-v78 { gap: .65rem !important; margin-top: 1.55rem !important; }
.solara-corporate-trust-row-v78 p {
  margin: 0 !important; padding: .55rem .85rem; border-radius: 999px; background: rgba(248,245,243,.12); border: 1px solid rgba(248,245,243,.20);
  color: rgba(248,245,243,.84) !important; font-size: .82rem !important; font-weight: 700;
}
.solara-corporate-buttons-v78 { margin-top: 2rem !important; gap: .85rem !important; }
.solara-corporate-primary-v78 .wp-block-button__link,
.solara-corporate-page-v78 .solara-button .wp-block-button__link {
  background: linear-gradient(135deg, #d3b678, var(--corp-gold)) !important; color: #10282a !important; box-shadow: 0 18px 44px rgba(0,0,0,.22) !important;
}
.solara-corporate-outline-v78 .wp-block-button__link {
  color: #f8f5f3 !important; border: 1px solid rgba(248,245,243,.64) !important; background: rgba(248,245,243,.08) !important; border-radius: 999px !important;
  backdrop-filter: blur(12px); box-shadow: 0 14px 34px rgba(0,0,0,.14) !important;
}

/* Section rhythm and premium cards */
.solara-corporate-why-v78,
.solara-corporate-includes-v78,
.solara-corporate-final-v78 { background: var(--corp-cream) !important; }
.solara-corporate-designed-v78,
.solara-corporate-itinerary-v78 { background: var(--corp-white) !important; }
.solara-corporate-card-v78,
.solara-corporate-format-card-v78,
.solara-corporate-experience-card-v78,
.solara-corporate-day-card-v78,
.solara-corporate-proposal-card-v78 {
  background: rgba(255,255,255,.88); border: 1px solid var(--corp-border); border-radius: 1.45rem; box-shadow: 0 24px 70px rgba(16,40,42,.06);
}
.solara-corporate-card-v78 { min-height: 250px; padding: 2rem !important; text-align: left; }
.solara-corporate-card-number-v78 { margin: 0 0 2.3rem !important; color: var(--corp-gold) !important; font-size: .82rem !important; letter-spacing: .22em; font-weight: 800; }
.solara-corporate-card-v78 h3,
.solara-corporate-format-card-v78 h3,
.solara-corporate-experience-card-v78 h3 { margin: 0 0 .75rem !important; font-family: var(--font-heading) !important; color: var(--corp-ink) !important; font-weight: 400 !important; }
.solara-corporate-card-v78 p:not(.solara-corporate-card-number-v78),
.solara-corporate-format-card-v78 p,
.solara-corporate-experience-card-v78 li { color: var(--corp-muted) !important; line-height: 1.65; }

/* Designed around your team */
.solara-corporate-format-grid-v78 { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; max-width: 1040px; margin: 2.5rem auto 0 !important; }
.solara-corporate-format-card-v78 { padding: 1.65rem; text-align: left; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.solara-corporate-format-card-v78:hover { transform: translateY(-4px); border-color: rgba(199,163,106,.45); box-shadow: 0 30px 80px rgba(16,40,42,.10); }
.solara-corporate-format-card-v78 span { display: inline-flex; margin-bottom: 1.2rem; padding: .42rem .75rem; border-radius: 999px; background: rgba(199,163,106,.14); color: var(--corp-green); font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.solara-corporate-format-card-v78 h3 { font-size: 1.55rem !important; }

/* Experience menu */
.solara-corporate-experience-grid-v78 { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1rem; margin-top: 2.7rem !important; }
.solara-corporate-experience-card-v78 { padding: 1.8rem; text-align: left; background: linear-gradient(180deg, #fff, #fbfaf8); }
.solara-corporate-experience-card-v78 > p { color: var(--corp-gold) !important; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; font-size: .72rem !important; margin: 0 0 1rem !important; }
.solara-corporate-experience-card-v78 h3 { font-size: 1.65rem !important; line-height: 1.1 !important; }
.solara-corporate-experience-card-v78 ul { list-style: none; padding: 0; margin: 1.25rem 0 0; display: grid; gap: .55rem; }
.solara-corporate-experience-card-v78 li::before { content: '•'; color: var(--corp-gold); margin-right: .45rem; }

/* Sample itinerary carousel cards */
.solara-corporate-week-carousel-v78 { max-width: 880px !important; margin: 2rem auto 0 !important; }
.solara-corporate-day-card-v78 { padding: clamp(2rem, 5vw, 4rem); text-align: center; }
.solara-corporate-day-card-v78 > p:first-child { color: var(--corp-gold) !important; letter-spacing: .22em; text-transform: uppercase; font-weight: 800; font-size: .78rem !important; margin: 0 0 1rem !important; }
.solara-corporate-day-card-v78 h3 { margin: 0 auto 1rem !important; color: var(--corp-ink) !important; font-family: var(--font-heading) !important; font-size: clamp(2.4rem, 5vw, 4.6rem) !important; line-height: .95 !important; font-weight: 300 !important; }
.solara-corporate-day-card-v78 p:last-child { max-width: 660px; margin: 0 auto !important; color: var(--corp-muted) !important; font-size: 1.05rem !important; line-height: 1.75 !important; }

/* Difference / delivery dark section */
.solara-corporate-difference-v78 { background: var(--corp-green) !important; color: #f8f5f3; }
.solara-corporate-difference-v78 .solara-eyebrow { color: var(--corp-gold) !important; }
.solara-corporate-difference-panel-v78 { max-width: 980px; margin: 0 auto 4rem !important; text-align: center; }
.solara-corporate-difference-panel-v78 h2,
.solara-corporate-service-v78 h2,
.solara-corporate-final-v78 h2 { font-family: var(--font-heading) !important; font-weight: 300 !important; letter-spacing: -.035em !important; line-height: .95 !important; }
.solara-corporate-difference-panel-v78 h2 { color: #fff !important; font-size: clamp(3rem, 7vw, 7rem) !important; margin: 0 0 1.2rem !important; }
.solara-corporate-difference-panel-v78 p:last-child { color: rgba(248,245,243,.80) !important; max-width: 720px; margin: 0 auto !important; font-size: 1.16rem; line-height: 1.7; }
.solara-corporate-audience-v78,
.solara-corporate-service-v78 { max-width: 980px; margin: 0 auto 2rem !important; padding: 2rem; border: 1px solid rgba(248,245,243,.15); border-radius: 1.5rem; background: rgba(248,245,243,.05); }
.solara-corporate-audience-v78 div,
.solara-corporate-service-v78 div { display: flex; flex-wrap: wrap; gap: .7rem; justify-content: center; }
.solara-corporate-audience-v78 span,
.solara-corporate-service-v78 span { padding: .65rem .95rem; border-radius: 999px; background: rgba(248,245,243,.10); border: 1px solid rgba(248,245,243,.16); color: rgba(248,245,243,.86); font-weight: 700; }
.solara-corporate-service-v78 h2 { color: #fff !important; font-size: clamp(2.2rem, 4vw, 4.6rem) !important; text-align: center; margin: 0 0 1.6rem !important; }

/* Final conversion CTA */
.solara-corporate-final-grid-v78 { max-width: 1080px; margin: 0 auto !important; gap: 3rem !important; align-items: center !important; }
.solara-corporate-final-v78 { color: var(--corp-ink); }
.solara-corporate-final-v78 h2 { font-size: clamp(3rem, 6vw, 6.2rem) !important; margin: 0 0 1rem !important; color: var(--corp-ink) !important; }
.solara-corporate-final-v78 p:not(.solara-eyebrow) { color: var(--corp-muted); line-height: 1.75; font-size: 1.08rem; }
.solara-corporate-proposal-card-v78 { padding: 2.2rem; background: var(--corp-green); color: #f8f5f3; box-shadow: 0 30px 90px rgba(16,40,42,.18); }
.solara-corporate-proposal-card-v78 h3 { color: #fff !important; font-family: var(--font-heading) !important; font-size: 2.1rem !important; margin: 0 0 1.3rem !important; font-weight: 400 !important; }
.solara-corporate-proposal-card-v78 ul { list-style: none; padding: 0; margin: 0 0 2rem; display: grid; gap: .7rem; }
.solara-corporate-proposal-card-v78 li { color: rgba(248,245,243,.82); }
.solara-corporate-proposal-card-v78 li::before { content: '✓'; color: var(--corp-gold); margin-right: .55rem; }

@media (max-width: 900px) {
  .solara-corporate-shell-v78 { text-align: center; }
  .solara-corporate-hero-title-v78 { margin-left: auto !important; margin-right: auto !important; font-size: clamp(3.4rem, 15vw, 6rem) !important; }
  .solara-corporate-hero-copy-v78 { margin-left: auto !important; margin-right: auto !important; }
  .solara-corporate-trust-row-v78,
  .solara-corporate-buttons-v78 { justify-content: center; }
  .solara-corporate-why-grid-v78,
  .solara-corporate-format-grid-v78,
  .solara-corporate-experience-grid-v78,
  .solara-corporate-final-grid-v78 { grid-template-columns: 1fr !important; display: grid !important; }
  .solara-corporate-card-v78 { min-height: auto; }
  .solara-corporate-difference-panel-v78 h2 { font-size: clamp(3rem, 13vw, 5rem) !important; }
}
@media (max-width: 560px) {
  .solara-corporate-hero-v78 { min-height: 92svh !important; }
  .solara-corporate-trust-row-v78 p { width: 100%; text-align: center; }
  .solara-corporate-buttons-v78 .wp-block-button,
  .solara-corporate-buttons-v78 .wp-block-button__link { width: 100%; }
  .solara-corporate-audience-v78,
  .solara-corporate-service-v78,
  .solara-corporate-proposal-card-v78 { padding: 1.4rem; }
}


/* -----------------------------------------------------------------------------
   SOLARA v3.77 — Corporate booking / enquiry page
   -----------------------------------------------------------------------------
   Scoped only to .solara-corporate-booking-page-v77 so the main Solara retreat
   page and normal booking page are not affected.
----------------------------------------------------------------------------- */
.solara-corporate-booking-page-v77 {
  --corp-navy: #1b3335;
  --corp-navy-soft: #28494b;
  --corp-cream: #f8f5f3;
  --corp-white: #ffffff;
  --corp-gold: #c9a66b;
  --corp-muted: rgba(27, 51, 53, .68);
  --corp-border: rgba(27, 51, 53, .14);
  background: var(--corp-cream);
  color: var(--corp-navy);
  padding: 9rem 1.5rem 7rem;
}

.solara-corporate-booking-page-v77 .solara-corporate-booking-hero-v77 {
  padding: 0 0 3.5rem;
  text-align: center;
}

.solara-corporate-booking-page-v77 .solara-corporate-booking-eyebrow-v77 {
  color: var(--corp-gold) !important;
}

.solara-corporate-booking-page-v77 .solara-corporate-booking-title-v77,
.solara-corporate-booking-page-v77 .solara-corporate-booking-form-title-v77,
.solara-corporate-booking-page-v77 h3 {
  color: var(--corp-navy) !important;
}

.solara-corporate-booking-page-v77 .solara-corporate-booking-title-v77 mark {
  color: var(--corp-gold) !important;
}

.solara-corporate-booking-page-v77 .solara-corporate-booking-lead-v77,
.solara-corporate-booking-page-v77 .solara-corporate-booking-form-intro-v77 {
  color: var(--corp-muted) !important;
}

.solara-corporate-booking-grid-v77 {
  max-width: 1120px;
  margin: 0 auto !important;
  gap: 2rem !important;
  align-items: flex-start !important;
}

.solara-corporate-booking-form-card-v77,
.solara-corporate-booking-side-card-v77 {
  background: var(--corp-white);
  border: 1px solid var(--corp-border);
  border-radius: 1.75rem;
  box-shadow: 0 26px 80px rgba(27, 51, 53, .08);
}

.solara-corporate-booking-form-card-v77 {
  padding: clamp(1.6rem, 3vw, 2.75rem);
  text-align: left;
}

.solara-corporate-booking-form-title-v77 {
  font-size: clamp(2rem, 3vw, 3rem) !important;
  line-height: 1.05 !important;
  margin: 0 0 .75rem !important;
}

.solara-corporate-booking-form-intro-v77 {
  margin: 0 0 2rem !important;
  line-height: 1.7;
}

.solara-corporate-booking-side-card-v77 {
  padding: 1.7rem;
  margin-bottom: 1rem;
  text-align: left;
}

.solara-corporate-booking-side-card-v77 .solara-eyebrow {
  color: var(--corp-gold) !important;
  margin-bottom: .8rem !important;
}

.solara-corporate-booking-side-card-v77 h3 {
  font-size: 1.65rem !important;
  line-height: 1.1 !important;
  margin: 0 0 1rem !important;
}

.solara-corporate-booking-side-card-v77 p,
.solara-corporate-booking-side-card-v77 li,
.solara-corporate-booking-side-card-v77 a {
  color: var(--corp-muted) !important;
  line-height: 1.6;
}

.solara-corporate-booking-side-card-v77 ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: .7rem;
}

.solara-corporate-booking-side-card-v77 li {
  position: relative;
  padding-left: 1.45rem;
}

.solara-corporate-booking-side-card-v77 li::before {
  content: '•';
  position: absolute;
  left: 0;
  top: 0;
  color: var(--corp-gold);
  font-size: 1.2rem;
  line-height: 1.2;
}

.solara-corporate-booking-dark-card-v77 {
  background: var(--corp-navy);
  border-color: rgba(255,255,255,.12);
}

.solara-corporate-booking-dark-card-v77 h3,
.solara-corporate-booking-dark-card-v77 p,
.solara-corporate-booking-dark-card-v77 .solara-eyebrow {
  color: var(--corp-cream) !important;
}

/* Contact Form 7 fields inside the corporate page only. */
.solara-corporate-booking-page-v77 .wpcf7 form,
.solara-corporate-booking-page-v77 .wpcf7-form {
  margin: 0 !important;
}

.solara-corporate-cf7-grid-v77 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.solara-corporate-booking-page-v77 .wpcf7 label,
.solara-corporate-booking-page-v77 .wpcf7 legend {
  display: block;
  margin: 0 0 1.15rem;
  color: var(--corp-navy);
  font-family: var(--font-body);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .16em;
  line-height: 1.35;
  text-transform: uppercase;
}

.solara-corporate-booking-page-v77 .wpcf7 fieldset {
  margin: 0 0 1.25rem;
  padding: 1.2rem 1.25rem;
  border: 1px solid var(--corp-border);
  border-radius: 1.25rem;
  background: rgba(248, 245, 243, .72);
}

.solara-corporate-booking-page-v77 .wpcf7 legend {
  width: auto;
  margin: 0 0 .85rem;
  padding: 0 .4rem 0 0;
}

.solara-corporate-booking-page-v77 .wpcf7 input:not([type="submit"]),
.solara-corporate-booking-page-v77 .wpcf7 textarea,
.solara-corporate-booking-page-v77 .wpcf7 select {
  box-sizing: border-box;
  display: block;
  width: 100%;
  margin-top: .5rem;
  border: 1px solid rgba(27, 51, 53, .18);
  border-radius: .95rem;
  background: #fff;
  color: var(--corp-navy);
  padding: .95rem 1rem;
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.35;
  outline: none;
  box-shadow: none;
}

.solara-corporate-booking-page-v77 .wpcf7 textarea {
  min-height: 120px;
  resize: vertical;
}

.solara-corporate-booking-page-v77 .wpcf7 input:focus,
.solara-corporate-booking-page-v77 .wpcf7 textarea:focus,
.solara-corporate-booking-page-v77 .wpcf7 select:focus {
  border-color: var(--corp-gold);
  box-shadow: 0 0 0 3px rgba(201, 166, 107, .16);
}

.solara-corporate-booking-page-v77 .wpcf7-list-item {
  display: inline-flex;
  align-items: flex-start;
  gap: .5rem;
  margin: .35rem .8rem .35rem 0;
  color: var(--corp-muted);
  font-size: .95rem;
  line-height: 1.45;
}

.solara-corporate-booking-page-v77 .wpcf7-list-item label {
  display: inline-flex;
  align-items: flex-start;
  gap: .5rem;
  margin: 0;
  color: var(--corp-muted);
  font-size: .95rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.45;
  text-transform: none;
}

.solara-corporate-booking-page-v77 .wpcf7-list-item input[type="checkbox"],
.solara-corporate-booking-page-v77 .wpcf7-list-item input[type="radio"] {
  width: 1rem;
  height: 1rem;
  min-width: 1rem;
  margin: .18rem .35rem 0 0;
  accent-color: var(--corp-navy);
}

.solara-form-hint-v77 {
  margin: -.75rem 0 1.1rem;
  color: var(--corp-muted);
  font-size: .85rem;
  line-height: 1.45;
}

.solara-corporate-booking-page-v77 .wpcf7 input[type="submit"] {
  width: 100%;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--corp-navy), var(--corp-navy-soft));
  color: #fff;
  padding: 1rem 1.35rem;
  font-family: var(--font-heading);
  font-size: 1.1rem;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 18px 42px rgba(27, 51, 53, .20);
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}

.solara-corporate-booking-page-v77 .wpcf7 input[type="submit"]:hover {
  transform: translateY(-2px);
  background: linear-gradient(135deg, var(--corp-navy-soft), var(--corp-navy));
  box-shadow: 0 24px 56px rgba(27, 51, 53, .28);
}

.solara-corporate-booking-page-v77 .wpcf7-response-output,
.solara-corporate-booking-page-v77 .wpcf7-not-valid-tip {
  font-family: var(--font-body);
  font-size: .9rem;
  line-height: 1.5;
}

@media (max-width: 900px) {
  .solara-corporate-booking-page-v77 {
    padding: 7.5rem 1.15rem 5rem;
  }
  .solara-corporate-booking-grid-v77,
  .solara-corporate-cf7-grid-v77 {
    grid-template-columns: 1fr !important;
  }
}

/* -----------------------------------------------------------------------------
   SOLARA v3.79 — Corporate page spacing and breathing room
   Scope: .solara-corporate-page-v78 only. Keeps the main retreat page untouched.
   Purpose: make the corporate page feel less compressed and more premium by
   adding stronger vertical rhythm, clearer section separation and larger gaps
   between headings, copy, cards and CTAs.
----------------------------------------------------------------------------- */
.solara-corporate-page-v78.solara-builder-section {
  padding-top: clamp(7rem, 10vw, 10.5rem) !important;
  padding-bottom: clamp(7rem, 10vw, 10.5rem) !important;
}

.solara-corporate-page-v78.solara-corporate-hero-v78 {
  min-height: 94vh !important;
}

.solara-corporate-page-v78 .solara-eyebrow {
  margin-bottom: 1.35rem !important;
}

.solara-corporate-page-v78 .solara-section-title,
.solara-corporate-page-v78 h2.solara-section-title {
  margin-bottom: 1.65rem !important;
}

.solara-corporate-page-v78 .solara-lead,
.solara-corporate-page-v78 .solara-block-lead {
  max-width: 700px !important;
  margin-bottom: clamp(3.8rem, 5.5vw, 5.4rem) !important;
}

/* Section-specific rhythm */
.solara-corporate-why-v78 {
  padding-top: clamp(7rem, 9vw, 9.5rem) !important;
  padding-bottom: clamp(7.5rem, 10vw, 10rem) !important;
}

.solara-corporate-designed-v78,
.solara-corporate-includes-v78,
.solara-corporate-itinerary-v78,
.solara-corporate-final-v78 {
  padding-top: clamp(7.5rem, 10vw, 10.5rem) !important;
  padding-bottom: clamp(7.5rem, 10vw, 10.5rem) !important;
}

.solara-corporate-difference-v78 {
  padding-top: clamp(8rem, 11vw, 11rem) !important;
  padding-bottom: clamp(8rem, 11vw, 11rem) !important;
}

/* Give every card grid more air below the section heading. */
.solara-corporate-why-grid-v78,
.solara-corporate-format-grid-v78,
.solara-corporate-experience-grid-v78 {
  margin-top: clamp(3.4rem, 5vw, 4.8rem) !important;
}

.solara-corporate-why-grid-v78 {
  gap: 1.45rem !important;
}

.solara-corporate-format-grid-v78 {
  gap: 1.35rem !important;
}

.solara-corporate-experience-grid-v78 {
  gap: 1.35rem !important;
}

/* Card proportions: less cramped, more editorial. */
.solara-corporate-card-v78 {
  min-height: 285px !important;
  padding: clamp(2.1rem, 3vw, 2.75rem) !important;
}

.solara-corporate-card-number-v78 {
  margin-bottom: 3rem !important;
}

.solara-corporate-card-v78 h3,
.solara-corporate-format-card-v78 h3,
.solara-corporate-experience-card-v78 h3 {
  margin-bottom: 1rem !important;
}

.solara-corporate-card-v78 p:not(.solara-corporate-card-number-v78),
.solara-corporate-format-card-v78 p,
.solara-corporate-experience-card-v78 li {
  line-height: 1.75 !important;
}

.solara-corporate-format-card-v78,
.solara-corporate-experience-card-v78 {
  padding: clamp(1.9rem, 2.8vw, 2.45rem) !important;
}

.solara-corporate-format-card-v78 span,
.solara-corporate-experience-card-v78 > p {
  margin-bottom: 1.35rem !important;
}

.solara-corporate-experience-card-v78 ul {
  margin-top: 1.55rem !important;
  gap: .8rem !important;
}

/* Carousel: separate tabs, card and arrows from surrounding sections. */
.solara-corporate-itinerary-v78 .solara-carousel-tabs {
  margin-top: 2.6rem !important;
  margin-bottom: 2.4rem !important;
}

.solara-corporate-week-carousel-v78 {
  margin-top: 2.4rem !important;
  margin-bottom: 1.5rem !important;
}

.solara-corporate-day-card-v78 {
  padding: clamp(3rem, 6vw, 5rem) clamp(2rem, 5vw, 4rem) !important;
  min-height: 360px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

/* Dark conversion section: make each message feel intentional, not stacked. */
.solara-corporate-difference-panel-v78 {
  margin-bottom: clamp(4.5rem, 7vw, 6.5rem) !important;
}

.solara-corporate-audience-v78,
.solara-corporate-service-v78 {
  padding: clamp(2.4rem, 4vw, 3.4rem) !important;
  margin-bottom: 2.2rem !important;
}

.solara-corporate-audience-v78 + .solara-corporate-service-v78 {
  margin-top: 2rem !important;
}

.solara-corporate-audience-v78 div,
.solara-corporate-service-v78 div {
  gap: .85rem !important;
}

.solara-corporate-audience-v78 span,
.solara-corporate-service-v78 span {
  padding: .72rem 1.05rem !important;
}

/* Final CTA: stronger layout separation from dark section above. */
.solara-corporate-final-v78 {
  padding-top: clamp(8rem, 11vw, 11rem) !important;
  padding-bottom: clamp(8rem, 11vw, 11rem) !important;
}

.solara-corporate-final-grid-v78 {
  gap: clamp(4rem, 7vw, 7rem) !important;
}

.solara-corporate-proposal-card-v78 {
  padding: clamp(2.5rem, 4vw, 3.4rem) !important;
}

/* Tablet/mobile: keep more breathing room without making the page too long. */
@media (max-width: 900px) {
  .solara-corporate-page-v78.solara-builder-section,
  .solara-corporate-why-v78,
  .solara-corporate-designed-v78,
  .solara-corporate-includes-v78,
  .solara-corporate-itinerary-v78,
  .solara-corporate-difference-v78,
  .solara-corporate-final-v78 {
    padding-top: clamp(5.6rem, 14vw, 7rem) !important;
    padding-bottom: clamp(5.6rem, 14vw, 7rem) !important;
  }

  .solara-corporate-page-v78 .solara-lead,
  .solara-corporate-page-v78 .solara-block-lead {
    margin-bottom: 3rem !important;
  }

  .solara-corporate-why-grid-v78,
  .solara-corporate-format-grid-v78,
  .solara-corporate-experience-grid-v78 {
    gap: 1.2rem !important;
    margin-top: 2.8rem !important;
  }

  .solara-corporate-card-v78,
  .solara-corporate-format-card-v78,
  .solara-corporate-experience-card-v78 {
    min-height: auto !important;
    padding: 1.75rem !important;
  }

  .solara-corporate-card-number-v78 {
    margin-bottom: 1.8rem !important;
  }

  .solara-corporate-day-card-v78 {
    min-height: 300px !important;
    padding: 2.25rem 1.5rem !important;
  }

  .solara-corporate-difference-panel-v78 {
    margin-bottom: 3.4rem !important;
  }

  .solara-corporate-audience-v78,
  .solara-corporate-service-v78,
  .solara-corporate-proposal-card-v78 {
    padding: 1.7rem !important;
  }
}


/* -----------------------------------------------------------------------------
   SOLARA v3.80 — Corporate booking checkbox grouping + mobile hero breathing room
   -----------------------------------------------------------------------------
   - Groups corporate CF7 checkboxes into clear category columns.
   - Adds top/bottom breathing room to the corporate hero image on mobile only.
   Scoped to corporate pages, so the main retreat page is not affected.
----------------------------------------------------------------------------- */

/* Corporate booking form: grouped checkbox/radio blocks */
.solara-corporate-booking-page-v77 .solara-cf7-option-groups-v80 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem !important;
  margin-top: 1.2rem !important;
}

.solara-corporate-booking-page-v77 .solara-cf7-option-group-v80 {
  padding: 1rem !important;
  border: 1px solid rgba(27, 51, 53, .10) !important;
  border-radius: 1rem !important;
  background: #fff !important;
}

.solara-corporate-booking-page-v77 .solara-cf7-option-group-v80 h4 {
  margin: 0 0 .85rem !important;
  color: var(--corp-navy, #1b3335) !important;
  font-family: var(--font-body, Mulish, sans-serif) !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

.solara-corporate-booking-page-v77 .solara-cf7-option-group-v80 .wpcf7-checkbox,
.solara-corporate-booking-page-v77 .solara-cf7-option-group-v80 .wpcf7-radio {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: .55rem !important;
  margin: 0 !important;
}

.solara-corporate-booking-page-v77 .wpcf7 fieldset.solara-cf7-grouped-v80 {
  padding: 1.35rem !important;
}

.solara-corporate-booking-page-v77 .wpcf7 fieldset.solara-cf7-grouped-v80 legend {
  margin-bottom: .35rem !important;
}

.solara-corporate-booking-page-v77 .wpcf7-list-item {
  display: block !important;
  margin: 0 !important;
}

.solara-corporate-booking-page-v77 .wpcf7-list-item label {
  display: flex !important;
  align-items: flex-start !important;
  gap: .7rem !important;
  width: 100% !important;
  margin: 0 !important;
  padding: .72rem .8rem !important;
  border: 1px solid rgba(27, 51, 53, .10) !important;
  border-radius: .85rem !important;
  background: rgba(248, 245, 243, .55) !important;
  color: var(--corp-muted, rgba(27, 51, 53, .68)) !important;
  font-size: .92rem !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1.35 !important;
  text-transform: none !important;
  cursor: pointer !important;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.solara-corporate-booking-page-v77 .wpcf7-list-item label:hover {
  background: #fff !important;
  border-color: rgba(201, 166, 107, .50) !important;
  transform: translateY(-1px);
}

.solara-corporate-booking-page-v77 .wpcf7-list-item input[type="checkbox"],
.solara-corporate-booking-page-v77 .wpcf7-list-item input[type="radio"] {
  flex: 0 0 1rem !important;
  width: 1rem !important;
  height: 1rem !important;
  min-width: 1rem !important;
  margin: .1rem 0 0 !important;
  accent-color: var(--corp-navy, #1b3335) !important;
}

.solara-corporate-booking-page-v77 .wpcf7-list-item-label {
  display: block !important;
}

/* Mobile corporate hero: give the image breathing room above and below. */
@media (max-width: 782px) {
  .solara-corporate-page-v78.solara-corporate-hero-v78 {
    min-height: auto !important;
    margin-top: 1.15rem !important;
    margin-bottom: 1.5rem !important;
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
    border-radius: 0 0 1.8rem 1.8rem !important;
    overflow: hidden !important;
  }

  .solara-corporate-page-v78 .solara-corporate-kicker-v78 {
    margin-top: .75rem !important;
    margin-bottom: 1.35rem !important;
  }

  .solara-corporate-page-v78 .solara-corporate-hero-copy-v78 {
    margin-top: 1.75rem !important;
  }

  .solara-corporate-page-v78 .solara-corporate-buttons-v78 {
    margin-bottom: .75rem !important;
  }

  .solara-corporate-booking-page-v77 .solara-cf7-option-groups-v80 {
    grid-template-columns: 1fr !important;
    gap: .85rem !important;
  }

  .solara-corporate-booking-page-v77 .solara-cf7-option-group-v80 {
    padding: .9rem !important;
  }
}


/* -----------------------------------------------------------------------------
   SOLARA v3.81 — Corporate blue/grey palette + main page clean-up
   -----------------------------------------------------------------------------
   Corporate: removes orange/gold warmth from the corporate page and replaces it
   with a sharper executive palette: navy, blue-grey, light grey and white.
   Main page: hides repeated hero/essence copy, keeps flight times on one line,
   and centres footer column content.
----------------------------------------------------------------------------- */

/* Corporate page palette: blue + light grey only. */
.solara-corporate-page-v78 {
  --corp-ink: #0E2534 !important;
  --corp-green: #132B3A !important;
  --corp-green-2: #1B3448 !important;
  --corp-cream: #F4F6F7 !important;
  --corp-soft: #FAFBFC !important;
  --corp-white: #FFFFFF !important;
  --corp-gold: #7F919D !important;
  --corp-border: rgba(14, 37, 52, .14) !important;
  --corp-muted: rgba(14, 37, 52, .68) !important;
  background: #F4F6F7 !important;
  color: #0E2534 !important;
}

.solara-corporate-page-v78 .solara-eyebrow,
.solara-corporate-page-v78 .solara-section-title mark,
.solara-corporate-page-v78 .solara-corporate-card-number-v78,
.solara-corporate-page-v78 .solara-corporate-format-card-v78 span,
.solara-corporate-page-v78 .solara-corporate-experience-card-v78 > p {
  color: #6F8390 !important;
}

.solara-corporate-page-v78 .solara-button .wp-block-button__link,
.solara-corporate-page-v78 .solara-corporate-primary-v78 .wp-block-button__link,
.solara-corporate-page-v78 .wp-block-button.solara-corporate-primary-v78 .wp-block-button__link {
  background: linear-gradient(135deg, #0E2534 0%, #1B3448 100%) !important;
  color: #FFFFFF !important;
  box-shadow: 0 18px 42px rgba(14, 37, 52, .22) !important;
}

.solara-corporate-page-v78 .solara-button .wp-block-button__link:hover,
.solara-corporate-page-v78 .solara-corporate-primary-v78 .wp-block-button__link:hover,
.solara-corporate-page-v78 .wp-block-button.solara-corporate-primary-v78 .wp-block-button__link:hover {
  background: linear-gradient(135deg, #1B3448 0%, #263F52 100%) !important;
  box-shadow: 0 24px 56px rgba(14, 37, 52, .30) !important;
}

.solara-corporate-page-v78 .solara-button-secondary .wp-block-button__link,
.solara-corporate-page-v78 .solara-block-button-secondary .wp-block-button__link {
  background: rgba(255, 255, 255, .10) !important;
  border-color: rgba(244, 246, 247, .72) !important;
  color: #F4F6F7 !important;
}

.solara-corporate-page-v78 .solara-button-secondary .wp-block-button__link:hover,
.solara-corporate-page-v78 .solara-block-button-secondary .wp-block-button__link:hover {
  background: #F4F6F7 !important;
  border-color: #F4F6F7 !important;
  color: #0E2534 !important;
}

.solara-corporate-hero-v78,
.solara-corporate-difference-v78,
.solara-corporate-proposal-card-v78 {
  background: #132B3A !important;
}

.solara-corporate-card-v78,
.solara-corporate-format-card-v78,
.solara-corporate-experience-card-v78,
.solara-corporate-day-card-v78,
.solara-corporate-audience-v78,
.solara-corporate-service-v78 {
  border-color: rgba(14, 37, 52, .12) !important;
  box-shadow: 0 22px 70px rgba(14, 37, 52, .065) !important;
}

.solara-corporate-card-v78:hover,
.solara-corporate-format-card-v78:hover,
.solara-corporate-experience-card-v78:hover {
  border-color: rgba(14, 37, 52, .24) !important;
  box-shadow: 0 30px 90px rgba(14, 37, 52, .10) !important;
}

.solara-corporate-trust-row-v78 p,
.solara-corporate-audience-v78 span,
.solara-corporate-service-v78 span,
.solara-corporate-kicker-v78 {
  background: rgba(244, 246, 247, .12) !important;
  border-color: rgba(244, 246, 247, .26) !important;
  color: #F4F6F7 !important;
}

.solara-corporate-page-v78 a,
.solara-corporate-page-v78 button,
.solara-corporate-page-v78 .solara-carousel-tab.is-active {
  border-color: #1B3448 !important;
}

.solara-corporate-page-v78 .solara-carousel-tab.is-active,
.solara-corporate-page-v78 .solara-carousel-arrow:hover,
.solara-corporate-page-v78 .solara-gallery-arrow:hover {
  background: #1B3448 !important;
  color: #FFFFFF !important;
}

.solara-corporate-page-v78 .solara-carousel-arrow,
.solara-corporate-page-v78 .solara-gallery-arrow {
  color: #1B3448 !important;
}

/* Corporate booking/enquiry page: match the blue/grey corporate palette. */
.solara-corporate-booking-page-v77 {
  --corp-navy: #0E2534 !important;
  --corp-navy-soft: #1B3448 !important;
  --corp-cream: #F4F6F7 !important;
  --corp-white: #FFFFFF !important;
  --corp-gold: #7F919D !important;
  --corp-muted: rgba(14, 37, 52, .68) !important;
  --corp-border: rgba(14, 37, 52, .14) !important;
  background: #F4F6F7 !important;
}

.solara-corporate-booking-page-v77 .solara-corporate-booking-eyebrow-v77,
.solara-corporate-booking-page-v77 .solara-corporate-booking-title-v77 mark {
  color: #6F8390 !important;
}

.solara-corporate-booking-page-v77 .wpcf7 input[type="submit"],
.solara-corporate-booking-page-v77 .wp-block-button__link {
  background: linear-gradient(135deg, #0E2534 0%, #1B3448 100%) !important;
  color: #FFFFFF !important;
  box-shadow: 0 18px 42px rgba(14, 37, 52, .22) !important;
}

.solara-corporate-booking-page-v77 .wpcf7 input:focus,
.solara-corporate-booking-page-v77 .wpcf7 textarea:focus,
.solara-corporate-booking-page-v77 .wpcf7 select:focus {
  border-color: #1B3448 !important;
  box-shadow: 0 0 0 3px rgba(27, 52, 72, .12) !important;
}

.solara-corporate-booking-page-v77 input[type="checkbox"],
.solara-corporate-booking-page-v77 input[type="radio"] {
  accent-color: #1B3448 !important;
}

/* Main landing hero: make sure old saved intro paragraph is not shown. */
.solara-hero .solara-intro,
.solara-hero .solara-block-hero-lead {
  display: none !important;
}

/* Main essence section: hide/remove the repeated floating date/location badge. */
.solara-about-section .solara-floating-datebox {
  display: none !important;
}

/* Main Dates & Flights: keep times smaller and always on one line. */
.solara-travel-time {
  font-size: clamp(1.75rem, 3.1vw, 2.45rem) !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  letter-spacing: -0.015em !important;
}

.solara-travel-route-row {
  grid-template-columns: minmax(86px, .8fr) minmax(150px, 1.5fr) minmax(86px, .8fr) !important;
}

@media (max-width: 560px) {
  .solara-travel-time {
    font-size: clamp(1.55rem, 7vw, 1.95rem) !important;
  }

  .solara-travel-route-row {
    grid-template-columns: minmax(72px, .8fr) minmax(96px, 1.1fr) minmax(72px, .8fr) !important;
  }
}

/* Footer: centre all column content and keep the bottom row centred too. */
.solara-footer .solara-footer-grid,
.solara-block-footer .solara-footer-grid,
.solara-footer .wp-block-columns {
  align-items: center !important;
  text-align: center !important;
}

.solara-footer .solara-footer-grid > .wp-block-column,
.solara-block-footer .solara-footer-grid > .wp-block-column,
.solara-footer .wp-block-column {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

.solara-footer .wp-block-navigation__container,
.solara-footer .wp-block-buttons {
  justify-content: center !important;
}

.solara-footer .solara-footer-bottom,
.solara-block-footer .solara-footer-bottom {
  justify-content: center !important;
  text-align: center !important;
}
