/* Keeps the classic CTB dashboard and blue/gold identity while improving legibility. */
html body.page #main-content p,
html body.page #main-content li,
html body.page #main-content dd{font-size:max(17px,1rem);line-height:1.68}
html body.page #main-content small,
html body.page #main-content label,
html body.page #main-content dt{line-height:1.45}
html body.page #main-content a,
html body.page #main-content button,
html body.page #main-content input,
html body.page #main-content select{font:inherit}
html body.page a:focus-visible,
html body.page button:focus-visible,
html body.page input:focus-visible,
html body.page select:focus-visible{outline:4px solid #ffbf29!important;outline-offset:3px!important}
html body.page #main-content a[href^="tel:"],
html body.page #main-content a[href^="mailto:"]{display:inline-flex;min-height:44px;align-items:center;font-size:16px;font-weight:850;overflow-wrap:anywhere}
html body.page #main-content button,
html body.page #main-content input,
html body.page #main-content select,
html body.page #main-content [class*="button"],
html body.page #main-content [class*="btn"]{min-height:44px}
html body.page #main-content [class*="card"] a,
html body.page #main-content nav a{line-height:1.35}

/* 1.9.26: keep the classic CTB layout while making its persistent controls
   comfortably readable and tappable. The signed-in WordPress toolbar is
   intentionally excluded. */
html body.page:not(.wp-admin) .ctb-contact-bar a,
html body.page:not(.wp-admin) .ctb-main-nav>a,
html body.page:not(.wp-admin) .ctb-main-nav .ctb-rm-button,
html body.page:not(.wp-admin) .ctb-global-search-button,
html body.page:not(.wp-admin) .ctb-footer-contact a,
html body.page:not(.wp-admin) .ctb-footer-nav a,
html body.page:not(.wp-admin) .ctb-footer-cta .wp-block-button__link,
html body.page:not(.wp-admin) .ctb-legal a.ctb-legal-item{
  display:inline-flex!important;
  min-height:44px!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
}
html body.page:not(.wp-admin) .ctb-contact-bar a{padding:7px 10px!important;font-size:15px!important;line-height:1.35!important}
html body.page:not(.wp-admin) .ctb-main-nav>a{padding:9px 6px!important;font-size:13px!important}
html body.page:not(.wp-admin) .ctb-navigation-part .ctb-main-nav .ctb-rm-button{
  height:auto!important;
  min-height:44px!important;
  padding:9px 18px!important;
  font-size:13px!important;
}
html body.page:not(.wp-admin) .ctb-global-search-button{min-height:46px!important;font-size:13px!important;line-height:1.25!important}
html body.page:not(.wp-admin) .ctb-review-card a{display:inline-flex;min-height:44px;align-items:center}
html body.page:not(.wp-admin) .ctb-footer-contact a{padding:7px 8px!important;font-size:15px!important;line-height:1.35!important}
html body.page:not(.wp-admin) .ctb-footer-nav a{padding:9px 8px!important;font-size:13px!important;line-height:1.25!important}
html body.page:not(.wp-admin) .ctb-footer-nav .ctb-footer-rm{font-size:13px!important}
html body.page:not(.wp-admin) .ctb-socials a{display:inline-flex!important;width:44px!important;height:44px!important;align-items:center!important;justify-content:center!important;font-size:17px!important}
html body.page:not(.wp-admin) .ctb-legal{font-size:12px!important;line-height:1.55!important}
html body.page:not(.wp-admin) .ctb-legal .ctb-legal-item{font-size:12px!important;line-height:1.45!important}
html body.page:not(.wp-admin) .ctb-legal a.ctb-legal-item{padding:8px 7px!important}

/* Preserve the small visual review dots inside full 44px touch targets. */
html body.page:not(.wp-admin) .ctb-review-dots button{
  position:relative!important;
  width:44px!important;
  min-width:44px!important;
  height:44px!important;
  min-height:44px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
html body.page:not(.wp-admin) .ctb-review-dots button::after{
  content:"";
  display:block;
  width:9px;
  height:9px;
  margin:auto;
  border-radius:999px;
  background:#b7cbd8;
}
html body.page:not(.wp-admin) .ctb-review-dots button[aria-current="true"]::after{
  width:24px;
  background:#087eb8;
}

/* Older handcrafted CTB pages use their own signature bar, site-nav, and
   action class names. Give those real controls the same readable treatment. */
html body.page:not(.wp-admin) .ctb-signature-bar__logo-link,
html body.page:not(.wp-admin) .ctb-signature-bar__phone,
html body.page:not(.wp-admin) .ctb-signature-bar__center,
html body.page:not(.wp-admin) .ctb-signature-bar__email,
html body.page:not(.wp-admin) .ctb-global-header .ctb-contact-bar a,
html body.page:not(.wp-admin) .contact-bar-center{
  display:inline-flex!important;
  min-height:44px!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  font-size:15px!important;
  line-height:1.3!important;
}
html body.page:not(.wp-admin) .ctb-signature-bar__logo-link{width:44px!important;min-width:44px!important;height:44px!important}
html body.page:not(.wp-admin) .site-nav>a{
  height:auto!important;
  min-height:44px!important;
  padding-top:9px!important;
  padding-bottom:9px!important;
  font-size:13px!important;
  line-height:1.25!important;
}
html body.page:not(.wp-admin) .primary-action,
html body.page:not(.wp-admin) .ctb-line-learn,
html body.page:not(.wp-admin) .deal-book,
html body.page:not(.wp-admin) .hero-cta,
html body.page:not(.wp-admin) .hero-secondary,
html body.page:not(.wp-admin) .ctb-contact-v3-button,
html body.page:not(.wp-admin) .ctb-contact-v3-rm-button,
html body.page:not(.wp-admin) .ctb-contact-v3-phone-number,
html body.page:not(.wp-admin) .ctb-contact-v3-contact-bar a,
html body.page:not(.wp-admin) .ctb-contact-v3-main-nav>a,
html body.page:not(.wp-admin) .ctb-category-nav a,
html body.page:not(.wp-admin) .ctb-pick>a,
html body.page:not(.wp-admin) .ctb-policy-footer a,
html body.page:not(.wp-admin) .ctb-policy-content a[href^="tel:"],
html body.page:not(.wp-admin) .ctb-policy-content a[href^="mailto:"],
html body.page:not(.wp-admin) .tile-actions>a,
html body.page:not(.wp-admin) .travel-service-details>a,
html body.page:not(.wp-admin) .rm-handy-hero-copy a{
  display:inline-flex!important;
  height:auto!important;
  min-height:44px!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  padding-top:9px!important;
  padding-bottom:9px!important;
}
html body.page:not(.wp-admin) select{
  min-height:44px!important;
  box-sizing:border-box!important;
}

/* Some restored CTB pages carry late page-specific sizing rules. This
   deliberately more-specific public-page rule keeps those legacy actions at
   the same 44px standard without altering their classic grids or labels. */
html body.page:not(.wp-admin) #main-content.ctb-exact-restore .site-nav>a,
html body.page:not(.wp-admin) #main-content.ctb-exact-restore .tile-actions>a,
html body.page:not(.wp-admin) #main-content.ctb-exact-restore .tile-actions>button,
html body.page:not(.wp-admin) #main-content.ctb-exact-restore .deal-actions>a,
html body.page:not(.wp-admin) #main-content.ctb-exact-restore .page-hero-copy .hero-cta,
html body.page:not(.wp-admin) #main-content.ctb-exact-restore .page-hero-copy .hero-secondary,
html body.page:not(.wp-admin) #main-content.ctb-exact-restore .travel-service-details>a{
  height:auto!important;
  min-height:44px!important;
  box-sizing:border-box!important;
}

@media(max-width:700px){
  html body.page #main-content p,
  html body.page #main-content li,
  html body.page #main-content dd{font-size:17px}
  html body.page #main-content a[href^="tel:"],
  html body.page #main-content a[href^="mailto:"]{font-size:15px}
  html body.page #main-content img{max-width:100%;height:auto}
  html body.page #main-content [class*="icon"] img,
  html body.page #main-content img[class*="icon"]{min-width:28px;min-height:28px}

  html body.page .ctb-signature-bar__inner{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:4px!important;
    padding:6px 12px!important;
  }
  html body.page .ctb-signature-bar__left{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    width:100%!important;
    order:1;
  }
  html body.page .ctb-signature-bar__phone,
  html body.page .ctb-signature-bar__email,
  html body.page .ctb-signature-bar__center{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:44px!important;
    margin:0!important;
    padding:6px 8px!important;
    font-size:15px!important;
    line-height:1.25!important;
    text-align:center!important;
    white-space:normal!important;
  }
  html body.page .ctb-signature-bar__email{order:2}
  html body.page .ctb-signature-bar__center{order:3}
  html body.page .ctb-signature-bar__logo{width:48px!important;height:48px!important}

  html body.page:not(.wp-admin) .ctb-main-nav,
  html body.page:not(.wp-admin) .ctb-footer-nav{gap:6px!important}
  html body.page:not(.wp-admin) .ctb-navigation-part .ctb-main-nav>a,
  html body.page:not(.wp-admin) .ctb-global-footer .ctb-footer-nav a{
    height:auto!important;
    min-height:44px!important;
    padding-top:9px!important;
    padding-bottom:9px!important;
    font-size:14px!important;
  }
  html body.page:not(.wp-admin) .ctb-global-footer .ctb-footer-nav>a.ctb-footer-rm{min-height:44px!important}
  html body.page:not(.wp-admin) .ctb-google-reviews button.ctb-review-arrow{
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    min-height:44px!important;
  }
  html body.page:not(.wp-admin) .ctb-socials{gap:7px!important}
  html body.page:not(.wp-admin) .ctb-legal{gap:2px 6px!important}
}


/* CTBHQ GLOBAL CTB COMPACT PAGE-CARD NAVIGATION — 2026-08-23 */
.ctb-global-compact-page-nav{
  padding:18px 14px 20px!important;
  border-top-width:3px!important;
  border-bottom-width:3px!important;
}
.ctb-global-compact-page-nav>header{
  max-width:900px!important;
  margin:0 auto 13px!important;
}
.ctb-global-compact-page-nav>header>span{
  font-size:10px!important;
  line-height:1.25!important;
}
.ctb-global-compact-page-nav>header h2{
  margin:4px 0 5px!important;
  font-size:clamp(22px,2.4vw,30px)!important;
  line-height:1.05!important;
}
.ctb-global-compact-page-nav>header p{
  font-size:13px!important;
  line-height:1.35!important;
}
.ctb-global-compact-page-nav>nav{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(86px,1fr))!important;
  gap:8px!important;
  width:100%!important;
  max-width:1280px!important;
  margin:0 auto!important;
  overflow:visible!important;
}
.ctb-global-compact-page-nav a{
  width:auto!important;
  min-width:0!important;
  min-height:96px!important;
  height:96px!important;
  margin:0!important;
  padding:0!important;
  border-width:1px!important;
  border-bottom-width:4px!important;
  border-radius:10px!important;
  box-shadow:0 7px 15px rgba(4,37,65,.16)!important;
  background-position:center!important;
  background-size:cover!important;
  scroll-snap-align:start;
}
.ctb-global-compact-page-nav a>span{
  padding:28px 8px 7px!important;
}
.ctb-global-compact-page-nav a b{
  font-size:14px!important;
  line-height:1.05!important;
}
.ctb-global-compact-page-nav a small{
  display:-webkit-box!important;
  margin-top:3px!important;
  overflow:hidden!important;
  font-size:9px!important;
  line-height:1.15!important;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.ctb-global-compact-page-nav a:hover,
.ctb-global-compact-page-nav a:focus-visible{
  transform:translateY(-2px)!important;
  box-shadow:0 10px 20px rgba(4,37,65,.23)!important;
}
.ctb-global-compact-page-nav a.is-current{
  border-color:#ffbf29!important;
  box-shadow:0 0 0 3px rgba(255,191,41,.35),0 8px 18px rgba(0,0,0,.2)!important;
}
.ctb-global-card-current{
  position:absolute;
  top:5px;
  right:5px;
  z-index:3;
  display:inline-flex;
  min-height:0!important;
  padding:3px 5px;
  border-radius:999px;
  background:#ffbf29;
  color:#031f3e;
  font:950 7px/1.2 Arial,sans-serif;
  font-style:normal;
  letter-spacing:.04em;
  text-transform:uppercase;
}
@media(max-width:1100px){
  .ctb-global-compact-page-nav>nav{
    display:flex!important;
    gap:8px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:2px 2px 8px!important;
    scroll-snap-type:x proximity;
    scrollbar-width:thin;
    -webkit-overflow-scrolling:touch;
  }
  .ctb-global-compact-page-nav a{
    flex:0 0 140px!important;
    width:140px!important;
    min-width:140px!important;
    max-width:140px!important;
  }
}
@media(max-width:620px){
  .ctb-global-compact-page-nav{
    padding:14px 10px 16px!important;
  }
  .ctb-global-compact-page-nav>header{
    margin-bottom:10px!important;
  }
  .ctb-global-compact-page-nav>header h2{
    font-size:22px!important;
  }
  .ctb-global-compact-page-nav>header p{
    font-size:12px!important;
  }
  .ctb-global-compact-page-nav a{
    flex-basis:132px!important;
    width:132px!important;
    min-width:132px!important;
    max-width:132px!important;
    min-height:94px!important;
    height:94px!important;
  }
}


/* Approved CTB Home line-only hover — 2026-08-24. */
body.page-id-204 .ctb-dashboard-card{
  transition:border-bottom-color .18s ease!important;
}
body.page-id-204 .ctb-dashboard-card:hover{
  border-bottom-color:#f5b928!important;
  transform:none!important;
}
body.page-id-204 .ctb-dashboard-card:hover>span{
  background:linear-gradient(transparent,rgba(0,31,63,.96))!important;
  color:#fff!important;
}
body.page-id-204 .ctb-dashboard-card:hover small{
  color:#dceaf3!important;
}
body.page-id-204 .ctb-dashboard-card:focus-visible{
  border-bottom-color:#f5b928!important;
  transform:none!important;
  outline:3px solid #f5b928!important;
  outline-offset:3px!important;
}
body.page-id-204 .ctb-dashboard-card:focus-visible>span{
  background:linear-gradient(transparent,rgba(0,31,63,.96))!important;
  color:#fff!important;
}
body.page-id-204 .ctb-dashboard-card:focus-visible small{
  color:#dceaf3!important;
}

/* CTB approved 2026-08-31: keep the existing booking form and fit Home cards to phones. */
@media (max-width:720px) {
 html body.home.page-id-204 .ctb-global-header {
  position:relative!important;inset:auto!important;width:100%!important;max-width:100%!important;padding:0!important;margin:0!important;
 }
 html body.home.page-id-204 .ctb-global-header .ctb-announcement {padding:7px 12px!important;}
 html body.home.page-id-204 .ctb-global-header .ctb-contact-bar {
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:2px!important;height:auto!important;min-height:0!important;padding:5px 12px!important;
 }
 html body.home.page-id-204 .ctb-global-header .ctb-contact-bar a {
  min-width:0!important;max-width:100%!important;min-height:44px!important;padding:3px 6px!important;font-size:14px!important;line-height:1.3!important;overflow-wrap:anywhere!important;
 }
 html body.home.page-id-204 .ctb-home-hero,
 html body.home.page-id-204 #main-content.ctb-home-hero.has-global-padding {
  position:relative!important;display:block!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;padding:0!important;margin:0!important;overflow:hidden!important;
 }
 html body.home.page-id-204 .ctb-home-hero>.ctb-hero-original {
  position:relative!important;inset:auto!important;display:block!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:180px!important;aspect-ratio:1366/638!important;object-fit:cover!important;margin:0!important;
 }
 html body.home.page-id-204 .ctb-home-hero>.ctb-hero-copy {
  position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:auto!important;width:100%!important;height:max(180px,46.7vw)!important;min-height:0!important;margin:0!important;padding:18px 14px!important;transform:none!important;display:flex!important;flex-direction:column!important;justify-content:center!important;box-sizing:border-box!important;
 }
 html body.home.page-id-204 .ctb-home-hero>.ctb-hero-dashboard {
  position:relative!important;inset:auto!important;transform:none!important;box-sizing:border-box!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:none!important;grid-auto-rows:88px!important;grid-auto-flow:row!important;align-content:start!important;align-items:stretch!important;gap:8px!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;padding:12px!important;margin:0!important;background:#031a35!important;
 }
 html body.home.page-id-204 .ctb-home-hero .ctb-dashboard-card {
  box-sizing:border-box!important;grid-column:auto!important;grid-row:auto!important;width:100%!important;min-width:0!important;max-width:100%!important;height:88px!important;min-height:88px!important;max-height:88px!important;margin:0!important;border-radius:10px!important;overflow:hidden!important;
 }
 html body.home.page-id-204 .ctb-home-hero .ctb-dashboard-card.ctb-dashboard-home {
  grid-column:1/-1!important;grid-row:auto!important;width:calc(50% - 4px)!important;justify-self:center!important;
 }
 html body.home.page-id-204 .ctb-home-hero .ctb-dashboard-card>span {padding:24px 8px 7px!important;}
 html body.home.page-id-204 .ctb-home-hero .ctb-dashboard-card b {font-size:13px!important;line-height:1.15!important;}
 html body.home.page-id-204 .ctb-home-hero .ctb-dashboard-card small {font-size:9px!important;line-height:1.2!important;}
}

