/* Hello World Shortcode + Editor styles
   This file is enqueued on the front-end.
   Add your CSS rules below. */

/* Example:
.hwse-hello {
    padding: 1rem;
}

/* BOOTSTRAP */

.matt_fix {
	margin: -24px 0 0 0;
}

:root {
  --bh-green: #17382E;
  --bh-navy: #1F2A38;
  --bh-charcoal: #232323;

  --bh-stone: #EFECE6;
  --bh-beige: #D8D2C6;
  --bh-wood: #A89F90;

  --bh-copper: #B87333;
  --bh-sage: #7E9C8B;
  --bh-sky: #C9D3D8;
}


/* ========================================
   BH Typography System
======================================== */

.bh-pages {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  line-height: 1.7;
  background: var(--bh-stone);
  color: var(--bh-charcoal);
}

/* H1 – Hero / Major Titles */
.bh-pages section h1 {
  font-family: 'Playfair Display', serif;
  font-weight: 600;
  font-size: 38px;
  line-height: 1.2;
}

/* H2 – Section Titles */
.bh-pages section h2 {
  font-family: 'Playfair Display', serif;
  font-weight: 600;
  font-size: 28px;
  line-height: 1.3;
  margin-bottom: 20px;
}

/* H3 – Sub Sections */
.bh-pages section h3 {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 20px;
  margin-bottom: 15px;
}

/* H4 – Minor Headings */
.bh-pages section h4 {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 17px;
  margin-bottom: 10px;
}

/* Paragraphs */
.bh-pages section p {
  margin-bottom: 18px;
}

/* Responsive Adjustments */
@media (max-width: 900px) {
  .bh-pages section h1 {
    font-size: 28px;
  }

  .bh-pages section h2 {
    font-size: 22px;
  }

  .bh-pages section h3 {
    font-size: 18px;
  }
}

/* Container */
.bh-container {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}

.bh-lake-title,
.bh-lake-subtitle {
  color: #ffffff;
}

/* HERO TITLE – global */
.bh-lake-title {
  font-family: 'Playfair Display', serif;
  font-weight: 600;
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1.15;
  margin: 0 0 15px 0;

  color: #fff;
  text-shadow: 0 2px 10px rgba(0,0,0,0.25);

  opacity: 0;
  transform: translateX(40px);
  animation: bhSlideInRight 0.8s ease forwards;
}

/* HERO SUBTITLE – global */
.bh-lake-subtitle {
  font-family: 'Inter', sans-serif;
  font-size: clamp(16px, 1.8vw, 20px);
  color: #fff;

  opacity: 0;
  transform: translateX(40px);
  animation: bhSlideInRight 0.8s ease forwards;
  animation-delay: 0.2s;
}

/* ========================================
   BH Link Styling
======================================== */

.bh-pages a {
  color: var(--bh-green);
  text-decoration: none;
  position: relative;
  transition: color 0.25s ease;
}

/* Subtle underline effect
.bh-pages a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 100%;
  height: 1px;
  background: var(--bh-green);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.25s ease;
}*/

.bh-pages a:hover {
  color: var(--bh-navy);
}

.bh-pages a:hover::after {
  transform: scaleX(1);
}

/* Links inside dark sections */
.bh-lake-hero a,
.bh-lake-cta a,
.bh-lake-parallax a {
  color: #ffffff;
}

.bh-lake-hero a::after,
.bh-lake-cta a::after,
.bh-lake-parallax a::after {
  background: #ffffff;
}

.bh-lake-hero a:hover,
.bh-lake-cta a:hover,
.bh-lake-parallax a:hover {
  color: var(--bh-beige);
}

.bh-button::after {
  display: none;
}

/* ========================================
   BH Content Link Styling (Excludes Buttons)
======================================== */

/*.bh-pages a:not(.bh-button) {
  color: var(--bh-green);
  text-decoration: none;
  position: relative;
  transition: color 0.25s ease;
}

.bh-pages a:not(.bh-button)::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 100%;
  height: 1px;
  background: var(--bh-green);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.25s ease;
}*/

.bh-pages a:not(.bh-button):hover {
  color: var(--bh-navy);
}

.bh-pages a:not(.bh-button):hover::after {
  transform: scaleX(1);
}

/* ========================================
   BH Button System – Minimal Refined
======================================== */

