/* Flagship Rentals — sitewide font scale (2026-11-09)
   Round 1: +2px from Divi defaults (body 14→16).
   Round 2: +2px again (body 16→18) — owner: body still too small.
   Round 3: readable step-up for older guests / poor lighting (owner iPhone feedback).
     Body ~20px desktop / ~21px phone; line-height 1.6; near-black #222;
     amenity/nearby/pills ≥19px; buttons ≥18px; heading Title Case via capitalize.
   Round 4 (noboxes): remove light shadow-box backdrops from the no-white pass;
     light backgrounds → burgundy #8B1516; dark blue bar / hero photo-video → cream #F5EBDD
     (optional subtle text-shadow 0 1px 3px rgba(0,0,0,0.45) only — no glow, no boxes);
     trust/footer/promo keep pre-nowhite navy/blue backgrounds; buttons keep white text.
   Round 5 (titlefix): cream/shadow only on .et_pb_section_video heroes — not on light
     Our Rentals / property title cards (restore #222 body, burgundy H1, no text-shadow).
   Enqueued last so it wins over earlier flagship sheets and most Divi module CSS.
*/

/* --- Base body / paragraphs / lists --- */
body {
  font-size: 20px !important; /* was 18px */
  line-height: 1.6 !important;
  color: #222 !important;
  font-weight: 500 !important; /* slightly heavier — condensed face reads small */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* Explicit bumps so Divi text-module sizes cannot keep body copy small */
body .et_pb_text_inner,
body .et_pb_text_inner p,
body .et_pb_text_inner li,
body .entry-content p,
body .entry-content li,
body .et_pb_post_content p,
body .et_pb_post_content li {
  font-size: 20px !important; /* was 18px */
  line-height: 1.6 !important;
  font-weight: 500 !important;
}
/* Near-black body copy on light content only — skip Theme Builder header
   (winter promo sits on blue banner but Divi marks the module "light"). */
body .et_pb_bg_layout_light:not([class*="tb_header"]):not(.flagship-trust-strip):not(.flagship-trust-row) .et_pb_text_inner,
body .et_pb_bg_layout_light:not([class*="tb_header"]):not(.flagship-trust-strip):not(.flagship-trust-row) .et_pb_text_inner p,
body .et_pb_bg_layout_light:not([class*="tb_header"]):not(.flagship-trust-strip):not(.flagship-trust-row) .et_pb_text_inner li,
body .et_pb_section:not(.et_pb_section_1):not(.lg-reservation-section) .et_pb_bg_layout_light:not([class*="tb_header"]) .et_pb_text_inner,
body .et_pb_section:not(.et_pb_section_1):not(.lg-reservation-section) .et_pb_bg_layout_light:not([class*="tb_header"]) .et_pb_text_inner p,
body .entry-content p,
body .entry-content li {
  color: #222 !important;
}
/* Trust/navy bands: never inherit the light-layout #222 force */
body.home .et_pb_section_1.et_pb_with_background .et_pb_bg_layout_light .et_pb_text_inner,
body.page-id-16991 .et_pb_section_1.et_pb_with_background .et_pb_bg_layout_light .et_pb_text_inner,
body.home .et_pb_section_1.et_pb_with_background .et_pb_bg_layout_light .et_pb_text_inner p,
body.page-id-16991 .et_pb_section_1.et_pb_with_background .et_pb_bg_layout_light .et_pb_text_inner p,
body.home .et_pb_section_1.et_pb_with_background .et_pb_bg_layout_light .et_pb_text_inner span,
body.page-id-16991 .et_pb_section_1.et_pb_with_background .et_pb_bg_layout_light .et_pb_text_inner span {
  color: #F5EBDD !important;
  text-shadow: none !important;
}
/* TB header colors: Round 4 sets cream on dark promo/reservation bands;
   light header intro copy inherits body #222 (do not force cream sitewide). */
#main-footer,
#main-footer p,
#main-footer li,
#footer-info,
#footer-info a {
  font-size: 20px !important; /* was 18px */
  line-height: 1.6 !important;
}
body .et_pb_cta p,
body .et_pb_promo_description p {
  font-size: 20px !important;
  line-height: 1.6 !important;
}

/* Body links — darker red for WCAG AA on white */
body .et_pb_text_inner a,
body .entry-content a,
body .et_pb_post_content a,
#main-footer a,
#footer-info a {
  color: #8B1516 !important; /* darker than brand #A91E1F for AA on white */
}

/* Slightly larger body copy that was already bumped */
body .et_pb_slide_content,
body .et_pb_best_value {
  font-size: 26px !important; /* was 24px */
  line-height: 1.5 !important;
}

/* --- Headings (proportion + Title Case) ---
   text-transform: capitalize only uppercases the first letter of each word;
   it does NOT lowercase the rest, so 4BR / 1BR / St. Paul / phone digits stay intact. */
h1,
h1.et_pb_contact_main_title,
.et_pb_title_container h1,
h2, h3, h4, h5, h6,
.et_pb_module_header,
.et_pb_toggle_title,
.et_pb_accordion_title,
.et_pb_blurb_container h4,
.et_pb_counter_title,
.et_pb_slide_title,
.et_pb_pricing_heading h2,
.et_pb_team_member_name {
  text-transform: capitalize !important;
}
h1,
h1.et_pb_contact_main_title,
.et_pb_title_container h1 {
  font-size: 48px !important; /* was 46px */
  color: inherit; /* hero colors set in Round 4; body sections inherit */
}
h2 {
  font-size: 42px !important; /* was 40px */
}
h3 {
  font-size: 36px !important; /* was 34px */
}
h4 {
  font-size: 26px !important; /* was 22px — Near Our / Homes Feature headings */
}
h5 {
  font-size: 28px !important; /* was 26px */
}
h6 {
  font-size: 24px !important; /* was 23px */
}

