/* =========================================================
   TRUTH PROPERTY — COMPLETE ADDITIONAL CSS
   GENERATEPRESS ONLY
   PREMIUM MOBILE NAVIGATION
   ========================================================= */

/* 1. BASE */

html,
body {
  width: 100%;
  max-width: 100%;
  margin: 0;
  overflow-x: clip;
}

html body #page,
html body #page.site,
html body .site.grid-container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.page .entry-header {
  display: none !important;
}

.sharedaddy,
.sd-sharing-enabled,
.sd-sharing,
div.sharedaddy {
  display: none !important;
}

/* 2. FIXED NAVY HEADER */

html body #masthead.site-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: 80px !important;
  min-height: 80px !important;
  max-height: 80px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #101A2B !important;
  border: 0 !important;
  border-bottom: 2px solid #C9A65C !important;
  box-shadow: 0 3px 13px rgba(0,0,0,.12) !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  pointer-events: auto !important;
  z-index: 999980 !important;
}

html body #masthead.site-header::after {
  display: none !important;
}

html body #masthead .inside-header {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  height: 78px !important;
  min-height: 78px !important;
  max-height: 78px !important;
  margin: 0 !important;
  padding: 0 26px !important;
  background: transparent !important;
  border: 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

/* 3. LOGO */

html body #masthead .site-branding,
html body #masthead .site-logo,
html body #masthead .custom-logo-link {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  flex: 0 0 auto !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  z-index: 3 !important;
}

html body #masthead .custom-logo,
html body #masthead .site-logo img,
html body #masthead .site-branding img,
html body #masthead .custom-logo-link img {
  display: block !important;
  width: auto !important;
  max-width: 220px !important;
  max-height: 57px !important;
  height: auto !important;
  object-fit: contain;
}

/* 4. DESKTOP NAVIGATION */

@media (min-width: 769px) {

  html body #site-navigation.main-navigation {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: calc(100% - 245px) !important;
    height: 78px !important;
    min-height: 78px !important;
    margin: 0 !important;
    padding: 0 23px 0 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    z-index: 999985 !important;
  }

  html body #site-navigation .inside-navigation {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  html body #site-navigation .main-nav > ul {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    width: auto !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
  }

  html body #site-navigation .main-nav > ul > li {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    background: transparent !important;
  }

  html body #site-navigation .main-nav > ul > li > a {
    color: #FFFFFF !important;
    background: transparent !important;
    background-image: none !important;
    text-shadow: none !important;
    white-space: nowrap !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    letter-spacing: .1px !important;
    line-height: 1.35 !important;
    padding: 12px clamp(7px,.78vw,13px) !important;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }

  html body #site-navigation .main-nav > ul > li:not(:last-child):hover > a {
    color: #D4BF94 !important;
  }

  /* Desktop dropdowns */

  html body #site-navigation .main-nav ul ul {
    background: #FFFFFF !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.12);
  }

  html body #site-navigation .main-nav ul ul li a {
    color: #101A2B !important;
    background: #FFFFFF !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-shadow: none !important;
  }

  html body #site-navigation .main-nav ul ul li a:hover {
    color: #101A2B !important;
    background: #F5F2EB !important;
  }
}

/* 5. GOLD BOOKING BUTTON */

html body #site-navigation .main-nav > ul > li:last-child > a {
  background: #B79B67 !important;
  background-color: #B79B67 !important;
  background-image: none !important;
  color: #101A2B !important;
  text-shadow: none !important;
  border: 0 !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  opacity: 1 !important;
  padding: 12px 19px !important;
  line-height: 1.3 !important;
}

html body #site-navigation .main-nav > ul > li:last-child > a:hover {
  background: #D4BF94 !important;
  color: #101A2B !important;
}

/* 6. FULL-WIDTH PAGE CONTENT */

html body.page #content.site-content,
html body.page #primary.content-area,
html body.page #main.site-main,
html body.page .inside-article,
html body.page .entry-content {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

html body.page #content.site-content {
  margin-top: 80px !important;
  padding-top: 0 !important;
}

html body.page #primary.content-area,
html body.page #main.site-main,
html body.page .inside-article,
html body.page .entry-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

html body.page.separate-containers #main.site-main,
html body.page.separate-containers .inside-article {
  margin: 0 !important;
}

html body.page .entry-content > :first-child {
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}

html body.page #page,
html body.page .site,
html body.page #content.site-content,
html body.page #primary.content-area,
html body.page #main.site-main,
html body.page .inside-article,
html body.page .entry-content {
  max-width: none !important;
}