.bh-button {
  display: inline-block;
  padding: 14px 28px;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  border-radius: 6px;
  transition: background 0.25s ease, color 0.25s ease, border 0.25s ease;
  cursor: pointer;
	text-align: center;
}

/* Primary */
.bh-pages .bh-button-primary {
  background: var(--bh-navy);
  color: #ffffff;
  /*border: 1px solid var(--bh-green);*/
	
}

.bh-pages .bh-button-primary:hover {
  background: var(--bh-stone);
  color: var(--bh-green);
}

/* CTA Light */
.bh-button-light {
  background: var(--bh-beige);
  color: var(--bh-green);
  border: 1px solid var(--bh-beige);
}

.bh-button-light:hover {
  background: #17382E;
  border-color: #ffffff;
  color: var(--bh-green);
}





/* ===============================================================================================================================================================================
   BH Lake Hero – Refined
======================================== */

.bh-lake-hero {
  position: relative;
  min-height: 520px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  overflow: hidden;
}



.bh-lake-hero-overlay {
  position: absolute;
  inset: 0;
  background: rgba(23, 56, 46, 0.1); /* 10% Estate Green */
  display: flex;
  align-items: center;
}



/* Content alignment */
.bh-lake-hero-content {
  max-width: 650px;
  color: #ffffff;
}

/* Title */
.bh-pages .bh-lake-title {
  font-family: 'Playfair Display', serif;
  font-weight: 600;

  font-size: clamp(34px, 5vw, 64px); /* responsive upgrade */
  line-height: 1.15;
  margin: 0 0 15px 0;

  opacity: 0;
  transform: translateX(40px);
  animation: bhSlideInRight 0.8s ease forwards;

  text-shadow: 0 2px 10px rgba(0,0,0,0.25); /* improves readability */
}

/* Subtitle */
.bh-lake-subtitle {
  font-family: 'Inter', sans-serif;

  font-size: clamp(16px, 1.8vw, 36px);
  margin: 0;

  opacity: 0;
  transform: translateX(40px);
  animation: bhSlideInRight 0.8s ease forwards;
  animation-delay: 0.2s;

  letter-spacing: 0.3px;
}

/* New Animation */
@keyframes bhSlideInRight {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Responsive */
@media (max-width: 900px) {
  .bh-lake-hero {
    min-height: 420px;
  }

  .bh-lake-hero-overlay {
    padding: 90px 0;
  }

  .bh-lake-title {
    font-size: 2.2rem;
  }

  .bh-lake-subtitle {
    font-size: 1rem;
  }
}


/* ========================================
   BH Lake Intro Layout
======================================== */

.bh-lake-intro {
  padding: 90px 0;
  background: #ffffff;   /* White background */
	border-top: 1px solid var(--bh-wood);
}

/* Grid Layout */
.bh-lake-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 60px;
  align-items: start;
}

/* Main Column */
.bh-lake-main h2 {
  font-size: 2rem;
  margin: 0 0 10px 0;
}

.bh-subheading {
  font-size: 1.2rem;
  margin-bottom: 25px;
  opacity: 0.85;
}

.bh-lake-main p {
  margin-bottom: 20px;
  line-height: 1.7;
}

.bh-lake-main h3 {
  margin-top: 35px;
  margin-bottom: 15px;
  font-size: 1.3rem;
}

/* Links */
.bh-lake-main a {
  font-weight: 600;
  text-decoration: underline;
}

/* Sidebar */
.bh-lake-sidebar {
  display: flex;
  flex-direction: column;
  gap: 25px;
}

/* ========================================
   BH Quote / Record Cards – Refined
======================================== */

.bh-quote-card {
  position: relative;
  background: var(--bh-stone);
  padding: 30px 30px 30px 40px;
  border-left: 4px solid var(--bh-green);
  border-radius: 6px;
}

/* Decorative oversized quote */
.bh-quote-card::before {
  content: "“";
  position: absolute;
  top: 10px;
  left: 15px;
  font-family: 'Playfair Display', serif;
  font-size: 60px;
  color: var(--bh-wood);
  line-height: 1;
}

/* Testimonial text */
.bh-quote-card p {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: 18px;
  line-height: 1.6;
  margin: 0;
  color: var(--bh-charcoal);
}

.bh-quote-card strong {
  display: block;
  margin-bottom: 8px;
}

/* ========================================
   Lake Record Card Variant
======================================== */

.bh-record-card::before {
  content: "";
}