/* Narrow-column Divi heading scale */
.et_pb_column_1_3 h1, .et_pb_column_1_4 h1, .et_pb_column_1_5 h1,
.et_pb_column_1_6 h1, .et_pb_column_2_5 h1 { font-size: 32px !important; text-transform: capitalize !important; }
.et_pb_column_1_3 h2, .et_pb_column_1_4 h2, .et_pb_column_1_5 h2,
.et_pb_column_1_6 h2, .et_pb_column_2_5 h2 { font-size: 28px !important; text-transform: capitalize !important; }
.et_pb_column_1_3 h3, .et_pb_column_1_4 h3, .et_pb_column_1_5 h3,
.et_pb_column_1_6 h3, .et_pb_column_2_5 h3 { font-size: 26px !important; text-transform: capitalize !important; }
.et_pb_column_1_3 h4, .et_pb_column_1_4 h4, .et_pb_column_1_5 h4,
.et_pb_column_1_6 h4, .et_pb_column_2_5 h4 { font-size: 24px !important; text-transform: capitalize !important; }
.et_pb_column_1_3 h5, .et_pb_column_1_4 h5, .et_pb_column_1_5 h5,
.et_pb_column_1_6 h5, .et_pb_column_2_5 h5 { font-size: 22px !important; text-transform: capitalize !important; }
.et_pb_column_1_3 h6, .et_pb_column_1_4 h6, .et_pb_column_1_5 h6,
.et_pb_column_1_6 h6, .et_pb_column_2_5 h6 { font-size: 20px !important; text-transform: capitalize !important; }

/* --- Navigation / menu --- */
#top-menu a,
#top-menu li a,
.et_pb_menu a,
.et_pb_menu .et-menu > li > a,
.et-menu > li > a,
.et_mobile_menu li a,
#et-top-navigation a {
  font-size: 20px !important; /* keep — already readable */
}
.et_pb_menu .et_pb_menu__wrap .et-menu > li > a {
  font-size: 21px !important;
}

/* Dropdown submenu: smaller type + spacing so long house names don't overlap
   (owner: FIRESIDE LAKE PHALEN RETREAT / STONY POINT PLACE collided after font enlarge)
   Divi hardcodes #top-menu li li a { width: 200px } — override so names fit one line. */
#top-menu li ul.sub-menu,
#top-menu .sub-menu,
.et_pb_menu .sub-menu,
.et-menu .sub-menu,
nav#top-menu-nav .sub-menu {
  width: auto !important;
  min-width: 340px !important;
  padding: 8px 0 !important;
}
#top-menu .sub-menu li,
#top-menu li li,
.et_pb_menu .sub-menu li,
.et-menu .sub-menu li {
  width: 100% !important;
}
#top-menu .sub-menu a,
#top-menu .sub-menu li a,
#top-menu li li a,
#top-menu li ul.sub-menu a,
.et_pb_menu .sub-menu a,
.et_pb_menu .sub-menu li a,
.et-menu .sub-menu a,
#et-top-navigation .sub-menu a {
  font-size: 15px !important;
  line-height: 1.35 !important;
  padding: 12px 18px !important;
  height: auto !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
  display: block !important;
}
/* Mobile flyout / hamburger nested items — allow wrap; keep readable spacing */
.et_mobile_menu li ul.sub-menu a,
.et_mobile_menu .sub-menu a,
.et_mobile_menu li li a,
#mobile_menu .sub-menu a,
#mobile_menu li li a {
  font-size: 16px !important;
  line-height: 1.4 !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  height: auto !important;
  width: auto !important;
  white-space: normal !important;
}

/* --- Buttons (Check Dates etc.) — at least 18px --- */
body .et_pb_button,
body a.et_pb_button,
.et_pb_button,
body.page .et_pb_button[href="#hostaway-booking-widget"],
body .et_pb_button[href="#hostaway-booking-widget"],
a.et_pb_button[href="#hostaway-booking-widget"] {
  font-size: 18px !important;
  white-space: nowrap;
  font-weight: 700 !important;
}

/* --- Flagship chrome --- */
.flagship-trust-strip {
  font-size: 19px !important; /* was 18px */
}
.flagship-trust-row {
  font-size: 20px !important; /* was 19px */
}
.flagship-homes-heading {
  font-size: 46px !important; /* was 44px */
  text-transform: capitalize !important;
}
.flagship-desktop-cta a.flagship-phone {
  font-size: 20px !important;
}
.flagship-desktop-cta a.flagship-book-direct {
  font-size: 18px !important;
}
.flagship-mobile-cta a {
  font-size: 20px !important;
}
.flagship-footer-cta,
.flagship-footer-cta p,
.flagship-footer-tagline {
  font-size: 18px !important; /* was 17px */
}
.flagship-footer-cta .flagship-book-direct {
  font-size: 18px !important;
}

/* Amenity / Homes Feature pills — ≥19px, wrap nicely */
.flagship-amenity-chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}
.flagship-amenity-chips span {
  font-size: 19px !important; /* was 18px; quickfixes base 14 overridden */
  font-weight: 500 !important;
  color: #111 !important;
  line-height: 1.35 !important;
  white-space: normal !important;
}
.flagship-card-chip {
  font-size: 16px !important; /* was 16 already after r2; keep modest on cards */
  font-weight: 500 !important;
  color: #222 !important;
}
.flagship-3d-tour a {
  font-size: 19px !important;
}