html body.page .entry-content h1,
html body.page .entry-content .hero h2,
html body.page .entry-content [class*="-hero"] h2 {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* =========================================================
   7. MOBILE HEADER AND PREMIUM NAVIGATION
   ========================================================= */

@media (max-width: 768px) {

  html body #masthead.site-header {
    height: 68px !important;
    min-height: 68px !important;
    max-height: 68px !important;
  }

  html body #masthead .inside-header {
    height: 66px !important;
    min-height: 66px !important;
    max-height: 66px !important;
    padding: 0 15px !important;
    justify-content: flex-start !important;
  }

  html body #masthead .custom-logo,
  html body #masthead .site-logo img,
  html body #masthead .site-branding img,
  html body #masthead .custom-logo-link img {
    width: auto !important;
    max-width: min(230px,66vw) !important;
    max-height: 55px !important;
    height: auto !important;
  }

  /* Primary navigation */

  html body #site-navigation.main-navigation {
    position: fixed !important;
    top: 0 !important;
    right: 10px !important;
    left: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
    height: 66px !important;
    min-height: 66px !important;
    max-height: 66px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    z-index: 999990 !important;
    overflow: visible !important;
  }

  html body #site-navigation .inside-navigation {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
    height: 66px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    overflow: visible !important;
  }

  /* GeneratePress hamburger */

  html body .mobile-menu-control-wrapper {
    position: fixed !important;
    top: 10px !important;
    right: 15px !important;
    left: auto !important;
    width: 48px !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 999995 !important;
  }

  html body .mobile-menu-control-wrapper > button.menu-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #FFFFFF !important;
  }

  html body .mobile-menu-control-wrapper .gp-icon svg {
    width: 30px !important;
    height: 30px !important;
    fill: currentColor !important;
  }

  html body #site-navigation:has(
    .mobile-menu-control-wrapper
  ) .inside-navigation > button.menu-toggle {
    display: none !important;
  }

  /* Premium full-width mobile dropdown */

  html body #site-navigation .main-nav > ul {
    position: absolute !important;
    top: 66px !important;
    right: -10px !important;
    width: 100vw !important;
    max-width: 100vw !important;
    max-height: calc(100dvh - 68px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    box-sizing: border-box !important;
    background: #101A2B !important;
    padding: 12px 0 20px !important;
    box-shadow: 0 12px 25px rgba(0,0,0,.18);
    -webkit-overflow-scrolling: touch;
  }

  html body #site-navigation.toggled .main-nav > ul {
    background: #101A2B !important;
    opacity: 1 !important;
  }

  /* Main menu rows */

  html body #site-navigation .main-nav > ul > li {
    position: relative !important;
    background: #101A2B !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.09) !important;
  }

  html body #site-navigation .main-nav > ul > li > a {
    display: flex !important;
    align-items: center !important;
    min-height: 52px !important;
    padding: 14px 25px !important;
    box-sizing: border-box !important;
    color: #FFFFFF !important;
    background: #101A2B !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    letter-spacing: .1px !important;
    text-shadow: none !important;
    -webkit-font-smoothing: antialiased;
  }

  html body #site-navigation .main-nav > ul > li > a:hover,
  html body #site-navigation .main-nav > ul > li > a:focus {
    background: #172C43 !important;
    color: #FFFFFF !important;
  }

  /* Dropdown arrows and submenu toggle buttons */

  html body #site-navigation .dropdown-menu-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 44px !important;
    min-height: 44px !important;
    color: #FFFFFF !important;
  }

  html body #site-navigation .dropdown-menu-toggle .gp-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Submenus */

  html body #site-navigation .main-nav ul ul {
    background: #172C43 !important;
  }

  html body #site-navigation .main-nav ul ul li {
    background: #172C43 !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
  }

  html body #site-navigation .main-nav ul ul li a {
    display: flex !important;
    align-items: center !important;
    min-height: 48px !important;
    padding: 12px 35px !important;
    box-sizing: border-box !important;
    color: #FFFFFF !important;
    background: #172C43 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
  }

  html body #site-navigation .main-nav ul ul li a:hover {
    background: #203A55 !important;
  }

  /* Gold booking CTA */

  html body #site-navigation .main-nav > ul > li:last-child {
    margin: 14px 18px 4px !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: transparent !important;
  }

  html body #site-navigation .main-nav > ul > li:last-child > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 52px !important;
    padding: 14px 18px !important;
    border-radius: 7px !important;
    color: #101A2B !important;
    background: #B79B67 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-align: center !important;
    line-height: 1.4 !important;
  }

  html body #site-navigation .main-nav > ul > li:last-child > a:hover {
    background: #D4BF94 !important;
    color: #101A2B !important;
  }

  /* Preserve mobile page offset and black-strip fix */

  html body.page #content.site-content,
  html body.blog #content.site-content,
  html body.archive #content.site-content,
  html body.single #content.site-content {
    margin-top: 38px !important;
    padding-top: 0 !important;
  }
}

