/* === DESKTOP STYLES === */

/* Constrain date picker width on Sandbridge page */
.page-id-4422 .booqable-datepicker {
  max-width: 700px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.page-id-4422 .wp-block-group.alignwide.is-layout-constrained {
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.page-id-4422 .wp-block-group.alignwide.is-layout-constrained > .wp-block-columns {
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.page-id-4422 .wp-block-group.alignwide.is-layout-constrained .wp-block-column {
  text-align: center !important;
}
.page-id-4422 .entry-content > .wp-block-heading,
.page-id-4422 .entry-content > .wp-block-paragraph {
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* === HAMBURGER MENU FIX (all breakpoints) === */

/* Remove opaque background from hamburger toggle */
.ast-header-break-point .menu-toggle,
.ast-header-break-point .menu-toggle.ast-mobile-menu-trigger-fill,
.ast-header-break-point .ast-button-wrap .menu-toggle,
.ast-header-break-point .main-header-menu-toggle {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 8px !important;
}
.ast-header-break-point .menu-toggle .ast-menu-toggle-icon,
.ast-header-break-point .menu-toggle svg {
  fill: #ffffff !important;
}
.ast-header-break-point .menu-toggle {
  color: #ffffff !important;
}

/* Fix mobile menu: dark text on white background */
.ast-header-break-point .main-header-menu .menu-item > a,
.ast-header-break-point .ast-mobile-header-content .menu-item > a,
.ast-header-break-point .ast-mobile-popup-content .menu-item > a {
  color: #1b4965 !important;
}
.ast-header-break-point .main-header-menu .menu-item > a:hover,
.ast-header-break-point .ast-mobile-header-content .menu-item > a:hover {
  color: #2a9d8f !important;
}

/* === MOBILE RESPONSIVE === */

@media (max-width: 768px) {

  /* HERO: reduce height, add top padding to clear header/logo */
  .wp-block-cover.alignfull {
    min-height: 380px !important;
    padding-top: 20px !important;
    padding-bottom: 30px !important;
  }

  /* Push hero inner content below the header/logo overlay */
  .wp-block-cover__inner-container {
    max-width: 90% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    padding-top: 80px !important;
  }

  /* Shrink the logo significantly on mobile */
  .ast-header-break-point .site-logo img,
  .ast-header-break-point .custom-logo,
  .ast-header-break-point .ast-site-identity img {
    max-height: 45px !important;
    width: auto !important;
  }

  /* Hero headings */
  .wp-block-cover h1.wp-block-heading {
    font-size: 26px !important;
    line-height: 1.25 !important;
  }
  .wp-block-cover h2.wp-block-heading {
    font-size: 24px !important;
    line-height: 1.25 !important;
  }
  .wp-block-cover .wp-block-cover__inner-container p {
    font-size: 15px !important;
    line-height: 1.5 !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .wp-block-cover .wp-block-button__link {
    font-size: 16px !important;
  }

  /* Hero heading padding so text doesn't crowd logo */
  .wp-block-cover h1.wp-block-heading,
  .wp-block-cover h2.wp-block-heading {
    text-align: center !important;
    padding-left: 5% !important;
    padding-right: 5% !important;
  }

  /* Section headings */
  .entry-content h2.wp-block-heading {
    font-size: 22px !important;
    line-height: 1.3 !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  .entry-content h3.wp-block-heading {
    font-size: 18px !important;
    line-height: 1.3 !important;
  }

  /* Body text */
  .entry-content > .wp-block-paragraph,
  .entry-content .wp-block-column p {
    font-size: 15px !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  /* Spacers */
  .entry-content .wp-block-spacer {
    height: 20px !important;
  }

  /* Columns: stack and center */
  .wp-block-columns { flex-wrap: wrap !important; }
  .wp-block-columns .wp-block-column {
    flex-basis: 100% !important;
    flex-grow: 1 !important;
    margin-bottom: 16px !important;
    text-align: center !important;
  }

  /* Content: constrain to ~85% width */
  .entry-content > *:not(.alignfull):not(.wp-block-cover) {
    max-width: 85% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .wp-block-columns.alignwide {
    max-width: 90% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Center images */
  .wp-block-image, .wp-block-image img {
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
  }

  /* Center buttons */
  .wp-block-buttons { justify-content: center !important; }

  /* Homepage features + review cards */
  .page-id-1448 .wp-block-columns.alignwide .wp-block-column {
    padding: 10px 15px !important;
  }
  .page-id-1448 .wp-block-group.has-border-color {
    min-height: auto !important;
  }

  /* CTA sections */
  .wp-block-group.alignfull.has-background {
    padding: 40px 20px !important;
  }
  .wp-block-group.alignfull.has-background > * {
    max-width: 85% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }
  .wp-block-group.alignfull.has-background h2 {
    font-size: 22px !important;
    line-height: 1.3 !important;
  }
  .wp-block-group.alignfull.has-background p {
    font-size: 15px !important;
  }

  /* FAQ card reset */
  .page-id-4423 .wp-block-group.has-border-color {
    min-height: auto !important;
  }

  /* Sandbridge product columns */
  .page-id-4422 .wp-block-group.alignwide.is-layout-constrained {
    max-width: 100% !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  .page-id-4422 .wp-block-group.alignwide.is-layout-constrained > .wp-block-columns {
    max-width: 100% !important;
  }
  .page-id-4422 .booqable-datepicker {
    max-width: 100% !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  /* Buttons */
  .wp-block-button__link {
    padding: 12px 24px !important;
    font-size: 16px !important;
  }

  /* Booqable cart icon */
  .bq-cart-widget, .bq-shopping-cart-widget {
    bottom: 10px !important;
    right: 10px !important;
    width: 45px !important;
    height: 45px !important;
  }

  /* Separator */
  .wp-block-separator {
    max-width: 80% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Social links */
  .wp-block-social-links { justify-content: center !important; }
}

/* Small phones */
@media (max-width: 480px) {
  .entry-content > *:not(.alignfull):not(.wp-block-cover) {
    max-width: 88% !important;
  }
  .wp-block-cover.alignfull {
    min-height: 320px !important;
    padding-top: 15px !important;
  }
  .wp-block-cover__inner-container {
    padding-top: 60px !important;
  }
  .wp-block-cover h1.wp-block-heading { font-size: 22px !important; }
  .wp-block-cover h2.wp-block-heading { font-size: 20px !important; }
  .wp-block-cover .wp-block-cover__inner-container p { font-size: 14px !important; }
  .entry-content h2.wp-block-heading { font-size: 20px !important; }
  .ast-header-break-point .site-logo img,
  .ast-header-break-point .custom-logo,
  .ast-header-break-point .ast-site-identity img {
    max-height: 35px !important;
  }
}