/* Card titles / meta */
body.home .et_pb_column_1_3:has(.flagship-card-video) .et_pb_text h2,
body.page-id-16991 .et_pb_column_1_3:has(.flagship-card-video) .et_pb_text h2,
body.page-id-18105 .et_pb_column_1_3:has(.flagship-card-video) .et_pb_text h2,
body.home .et_pb_column_1_2:has(.et_pb_image):has(.et_pb_button) .et_pb_text h2,
body.page-id-16991 .et_pb_column_1_2:has(.et_pb_image):has(.et_pb_button) .et_pb_text h2,
body.page-id-18105 .et_pb_column_1_2:has(.et_pb_image):has(.et_pb_button) .et_pb_text h2 {
  font-size: 28px !important; /* was 26px */
  text-transform: capitalize !important;
}
body.home .et_pb_column_1_3:has(.flagship-card-video) .et_pb_text p,
body.page-id-16991 .et_pb_column_1_3:has(.flagship-card-video) .et_pb_text p,
body.page-id-18105 .et_pb_column_1_3 .et_pb_text p {
  font-size: 20px !important; /* was 18px */
  line-height: 1.55 !important;
  color: #222 !important;
}
/* Explicit nearby / homes-feature body copy (pipe lists under H4s) */
body.home .et_pb_text_9 .et_pb_text_inner > p,
body.page-id-16991 .et_pb_text_9 .et_pb_text_inner > p {
  font-size: 20px !important;
  line-height: 1.6 !important;
  color: #222 !important;
  font-weight: 500 !important;
}

/* Home hero H1 */
body.home .et_pb_section_0 .et_pb_text h1,
body.page-id-16991 .et_pb_section_0 .et_pb_text h1,
body.home .et_pb_section:first-of-type .et_pb_text h1,
body.page-id-16991 .et_pb_section:first-of-type .et_pb_text h1 {
  font-size: 54px !important; /* was 52px */
  text-transform: capitalize !important;
}
body.home .et_pb_section_0 .et_pb_text h4,
body.page-id-16991 .et_pb_section_0 .et_pb_text h4 {
  font-size: 28px !important; /* was 26px */
  text-transform: capitalize !important;
}

/* House-page heroes */
body.page .et_pb_section:first-of-type .et_pb_text h1 {
  font-size: 48px !important; /* was 46px */
  text-transform: capitalize !important;
}

/* Booking bar label */
.lg-reservation-section .et_pb_text_1_tb_header .et_pb_text_inner::after,
.lg-reservation-section .et_pb_row_1_tb_header .et_pb_text .et_pb_text_inner::after {
  font-size: 26px !important;
}
.lg-reservation-section input,
.lg-reservation-section select,
.lg-reservation-section button {
  font-size: 20px !important;
}

/* Hostaway hero search */
.flagship-hero-search,
.flagship-hero-search label,
.flagship-hero-search input,
.flagship-hero-search select,
.flagship-hero-search button,
.flagship-hero-search [class*="search"] {
  font-size: 18px !important;
}

/* Image captions (not AI disclaimer) */
.wp-caption-text,
body .et_pb_module_caption,
.et_pb_image figcaption {
  font-size: 18px !important; /* was 17px */
  color: #222 !important;
}

/* Testimonials page body */
body.page-id-204 .et_pb_text_inner,
body.page-id-204 .et_pb_text_inner p {
  font-size: 20px !important;
  line-height: 1.6 !important;
  color: #222 !important;
}
body.page-id-204 h1 {
  font-size: 48px !important;
  text-transform: capitalize !important;
}

/* Prevent nav wrap / button wrap issues */
@media (min-width: 981px) {
  #top-menu > li > a,
  .et_pb_menu .et-menu > li > a {
    padding-left: 0.5em !important;
    padding-right: 0.5em !important;
  }
}

/* Phones / tablets — MUST NOT be smaller than desktop body.
   Body 21px on phones (slightly larger than desktop 20px) for older guests. */
@media (max-width: 980px) {
  body {
    font-size: 21px !important;
    line-height: 1.6 !important;
    color: #222 !important;
    font-weight: 500 !important;
  }
  body .et_pb_text_inner,
  body .et_pb_text_inner p,
  body .et_pb_text_inner li,
  body .entry-content p,
  body .entry-content li,
  body .et_pb_post_content p,
  body .et_pb_post_content li {
    font-size: 21px !important;
    line-height: 1.6 !important;
    color: #222 !important;
    font-weight: 500 !important;
  }
  #main-footer,
  #main-footer p,
  #main-footer li,
  #footer-info,
  #footer-info a {
    font-size: 21px !important;
  }
  h1, h1.et_pb_contact_main_title, .et_pb_title_container h1 {
    font-size: 38px !important; /* was 36px */
    text-transform: capitalize !important;
  }
  body.home .et_pb_section_0 .et_pb_text h1,
  body.page-id-16991 .et_pb_section_0 .et_pb_text h1,
  body.home .et_pb_section:first-of-type .et_pb_text h1,
  body.page-id-16991 .et_pb_section:first-of-type .et_pb_text h1 {
    font-size: 38px !important;
    text-transform: capitalize !important;
  }
  body.page .et_pb_section:first-of-type .et_pb_text h1 {
    font-size: 38px !important;
    text-transform: capitalize !important;
  }
  h2 { font-size: 32px !important; text-transform: capitalize !important; }
  h3 { font-size: 28px !important; text-transform: capitalize !important; }
  h4 { font-size: 26px !important; text-transform: capitalize !important; }
  .flagship-homes-heading { font-size: 36px !important; text-transform: capitalize !important; }
  body.home .et_pb_column_1_3:has(.flagship-card-video) .et_pb_text h2,
  body.page-id-16991 .et_pb_column_1_3:has(.flagship-card-video) .et_pb_text h2,
  body.page-id-18105 .et_pb_column_1_3:has(.flagship-card-video) .et_pb_text h2 {
    font-size: 26px !important;
    text-transform: capitalize !important;
  }
  body.home .et_pb_column_1_3:has(.flagship-card-video) .et_pb_text p,
  body.page-id-16991 .et_pb_column_1_3:has(.flagship-card-video) .et_pb_text p,
  body.page-id-18105 .et_pb_column_1_3 .et_pb_text p {
    font-size: 21px !important;
    color: #222 !important;
  }
  body.home .et_pb_text_9 .et_pb_text_inner > p,
  body.page-id-16991 .et_pb_text_9 .et_pb_text_inner > p,
  body.home .et_pb_bg_layout_light:not([class*="tb_header"]) .et_pb_text_inner > p,
  body.page-id-16991 .et_pb_bg_layout_light:not([class*="tb_header"]) .et_pb_text_inner > p {
    font-size: 21px !important;
    line-height: 1.6 !important;
    color: #222 !important;
  }
  /* Bare text nodes under Near Our Duluth inherit from text_inner */
  body.home .et_pb_bg_layout_light:not([class*="tb_header"]) .et_pb_text_inner,
  body.page-id-16991 .et_pb_bg_layout_light:not([class*="tb_header"]) .et_pb_text_inner {
    font-size: 21px !important;
    color: #222 !important;
  }
  .flagship-trust-row,
  .flagship-trust-strip {
    font-size: 18px !important;
    line-height: 1.4 !important;
  }
  .flagship-amenity-chips span {
    font-size: 19px !important;
    font-weight: 500 !important;
  }
  body .et_pb_button,
  body a.et_pb_button {
    font-size: 18px !important;
    white-space: nowrap;
  }
  html, body { max-width: 100%; overflow-x: hidden; }
}

