/* Batch 35: theme-fonts import replaced by just the SSP-600 faces - the
   platform font loader already serves Quattrocento + SSP 300; the import
   double-loaded five font files. */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/wp-content/uploads/local-fonts/font-600-0.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/wp-content/uploads/local-fonts/font-600-1.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/wp-content/uploads/local-fonts/font-600-2.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/wp-content/uploads/local-fonts/font-600-3.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/wp-content/uploads/local-fonts/font-600-4.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/wp-content/uploads/local-fonts/font-600-5.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/wp-content/uploads/local-fonts/font-600-6.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ============================================================
   digital-landscapes.com — Additional CSS
   Stage A5 reviewed merge, 2026-08-05 (replay-checklist Batches
   6/12/15/16/19 essentials). Composed deliberately — NOT a copy
   of the local block. Page-scoped rules and the footer-merge
   arrive with their content swaps in Stage B.
   ============================================================ */

/* --- kept from the previous live CSS (theme overlay tweaks) --- */
.featured-content .hentry-overlay,
.hentry-grid .hentry-col .hentry.has-post-thumbnail .hentry-overlay,
.hentry-grid .hentry-col .hentry.post-password-required .hentry-overlay {
	position: absolute;
	top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(0,0,0,0.1);
	transition: all .15s ease-in-out;
}
.hentry-grid .hentry-col .hentry.has-post-thumbnail:hover .hentry-overlay,
.hentry-grid .hentry-col .hentry.post-password-required:hover .hentry-overlay {
	background: rgba(0,0,0,0.2);
}

/* --- typography: the two house faces (self-hosted, font-display:swap) --- */
:root {
  --th-site-font-headings: "Source Sans Pro", sans-serif;
  --th-site-font-body: "Quattrocento Sans", sans-serif;
}
body, button, input, select, textarea, blockquote,
input[type="submit"] { font-family: "Quattrocento Sans", sans-serif; }
h1, h2, h3, h4, h5, h6, .site-title {
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 300;
  font-style: normal;
}
#masthead .main-navigation a, #primary-header .entry-meta,
.hentry-grid .hentry-col .hentry .entry-meta, #colophon .site-footer-bottom,
#page div.sharedaddy h3.sd-title, .hentry .cat-links, .hentry .tags-links,
.site-main .post-navigation .meta-title, span.entry-cats.primary-font,
#search-container #close-search-container,
.mobile-navigation, .mobile-navigation a, .toggle-sidebar-close-button {
  font-family: "Quattrocento Sans", sans-serif;
}
/* heading scale (the established sizes) */
.single .entry-content h1, .page .entry-content h1 { font-size: 32.9px; font-weight: 300; }
.single .entry-content h2, .page .entry-content h2 { font-size: 25.2px; font-weight: 300; }
.single .entry-content h3, .page .entry-content h3 { font-size: 20.3px; font-weight: 300; }
.single .entry-content h4, .page .entry-content h4 { font-size: 16.1px; font-weight: 300; }
#primary-header .entry-title { font-size: 32.9px; font-weight: 300; }
#masthead .site-branding .site-title { font-size: 12.6px; font-weight: 300; }
.hentry-grid .hentry-col .hentry .entry-header .entry-title { font-size: 12.6px; font-weight: 300; }
.page-header .page-title { font-size: 13.3px; font-weight: 300; }

