/* Flagship Rentals: site fixes from the Nov 13, 2026 review (approved by Bill).
   One file for these fixes so they are easy to find or undo.
   Note: lives in the Divi theme folder; a Divi update would overwrite it. */

/* 2. Direct-booking offer line in Cost & booking (house pages) and Our Rentals intro */
.fr-offer-line {
  background: #eef6f8;
  border-left: 4px solid #0f4b66;
  padding: 10px 14px !important;
  margin: 0 0 14px !important;
  color: #0f4b66;
  line-height: 1.45;
}
.fr-offer-line strong { color: #0f4b66; }
.page-id-18105 .fr-offer-line {
  max-width: 760px;
  margin: 10px auto 4px !important;
  text-align: center;
  border-left: 0;
  border-radius: 6px;
}

/* 3. Lake Phalen: remove the blank space under the video on tablets and phones */
@media (max-width: 980px) {
  .page-id-17041 .et_pb_video_0 { min-height: 0 !important; }
}

/* 4. House pages: one booking button at the bottom (Book Your Stay).
   Hide the repeat footer band and the footer "Book Direct" link there. */
.page-id-17041 .flagship-bottom-reservation,
.page-id-17037 .flagship-bottom-reservation,
.page-id-17050 .flagship-bottom-reservation,
.page-id-16838 .flagship-bottom-reservation,
.page-id-16873 .flagship-bottom-reservation,
.page-id-17028 .flagship-bottom-reservation,
.page-id-17041 .flagship-footer-cta .flagship-book-direct,
.page-id-17037 .flagship-footer-cta .flagship-book-direct,
.page-id-17050 .flagship-footer-cta .flagship-book-direct,
.page-id-16838 .flagship-footer-cta .flagship-book-direct,
.page-id-16873 .flagship-footer-cta .flagship-book-direct,
.page-id-17028 .flagship-footer-cta .flagship-book-direct {
  display: none !important;
}

/* 6. Rewards sign-up form on phones: full-width fields, big Submit button */
@media (max-width: 767px) {
  .page-id-5796 .nf-form-cont .nf-field-container { margin-bottom: 14px !important; }
  .page-id-5796 .nf-form-cont .nf-field-container .nf-field-label,
  .page-id-5796 .nf-form-cont .nf-field-container .nf-field-element {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }
  .page-id-5796 .nf-form-cont .field-wrap { display: block !important; }
  .page-id-5796 .nf-form-cont .nf-field-label label {
    display: block !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    margin: 0 0 6px !important;
  }
  .page-id-5796 .nf-form-cont input.ninja-forms-field:not([type=button]):not([type=submit]):not([type=checkbox]):not([type=radio]),
  .page-id-5796 .nf-form-cont select.ninja-forms-field,
  .page-id-5796 .nf-form-cont textarea.ninja-forms-field {
    width: 100% !important;
    min-height: 48px !important;
    font-size: 16px !important;
    padding: 10px 12px !important;
    border: 1px solid #9aa5ad !important;
    border-radius: 6px !important;
    background: #fff !important;
    box-sizing: border-box !important;
  }
  .page-id-5796 .nf-form-cont .submit-container .nf-field-element,
  .page-id-5796 .nf-form-cont .submit-wrap { width: 100% !important; }
  .page-id-5796 .nf-form-cont input[type=button],
  .page-id-5796 .nf-form-cont input[type=submit],
  .page-id-5796 .nf-form-cont button[type=submit] {
    display: block !important;
    width: 100% !important;
    min-height: 52px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #fff !important;
    background: #0f4b66 !important;
    border: 0 !important;
    border-radius: 6px !important;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
  }
}

/* Bill 9:35 AM: center the Cost & booking heading (body text stays left) */
.fr-cost h3,
.fr-cost .et_pb_text_inner h3 { text-align: center !important; }
.fr-cost p { text-align: left; }

/* 7. Phone menu: keep the nested area groups (Twin Cities, Duluth & North Shore) inside the menu box */
@media (max-width: 980px) {
  .et-l--header .et_mobile_menu ul.sub-menu,
  .et-l--header .et_mobile_menu ul.sub-menu ul.sub-menu {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    left: auto !important;
    box-sizing: border-box !important;
    padding-left: 0 !important;
    margin: 0 !important;
  }
  .et-l--header .et_mobile_menu li li { padding-left: 14px !important; box-sizing: border-box; }
}

/* 6b. Rewards: larger text-consent checkbox on phones */
@media (max-width: 767px) {
  .page-id-5796 .nf-form-cont input[type=checkbox] { width: 24px !important; height: 24px !important; }
}

/* Phase 2e. Desktop house pages: easier-to-read text width (~70 characters a line) */
@media (min-width: 981px) {
  .page-id-17041 .fr-writeup .et_pb_text_inner,
  .page-id-17037 .fr-writeup .et_pb_text_inner,
  .page-id-17050 .fr-writeup .et_pb_text_inner,
  .page-id-16838 .fr-writeup .et_pb_text_inner,
  .page-id-16873 .fr-writeup .et_pb_text_inner,
  .page-id-17028 .fr-writeup .et_pb_text_inner {
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
  }
  .page-id-17041 .fr-cost, .page-id-17037 .fr-cost, .page-id-17050 .fr-cost,
  .page-id-16838 .fr-cost, .page-id-16873 .fr-cost, .page-id-17028 .fr-cost {
    max-width: 720px;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Bill 9:54 AM: one shared "When you book direct" promo row on every page that has the offer.
   Desktop: equal cards side by side. Phones: swipe row, ~85% cards, next card peeks. */
.fr-direct { max-width: 1080px; margin: 8px auto 20px; }
body .entry-content .fr-direct .fr-direct-title,
.fr-direct .fr-direct-title {
  text-align: center !important;
  font-size: 28px !important;
  text-transform: none !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
}
.fr-direct-row {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  grid-auto-rows: 1fr;
  gap: 16px !important;
  align-items: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
}
.fr-direct-row > .fr-direct-card {
  background: #fff !important;
  border: 1px solid #e3e6ea !important;
  border-radius: 10px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
  padding: 18px 20px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  height: 100%;
  text-align: left;
}
.fr-direct-card h3,
.fr-direct-card h4 {
  font-size: 21px !important;
  line-height: 1.25 !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: #0f4b66 !important;
  text-transform: none !important;
  text-align: left !important;
}
.fr-direct-card p { margin: 0 !important; padding: 0 !important; line-height: 1.45; }
.fr-direct-card .fr-ic { display: inline-block; margin-bottom: 6px; }
@media (max-width: 767px) {
  .fr-direct { margin: 4px 0 16px; }
  body .entry-content .fr-direct .fr-direct-title, .fr-direct .fr-direct-title { font-size: 24px !important; }
  .fr-direct-row {
    display: flex !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 12px !important;
    padding: 2px 2px 10px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    grid-template-columns: none !important;
  }
  .fr-direct-row > .fr-direct-card {
    flex: 0 0 85% !important;
    max-width: 85% !important;
    scroll-snap-align: start;
    height: auto;
  }
}


/* ===== Phase 2a (2026-11-13): search bar on the first screen ===== */
@media (min-width: 768px) {
  body:not(.home):not(.page-id-16991) .et-l--header .et_pb_section_0_tb_header .et_pb_text_0_tb_header { display: none !important; }
  body:not(.home):not(.page-id-16991) .et-l--header .et_pb_row_0_tb_header { padding-top: 8px !important; padding-bottom: 8px !important; }
}
@media (max-width: 767px) {
  body:not(.home):not(.page-id-16991) .et-l--header .et_pb_menu__logo img { max-height: 44px !important; }
  body:not(.home):not(.page-id-16991) .et-l--header .et_pb_section_0_tb_header::after { content: none !important; display: none !important; padding: 0 !important; }
  body:not(.home):not(.page-id-16991) .et-l--header .et_pb_row_0_tb_header { padding-top: 4px !important; padding-bottom: 4px !important; }
  /* House heroes: house name only; tagline hidden; facts line smaller. */
body.page-id-17041 #main-content .et_pb_section_0,
body.page-id-17037 #main-content .et_pb_section_0,
body.page-id-17050 #main-content .et_pb_section_0,
body.page-id-16838 #main-content .et_pb_section_0,
body.page-id-16873 #main-content .et_pb_section_0,
body.page-id-17028 #main-content .et_pb_section_0 { padding-top: 16px !important; padding-bottom: 16px !important; }
body.page-id-17041 #main-content .et_pb_section_0 .et_pb_row_0,
body.page-id-17037 #main-content .et_pb_section_0 .et_pb_row_0,
body.page-id-17050 #main-content .et_pb_section_0 .et_pb_row_0,
body.page-id-16838 #main-content .et_pb_section_0 .et_pb_row_0,
body.page-id-16873 #main-content .et_pb_section_0 .et_pb_row_0,
body.page-id-17028 #main-content .et_pb_section_0 .et_pb_row_0 { padding-top: 8px !important; padding-bottom: 8px !important; }
body.page-id-17041 #main-content .et_pb_section_0 h1,
body.page-id-17037 #main-content .et_pb_section_0 h1,
body.page-id-17050 #main-content .et_pb_section_0 h1,
body.page-id-16838 #main-content .et_pb_section_0 h1,
body.page-id-16873 #main-content .et_pb_section_0 h1,
body.page-id-17028 #main-content .et_pb_section_0 h1 { font-size: 30px !important; line-height: 1.2 !important; padding-bottom: 0 !important; }
  .fr-h1-tag { display: none; }
  .fr-h1-sub { display: block; font-size: 17px !important; line-height: 1.35 !important; margin-top: 6px; }
body.page-id-17041 #main-content .fr-hero-search-mod,
body.page-id-17037 #main-content .fr-hero-search-mod,
body.page-id-17050 #main-content .fr-hero-search-mod,
body.page-id-16838 #main-content .fr-hero-search-mod,
body.page-id-16873 #main-content .fr-hero-search-mod,
body.page-id-17028 #main-content .fr-hero-search-mod { padding-bottom: 12px !important; }
  /* Home: smaller logo and hero text. */
  body.page-id-16991 .et-l--header .et_pb_menu__logo img { max-height: 84px !important; width: auto !important; }
  body.page-id-16991 .et-l--header .et_pb_row_0_tb_header { padding-top: 10px !important; padding-bottom: 6px !important; }
  body.page-id-16991 #main-content .et_pb_section_0 { padding-top: 20px !important; padding-bottom: 24px !important; }
  body.page-id-16991 #main-content .et_pb_section_0 .et_pb_row_0 { padding-top: 8px !important; padding-bottom: 8px !important; }
  body.page-id-16991 #main-content .et_pb_section_0 h1 { font-size: 30px !important; line-height: 1.2 !important; padding-bottom: 6px !important; }
  body.page-id-16991 #main-content .et_pb_section_0 h4 { font-size: 19px !important; line-height: 1.3 !important; }
  body.page-id-16991 #main-content .et_pb_section_0 .fr-stars { font-size: 16px !important; line-height: 1.35 !important; }
  /* Phase 2b: phones show the section background photo, not the video. */
  .et_pb_section_video_bg.fr-video-off { display: none !important; }
  .et_pb_section.et_pb_preload:has(> .fr-video-off) { background-color: transparent; }
  .et_pb_preload:has(> .fr-video-off) > div { visibility: visible !important; }
  .et_pb_preload:has(> .fr-video-off)::before { display: none !important; }
}

/* ===== Phase 2c (2026-11-13): House Rules fold + photo swipe rows ===== */
details.fr-rules > summary { list-style: none; position: relative; }
details.fr-rules > summary::-webkit-details-marker { display: none; }
@media (min-width: 768px) {
  details.fr-rules > summary { pointer-events: none; }
}
@media (max-width: 767px) {
  details.fr-rules { border: 1px solid #e3e6ea; border-radius: 10px; padding: 12px 16px; margin: 0 0 18px; background: #fff; }
  details.fr-rules > summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; justify-content: center; }
  details.fr-rules > summary h3 { margin: 0 !important; padding: 0 30px !important; }
  details.fr-rules > summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-size: 28px; line-height: 1; color: #0f4b66; }
  details.fr-rules[open] > summary::after { content: "\2013"; }
  details.fr-rules > ul { margin-top: 12px; }
}
.fr-aurora-phone { display: none !important; }
@media (max-width: 767px) {
  body.page-id-16873 .fr-aurora-desk { display: none !important; }
  body.page-id-16873 .fr-aurora-phone { display: block !important; }
  .fr-swipe,
  body.page-id-16873 .flagship-winter-photos-equal { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; gap: 12px !important; padding-bottom: 6px !important; }
  .fr-swipe > .fr-swipe-cell,
  body.page-id-16873 .flagship-winter-photos-equal > div { flex: 0 0 85%; max-width: 85% !important; scroll-snap-align: start; }
  .fr-swipe-cell { aspect-ratio: 4 / 3; overflow: hidden; background: #ddd; }
  .fr-swipe-cell img { width: 100%; height: 100%; object-fit: cover; display: block; }
}

/* ===== Menus (2026-11-13, 10:40 request) ===== */
/* Desktop dropdowns always sit on top of the page and header bands below. */
.et-l--header .et_pb_section_0_tb_header { position: relative; z-index: 100000 !important; overflow: visible !important; }
.et-l--header .et_pb_section_0_tb_header .et_pb_row,
.et-l--header .et_pb_section_0_tb_header .et_pb_column,
.et-l--header .et_pb_menu_0_tb_header,
.et-l--header .et_pb_menu_0_tb_header .et_pb_menu_inner_container { overflow: visible !important; }
.et-l--header .et_pb_menu_0_tb_header { z-index: 100001 !important; }
.et-l--header .et-menu .sub-menu { z-index: 100002 !important; }
.et-l--header .et_pb_section_1_tb_header,
.et-l--header .lg-reservation-section { z-index: 1 !important; }

/* Desktop: small HOME label under the center logo on hover or keyboard focus (no layout shift). */
@media (min-width: 981px) {
  .et-l--header .et_pb_menu__logo-wrap .et_pb_menu__logo a { position: relative; display: inline-block; }
  .et-l--header .et_pb_menu__logo-wrap .et_pb_menu__logo a::after {
    content: "Home";
    position: absolute; left: 50%; top: 100%;
    transform: translate(-50%, 2px);
    font-family: "Alegreya Sans", Helvetica, Arial, Lucida, sans-serif;
    font-size: 15px; font-weight: 500; line-height: 1; letter-spacing: 0.04em;
    text-transform: uppercase; color: #000; white-space: nowrap;
    opacity: 0; pointer-events: none; transition: opacity .15s ease;
  }
  .et-l--header .et_pb_menu__logo-wrap .et_pb_menu__logo a:hover::after,
  .et-l--header .et_pb_menu__logo-wrap .et_pb_menu__logo a:focus-visible::after { opacity: 1; }
}
@media (max-width: 980px) {
  .et-l--header .et_pb_menu_0_tb_header { width: 100% !important; max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
  .et-l--header .et_mobile_menu { left: 0 !important; right: 0 !important; width: auto !important; box-sizing: border-box !important; }
  .et-l--header .et_mobile_menu li ul.sub-menu,
  .et-l--header .et_mobile_menu li li ul.sub-menu { width: auto !important; min-width: 0 !important; }
  .et-l--header .et_mobile_menu li li { width: auto !important; min-width: 0 !important; }
  .et-l--header .et_mobile_menu li a { box-sizing: border-box !important; width: auto !important; min-width: 0 !important; white-space: normal; }
}

/* Phone header: logo and menu icons centered; desktop logo label not clipped. */
@media (max-width: 980px) {
  .et-l--header .et_pb_menu_0_tb_header .et_pb_menu__logo-wrap { width: 100% !important; max-width: 100% !important; justify-content: center !important; align-items: center !important; margin-left: auto !important; margin-right: auto !important; }
  .et-l--header .et_pb_menu_0_tb_header .et_pb_menu__wrap { justify-content: center !important; }
}
@media (min-width: 981px) {
  .et-l--header .et_pb_menu__logo-wrap, .et-l--header .et_pb_menu__logo-wrap .et_pb_menu__logo { overflow: visible !important; }
}

/* Bill 1:48 PM: house pages keep ONE review in "What guests say": single card, centered */
.fr-reviews-scroller.fr-reviews-single { display: block !important; overflow: visible !important; }
.fr-reviews-scroller.fr-reviews-single > .fr-review-card {
  max-width: 680px !important; width: auto !important; margin: 0 auto !important; height: auto !important;
}
@media (max-width: 980px) {
  .fr-reviews-scroller.fr-reviews-single > .fr-review-card { flex: none !important; width: 100% !important; max-width: 100% !important; }
}

/* Bill 9:23 AM (e) + 1:49 PM: bigger desktop photo carousel, equal-size photos; floor plan is the last slide */
@media (min-width: 981px) {
  body.page-id-17041 .ba_image_carousel, body.page-id-17037 .ba_image_carousel, body.page-id-17050 .ba_image_carousel,
  body.page-id-16838 .ba_image_carousel, body.page-id-16873 .ba_image_carousel, body.page-id-17028 .ba_image_carousel {
    max-height: none !important;
    width: min(1200px, calc(100vw - 64px)) !important;
    max-width: none !important;
    position: relative; left: 50%; transform: translateX(-50%);
  }
}
body.page-id-17041 .ba_image_carousel .dtq-figure img, body.page-id-17037 .ba_image_carousel .dtq-figure img,
body.page-id-17050 .ba_image_carousel .dtq-figure img, body.page-id-16838 .ba_image_carousel .dtq-figure img,
body.page-id-16873 .ba_image_carousel .dtq-figure img, body.page-id-17028 .ba_image_carousel .dtq-figure img {
  width: 100% !important; height: auto !important; aspect-ratio: 3 / 2; object-fit: cover; display: block;
}
.ba_image_carousel .fr-floorplan-slide .dtq-figure img,
.ba_image_carousel .dtq-figure img[alt*="floor plan"] { object-fit: contain !important; background: #fff; }

/* Bill 1:51 PM: larger, easy-to-read "At a glance" strip (4 columns desktop, 2 on phones) */
.fr-glance-grid { gap: 18px 18px !important; grid-auto-rows: 1fr !important; }
.fr-glance-item { padding: 12px 8px 14px !important; }
.fr-glance-item .fr-ic { flex: 0 0 40px !important; width: 40px !important; height: 40px !important; margin: 0 0 10px !important; }
.fr-glance-item svg { width: 32px !important; height: 32px !important; }
body .entry-content .fr-glance-item strong, .fr-glance-item strong {
  font-size: 18px !important; line-height: 1.35 !important; overflow-wrap: break-word !important; hyphens: none;
}
@media (max-width: 980px) {
  .fr-glance-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px 12px !important; }
  body .entry-content .fr-glance-item strong, .fr-glance-item strong { font-size: 16px !important; }
}

/* Bill 2:27/2:28 PM: house-page Features fold on PHONES ONLY, like House Rules (closed on phones by flagship_house_rules_fold JS).
   Tablet/desktop (768px+): a normal open list with no boxes or toggles. */
details.fr-fold > summary { list-style: none; position: relative; }
details.fr-fold > summary::-webkit-details-marker { display: none; }
@media (min-width: 768px) {
  .fr-fold-group { margin: 0 0 23px; }
  .fr-fold-group details.fr-fold { border: 0; padding: 0; margin: 0; background: none; }
  .fr-fold-group details.fr-fold > summary { display: none !important; }
  .fr-writeup .fr-fold-group details.fr-fold > ul { margin: 0 !important; padding-bottom: 0 !important; }
  .fr-writeup .fr-fold-cols { columns: 2; column-gap: 40px; }
  .fr-writeup .fr-fold-cols li { break-inside: avoid; }
}
@media (max-width: 767px) {
  details.fr-fold { border: 1px solid #e3e6ea; border-radius: 10px; padding: 12px 16px; margin: 0 0 12px; background: #fff; }
  details.fr-fold > summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; justify-content: center; }
  details.fr-fold > summary h4 { margin: 0 !important; padding: 0 30px !important; font-size: 21px !important; text-align: center; }
  details.fr-fold > summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-size: 28px; line-height: 1; color: #0f4b66; }
  details.fr-fold[open] > summary::after { content: "\2013"; }
  details.fr-fold > summary:focus-visible { outline: 2px solid #0f4b66; outline-offset: 4px; border-radius: 6px; }
  .fr-writeup details.fr-fold > ul { margin: 12px 0 4px !important; padding-bottom: 0 !important; }
  .fr-fold-group { margin: 0 0 18px; }
}

/* Nov 13 4:17 PM (Bill): heading levels fixed for SEO; these keep each heading looking exactly as before. */
.et_pb_text h3.fr-h-video{font-size:26px!important;line-height:36.4px!important}
.et_pb_text h2.fr-h-tagline-home{font-size:28px!important;line-height:39.2px!important;text-shadow:0 1px 3px rgba(0,0,0,.45)!important}
@media (max-width:767px){.et_pb_text h2.fr-h-tagline-home{font-size:19px!important;line-height:24.7px!important}}
.et_pb_text h2.fr-h-tagline-off{font-size:26px!important;line-height:33.8px!important;padding-bottom:0!important;text-shadow:0 1px 6px rgba(0,0,0,.9),0 2px 20px rgba(0,0,0,.75)!important}
@media (max-width:980px){.et_pb_text h2.fr-h-tagline-off{font-size:20px!important;line-height:26px!important}}
@media (max-width:767px){.et_pb_text h2.fr-h-tagline-off{font-size:17px!important;line-height:22.1px!important}}
h2.fr-direct-title{color:#444!important}
/* Carousel photos waiting to load keep the 3:2 photo shape so nothing jumps. */
.ba_image_carousel img[data-fr-src]{aspect-ratio:3/2;object-fit:cover;width:100%}