/* Desktop mid width — keep nav; tighten padding so it does not wrap */
@media (min-width: 981px) and (max-width: 1440px) {
  #top-menu > li > a,
  .et_pb_menu .et-menu > li > a {
    font-size: 20px !important;
    padding-left: 0.4em !important;
    padding-right: 0.4em !important;
  }
}


/* === EXCEPTION (user): AI rendering HTML captions stay SMALL ===
   Also covers "Photo by a past guest" captions that share this class. */
body .flagship-ai-caption,
body .flagship-ai-caption em,
body .et_pb_text_inner p.flagship-ai-caption,
body .et_pb_text_inner .flagship-ai-caption,
body .et_pb_text_inner .flagship-ai-caption p,
body .et_pb_text_inner .flagship-ai-caption em,
body .et_pb_bg_layout_light .et_pb_text_inner p.flagship-ai-caption,
body .et_pb_bg_layout_light:not([class*="tb_header"]) .et_pb_text_inner p.flagship-ai-caption {
  font-size: 12px !important;
  line-height: 1.4 !important;
  color: #333 !important;
  letter-spacing: 0.01em;
  opacity: 1 !important;
  font-style: italic;
  font-weight: 400 !important;
  text-transform: none !important;
}
@media (max-width: 980px) {
  body .flagship-ai-caption,
  body .flagship-ai-caption em,
  body .et_pb_text_inner p.flagship-ai-caption,
  body .et_pb_text_inner .flagship-ai-caption,
  body .et_pb_text_inner .flagship-ai-caption p,
  body .et_pb_text_inner .flagship-ai-caption em {
    font-size: 11px !important;
  }
}

/* === ROUND 4 NOBOXES (owner Nov 9 2026: no shadow boxes; white → burgundy/cream) ===
   Layout back to pre-nowhite (no rgba backdrops, panels, or box-shadows behind text).
   Light backgrounds → burgundy #8B1516 (Our Homes, body headings on white).
   Dark blue header bar + hero photo/video → warm cream #F5EBDD (readable, no panels).
   Optional subtle text-shadow only: 0 1px 3px rgba(0,0,0,0.45) — no glow, no boxes.
   Trust strip / footer CTA keep navy backgrounds; Book Your Stay on #111 → cream.
   Dark-filled buttons KEEP white text. */

/* --- Kill redesign white/glow + remove any leftover text panels --- */
body.home .et_pb_section_0 .et_pb_text,
body.page-id-16991 .et_pb_section_0 .et_pb_text,
body.home .et_pb_section:first-of-type .et_pb_text_0,
body.page-id-16991 .et_pb_section:first-of-type .et_pb_text_0,
body.page .et-l--content .et_pb_section:first-of-type .et_pb_text,
body.page #main-content .et_pb_section:first-of-type .et_pb_text,
body.page .et_pb_section_video .et_pb_text,
body.page .et_pb_section_0:not([class*="tb_header"]) .et_pb_text,
body .et_pb_section_1_tb_header .et_pb_text,
body .et_pb_bg_layout_dark .et_pb_text {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* Home hero over bridge video/photo — cream + subtle shadow for bright sky */
body.home .et_pb_section_0 .et_pb_text h1,
body.page-id-16991 .et_pb_section_0 .et_pb_text h1,
body.home .et_pb_section:first-of-type .et_pb_text h1,
body.page-id-16991 .et_pb_section:first-of-type .et_pb_text h1,
body.home .et_pb_section_0 .et_pb_text h4,
body.home .et_pb_section_0 .et_pb_text p,
body.page-id-16991 .et_pb_section_0 .et_pb_text h4,
body.page-id-16991 .et_pb_section_0 .et_pb_text p,
body.home .et_pb_section_0 .et_pb_text_inner,
body.page-id-16991 .et_pb_section_0 .et_pb_text_inner,
body.home .et_pb_section_0 .et_pb_text_inner span,
body.page-id-16991 .et_pb_section_0 .et_pb_text_inner span {
  color: #F5EBDD !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45) !important;
  background: transparent !important;
}

/* ROUND 5 TITLEFIX (owner Nov 9 2026: cream on white title cards — restore original)
   Cream + shadow ONLY on real video/photo heroes (.et_pb_section_video).
   Do NOT paint cream on light first sections (Our Rentals cards, light title blocks).
   Light cards → original dark text (#222), headings keep Divi/brand color, NO text-shadow.
   Bedroom count spans keep their inline #0c71c3 (not forced cream). */

/* Video/photo heroes only — cream + subtle shadow (Stony, Sandy, home-style heroes) */
body.page .et_pb_section_video .et_pb_text h1,
body.page .et_pb_section_video .et_pb_text_inner,
body.page .et_pb_section_video .et_pb_text_inner span,
body.page .et_pb_section_video .et_pb_text_inner p,
body.page .et-l--content .et_pb_section_video .et_pb_text h1,
body.page .et-l--content .et_pb_section_video .et_pb_text_inner,
body.page .et-l--content .et_pb_section_video .et_pb_text_inner span,
body.page .et-l--content .et_pb_section_video .et_pb_text_inner p,
body.page #main-content .et_pb_section_video .et_pb_text h1,
body.page #main-content .et_pb_section_video .et_pb_text_inner,
body.page #main-content .et_pb_section_video .et_pb_text_inner span,
body.page #main-content .et_pb_section_video .et_pb_text_inner p {
  color: #F5EBDD !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45) !important;
  background: transparent !important;
}