@media(max-width:1024px){html body.home.page-id-204 .ctb-global-search-guide,html body.home.page-id-204 .ctb-global-search-iframe-wrap{display:block!important}html body.home.page-id-204 .ctb-global-search-brand{border-bottom:2px solid #f5b928!important}}

@media(max-width:720px){
html body.home.page-id-204 .ctb-home-hero>.ctb-hero-copy{height:auto!important;aspect-ratio:1366/638!important;}
html body.home.page-id-204 .ctb-google-reviews{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;}
html body.home.page-id-204 .ctb-reviews-shell{width:100%!important;max-width:100%!important;box-sizing:border-box!important;}
}

/* Keep all six footer icons inside very narrow phone screens. */
@media(max-width:360px){html body.home.page-id-204 .ctb-social-row{gap:2px!important;}}


/* CTB desktop: keep cards left, the wake clear, and the original watermark exposed. */
@media(min-width:721px){
html body.home.page-id-204 div#main-content.ctb-home-hero.has-global-padding{
display:block!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;padding:0!important;
}
html body.home.page-id-204 #main-content.ctb-home-hero>.ctb-hero-copy{
top:clamp(18px,2.3vw,40px)!important;bottom:auto!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:min(860px,calc(100% - 48px))!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;
}
html body.home.page-id-204 #main-content.ctb-home-hero>.ctb-hero-copy p{
margin:0 0 8px!important;font-size:clamp(10px,1.2vw,16px)!important;line-height:1.2!important;
}
html body.home.page-id-204 #main-content.ctb-home-hero>.ctb-hero-copy h1{
margin:0!important;font-size:clamp(28px,4.3vw,58px)!important;line-height:1.05!important;
}
html body.home.page-id-204 #main-content.ctb-home-hero>.ctb-hero-dashboard{
top:auto!important;bottom:16%!important;left:clamp(28px,3vw,48px)!important;right:auto!important;transform:none!important;width:min(900px,calc(100% - 56px))!important;height:auto!important;min-height:0!important;padding:0!important;margin:0!important;gap:clamp(6px,.74vw,10px)!important;grid-template-rows:repeat(3,clamp(58px,7vw,106px))!important;
}
html body.home.page-id-204 #main-content.ctb-home-hero .ctb-dashboard-card{
height:clamp(58px,7vw,106px)!important;min-height:clamp(58px,7vw,106px)!important;max-height:clamp(58px,7vw,106px)!important;
}
html body.home.page-id-204 #main-content.ctb-home-hero .ctb-dashboard-card>span{
padding:20px 8px 6px!important;
}
}
