/* ===== BOL Single Templates (Places) — Clean Build ===== */
/* Container + width safety */
body.single-places .bol-app,
body.single-places .bol-app__inner,
body.single-places .bol-single,
body.single-places .bol-content {
  max-width: 1300px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
}
body.single-places .bol-content, 
body.single-places .bol-content * { max-width: 100%; box-sizing: border-box; }
body.single-places { overflow-x: hidden; }

/* Headings/paragraphs never push viewport wider */
body.single-places .bol-content h1,
body.single-places .bol-content h2,
body.single-places .bol-content h3,
body.single-places .bol-content h4,
body.single-places .bol-content p {
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* Base single-column layout */
body.single-places .bol-grid { display: grid; grid-template-columns: 1fr; }
body.single-places .bol-main { grid-column: 1 / -1; }
body.single-places .bol-aside { display: none; 
}

/* Breadcrumb spacing */
body.single-places .bol-breadcrumbs { margin: 12px 0 18px; }

/* Images sane by default */
body.single-places .bol-content img,
body.single-places .bol-content figure,
body.single-places .bol-content .wp-block-image {
  float: none !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  border: 0;
}

/* Block alignments never overflow */
body.single-places .alignwide,
body.single-places .alignfull,
body.single-places .wp-block-group,
body.single-places .wp-block-embed {
  max-width: 100% !important;
}

/* --------------------------------------------
   MOBILE UX — Local Lakes & Local Species rails
   -------------------------------------------- */
@media (max-width: 767.98px) {
  /* Turn each into a horizontal snap-rail with 1-finger swipe */
  body.single-places .cb-related.cb-related--lakes,
  body.single-places .cb-related.cb-related--species {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
 /* touch-action: pan-x !important; */
    overscroll-behavior-x: contain !important;
    padding-bottom: 4px;
  }
  /* If shortcode outputs a UL wrapper, flatten it so LI act as items */
  body.single-places .cb-related.cb-related--lakes > ul,
  body.single-places .cb-related.cb-related--species > ul { display: contents !important; }

  /* Cell sizing (show ~1 card with slight peek) */
  body.single-places .cb-related.cb-related--lakes > *,
  body.single-places .cb-related.cb-related--lakes > ul > *,
  body.single-places .cb-related.cb-related--species > *,
  body.single-places .cb-related.cb-related--species > ul > * {
    flex: 0 0 86% !important;
    max-width: 86% !important;
    scroll-snap-align: start !important;
    float: none !important;
  }
}

/* ------------------------------------------------------
   Right-edge overflow guards (Reviews slider, Form, About)
   ------------------------------------------------------ */
body.single-places .bol-content [class*="review"],
body.single-places .bol-content [class*="Review"],
body.single-places .bol-content .wp-block-group,
body.single-places .bol-content .wp-block-embed {
  max-width: 100% !important;
  overflow: hidden;
}