/* 8. WORDPRESS ADMIN TOOLBAR */

body.admin-bar #wpadminbar {
  position: fixed !important;
  z-index: 2147483647 !important;
}

@media (min-width: 783px) {

  html body.admin-bar #masthead.site-header,
  html body.admin-bar #site-navigation.main-navigation {
    top: 32px !important;
  }
}

@media (max-width: 782px) {

  html body.admin-bar #masthead.site-header,
  html body.admin-bar #site-navigation.main-navigation {
    top: 46px !important;
  }
}

@media (max-width: 768px) {

  html body.admin-bar .mobile-menu-control-wrapper {
    top: 56px !important;
  }

  html body.admin-bar #site-navigation .main-nav > ul {
    max-height: calc(100dvh - 114px) !important;
  }
}

/* 9. DESKTOP PAGE OFFSET */

@media (min-width: 769px) {

  html body.page #content.site-content {
    margin-top: 50px !important;
    padding-top: 0 !important;
  }

  html body.blog #content.site-content,
  html body.archive #content.site-content,
  html body.single #content.site-content {
    margin-top: 80px !important;
    padding-top: 0 !important;
  }
}

/* 10. BLOG ARCHIVE HEADING */

body.archive .page-header,
body.blog .page-header,
body.category .page-header {
  position: relative !important;
  margin: 0 !important;
  padding: 55px 30px 45px !important;
  background: #101A2B !important;
  text-align: center !important;
}

body.archive .page-header h1,
body.blog .page-header h1,
body.category .page-header h1 {
  margin: 0 !important;
  padding: 0 !important;
  color: #FFFFFF !important;
  font-size: clamp(36px,5vw,58px) !important;
  line-height: 1.05 !important;
}

/* 11. BLOG AND ARCHIVE GRID */

body.blog .site-main,
body.archive .site-main {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 22px;
  align-items: stretch;
}

body.blog .site-main > :not(article.post),
body.archive .site-main > :not(article.post) {
  grid-column: 1 / -1;
}

body.blog .site-main > article.post,
body.archive .site-main > article.post {
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}

body.blog article.post .inside-article,
body.archive article.post .inside-article {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 0 0 20px !important;
  background: #FFFFFF;
  border: 1px solid #e2e8ef;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 5px 18px rgba(12,29,53,.06);
}

body.blog article.post .post-image,
body.archive article.post .post-image {
  order: -1;
  margin: 0 0 17px !important;
}

body.blog article.post .post-image img,
body.archive article.post .post-image img {
  display: block;
  width: 100%;
  height: 160px;
  object-fit: cover;
  border-radius: 0;
}

body.blog article.post .entry-header,
body.archive article.post .entry-header {
  display: block !important;
  padding: 0 17px;
}

body.blog article.post .entry-title,
body.archive article.post .entry-title {
  font-size: 18px !important;
  line-height: 1.4 !important;
  font-weight: 750;
  margin: 0 0 8px !important;
}

body.blog article.post .entry-title a,
body.archive article.post .entry-title a {
  color: #0c1d35 !important;
  text-decoration: none;
}

body.blog article.post .entry-meta,
body.archive article.post .entry-meta {
  font-size: 11px;
  color: #788694;
}

body.blog article.post .entry-summary,
body.blog article.post .entry-content,
body.archive article.post .entry-summary,
body.archive article.post .entry-content {
  padding: 0 17px;
  margin-top: 13px !important;
  font-size: 13px;
  line-height: 1.7;
  color: #59697c;
}

body.blog article.post .entry-footer,
body.archive article.post .entry-footer {
  padding: 0 17px;
  margin-top: auto;
}

@media (max-width: 1024px) {

  body.blog .site-main,
  body.archive .site-main {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 600px) {

  body.blog .site-main,
  body.archive .site-main {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  body.blog article.post .post-image img,
  body.archive article.post .post-image img {
    height: 190px;
  }
}

/* END — TRUTH PROPERTY ADDITIONAL CSS */