﻿/* Standard header overrides for BnB entity pages.
   The home uses menu-above-hero; attraction/food pages use the normal parent header. */

body:is(
    .post-type-archive-attraction,
    .single-attraction,
    .post-type-archive-food,
    .single-food,
    .error404
  ) .site-header:not(.menu-above-hero) {
  background-color: var(--lazybnb-secondary-color, #222020) !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body:is(
    .post-type-archive-attraction,
    .single-attraction,
    .post-type-archive-food,
    .single-food,
    .error404
  ) #header-default-top-bar {
  background-color: var(--lazybnb-secondary-color, #222020) !important;
  color: var(--lazybnb-light-text-color-bright, #ffffff) !important;
  box-shadow: none !important;
  padding: 12px 0 !important;
}

body:is(
    .post-type-archive-attraction,
    .single-attraction,
    .post-type-archive-food,
    .single-food,
    .error404
  ) #header-default-top-bar > .container {
  width: 100% !important;
  max-width: 96% !important;
  margin: 0 auto !important;
  padding: 0 16px !important;
}

body:is(
    .post-type-archive-attraction,
    .single-attraction,
    .post-type-archive-food,
    .single-food,
    .error404
  ) #header-default-top-bar .top-bar-content {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  flex-wrap: nowrap !important;
}

body:is(
    .post-type-archive-attraction,
    .single-attraction,
    .post-type-archive-food,
    .single-food,
    .error404
  ) #header-default-top-bar .contact-info-mini {
  display: flex !important;
  align-items: center !important;
  gap: 24px !important;
  flex-wrap: wrap !important;
}

body:is(
    .post-type-archive-attraction,
    .single-attraction,
    .post-type-archive-food,
    .single-food,
    .error404
  ) #header-default-top-bar .contact-info-mini a,
body:is(
    .post-type-archive-attraction,
    .single-attraction,
    .post-type-archive-food,
    .single-food,
    .error404
  ) #header-default-top-bar .contact-info-mini span span {
  color: var(--lazybnb-light-text-color-bright, #ffffff) !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}

body:is(
    .post-type-archive-attraction,
    .single-attraction,
    .post-type-archive-food,
    .single-food,
    .error404
  ) #header-default-top-bar .contact-info-mini i {
  color: var(--lazybnb-light-text-color-bright, #ffffff) !important;
  font-size: 21px !important;
  margin-right: 8px !important;
}

body:is(
    .post-type-archive-attraction,
    .single-attraction,
    .post-type-archive-food,
    .single-food,
    .error404
  ) #header-default-top-bar .top-social-links .social-links {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
}

body:is(
    .post-type-archive-attraction,
    .single-attraction,
    .post-type-archive-food,
    .single-food,
    .error404
  ) #header-default-top-bar .top-social-links .social-link {
  width: 34px !important;
  height: 34px !important;
  background-color: var(--lazybnb-primary-color, #ffffff) !important;
  color: var(--lazybnb-accent-color, #e63946) !important;
  border-radius: 50% !important;
}

body:is(
    .post-type-archive-attraction,
    .single-attraction,
    .post-type-archive-food,
    .single-food,
    .error404
  ) #header-default-content {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 40px !important;
  width: 100% !important;
  max-width: 1200px !important;
  min-height: 180px !important;
  margin: 0 auto !important;
  padding: 18px 20px !important;
  background-color: var(--lazybnb-secondary-color, #222020) !important;
  box-sizing: border-box !important;
}

body:is(
    .post-type-archive-attraction,
    .single-attraction,
    .post-type-archive-food,
    .single-food,
    .error404
  ) .site-branding {
  flex: 0 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
}

body:is(
    .post-type-archive-attraction,
    .single-attraction,
    .post-type-archive-food,
    .single-food,
    .error404
  ) .custom-logo-link {
  display: block !important;
  max-width: 180px !important;
}

body:is(
    .post-type-archive-attraction,
    .single-attraction,
    .post-type-archive-food,
    .single-food,
    .error404
  ) .custom-logo {
  display: block !important;
  width: auto !important;
  max-width: 180px !important;
  max-height: 180px !important;
  height: auto !important;
}

body:is(
    .post-type-archive-attraction,
    .single-attraction,
    .post-type-archive-food,
    .single-food,
    .error404
  ) #site-navigation {
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  background: transparent !important;
}