/* --- grayscale accent: no more yellow/brown link states --- */
:root {
  --th-color-accent-base: #6d6f72;
  --th-color-accent-dark: #111111;
  --th-color-accent-light: #9a9c9f;
}
body, a, a:hover { color: #191919; }
body, #page { background-color: #fff; }

/* --- header/nav: grey resting, ink for hover/current --- */
#masthead, #masthead a,
#masthead .main-navigation a,
#masthead #menu-button, #masthead #header-search-button,
#colophon { color: #6d6f72; }
#masthead .main-navigation .current_page_item > a,
#masthead .main-navigation .current-menu-item > a,
#masthead .main-navigation .current_page_ancestor > a,
#masthead .main-navigation li:hover > a,
#masthead .current_page_item > a:hover,
#masthead .current-menu-item > a:hover,
#masthead .current_page_ancestor > a,
#masthead .current_page_ancestor > a:hover,
#masthead ul:not(.sub-menu) > .menu-item-has-children:hover > a,
#masthead .main-navigation ul ul li:hover > a,
#colophon a:hover { color: #111; }
#masthead .main-navigation .current_page_item > a,
#masthead .main-navigation .current-menu-item > a,
#masthead .main-navigation li:hover > a { border-color: #fff; }
#masthead { box-shadow: none !important; }

/* --- sharing icons: 34px circles, quiet grey tile --- */
.sharedaddy.sd-sharing-enabled {
  margin-top: 32px;
  padding-top: 20px;
  border-top: 1px solid #e5e5e3;
  margin-left: calc(-50vw + 50% + 24px);
  margin-right: calc(-50vw + 50% + 24px);
}
.sd-content ul { text-align: left; margin-left: 0; padding-left: 0; }
.sd-social-icon .sd-content ul li[class*="share-"] a.sd-button,
.sd-content ul li a.sd-button,
.sd-social-icon .sd-content ul li a.share-more {
  width: 34px !important;
  height: 34px !important;
  max-width: 34px !important;
  max-height: 34px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: #f0f0ee !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}
.sd-social-icon .sd-content ul li a.share-more span { font-size: 0; }
.sd-social-icon .sd-content ul li a.sd-button,
.sd-social-text .sd-content ul li a.sd-button,
.sd-content ul li a.sd-button,
.sd-content ul li.advanced a.share-more,
#sharing_email .sharing_send {
  font-family: "Quattrocento Sans", sans-serif !important;
}
.sd-content ul li a.share-facebook.sd-button::before {
  content: "" !important;
  display: block;
  width: 16px;
  height: 16px;
  background-image: url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%232c3338"%3E%3Cpath d="M13.5 21v-7.6h2.55l.4-3h-2.95v-1.9c0-.87.24-1.46 1.5-1.46h1.6V4.34c-.28-.04-1.2-.12-2.3-.12-2.27 0-3.83 1.39-3.83 3.94v2.2H7.9v3h2.57V21h3.03z"/%3E%3C/svg%3E');
  background-size: 16px 16px;
  background-repeat: no-repeat;
  background-position: center;
}

/* --- footer alignment to the 24px page inset --- */
#colophon .container { padding-left: 0; padding-right: 0; }
#colophon .site-footer-bottom { padding-left: 24px; padding-right: 24px; }
@media (max-width: 600px) {
  .sharedaddy.sd-sharing-enabled {
    margin-left: calc(-50vw + 50% + 18px);
    margin-right: calc(-50vw + 50% + 18px);
  }
  #colophon .site-footer-bottom { padding-left: 18px; padding-right: 18px; }
}

/* --- Elementor homepage hero: house faces (text widgets only; Font Awesome
       icon glyphs deliberately untouched) --- */
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-heading .elementor-heading-title * {
  font-family: "Source Sans Pro", sans-serif !important;
}
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor span,
.elementor-widget-text-editor b,
.elementor-widget-text-editor strong,
.elementor-widget-text-editor em {
  font-family: "Quattrocento Sans", sans-serif !important;
}
.elementor-widget-text-editor i:not([class*="fa-"]):not([class*="eicon-"]) {
  font-family: "Quattrocento Sans", sans-serif !important;
}
.elementor-widget-button .elementor-button-text {
  font-family: "Quattrocento Sans", sans-serif !important;
}
.elementor-icon-box-title, .elementor-icon-box-title *,
.elementor-icon-box-description, .elementor-icon-box-description * {
  font-family: "Quattrocento Sans", sans-serif !important;
}

/* --- small polish --- */
.dl-cardC { min-width: 0; }
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}


/* --- B5 front-page rules (2026-08-05) --- */
body.home #primary-header { display: none; }
body.home .dl-nh-hero { margin-top: -16px; }
body.home .dl-secondary-navigation { display: none; }