.bh-record-card strong {
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--bh-green);
  margin-bottom: 8px;
}

.bh-record-card p {
  font-family: 'Playfair Display', serif;
  font-style: normal;
  font-size: 26px;
  font-weight: 600;
	  color: var(--bh-copper);
}

/* Sidebar Images */
.bh-image-card {
  display: block;
}

.bh-image-card img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6px;
}

/* Responsive */
@media (max-width: 900px) {
  .bh-lake-grid {
    grid-template-columns: 1fr;
  }

  .bh-lake-intro {
    padding: 60px 0;
  }
}

/* ========================================
   BH Lake Parallax Section (Aligned Version)
======================================== */

.bh-lake-parallax {
  position: relative;
  background-image: url('/wp-content/uploads/2026/02/carbon-bg.jpg');
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
  background-color: var(--bh-navy);
  padding: 100px 0;
  overflow: hidden; /* prevents bleed */
}

.bh-lake-parallax::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.25);
}

.bh-lake-parallax-inner {
  position: relative;
  z-index: 2;
  color: #ffffff;
}

/* Make sure container width is identical everywhere */
.bh-lake-parallax .bh-container {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}

/* Map */
.bh-map-wrap {
  margin-bottom: 50px;
}

.bh-map-image img {
  width: 100%;           /* important change */
  height: auto;
  border-radius: 6px;
  display: block;        /* removes inline spacing */
}

/* Video Grid */
.bh-lake-video-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 40px;
}
.bh-video-wrap {
  width: 100%;
  aspect-ratio: 16 / 9;
  min-width: 0;   /* critical for grid overflow fixes */
}

/* Video Wrapper */
.bh-video-wrap {
  width: 100%;
  aspect-ratio: 16 / 9;
}

.bh-video-wrap iframe {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
  border-radius: 6px;
}

/* Responsive */
@media (max-width: 900px) {
  .bh-lake-video-grid {
    grid-template-columns: 1fr;
  }

  .bh-lake-parallax {
    background-attachment: scroll;
  }
}


/* ========================================
   Parallax Gallery Section
======================================== */

.bh-lake-parallax-gallery {
  padding: 100px 0;
}

/* Grid */
.bh-parallax-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

/* Text */
.bh-parallax-text {
  color: #ffffff;
  max-width: 500px;
}

/* ========================================
   Gallery – Main + Thumbnails (No JS)
======================================== */

.bh-gallery {
  width: 100%;
}

/* Hide radios */
.bh-gallery input {
  display: none;
}

/* MAIN IMAGE AREA */
.bh-gallery-main {
  position: relative;
  width: 100%;
  height: 300px;
  overflow: hidden;
  border-radius: 8px;
  margin-bottom: 15px;
}

.bh-gallery-main img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.4s ease;
}

/* SHOW ACTIVE IMAGE */
#img1:checked ~ .bh-gallery-main .img1,
#img2:checked ~ .bh-gallery-main .img2,
#img3:checked ~ .bh-gallery-main .img3,
#img4:checked ~ .bh-gallery-main .img4,
#img5:checked ~ .bh-gallery-main .img5,
#img6:checked ~ .bh-gallery-main .img6 {
  opacity: 1;
}

/* THUMBNAILS */
.bh-gallery-thumbs {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 8px;
}

.bh-gallery-thumbs img {
  width: 100%;
  height: 70px;
  object-fit: cover;
  cursor: pointer;
  border-radius: 4px;
  opacity: 0.7;
  transition: all 0.25s ease;
}

/* Hover */
.bh-gallery-thumbs img:hover {
  opacity: 1;
}

/* ACTIVE THUMBNAIL */
#img1:checked ~ .bh-gallery-thumbs label[for="img1"] img,
#img2:checked ~ .bh-gallery-thumbs label[for="img2"] img,
#img3:checked ~ .bh-gallery-thumbs label[for="img3"] img,
#img4:checked ~ .bh-gallery-thumbs label[for="img4"] img,
#img5:checked ~ .bh-gallery-thumbs label[for="img5"] img,
#img6:checked ~ .bh-gallery-thumbs label[for="img6"] img {
  opacity: 1;
  outline: 2px solid var(--bh-green);
}


/* ========================================
   BH Lake Main 2-Column Content
======================================== */

.bh-lake-content {
  padding: 90px 0;
  background: var(--bh-stone);
}

.bh-lake-content-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: start;
}