body:is(
    .post-type-archive-attraction,
    .single-attraction,
    .post-type-archive-food,
    .single-food,
    .error404
  ) #site-navigation .menu-toggle {
  display: none !important;
}

body:is(
    .post-type-archive-attraction,
    .single-attraction,
    .post-type-archive-food,
    .single-food,
    .error404
  ) #site-navigation ul#primary-menu {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 22px !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  background: transparent !important;
}

body:is(
    .post-type-archive-attraction,
    .single-attraction,
    .post-type-archive-food,
    .single-food,
    .error404
  ) #site-navigation ul#primary-menu > li {
  margin: 0 !important;
  padding: 0 !important;
}

body:is(
    .post-type-archive-attraction,
    .single-attraction,
    .post-type-archive-food,
    .single-food,
    .error404
  ) #site-navigation ul#primary-menu > li > a {
  display: block !important;
  color: var(--lazybnb-light-text-color-bright, #ffffff) !important;
  background: transparent !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  padding: 8px 0 !important;
  text-align: center !important;
  text-decoration: none !important;
}

body:is(
    .post-type-archive-attraction,
    .single-attraction,
    .post-type-archive-food,
    .single-food,
    .error404
  ) #site-navigation ul#primary-menu > li > a::after {
  background-color: var(--lazybnb-accent-color, #e63946) !important;
}

body:is(
    .post-type-archive-attraction,
    .single-attraction,
    .post-type-archive-food,
    .single-food,
    .error404
  ) #site-navigation ul#primary-menu > li.current-menu-item > a,
body:is(
    .post-type-archive-attraction,
    .single-attraction,
    .post-type-archive-food,
    .single-food,
    .error404
  ) #site-navigation ul#primary-menu > li.current_page_item > a {
  color: var(--lazybnb-accent-color, #e63946) !important;
  background: transparent !important;
}

@media (max-width: 900px) {
  body:is(
      .post-type-archive-attraction,
      .single-attraction,
      .post-type-archive-food,
      .single-food,
      .error404
    ) #header-default-top-bar {
    display: none !important;
  }

  body:is(
      .post-type-archive-attraction,
      .single-attraction,
      .post-type-archive-food,
      .single-food,
      .error404
    ) #header-default-content {
    min-height: 105px !important;
    padding: 14px 20px !important;
    gap: 16px !important;
  }

  body:is(
      .post-type-archive-attraction,
      .single-attraction,
      .post-type-archive-food,
      .single-food,
      .error404
    ) .custom-logo-link,
  body:is(
      .post-type-archive-attraction,
      .single-attraction,
      .post-type-archive-food,
      .single-food,
      .error404
    ) .custom-logo {
    max-width: 82px !important;
    max-height: 82px !important;
  }

  body:is(
      .post-type-archive-attraction,
      .single-attraction,
      .post-type-archive-food,
      .single-food,
      .error404
    ) #site-navigation {
    justify-content: flex-end !important;
  }

  body:is(
      .post-type-archive-attraction,
      .single-attraction,
      .post-type-archive-food,
      .single-food,
      .error404
    ) #site-navigation .menu-toggle {
    display: flex !important;
    width: 42px !important;
    height: 42px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
  }

  body:is(
      .post-type-archive-attraction,
      .single-attraction,
      .post-type-archive-food,
      .single-food,
      .error404
    ) #site-navigation ul#primary-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 80 !important;
    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    width: 100% !important;
    background-color: var(--lazybnb-secondary-color, #222020) !important;
  }

  body:is(
      .post-type-archive-attraction,
      .single-attraction,
      .post-type-archive-food,
      .single-food,
      .error404
    ) #site-navigation.toggled ul#primary-menu,
  body:is(
      .post-type-archive-attraction,
      .single-attraction,
      .post-type-archive-food,
      .single-food,
      .error404
    ) #site-navigation ul#primary-menu.toggled {
    display: flex !important;
  }

  body:is(
      .post-type-archive-attraction,
      .single-attraction,
      .post-type-archive-food,
      .single-food,
      .error404
    ) #site-navigation ul#primary-menu > li > a {
    padding: 18px 24px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.35) !important;
    text-align: left !important;
    font-size: 22px !important;
  }
}

