
/* ================================================================
   TRUTH PROPERTY — FULL ADDITIONAL CSS / LAYOUT RECOVERY
   GeneratePress + Max Mega Menu

   REPLACE the entire Appearance > Customize > Additional CSS.
   Do not append this beneath another header stylesheet.

   Important: GeneratePress can render #site-navigation as a SIBLING
   of #masthead. Selectors therefore target each independently.
   ================================================================ */

/* 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. SITE HEADER — ONE FIXED NAVY STRIP */
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 — LEFT */
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 !important;
}

/* 4. NAVIGATION — RIGHT, WHETHER SIBLING OR DESCENDANT */
@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 [id^="mega-menu-wrap-"] {
    width:auto !important;
    max-width:100% !important;
    margin:0 0 0 auto !important;
    background:transparent !important;
  }
  html body #site-navigation [id^="mega-menu-wrap-"] > ul.mega-menu,
  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 [id^="mega-menu-wrap-"] > ul.mega-menu > li,
  html body #site-navigation .main-nav > ul > li {
    flex:0 0 auto !important;
    white-space:nowrap !important;
    background:transparent !important;
  }
  html body #site-navigation [id^="mega-menu-wrap-"] > ul.mega-menu > li > a.mega-menu-link,
  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:clamp(12px,.92vw,15px) !important;
    font-weight:500 !important;
    line-height:1.3 !important;
    padding:12px clamp(7px,.78vw,13px) !important;
  }
  html body #site-navigation [id^="mega-menu-wrap-"] > ul.mega-menu > li:not(:last-child):hover > a.mega-menu-link,
  html body #site-navigation .main-nav > ul > li:not(:last-child):hover > a {
    color:#D4BF94 !important;
  }
  html body #site-navigation .mega-indicator { color:#FFFFFF !important; }
}

/* 5. BOOK A FREE CALL — LAST TOP-LEVEL LINK ONLY */
html body #site-navigation [id^="mega-menu-wrap-"] > ul.mega-menu > li.mega-menu-item:last-child > a.mega-menu-link,
html body #site-navigation .main-nav > ul > li:last-child > a,
html body #masthead [id^="mega-menu-wrap-"] > ul.mega-menu > li.mega-menu-item:last-child > a.mega-menu-link {
  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:800 !important;
  box-shadow:none !important;
  opacity:1 !important;
  padding:12px 19px !important;
  line-height:1.3 !important;
}
html body #site-navigation [id^="mega-menu-wrap-"] > ul.mega-menu > li.mega-menu-item:last-child > a.mega-menu-link:hover,
html body #site-navigation .main-nav > ul > li:last-child > a:hover,
html body #masthead [id^="mega-menu-wrap-"] > ul.mega-menu > li.mega-menu-item:last-child > a.mega-menu-link:hover {
  background:#D4BF94 !important;
  color:#101A2B !important;
}

/* 6. DESKTOP DROPDOWNS — WHITE, OPAQUE */
@media (min-width:769px) {
  html body #site-navigation [id^="mega-menu-wrap-"] ul.mega-sub-menu,
  html body #site-navigation [id^="mega-menu-wrap-"] ul.mega-sub-menu > li {
    background:#FFFFFF !important;
    opacity:1 !important;
  }
  html body #site-navigation [id^="mega-menu-wrap-"] ul.mega-sub-menu a.mega-menu-link {
    color:#101A2B !important;
    background:#FFFFFF !important;
    text-shadow:none !important;
  }
  html body #site-navigation [id^="mega-menu-wrap-"] ul.mega-sub-menu a.mega-menu-link:hover {
    color:#101A2B !important;
    background:#F5F2EB !important;
  }
}

/* 7. CONTENT — REMOVE GENERATED WHITE GUTTERS AND TOP GAP
   Fixed header uses ONE offset on #content, not on #page. */
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;
}
/* The outer WordPress containers must be full width. Leave custom
   per-section .wrap/.container widths within the page unchanged. */
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;
}
/* Only hero headings, not every heading on the website */
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;
}

