/* Taylor's Trailblazing Travels — Blocksy-compatible brand treatment, 1.1.1.
   This changes only colours, borders, typography and logo sizing. WordPress
   menu assignments, dropdown behaviour and Blocksy row layouts are untouched. */
:root {
  --ttt-brand-green: #193d2d;
  --ttt-brand-green-dark: #102c20;
  --ttt-brand-gold: #a47b37;
  --ttt-brand-ivory: #fffdf8;
  --ttt-brand-warm: #f6f2e9;
}
/* Style both primary and sticky Blocksy rows, but preserve the header builder layout. */
#header [data-row="middle"],
header.ct-header [data-row="middle"] {
  background: var(--ttt-brand-ivory) !important;
  background-color: var(--ttt-brand-ivory) !important;
  border-top: 6px solid var(--ttt-brand-green) !important;
  border-bottom: 1px solid rgba(25,61,45,.13) !important;
  box-shadow: 0 3px 14px rgba(20,50,34,.045);
}
#header [data-row="middle"] > .ct-container,
#header [data-row="middle"] > .ct-container-fluid,
header.ct-header [data-row="middle"] > .ct-container,
header.ct-header [data-row="middle"] > .ct-container-fluid {
  background-color: var(--ttt-brand-ivory) !important;
}
/* Alternate header regions inherit the same tasteful cream background. */
#header [data-row="top"],
header.ct-header [data-row="top"] { background-color: var(--ttt-brand-ivory); }
/* Logo classes are applied by the script to Blocksy's own logo image. */
#header [data-id="logo"] img,
#header .site-logo-container img,
#header .custom-logo-link img,
#header img.ttt-brand-logo-image,
header.ct-header [data-id="logo"] img,
header.ct-header img.ttt-brand-logo-image {
  width: auto !important;
  height: auto !important;
  max-width: min(300px, 100%) !important;
  max-height: 82px !important;
  object-fit: contain !important;
  object-position: left center;
}
/* The current Blocksy menus remain the source of truth, including every dropdown. */
@media (min-width: 1000px) {
  #header .ct-header-menu > ul > li > a,
  #header [data-id="menu"] > ul > li > a,
  header.ct-header .ct-header-menu > ul > li > a {
    color: var(--ttt-brand-green) !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    letter-spacing: .005em !important;
    text-transform: none !important;
    transition: color .18s ease !important;
  }
  #header .ct-header-menu > ul > li > a:hover,
  #header [data-id="menu"] > ul > li > a:hover,
  #header .ct-header-menu > ul > li.current-menu-ancestor > a,
  #header .ct-header-menu > ul > li.current-menu-item > a,
  header.ct-header .ct-header-menu > ul > li > a:hover {
    color: var(--ttt-brand-gold) !important;
  }
  /* Let Blocksy determine element spacing and shrink rules. */
}
#header .sub-menu, header.ct-header .sub-menu {
  background-color: var(--ttt-brand-ivory) !important;
  border: 1px solid rgba(164, 123, 55, .20) !important;
  border-radius: 9px !important;
  box-shadow: 0 14px 36px rgba(16, 44, 32, .14) !important;
}
#header .sub-menu a, header.ct-header .sub-menu a {
  color: var(--ttt-brand-green-dark) !important;
}
#header .sub-menu a:hover,
#header .sub-menu .current-menu-item > a,
header.ct-header .sub-menu a:hover {
  background-color: var(--ttt-brand-warm) !important;
  color: var(--ttt-brand-green-dark) !important;
}
#header :is(a,button,[role="button"]):focus-visible,
header.ct-header :is(a,button,[role="button"]):focus-visible {
  outline: 2px solid var(--ttt-brand-gold) !important;
  outline-offset: 3px;
}
#header .ct-header-trigger,
#header [data-id="trigger"],
header.ct-header .ct-header-trigger { color: var(--ttt-brand-green) !important; }
@media (max-width: 999px) {
  #header [data-id="logo"] img,
  #header .site-logo-container img,
  #header img.ttt-brand-logo-image,
  header.ct-header img.ttt-brand-logo-image {
    max-width: min(235px, 66vw) !important;
    max-height: 62px !important;
  }
}
@media (max-width: 479px) {
  #header [data-id="logo"] img,
  #header .site-logo-container img,
  #header img.ttt-brand-logo-image,
  header.ct-header img.ttt-brand-logo-image {
    max-width: min(210px, 62vw) !important;
    max-height: 56px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  #header *, header.ct-header * { transition-duration: .01ms !important; }
}


/* ===== COORDINATED SITE BACKGROUND =====
   Only the outer surface is recoloured: no changes to author-built content cards,
   tool modules, article typography or images. */
body:not(.wp-admin) {
  --ttt-page-ground: #f8f6f0;
  background-color: var(--ttt-page-ground) !important;
}
body:not(.wp-admin) #main {
  background-color: var(--ttt-page-ground) !important;
}