/* Light page title / property cards (Our Rentals + any non-video section_0) —
   restore pre-nowhite readable text. Higher specificity than leftover cream. */
body.page-id-18105 .et_pb_section_0:not(.et_pb_section_video) .et_pb_text h1,
body.page-id-18105 .et_pb_section_0:not(.et_pb_section_video) .flagship-homes-heading,
body.page .et-l--content .et_pb_section_0:not(.et_pb_section_video):not([class*="tb_header"]) .et_pb_text h1,
body.page #main-content .et_pb_section_0:not(.et_pb_section_video):not([class*="tb_header"]) .et_pb_text h1 {
  color: #8B1516 !important; /* burgundy — matches .flagship-homes-heading / light brand */
  text-shadow: none !important;
  background: transparent !important;
}
body.page-id-18105 .et_pb_section_0:not(.et_pb_section_video) .et_pb_text h2,
body.page-id-18105 .et_pb_section_0:not(.et_pb_section_video) .et_pb_text_inner h2,
body.page .et-l--content .et_pb_section_0:not(.et_pb_section_video):not([class*="tb_header"]) .et_pb_text h2,
body.page #main-content .et_pb_section_0:not(.et_pb_section_video):not([class*="tb_header"]) .et_pb_text h2,
body.page-id-18105 .et_pb_column_1_2 .et_pb_text h2,
body.page-id-18105 .et_pb_column_1_3 .et_pb_text h2 {
  color: #222 !important; /* original dark card titles (was #444 Divi default) */
  text-shadow: none !important;
  background: transparent !important;
}
body.page-id-18105 .et_pb_section_0:not(.et_pb_section_video) .et_pb_text_inner,
body.page-id-18105 .et_pb_section_0:not(.et_pb_section_video) .et_pb_text_inner p,
body.page-id-18105 .et_pb_column_1_2 .et_pb_text_inner,
body.page-id-18105 .et_pb_column_1_2 .et_pb_text_inner p,
body.page-id-18105 .et_pb_column_1_3 .et_pb_text_inner,
body.page-id-18105 .et_pb_column_1_3 .et_pb_text_inner p,
body.page .et-l--content .et_pb_section_0:not(.et_pb_section_video):not([class*="tb_header"]) .et_pb_text_inner,
body.page .et-l--content .et_pb_section_0:not(.et_pb_section_video):not([class*="tb_header"]) .et_pb_text_inner p,
body.page #main-content .et_pb_section_0:not(.et_pb_section_video):not([class*="tb_header"]) .et_pb_text_inner,
body.page #main-content .et_pb_section_0:not(.et_pb_section_video):not([class*="tb_header"]) .et_pb_text_inner p {
  color: #222 !important;
  text-shadow: none !important;
  background: transparent !important;
}
/* Do not force color on bedroom-count spans — restore Divi inline #0c71c3 */
body.page-id-18105 .et_pb_section_0:not(.et_pb_section_video) .et_pb_text_inner span[style*="color"],
body.page-id-18105 .et_pb_column_1_2 .et_pb_text_inner span[style*="color"],
body.page-id-18105 .et_pb_column_1_3 .et_pb_text_inner span[style*="color"] {
  color: #0c71c3 !important; /* original Divi bedroom-count blue */
  text-shadow: none !important;
}

/* Winter promo blue/teal banner — cream on #0F4B66, no pills/boxes.
   Do NOT touch the section background — only clear text-module panels. */
body .et_pb_section_1_tb_header .et_pb_text,
body .et_pb_section_1_tb_header .et_pb_text_0_tb_header,
body .et_pb_section_1_tb_header .et_pb_text_1_tb_header {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  display: block !important;
}
html body .et_pb_section_1_tb_header .et_pb_text,
html body .et_pb_section_1_tb_header .et_pb_text_0_tb_header,
html body .et_pb_section_1_tb_header .et_pb_text_1_tb_header,
html body .et_pb_section_1_tb_header .et_pb_bg_layout_light,
html body .et_pb_section_1_tb_header .et_pb_bg_layout_dark,
html body .et_pb_section_1_tb_header .et_pb_bg_layout_light .et_pb_text_inner,
html body .et_pb_section_1_tb_header .et_pb_bg_layout_dark .et_pb_text_inner,
html body .et_pb_section_1_tb_header .et_pb_text_inner,
html body .et_pb_section_1_tb_header .et_pb_text_inner p,
html body .et_pb_section_1_tb_header .et_pb_text_inner span,
html body .et_pb_section_1_tb_header .et_pb_text_inner strong,
html body .et_pb_section_1_tb_header .et_pb_text_inner em,
html body .et_pb_section_1_tb_header .et_pb_text_inner sup {
  color: #F5EBDD !important;
  text-shadow: none !important;
  background: transparent !important;
  box-shadow: none !important;
}
body .et_pb_section_1_tb_header .et_pb_text_inner a,
body .et_pb_section_1_tb_header a {
  color: #F5EBDD !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
}

/* Light Theme Builder header intro (e.g. Stony "Family-owned…") — dark text, no cream */
html body .et_pb_section_0_tb_header .et_pb_text_inner,
html body .et_pb_section_0_tb_header .et_pb_text_inner p,
html body .et_pb_section_0_tb_header .et_pb_text_inner a {
  color: #222 !important;
  text-shadow: none !important;
  background: transparent !important;
}