/* Entity page vertical rhythm. */
body.post-type-archive-attraction,
body.single-attraction,
body.post-type-archive-food,
body.single-food {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.post-type-archive-attraction #page,
body.single-attraction #page,
body.post-type-archive-food #page,
body.single-food #page,
body.post-type-archive-attraction .site,
body.single-attraction .site,
body.post-type-archive-food .site,
body.single-food .site {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.post-type-archive-attraction .site-header:not(.menu-above-hero),
body.single-attraction .site-header:not(.menu-above-hero),
body.post-type-archive-food .site-header:not(.menu-above-hero),
body.single-food .site-header:not(.menu-above-hero) {
  margin-top: 0 !important;
  margin-bottom: 34px !important;
}

body.post-type-archive-attraction .site-content,
body.single-attraction .site-content,
body.post-type-archive-food .site-content,
body.single-food .site-content {
  padding-bottom: 72px !important;
}

body.post-type-archive-attraction .site-footer,
body.single-attraction .site-footer,
body.post-type-archive-food .site-footer,
body.single-food .site-footer {
  margin-top: 0 !important;
}

/* Remove the stray top gap above the standard entity header. */
html:has(body.post-type-archive-attraction),
html:has(body.single-attraction),
html:has(body.post-type-archive-food),
html:has(body.single-food) {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.post-type-archive-attraction #masthead,
body.single-attraction #masthead,
body.post-type-archive-food #masthead,
body.single-food #masthead {
  margin-top: 0 !important;
  top: 0 !important;
}

/* Entity card text colors. */
body.post-type-archive-attraction .attraction-content,
body.single-attraction .attraction-content,
body.post-type-archive-food .food-content,
body.single-food .food-content {
  color: var(--lazybnb-dark-text-color, #222020) !important;
}

body.post-type-archive-attraction .attraction-content *,
body.single-attraction .attraction-content *,
body.post-type-archive-food .food-content *,
body.single-food .food-content * {
  color: var(--lazybnb-dark-text-color, #222020) !important;
}

body.post-type-archive-attraction .attraction-description,
body.single-attraction .attraction-description,
body.post-type-archive-food .food-description,
body.single-food .food-description,
body.post-type-archive-attraction .attraction-description p,
body.single-attraction .attraction-description p,
body.post-type-archive-food .food-description p,
body.single-food .food-description p {
  color: var(--lazybnb-light-text-color, #777777) !important;
}

body.post-type-archive-attraction .attraction-link,
body.single-attraction .attraction-link,
body.post-type-archive-food .food-link,
body.single-food .food-link {
  color: var(--lazybnb-link-color, #e63946) !important;
}

/* Mobile entity cards: stack media and content. */
@media (max-width: 768px) {
  body.post-type-archive-attraction .attractions-list,
  body.single-attraction .attractions-list,
  body.post-type-archive-food .food-list,
  body.single-food .food-list {
    width: min(100% - 32px, 520px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.post-type-archive-attraction .attraction-item,
  body.single-attraction .attraction-item,
  body.post-type-archive-food .food-item,
  body.single-food .food-item {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  body.post-type-archive-attraction .attraction-image,
  body.single-attraction .attraction-image,
  body.post-type-archive-food .food-image,
  body.single-food .food-image {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
  }

  body.post-type-archive-attraction .attraction-image img,
  body.single-attraction .attraction-image img,
  body.post-type-archive-food .food-image img,
  body.single-food .food-image img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: cover !important;
  }

  body.post-type-archive-attraction .attraction-content,
  body.single-attraction .attraction-content,
  body.post-type-archive-food .food-content,
  body.single-food .food-content {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    padding: 22px !important;
    box-sizing: border-box !important;
  }
}

/* Mobile entity page width correction. */
@media (max-width: 768px) {
  body.post-type-archive-attraction .site-main,
  body.single-attraction .site-main,
  body.post-type-archive-food .site-main,
  body.single-food .site-main,
  body.post-type-archive-attraction .site-main > .container,
  body.single-attraction .site-main > .container,
  body.post-type-archive-food .site-main > .container,
  body.single-food .site-main > .container,
  body.post-type-archive-attraction .attractions-section,
  body.single-attraction .attractions-section,
  body.post-type-archive-food .food-section,
  body.single-food .food-section {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  body.post-type-archive-attraction .attractions-container,
  body.single-attraction .attractions-container,
  body.post-type-archive-food .food-container,
  body.single-food .food-container,
  body.post-type-archive-attraction .attractions-list,
  body.single-attraction .attractions-list,
  body.post-type-archive-food .food-list,
  body.single-food .food-list {
    width: calc(100% - 28px) !important;
    max-width: 520px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }
}