/* ===== BLOCKSY FOOTER AND BOTTOM MENUS =====
   Footer row/widget layout, navigation assignment and legal page URLs are unchanged. */
body:not(.wp-admin) :is(#footer, footer.ct-footer, .ct-footer) {
  --ttt-footer-ink: #193d2d;
  color: var(--ttt-footer-ink) !important;
  background-color: var(--ttt-brand-ivory) !important;
  border-top: 5px solid var(--ttt-brand-green) !important;
}
body:not(.wp-admin) :is(#footer, footer.ct-footer, .ct-footer) [data-row] {
  background-color: var(--ttt-brand-ivory) !important;
  color: var(--ttt-brand-green-dark) !important;
}
body:not(.wp-admin) :is(#footer, footer.ct-footer, .ct-footer) [data-row="bottom"] {
  background-color: var(--ttt-brand-warm) !important;
  border-top: 1px solid rgba(164,123,55,.32) !important;
}
body:not(.wp-admin) :is(#footer, footer.ct-footer, .ct-footer) :is(h2,h3,h4,.widget-title,.ct-widget-title) {
  color: var(--ttt-brand-green-dark) !important;
  font-weight: 700;
  letter-spacing: .015em;
}
body:not(.wp-admin) :is(#footer, footer.ct-footer, .ct-footer) :is(p,li,.ct-footer-copyright,.ct-widget) {
  color: var(--ttt-brand-green-dark);
}
body:not(.wp-admin) :is(#footer, footer.ct-footer, .ct-footer) :is(a,.ct-menu-link) {
  color: var(--ttt-brand-green) !important;
  text-decoration-color: rgba(164,123,55,.48);
  text-underline-offset: .16em;
  transition: color .18s ease, text-decoration-color .18s ease;
}
body:not(.wp-admin) :is(#footer, footer.ct-footer, .ct-footer) a:hover,
body:not(.wp-admin) :is(#footer, footer.ct-footer, .ct-footer) a:focus-visible {
  color: #835c24 !important;
  text-decoration-color: currentColor;
}
body:not(.wp-admin) :is(#footer, footer.ct-footer, .ct-footer) :is(a,button,[role="button"]):focus-visible {
  outline: 2px solid var(--ttt-brand-gold) !important;
  outline-offset: 3px;
}
/* Include footer branding if Blocksy renders it; never resize arbitrary photos. */
body:not(.wp-admin) :is(#footer, footer.ct-footer, .ct-footer) :is([data-id="logo"],.site-logo-container,.custom-logo-link) img.ttt-brand-logo-image,
body:not(.wp-admin) :is(#footer, footer.ct-footer, .ct-footer) img.ttt-brand-logo-image {
  width: auto !important;
  height: auto !important;
  max-width: min(240px,80vw) !important;
  max-height: 75px !important;
  object-fit: contain;
}
@media (max-width: 767px) {
  body:not(.wp-admin) :is(#footer, footer.ct-footer, .ct-footer) {
    text-align: start;
  }
  body:not(.wp-admin) :is(#footer, footer.ct-footer, .ct-footer) [data-row] {
    background-color: var(--ttt-brand-ivory) !important;
  }
  body:not(.wp-admin) :is(#footer, footer.ct-footer, .ct-footer) [data-row="bottom"] {
    background-color: var(--ttt-brand-warm) !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  body:not(.wp-admin) :is(#footer, footer.ct-footer, .ct-footer) * {
    transition-duration: .01ms !important;
  }
}

/* ===== v1.1.1: REFINED NAVIGATION LETTERING (BLOCKSY) =====
   Blocksy sets menu typography on .ct-menu-link (and sometimes on an inner span).
   Target the actual link element and its visible label instead of inheriting
   global type settings. No menu hierarchy, active states or URLs are altered. */
:root {
  --ttt-menu-font: Georgia, "Times New Roman", Times, serif;
}
@media (min-width: 1000px) {
  body #header .ct-header-menu .ct-menu-link,
  body #header [data-id^="menu"] .ct-menu-link,
  body #header nav[class*="menu"] > ul > li > a,
  body header.ct-header .ct-header-menu .ct-menu-link,
  body header.ct-header [data-id^="menu"] .ct-menu-link {
    font-family: var(--ttt-menu-font) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    font-style: normal !important;
    letter-spacing: .005em !important;
    line-height: 1.35 !important;
    text-transform: none !important;
    font-variant: normal !important;
    color: var(--ttt-brand-green) !important;
  }
  body #header .ct-header-menu .ct-menu-link > :is(span, strong, b),
  body #header [data-id^="menu"] .ct-menu-link > :is(span, strong, b),
  body header.ct-header .ct-header-menu .ct-menu-link > :is(span, strong, b) {
    font: inherit !important;
    text-transform: none !important;
    letter-spacing: inherit !important;
    color: inherit !important;
  }
}
/* Dropdown links, including the nested country-region menus. */
body #header .sub-menu a,
body #header .sub-menu a.ct-menu-link,
body header.ct-header .sub-menu a,
body .ct-header-menu .sub-menu .ct-menu-link {
  font-family: var(--ttt-menu-font) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  letter-spacing: .005em !important;
  text-transform: none !important;
  color: var(--ttt-brand-green-dark) !important;
}
body #header .sub-menu a :is(span, strong, b),
body header.ct-header .sub-menu a :is(span, strong, b) {
  font-family: inherit !important;
  font-weight: inherit !important;
  text-transform: none !important;
}
body #header .sub-menu a:hover,
body #header .sub-menu .current-menu-item > a,
body header.ct-header .sub-menu a:hover,
body header.ct-header .ct-header-menu .ct-menu-link:hover,
body #header .ct-header-menu .ct-menu-link:hover,
body #header .ct-header-menu .current-menu-ancestor > .ct-menu-link,
body #header .ct-header-menu .current-menu-item > .ct-menu-link {
  color: var(--ttt-brand-gold) !important;
}
/* Off-canvas/mobile menus need the same typography, without changing layout. */
@media (max-width: 999px) {
  body #header .ct-header-menu .ct-menu-link,
  body #header [data-id*="menu"] .ct-menu-link,
  body .ct-panel-content .mobile-menu a,
  body .ct-panel-content [data-id*="menu"] a,
  body .ct-panel-content .ct-menu-link {
    font-family: var(--ttt-menu-font) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    font-style: normal !important;
    line-height: 1.45 !important;
    letter-spacing: .005em !important;
    text-transform: none !important;
  }
  body .ct-panel-content .mobile-menu .sub-menu a,
  body .ct-panel-content [data-id*="menu"] .sub-menu a {
    font-size: 15px !important;
    font-weight: 600 !important;
  }
}
/* Footer's actual navigation menu links, not body text or all legal copy. */
body:not(.wp-admin) :is(#footer, footer.ct-footer, .ct-footer) :is(.ct-footer-menu, .widget_nav_menu, nav[class*="menu"]) a,
body:not(.wp-admin) :is(#footer, footer.ct-footer, .ct-footer) .ct-menu-link {
  font-family: var(--ttt-menu-font) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: .005em !important;
}