.bh-lake-col h3 {
  margin: 0 0 20px 0;
  font-size: 1.4rem;
}

.bh-lake-col h4 {
  margin: 25px 0 10px 0;
  font-size: 1.1rem;
}

.bh-lake-col p {
  margin-bottom: 20px;
  line-height: 1.7;
}

.bh-list {
  padding-left: 20px;
  margin-bottom: 25px;
}

.bh-list li {
  margin-bottom: 8px;
}

/* Responsive */
@media (max-width: 900px) {
  .bh-lake-content-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .bh-lake-content {
    padding: 60px 0;
  }
}


/* ========================================
   BH Lake CTA Bar
======================================== */

.bh-lake-cta {
  background: var(--bh-green);
  padding: 70px 0;
}

.bh-lake-cta-inner {
  text-align: center;
  color: #ffffff;
}

.bh-lake-cta-title {
  margin: 0 0 25px 0;
  font-size: 1.8rem;
}


/* Responsive */
@media (max-width: 900px) {
  .bh-lake-cta {
    padding: 50px 0;
  }

  .bh-lake-cta-title {
    font-size: 1.4rem;
  }
}



//////////////////* Rules container *///////////////////////////////
.bh-rules-container {
  /* no max-width override */
}

/* Page title */
.bh-page-title {s
  text-align: left; 
  margin-bottom: 60px;
}


/* Warning */
.bh-warning {
  font-weight: 600;
  color: var(--bh-green);
  margin-bottom: 20px;
}

/* Lists */
.bh-rule-list {
  list-style: none;
  padding: 0;
  max-width: 100%;
}

.bh-rule-list li {
  position: relative;
  padding-left: 22px;
  margin-bottom: 12px;
  line-height: 1.6;
}

/* Custom bullet */
.bh-rule-list li::before {
  content: "–";
  position: absolute;
  left: 0;
  color: var(--bh-green);
}

/* Headings spacing */
.bh-rules-container h2 {
  margin-bottom: 15px;
}

.bh-rules-container h3 {
  margin-top: 25px;
  margin-bottom: 10px;
}
/*.bh-lake-hero {
  margin-bottom: 50px;
}*/

.bh-rule-block ul {
  margin-bottom: 30px!important;
}

/* ========================================
   Pricing Page
======================================== */

.bh-pricing-block {
  margin-bottom: 60px;
}

/* Notes */
.bh-pricing-note {
  margin-bottom: 20px;
  color: var(--bh-charcoal);
}

/* Table Wrapper (scroll on mobile) */
.bh-table-wrap {
  overflow-x: auto;
  margin-bottom: 20px;
}

/* Table */
.bh-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 16px; /* increased base */
}

/* Header */
.bh-table thead th {
  text-align: left;
  padding: 14px;
  background: var(--bh-green);
  color: #ffffff;
  font-weight: 600;
  font-size: 15px;
}

/* Cells */
.bh-table td {
  padding: 14px;
  border-bottom: 1px solid var(--bh-wood);
  font-size: 16px;
}

/* Prices stand out */
.bh-table td:not(:first-child) {
  font-weight: 600;
  font-size: 17px;
}

/* First column (lake names) */
.bh-table td:first-child {
  font-weight: 600;
  font-size: 16px;
}

/* Zebra striping */
.bh-table tbody tr:nth-child(even) {
  background: var(--bh-stone);
}

/* First column (lake names) */
.bh-table td:first-child {
  font-weight: 600;
}

/* ========================================
   Contact Page
======================================== */

/* Contact Card */
.bh-contact-card {
  background: var(--bh-stone);
  padding: 30px;
  border-radius: 8px;
}

.bh-contact-card h3 {
  margin-bottom: 15px;
}

.bh-contact-card p {
  margin-bottom: 15px;
}

/* Links */
.bh-contact-card a {
  color: var(--bh-green);
  text-decoration: none;
  font-weight: 600;
}

.bh-contact-card a:hover {
  text-decoration: underline;
}

/* ========================================
   Map Hero
======================================== */

.bh-map-hero {
  position: relative;
  overflow: hidden;
}

/* Map background */
.bh-map-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.bh-map-bg iframe {
  width: 100%;
  height: 100%;
  border: 0;
  filter: grayscale(20%) contrast(90%);
}

/* Ensure overlay sits above */
.bh-map-hero .bh-lake-hero-overlay {
  position: relative;
  z-index: 2;
}