/* --- B5b sharing-footer merge (2026-08-05) — the sharing row IS the footer --- */
.sharedaddy.sd-sharing-enabled {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px 24px;
}
body:has(.sharedaddy.sd-sharing-enabled) #colophon { display: none; }
.dl-share-meta {
  display: flex;
  align-items: center;
  gap: 28px;
  font-family: "Quattrocento Sans", sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6d6f72;
}
.dl-share-meta a { color: #6d6f72; text-decoration: none; }
.dl-share-meta a:hover { color: #111; }
.sharedaddy.sd-sharing-enabled.dl-home-meta-row {
  justify-content: flex-end;
  margin-bottom: 32px;
}

/* --- Batch 30 (2026-08-05): secondary-nav layout carried over from local
   Additional CSS (2026-07-21 block) - the filter and tools rows rendered as
   plain bullet lists without it --- */
.dl-secondary-navigation {
  background: #fff;
  border-top: 1px solid #ececec;
}
.dl-secondary-navigation__inner {
  display: flex;
  justify-content: flex-end;
}
.dl-secondary-navigation__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 24px;
  list-style: none;
  margin: 0;
  padding: 8px 24px;
  font-family: "Quattrocento Sans", sans-serif;
}
.dl-secondary-navigation__list a {
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 400;
  color: #999;
  text-decoration: none;
}
.dl-secondary-navigation__list a:hover {
  color: #111;
}
.dl-secondary-navigation__list .current-menu-item > a,
.dl-secondary-navigation__list .current_page_item > a {
  color: #111 !important;
}
/* --- end Batch 30 secondary-nav --- */
/* === Added 2026-08-06 (Batch 31): logo-to-menu gap tightened - masthead
   34px -> 18px (branding mr/pr 12+12 -> 4+4), sticky bar 28px -> 18px
   (logo mr 20 -> 10). Marc: "decrease the distance a little". === */
#masthead .site-branding {
  margin-right: 4px;
  padding-right: 4px;
}
#sticky-header .dl-sticky-logo,
.sticky-header .dl-sticky-logo {
  margin-right: 10px;
}
/* === end 2026-08-06 Batch 31 gap === */
/* === Added 2026-08-06 (Batch 33): flat menu on mobile + tablet ===
   Below the theme's 992px desktop breakpoint the hamburger "MENU" button is
   replaced by the same flat five-item menu as desktop. Tablet (768-991):
   single row - logo, menu, then Info/Contact/atlas/search right. Phone
   (<768): the menu gets its own full-width row under the logo row. This
   also removes the glued "MENUINFO" pairing Marc flagged. */
@media (max-width: 991.98px) {
  #masthead #menu-button { display: none; }
  #masthead .site-branding { width: auto; text-align: left; }
  #masthead .header-controls {
    width: auto;
    margin-left: auto;
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
  }
  #masthead .main-navigation { display: block; }
  #masthead .main-navigation ul.menu {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    list-style: none;
    margin: 0;
    padding: 0;
  }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  #masthead .main-navigation { margin-left: 16px; }
}
@media (max-width: 767.98px) {
  #masthead .main-navigation {
    width: 100%;
    order: 5;
    margin-top: 12px;
  }
  #masthead .main-navigation ul.menu {
    justify-content: flex-start;
    gap: 8px 16px;
  }
  #masthead .main-navigation ul.menu li {
    padding: 0;
    margin: 0;
  }
  #masthead .main-navigation ul.menu a {
    font-size: 0.66rem;
    letter-spacing: 0.05em;
    padding: 0;
  }
}
/* === end 2026-08-06 Batch 33 flat mobile menu === */

/* === Added 2026-08-06 (Batch 35): the 8px mobile horizontal wiggle -
   runbook B11 one-liner, Marc's OK 2026-08-06. === */
html { overflow-x: clip; }
/* === end Batch 35 overflow === */

/* === Added 2026-08-06 (Batch 36): too much air between the menu row and the
   content below it (Marc, with screenshots) - the theme's md:th-my-2xl gave
   #content-container a 48px top margin; halved to 24px site-wide. And the
   Terrain Slicer "Open full screen" link goes LEFT, pulled up into the
   secondary-nav row so the app starts higher. === */
@media (min-width: 768px) {
  #content-container { margin-top: 24px; }
}
body .dl-ts-app-head { justify-content: flex-start; }
@media (min-width: 992px) {
  body .dl-ts-app-head { margin-top: -53px; margin-bottom: 16px; }
}
/* === end Batch 36 spacing === */