/* 8. MOBILE: COMPACT HEADER + LARGE ENOUGH LOGO/HAMBURGER */
@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;
  }
  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;
  }
  html body #site-navigation .mega-menu-toggle,
  html body #site-navigation .menu-toggle {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    height:46px !important;
    min-height:46px !important;
    min-width:46px !important;
    margin:0 !important;
    padding:5px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }
  html body #site-navigation .mega-toggle-animated-inner,
  html body #site-navigation .mega-toggle-animated-inner::before,
  html body #site-navigation .mega-toggle-animated-inner::after {
    width:32px !important;
    background:#FFFFFF !important;
  }
  html body #site-navigation .menu-toggle .gp-icon svg {
    width:32px !important;
    height:32px !important;
  }
  /* Max Mega Menu controls whether the open menu is displayed. */
  html body #site-navigation [id^="mega-menu-wrap-"] > ul.mega-menu,
  html body #site-navigation [id^="mega-menu-wrap-"] ul.mega-sub-menu,
  html body #site-navigation.toggled .main-nav > ul {
    background:#101A2B !important;
    opacity:1 !important;
  }
  html body #site-navigation [id^="mega-menu-wrap-"] ul.mega-sub-menu li,
  html body #site-navigation [id^="mega-menu-wrap-"] ul.mega-sub-menu a.mega-menu-link,
  html body #site-navigation [id^="mega-menu-wrap-"] > ul.mega-menu > li:not(:last-child) > a.mega-menu-link {
    background:#101A2B !important;
    color:#FFFFFF !important;
  }
  html body #site-navigation [id^="mega-menu-wrap-"] ul.mega-sub-menu li {
    border-bottom:1px solid rgba(255,255,255,.15) !important;
  }
  /* A full-viewport, opaque dropdown when hamburger is expanded. */
  html body #site-navigation [id^="mega-menu-wrap-"] > ul.mega-menu,
  html body #site-navigation .main-nav > ul {
    position:absolute !important;
    top:66px !important;
    right:-10px !important;
    width:100vw !important;
    max-width:100vw !important;
    box-sizing:border-box !important;
    background:#101A2B !important;
  }
  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:68px !important;
    padding-top:0 !important;
  }
}

/* 9. LOGGED-IN WORDPRESS 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; }
}

/* Posts and archive pages also start below the fixed desktop header. */
@media (min-width:769px) {
  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 / ARCHIVE CARDS (PRESERVE EXISTING 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 — GOLD CTA, NAVY FIXED HEADER, FULL-WIDTH CONTENT */

/* ==========================================
   TRUTH PROPERTY — REMOVE HEADER/HERO SEAM
   Desktop and mobile
   ========================================== */

/* ==========================================
   TRUTH PROPERTY — REMOVE HEADER/HERO SEAM
   Desktop and mobile
   ========================================== */


/* ==========================================
   TRUTH PROPERTY — CLEANER HEADER MENU TEXT
   Larger, sharper and less bold
   Desktop and mobile
   ========================================== */

/* Desktop navigation text */
@media (min-width: 769px) {

  html body #site-navigation
  [id^="mega-menu-wrap-"]
  > ul.mega-menu
  > li
  > a.mega-menu-link,

  html body #site-navigation
  .main-nav > ul > li > a {

    font-size: 15px !important;
    font-weight: 500 !important;
    letter-spacing: 0.1px !important;
    line-height: 1.35 !important;

    text-shadow: none !important;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }

  /* Booking button */
  html body #site-navigation
  [id^="mega-menu-wrap-"]
  > ul.mega-menu
  > li:last-child > a.mega-menu-link,

  html body #site-navigation
  .main-nav > ul > li:last-child > a {

    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: 0.1px !important;
    text-shadow: none !important;
  }

}

/* Slightly reduce text at narrower desktop widths */
@media (min-width: 769px) and (max-width: 1100px) {

  html body #site-navigation
  [id^="mega-menu-wrap-"]
  > ul.mega-menu
  > li
  > a.mega-menu-link {

    font-size: 13px !important;
  }

}

/* Mobile expanded menu */
@media (max-width: 768px) {

  html body #site-navigation
  [id^="mega-menu-wrap-"]
  > ul.mega-menu
  a.mega-menu-link {

    font-size: 16px !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;

    text-shadow: none !important;
    -webkit-font-smoothing: antialiased;
  }

  /* Mobile booking button */
  html body #site-navigation
  [id^="mega-menu-wrap-"]
  > ul.mega-menu
  > li:last-child > a.mega-menu-link {

    font-size: 16px !important;
    font-weight: 600 !important;
    color: #101A2B !important;
  }

}


/* ==========================================
   TRUTH PROPERTY — REMOVE BLACK GAP
   BETWEEN FIXED HEADER AND PAGE HERO
   ========================================== */

/* Desktop */
@media (min-width: 769px) {

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

}

/* Mobile */
@media (max-width: 768px) {

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

}