/* Light Theme Builder header intro (e.g. Stony "Family-owned…") — dark text, no cream */
html body .et_pb_section_0_tb_header .et_pb_text_inner,
html body .et_pb_section_0_tb_header .et_pb_text_inner p,
html body .et_pb_section_0_tb_header .et_pb_text_inner a {
  color: #222 !important;
  text-shadow: none !important;
  background: transparent !important;
}

/* Reservation bar must stay dark #111 (Divi section bg #f4f4f4 otherwise wins) */
html body .et_pb_section.lg-reservation-section,
html body .et_pb_section.lg-reservation-section.et_pb_with_background,
html body .lg-reservation-section {
  background-color: #111111 !important;
  background-image: none !important;
}

/* Sticky "Book Your Stay" on #111 — cream (beats booking-bar.css white) */
html body .lg-reservation-section .et_pb_text .et_pb_text_inner,
html body .lg-reservation-section .et_pb_text_1_tb_header .et_pb_text_inner,
html body .lg-reservation-section .et_pb_text_2_tb_header .et_pb_text_inner,
html body .lg-reservation-section .et_pb_text_3_tb_header .et_pb_text_inner,
html body .lg-reservation-section .et_pb_text_inner {
  color: #F5EBDD !important;
  text-shadow: none !important;
  background: transparent !important;
}
html body .lg-reservation-section .et_pb_text_1_tb_header .et_pb_text_inner::after,
html body .lg-reservation-section .et_pb_text_2_tb_header .et_pb_text_inner::after,
html body .lg-reservation-section .et_pb_row_1_tb_header .et_pb_text .et_pb_text_inner::after,
html body .lg-reservation-section .et_pb_row_2_tb_header .et_pb_text .et_pb_text_inner::after,
html body .lg-reservation-section .et_pb_text .et_pb_text_inner::after,
html body .lg-reservation-section .et_pb_text_inner::after {
  color: #F5EBDD !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  text-shadow: none !important;
  display: block !important;
}

/* Trust strips — keep navy #0b1f3a; cream text (no light box) */
.flagship-trust-strip,
.flagship-trust-row,
body.home .flagship-trust-row,
body.page-id-16991 .flagship-trust-row {
  background: #0b1f3a !important;
  color: #F5EBDD !important;
  text-shadow: none !important;
  box-shadow: none !important;
}
.flagship-trust-strip a,
.flagship-trust-row a,
body.home .flagship-trust-row a,
body.page-id-16991 .flagship-trust-row a {
  color: #F5EBDD !important;
  text-shadow: none !important;
}
body.home .et_pb_text_1 .et_pb_text_inner,
body.page-id-16991 .et_pb_text_1 .et_pb_text_inner,
body.home .et_pb_text_1 .et_pb_text_inner p,
body.page-id-16991 .et_pb_text_1 .et_pb_text_inner p,
body.home .et_pb_section_1 .et_pb_text_inner,
body.page-id-16991 .et_pb_section_1 .et_pb_text_inner,
body.home .et_pb_section_1 .et_pb_text_inner p,
body.page-id-16991 .et_pb_section_1 .et_pb_text_inner p,
body.home .et_pb_section_1 .et_pb_text_inner span,
body.page-id-16991 .et_pb_section_1 .et_pb_text_inner span,
html body.home .flagship-trust-strip,
html body.home .flagship-trust-row,
html body.page-id-16991 .flagship-trust-strip,
html body.page-id-16991 .flagship-trust-row,
html body.home .flagship-trust-strip *,
html body.home .flagship-trust-row *,
html body.page-id-16991 .flagship-trust-strip *,
html body.page-id-16991 .flagship-trust-row * {
  color: #F5EBDD !important;
  text-shadow: none !important;
  background: transparent !important;
}

/* Blue CTA / dark-layout promo modules — cream text; do not lighten bg */
body .et_pb_cta_0,
body .et_pb_promo.et_pb_bg_layout_dark {
  color: #F5EBDD !important;
}
body .et_pb_cta_0 .et_pb_promo_description,
body .et_pb_cta_0 .et_pb_promo_description p,
body .et_pb_cta_0 h2,
body .et_pb_promo.et_pb_bg_layout_dark .et_pb_promo_description,
body .et_pb_promo.et_pb_bg_layout_dark .et_pb_promo_description p,
body .et_pb_promo.et_pb_bg_layout_dark h2,
body .et_pb_bg_layout_dark .et_pb_text_inner,
body .et_pb_bg_layout_dark .et_pb_text_inner p,
body .et_pb_bg_layout_dark .et_pb_text_inner h1,
body .et_pb_bg_layout_dark .et_pb_text_inner h2,
body .et_pb_bg_layout_dark .et_pb_text_inner h3,
body .et_pb_bg_layout_dark .et_pb_text_inner h4,
body .et_pb_bg_layout_dark .et_pb_text_inner h5,
body .et_pb_bg_layout_dark .et_pb_text_inner h6,
body .et_pb_slide_title {
  color: #F5EBDD !important;
  text-shadow: none !important;
  background: transparent !important;
}

/* Footer contact strip — keep navy; cream text (Book Direct stays white-on-red) */
.flagship-footer-cta,
.flagship-footer-cta p,
.flagship-footer-tagline {
  background: #0b1f3a !important;
  color: #F5EBDD !important;
  text-shadow: none !important;
  box-shadow: none !important;
}
.flagship-footer-cta a:not(.flagship-book-direct) {
  color: #F5EBDD !important;
}

/* "Our Minnesota Vacation Homes" / Our Homes — burgundy on light */
.flagship-homes-heading {
  color: #8B1516 !important;
  text-shadow: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* ROUND 5b — dark-section links that body #8B1516 was painting on navy/blue */
body .et_pb_cta_0 a,
body .et_pb_promo.et_pb_bg_layout_dark a,
body .et_pb_bg_layout_dark .et_pb_text_inner a,
body .et_pb_section_video .et_pb_text_inner a,
.flagship-trust-strip a,
.flagship-trust-row a,
.flagship-footer-cta a:not(.flagship-book-direct) {
  color: #F5EBDD !important;
  text-shadow: none !important;
}
/* Footer menu links on light #f4f4f4 — original teal fails AA; use darker brand red */
#main-footer a,
#footer-info a,
body .et_pb_section_0_tb_footer a,
body .et_pb_gutters3 .et_pb_section_0_tb_footer a {
  color: #8B1516 !important;
}

/* === KEEP light text on dark-filled buttons (readable by design) === */
body .et_pb_button,
body a.et_pb_button,
.et_pb_button,
body.home .et_pb_column_1_2 .et_pb_button,
body.page-id-16991 .et_pb_column_1_2 .et_pb_button,
body.page-id-18105 .et_pb_column_1_2 .et_pb_button,
body.home .et_pb_column_1_3:has(.flagship-card-video) .et_pb_button,
body.page-id-16991 .et_pb_column_1_3:has(.flagship-card-video) .et_pb_button,
body.page-id-18105 .et_pb_column_1_3:has(.flagship-card-video) .et_pb_button,
.flagship-book-direct,
.flagship-desktop-cta a.flagship-book-direct,
.flagship-footer-cta .flagship-book-direct,
.flagship-mobile-cta a.flagship-book,
.flagship-3d-tour a,
.flagship-hero-search button,
.flagship-hero-search [class*="search"],
#hostaway-booking-widget button,
#hostaway-booking-widget [class*="search"] button,
#hostaway-booking-widget input[type="submit"],
.lg-reservation-section button,
.et_pb_code_0_tb_header button,
.hsbw-main-button {
  color: #fff !important;
}

/* === BATCH-1109 CAPTIONS + BOTTOM RESERVATION BAR (2026-11-09 America/Chicago) ===
   Owner: enlarge AI/guest captions; remove on-photo overlay (done via new media);
   prominent Make a Reservation bar at bottom of every page (above footer).
   Append-only block — do not rewrite earlier rounds. */

/* Captions: 16px desktop + phone, #444, not italic grey */
body .flagship-ai-caption,
body .flagship-ai-caption em,
body .et_pb_text_inner p.flagship-ai-caption,
body .et_pb_text_inner .flagship-ai-caption,
body .et_pb_text_inner .flagship-ai-caption p,
body .et_pb_text_inner .flagship-ai-caption em,
body .et_pb_bg_layout_light .et_pb_text_inner p.flagship-ai-caption,
body .et_pb_bg_layout_light:not([class*="tb_header"]) .et_pb_text_inner p.flagship-ai-caption {
  font-size: 16px !important;
  line-height: 1.45 !important;
  color: #444444 !important;
  letter-spacing: 0.01em;
  opacity: 1 !important;
  font-style: normal !important;
  font-weight: 500 !important;
  text-transform: none !important;
}
@media (max-width: 980px) {
  body .flagship-ai-caption,
  body .flagship-ai-caption em,
  body .et_pb_text_inner p.flagship-ai-caption,
  body .et_pb_text_inner .flagship-ai-caption,
  body .et_pb_text_inner .flagship-ai-caption p,
  body .et_pb_text_inner .flagship-ai-caption em {
    font-size: 16px !important;
  }
}

/* Bottom Make a Reservation bar — sitewide via wp_footer chrome */
.flagship-bottom-reservation {
  background: #111111 !important;
  color: #F5EBDD !important;
  text-align: center;
  padding: 28px 16px 32px !important;
  margin: 0 !important;
  box-shadow: none !important;
}
.flagship-bottom-reservation h2,
.flagship-bottom-reservation .flagship-bottom-reservation-title {
  margin: 0 0 10px !important;
  padding: 0 !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: #F5EBDD !important;
  text-shadow: none !important;
  background: transparent !important;
  box-shadow: none !important;
}
.flagship-bottom-reservation p {
  margin: 0 0 16px !important;
  color: #F5EBDD !important;
  font-size: 16px !important;
  background: transparent !important;
  box-shadow: none !important;
}
.flagship-bottom-reservation .flagship-make-reservation {
  display: inline-block !important;
  background: #A91E1F !important;
  color: #ffffff !important;
  padding: 14px 28px !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border-radius: 3px !important;
  border: none !important;
  box-shadow: none !important;
}
.flagship-bottom-reservation .flagship-make-reservation:hover,
.flagship-bottom-reservation .flagship-make-reservation:focus {
  color: #ffffff !important;
  opacity: 0.95;
}
@media (max-width: 980px) {
  .flagship-bottom-reservation .flagship-bottom-reservation-title {
    font-size: 20px !important;
  }
  .flagship-bottom-reservation .flagship-make-reservation {
    width: 100%;
    max-width: 420px;
    box-sizing: border-box;
    font-size: 18px !important;
    padding: 16px 24px !important;
  }
}


/* === BATCH-1109 feature grid 2x2 mobile (same batch) === */
@media (max-width: 767px) {
  .flagship-winter-feature-grid {
    grid-template-columns: 1fr !important;
  }
}


/* === AURORA-FEATURE: uncrop winter grid + center AI captions (2026-11-09 America/Chicago) ===
   Owner: keep original photo aspect ratios (no 220px object-fit crop); center
   ".flagship-ai-caption" under photos sitewide; descriptions stay left-aligned. */
body .flagship-ai-caption,
body .flagship-ai-caption em,
body .et_pb_text_inner p.flagship-ai-caption,
body .et_pb_text_inner .flagship-ai-caption,
body .et_pb_text_inner .flagship-ai-caption p,
body .et_pb_text_inner .flagship-ai-caption em,
body .et_pb_bg_layout_light .et_pb_text_inner p.flagship-ai-caption,
body .et_pb_bg_layout_light:not([class*="tb_header"]) .et_pb_text_inner p.flagship-ai-caption {
  text-align: center !important;
}
.flagship-winter-feature-grid img {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  display: block;
}
.flagship-winter-feature-grid > div > div[style*="height:220px"] {
  height: auto !important;
  overflow: visible !important;
  background: transparent !important;
}

/* === WHITE-BUTTONS (2026-11-09 America/Chicago) ===
   Owner (Bill): navy "Take the 3D tour" showed burgundy text — unreadable.
   Cause: body .entry-content a { color:#8B1516 !important } (0,1,2) beats
   .flagship-3d-tour a { color:#fff !important } (0,1,1) from Round 4 KEEP.
   Rule: white/near-white on DARK fills (navy buttons, blue bar, video hero,
   #111 reservation bars); keep burgundy #8B1516 on light backgrounds only.
   No boxes, shadows, or glows. Append-only; do not rewrite earlier rounds. */

/* 3D tour CTA — beat body .entry-content a burgundy on navy #0b1f3a */
html body .entry-content .flagship-3d-tour a,
html body .entry-content .et_pb_code_inner .flagship-3d-tour a,
html body .et_pb_code_inner .flagship-3d-tour a,
html body .flagship-3d-tour a,
html body .entry-content .flagship-3d-tour a:link,
html body .entry-content .flagship-3d-tour a:visited,
html body .entry-content .flagship-3d-tour a:hover,
html body .entry-content .flagship-3d-tour a:focus,
html body .entry-content .flagship-3d-tour a:active,
html body .et_pb_code_inner .flagship-3d-tour a:link,
html body .et_pb_code_inner .flagship-3d-tour a:visited,
html body .et_pb_code_inner .flagship-3d-tour a:hover,
html body .et_pb_code_inner .flagship-3d-tour a:focus,
html body .et_pb_code_inner .flagship-3d-tour a:active {
  color: #ffffff !important;
  text-shadow: none !important;
}

/* Dark-filled site CTAs + Divi buttons — beat entry-content / text_inner link burgundy */
html body .entry-content a.et_pb_button,
html body .entry-content a.et_pb_button:link,
html body .entry-content a.et_pb_button:visited,
html body .entry-content a.et_pb_button:hover,
html body .entry-content a.et_pb_button:focus,
html body .entry-content a.et_pb_button:active,
html body a.et_pb_button,
html body a.et_pb_button:link,
html body a.et_pb_button:visited,
html body a.et_pb_button:hover,
html body a.et_pb_button:focus,
html body a.et_pb_button:active,
html body .flagship-book-direct,
html body .flagship-book-direct:link,
html body .flagship-book-direct:visited,
html body .flagship-book-direct:hover,
html body .flagship-book-direct:focus,
html body .flagship-desktop-cta a.flagship-book-direct,
html body .flagship-footer-cta .flagship-book-direct,
html body .flagship-mobile-cta a.flagship-book,
html body .flagship-mobile-cta a.flagship-book:link,
html body .flagship-mobile-cta a.flagship-book:visited,
html body .flagship-mobile-cta a.flagship-book:hover,
html body .flagship-bottom-reservation .flagship-make-reservation,
html body .flagship-bottom-reservation .flagship-make-reservation:link,
html body .flagship-bottom-reservation .flagship-make-reservation:visited,
html body .flagship-bottom-reservation .flagship-make-reservation:hover,
html body .flagship-bottom-reservation .flagship-make-reservation:focus,
html body .flagship-hero-search button,
html body #hostaway-booking-widget button,
html body #hostaway-booking-widget [class*="search"] button,
html body #hostaway-booking-widget input[type="submit"],
html body .lg-reservation-section button,
html body .et_pb_code_0_tb_header button,
html body .hsbw-main-button {
  color: #ffffff !important;
  text-shadow: none !important;
}

/* Dark sections / navy bars — cream text & links (do not touch light burgundy) */
html body .et_pb_bg_layout_dark a,
html body .et_pb_bg_layout_dark a:link,
html body .et_pb_bg_layout_dark a:visited,
html body .et_pb_bg_layout_dark a:hover,
html body .et_pb_section_video .et_pb_text_inner a,
html body .et_pb_section_1_tb_header a,
html body .et_pb_section_1_tb_header .et_pb_text_inner a,
html body .lg-reservation-section a,
html body .lg-reservation-section .et_pb_text_inner a,
html body .flagship-trust-strip a,
html body .flagship-trust-row a,
html body .flagship-footer-cta a:not(.flagship-book-direct),
html body .flagship-bottom-reservation a {
  color: #F5EBDD !important;
  text-shadow: none !important;
}

/* Hero video framing (2026-11-09): show less sky on house-page hero videos.
   Divi top-aligns the cover-sized video; anchor it lower instead.
   Home (bridge) and Woodbury (top-down drone) intentionally unchanged. */
html body:not(.home):not(.page-id-17037):not(.page-id-17028) .et_pb_section_0.et_pb_section_video .et_pb_section_video_bg .mejs-container {
  top: 90% !important;
  transform: translateY(-90%) !important;
}
html body.page-id-17028 .et_pb_section_0.et_pb_section_video .et_pb_section_video_bg .mejs-container {
  top: 80% !important;
  transform: translateY(-80%) !important;
}

/* Hero video tint (2026-11-09, approved by owner at 35%) — uniform dark tint over the whole
   hero video layer on the five house pages (not a box behind the text).
   Sits inside the video background layer, so the title/subtitle stay above it, unchanged.
   Home (16991) and Woodbury (17037) excluded, as with the framing rule. */
html body:not(.home):not(.page-id-17037) .et_pb_section_0.et_pb_section_video .et_pb_section_video_bg::after {
  content: "";
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  background: rgba(0, 0, 0, 0.35);
  pointer-events: none;
  z-index: 1;
}

