/*
Theme Name: TEMAGUE Client
Theme URI: https://temague.com
Author: temague.com
Author URI: https://temague.com
Description: TEMAGUE Client — premium WordPress theme for professional business websites.
Version: 1.10.0
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: temague-client
Tags: block-patterns, editor-style, custom-logo, custom-menu, featured-images, wide-blocks
*/

html,body,.wp-site-blocks{background-color:#000}

/* WordPress core compatibility classes. */
.wp-caption{max-width:100%;margin:0 0 1.5em}
.wp-caption-text{font-size:.875em;line-height:1.5}
.sticky{display:block}
.gallery-caption{display:block}
.bypostauthor{display:block}
.alignleft{float:left;margin:0 1.5em 1em 0}
.alignright{float:right;margin:0 0 1em 1.5em}
.aligncenter{display:block;margin-left:auto;margin-right:auto}
.page-links{clear:both;margin:1.5em 0}
.comments-area{margin-top:48px}
.comment-list{padding-left:0;list-style:none}
.comment-list .children{list-style:none}
.tg-post-tags{margin-top:24px}

/* Inner reading surfaces. */
body.page,body.single-post{background:#fff;color:#0a0d12}
body.page .tg-page-shell,body.single-post .tg-single-shell{width:100%;min-height:calc(100vh - 80px);background:#fff;color:#0a0d12}
body.page .tg-page-shell h1,body.page .tg-page-shell h2,body.page .tg-page-shell h3,body.page .tg-page-shell h4,body.page .tg-page-shell h5,body.page .tg-page-shell h6,
body.single-post .tg-single-shell h1,body.single-post .tg-single-shell h2,body.single-post .tg-single-shell h3,body.single-post .tg-single-shell h4,body.single-post .tg-single-shell h5,body.single-post .tg-single-shell h6{color:#0a0d12}
body.page .tg-page-shell p,body.page .tg-page-shell li,body.page .tg-page-shell blockquote,
body.single-post .tg-single-shell p,body.single-post .tg-single-shell li,body.single-post .tg-single-shell blockquote{color:#26313b}
body.page .tg-page-shell a,body.single-post .tg-single-shell a{color:#0a0d12}
body.page .tg-page-shell>.tg-shell{width:min(calc(100% - (var(--px-home-gutter,32px)*2)),820px);margin-inline:auto}

/* Single post: breadcrumb breathing room + real right sidebar. */
@media (min-width:901px){
  body.single-post .tg-single-heading{padding-top:28px}
  body.single-post .tg-single-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:56px;align-items:start;margin-top:32px}
  body.single-post .tg-single-main{min-width:0}
  body.single-post .tg-single-sidebar{min-width:0;width:100%;align-self:start}
  body.single-post .tg-related{position:sticky;top:112px;margin:0}
}
body.single-post .tg-related-search{display:none!important}
body.single-post .tg-related__thumb,body.single-post .tg-related__placeholder{display:none!important}
body.single-post .tg-related__item{display:block;padding:18px 0;border-bottom:1px solid rgba(10,13,18,.14)}
body.single-post .tg-related__body{min-width:0}
body.single-post .tg-related__read{margin-top:10px;display:inline-flex;align-items:center;gap:9px;text-decoration:none}
body.single-post .tg-related__arrow{width:28px;height:28px;flex:0 0 28px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#d5fb57;color:#0a0d12}
body.single-post .tg-related__arrow svg{width:14px;height:14px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

@media(max-width:760px){
  :root{--px-home-gutter:18px}
  body.page .tg-page-shell>.tg-shell{width:calc(100% - (var(--px-home-gutter)*2))}
}

/* v1.9.69 — optional footer widget area; absent from layout when no widgets are assigned. */
.tg-footer-widgets{
  background:#1f1f1f;
  color:#fff;
  padding:0 0 28px;
}
.tg-footer-widgets:empty{display:none}
.tg-footer-widgets .widget{margin:0}

/* v1.9.79 — Customizer media overrides loaded after the structural styles. */
body.home .tg-services-visual.has-custom-image {
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  overflow:hidden;
}
body.home .tg-services-visual.has-custom-image .tg-services-custom-image {
  position:static;
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center;
}
body.home .tg-showcase-cta-art.has-custom-image {
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
body.home .tg-showcase-cta-art.has-custom-image .tg-showcase-cta-custom-image {
  position:static;
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center;
  transform:none;
}
body.home .tg-footer-brand > img,
body.page .tg-footer-brand > img,
body.single-post .tg-footer-brand > img {
  display:block;
  width:auto;
  max-width:min(280px,100%);
  max-height:64px;
  object-fit:contain;
  object-position:left center;
}


/* v1.9.81 — individual framed tags on single posts. */
body.single-post .tg-post-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:24px;
}
body.single-post .tg-post-tags a{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:6px 11px;
  border:1px solid #cfd5db;
  border-radius:7px;
  background:#fff;
  color:#0a0d12;
  font-size:12px;
  line-height:1.2;
  font-weight:600;
  text-decoration:none;
  transition:border-color .18s ease,background .18s ease,transform .18s ease;
}
body.single-post .tg-post-tags a:hover,
body.single-post .tg-post-tags a:focus-visible{
  border-color:#0a0d12;
  background:#f5f7f8;
  transform:translateY(-1px);
}


/* v1.9.85 — definitive homepage Latest Posts + Footer typography.
   Explicit selectors are used so legacy component font rules cannot leak through. */
body.home .tg-new-footer,
body.home .tg-new-footer .tg-latest-posts,
body.home .tg-new-footer .tg-latest-posts-head,
body.home .tg-new-footer .tg-latest-posts-head > span,
body.home .tg-new-footer .tg-latest-posts-head h2,
body.home .tg-new-footer .tg-latest-view-all,
body.home .tg-new-footer .tg-latest-view-all span,
body.home .tg-new-footer .tg-latest-posts-list,
body.home .tg-new-footer .tg-latest-post-item,
body.home .tg-new-footer .tg-latest-index,
body.home .tg-new-footer .tg-latest-post-item time,
body.home .tg-new-footer .tg-latest-post-item h3,
body.home .tg-new-footer .tg-latest-post-item h3 a,
body.home .tg-new-footer .tg-latest-post-link,
body.home .tg-new-footer .tg-latest-post-link span,
body.home .tg-new-footer .tg-footer-main,
body.home .tg-new-footer .tg-footer-grid,
body.home .tg-new-footer .tg-footer-about,
body.home .tg-new-footer .tg-footer-brand,
body.home .tg-new-footer .tg-footer-about p,
body.home .tg-new-footer .tg-footer-explore,
body.home .tg-new-footer .tg-footer-explore > span,
body.home .tg-new-footer .tg-footer-explore a,
body.home .tg-new-footer .tg-footer-contact,
body.home .tg-new-footer .tg-footer-contact > span,
body.home .tg-new-footer .tg-footer-contact a,
body.home .tg-new-footer .tg-footer-contact a span,
body.home .tg-new-footer .tg-footer-contact p,
body.home .tg-new-footer .tg-footer-location,
body.home .tg-new-footer .tg-footer-location span,
body.home .tg-new-footer .tg-footer-bottom,
body.home .tg-new-footer .tg-footer-copyright,
body.home .tg-new-footer .tg-footer-legal,
body.home .tg-new-footer .tg-footer-legal a,
body.home .tg-new-footer .tg-footer-widgets,
body.home .tg-new-footer .tg-footer-widgets .widget,
body.home .tg-new-footer .tg-footer-widgets .widget-title,
body.home .tg-new-footer .tg-footer-widgets p,
body.home .tg-new-footer .tg-footer-widgets a,
body.home .tg-new-footer .tg-footer-widgets li {
  font-family: "Poppins", sans-serif;
}


/* v1.9.87 — definitive Poppins typography for Latest Posts and Footer.
   Applies on homepage, posts, pages, and any shared footer context. */
.tg-latest-posts,
.tg-latest-posts *,
.tg-new-footer,
.tg-new-footer *,
.tg-footer-main,
.tg-footer-main *,
.tg-footer-bottom,
.tg-footer-bottom *,
.tg-footer-widgets,
.tg-footer-widgets * {
  font-family: "Poppins", sans-serif;
}


/* v1.9.88 — Latest Posts + shared Footer typography.
   Font family remains Poppins; requested text scale is +2px from v1.9.87. */
.tg-latest-posts,
.tg-latest-posts *,
.tg-new-footer,
.tg-new-footer *,
.tg-footer-main,
.tg-footer-main *,
.tg-footer-bottom,
.tg-footer-bottom *,
.tg-footer-widgets,
.tg-footer-widgets * {
  font-family: "Poppins", sans-serif;
}

/* Desktop / tablet text scale (+2px). */
@media (min-width:761px) {
  body.home .tg-new-footer .tg-latest-posts-head > span { font-size:12px; }
  body.home .tg-new-footer .tg-latest-posts-head h2 { font-size:36px; }
  body.home .tg-new-footer .tg-latest-view-all { font-size:12.5px; }
  body.home .tg-new-footer .tg-latest-index { font-size:11px; }
  body.home .tg-new-footer .tg-latest-post-item h3 { font-size:17px; }
  body.home .tg-new-footer .tg-latest-post-link { font-size:12px; }

  :is(body.home,body.page,body.single-post) .tg-footer-brand {
    font-size:clamp(36px, calc(3.2vw + 2px), 56px);
  }
  :is(body.home,body.page,body.single-post) .tg-footer-about > p { font-size:17px; }
  :is(body.home,body.page,body.single-post) .tg-footer-explore > span,
  :is(body.home,body.page,body.single-post) .tg-footer-contact > span { font-size:14px; }
  :is(body.home,body.page,body.single-post) .tg-footer-explore a,
  :is(body.home,body.page,body.single-post) .tg-footer-contact a,
  :is(body.home,body.page,body.single-post) .tg-footer-location,
  :is(body.home,body.page,body.single-post) .tg-footer-contact p { font-size:16px; }
  :is(body.home,body.page,body.single-post) .tg-footer-copyright,
  :is(body.home,body.page,body.single-post) .tg-footer-legal a { font-size:14px; }
}

/* Mobile text scale (+2px) while preserving the existing one-screen geometry. */
@media (max-width:760px) {
  body.home .tg-new-footer .tg-latest-posts-head > span { font-size:10px; }
  body.home .tg-new-footer .tg-latest-posts-head h2 {
    font-size:clamp(29px, calc(7.8vw + 2px), 38px);
  }
  body.home .tg-new-footer .tg-latest-view-all { font-size:10.5px; }
  body.home .tg-new-footer .tg-latest-index { font-size:9px; }
  body.home .tg-new-footer .tg-latest-post-item h3 {
    font-size:clamp(14.5px, calc(3.55vw + 2px), 17.5px);
  }
  body.home .tg-new-footer .tg-latest-post-link { font-size:10.5px; }

  :is(body.home,body.page,body.single-post) .tg-footer-brand {
    font-size:clamp(33px, calc(8.8vw + 2px), 40px);
  }
  :is(body.home,body.page,body.single-post) .tg-footer-about > p { font-size:12px; }
  :is(body.home,body.page,body.single-post) .tg-footer-explore > span,
  :is(body.home,body.page,body.single-post) .tg-footer-contact > span { font-size:10px; }
  :is(body.home,body.page,body.single-post) .tg-footer-explore a,
  :is(body.home,body.page,body.single-post) .tg-footer-contact a,
  :is(body.home,body.page,body.single-post) .tg-footer-location,
  :is(body.home,body.page,body.single-post) .tg-footer-contact p { font-size:11px; }
  :is(body.home,body.page,body.single-post) .tg-footer-copyright { font-size:10.5px; }
  :is(body.home,body.page,body.single-post) .tg-footer-legal a { font-size:9.8px; }
}


/* v1.9.89 — shared footer context repair.
   Homepage obtains vertical sizing from its final-screen grid. Page/Single do not
   have that grid, so give the same shared component equivalent geometry here.
   Content, markup, colors, columns, typography and Customizer settings remain shared. */
@media (min-width:761px) {
  :is(body.page,body.single-post) .tg-shared-site-footer {
    width:100%;
    height:auto;
    min-height:0;
    max-height:none;
    margin:0;
    display:block;
    overflow:visible;
    background:#1f1f1f;
    color:#fff;
  }

  :is(body.page,body.single-post) .tg-shared-site-footer > .tg-footer-main {
    width:100%;
    height:auto;
    min-height:360px;
    margin:0;
    padding:clamp(62px,8vh,94px) 0;
    display:flex;
    align-items:center;
    overflow:visible;
    background:#1f1f1f;
    box-sizing:border-box;
  }

  :is(body.page,body.single-post) .tg-shared-site-footer > .tg-footer-main > .tg-footer-grid {
    width:min(calc(100% - 72px),1760px);
    height:auto;
    min-height:0;
    margin-inline:auto;
    padding:0;
    display:grid;
    grid-template-columns:minmax(0,1.65fr) minmax(150px,.52fr) minmax(245px,.78fr);
    grid-template-rows:auto;
    align-items:start;
    column-gap:clamp(22px,3vw,48px);
  }

  :is(body.page,body.single-post) .tg-shared-site-footer .tg-footer-about {
    width:100%;
    min-width:0;
  }

  :is(body.page,body.single-post) .tg-shared-site-footer .tg-footer-explore {
    width:max-content;
    min-width:150px;
    justify-self:end;
  }

  :is(body.page,body.single-post) .tg-shared-site-footer .tg-footer-contact {
    width:100%;
    min-width:0;
  }

  :is(body.page,body.single-post) .tg-shared-site-footer > .tg-footer-bottom {
    width:100%;
    height:auto;
    min-height:0;
    max-height:none;
    margin:0;
    padding:20px 0;
    display:block;
    overflow:visible;
    background:#000;
    box-sizing:border-box;
  }

  :is(body.page,body.single-post) .tg-shared-site-footer > .tg-footer-bottom > .tg-shell {
    width:min(calc(100% - 72px),1760px);
    min-width:0;
    height:auto;
    min-height:24px;
    margin-inline:auto;
    padding:0;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    column-gap:40px;
    box-sizing:border-box;
  }

  :is(body.page,body.single-post) .tg-shared-site-footer .tg-footer-copyright {
    min-width:0;
    min-height:24px;
    margin:0;
    display:flex;
    align-items:center;
  }

  :is(body.page,body.single-post) .tg-shared-site-footer .tg-footer-legal {
    min-width:0;
    min-height:24px;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:flex-end;
    gap:24px;
    flex-wrap:nowrap;
  }

  :is(body.page,body.single-post) .tg-shared-site-footer .tg-footer-legal a {
    height:auto;
    min-height:24px;
    display:inline-flex;
    align-items:center;
    white-space:nowrap;
  }
}

@media (max-width:760px) {
  :is(body.page,body.single-post) .tg-shared-site-footer {
    width:100%;
    height:auto;
    min-height:0;
    max-height:none;
    margin:0;
    display:block;
    overflow:visible;
    background:#1f1f1f;
  }

  :is(body.page,body.single-post) .tg-shared-site-footer > .tg-footer-main {
    width:100%;
    height:auto;
    min-height:0;
    max-height:none;
    margin:0;
    padding:14px 0;
    display:block;
    overflow:visible;
    background:#1f1f1f;
  }

  :is(body.page,body.single-post) .tg-shared-site-footer > .tg-footer-main > .tg-footer-grid {
    width:calc(100% - 36px);
    height:auto;
    min-height:0;
    margin:0 auto;
    padding:0;
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto auto;
    gap:12px 18px;
    align-content:start;
  }

  :is(body.page,body.single-post) .tg-shared-site-footer .tg-footer-about {
    grid-column:1 / -1;
  }

  :is(body.page,body.single-post) .tg-shared-site-footer > .tg-footer-bottom {
    width:100%;
    height:auto;
    min-height:84px;
    max-height:none;
    margin:0;
    padding:10px 0;
    display:flex;
    align-items:center;
    overflow:visible;
    background:#000;
  }

  :is(body.page,body.single-post) .tg-shared-site-footer > .tg-footer-bottom > .tg-shell {
    width:calc(100% - 36px);
    height:auto;
    min-height:0;
    margin:0 auto;
    padding:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:7px;
  }

  :is(body.page,body.single-post) .tg-shared-site-footer .tg-footer-legal {
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
    flex-wrap:wrap;
  }
}


/* v1.9.90 — Homepage final area = exactly one viewport.
   Composition: Latest Posts 35% / gray footer 50% / black legal footer 15%.
   This rule owns the final-screen geometry on both desktop and mobile. */
body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen] {
  width:100%;
  height:100svh;
  min-height:100svh;
  max-height:100svh;
  margin:0;
  padding:0;
  display:grid;
  grid-template-rows:35% 55% 10%;
  overflow:hidden;
  box-sizing:border-box;
}

body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen] > .tg-latest-posts,
body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen] > .tg-footer-main,
body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen] > .tg-footer-bottom {
  width:100%;
  height:100%;
  min-height:0;
  max-height:none;
  margin:0;
  box-sizing:border-box;
  overflow:hidden;
}

/* 35% — Latest Posts */
body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen] > .tg-latest-posts {
  display:flex;
  align-items:stretch;
}
body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen] > .tg-latest-posts > .tg-latest-posts-shell {
  width:100%;
  height:100%;
  min-height:0;
  box-sizing:border-box;
}

/* 50% — gray footer */
body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen] > .tg-footer-main {
  padding:0;
  display:flex;
  align-items:center;
  background:#1f1f1f;
}
body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen] > .tg-footer-main > .tg-footer-grid {
  min-height:0;
  max-height:100%;
}

/* 15% — black legal footer */
body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen] > .tg-footer-bottom {
  padding:0;
  display:flex;
  align-items:center;
  background:#000;
}
body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen] > .tg-footer-bottom > .tg-shell {
  height:100%;
  min-height:0;
  align-items:center;
}

/* Mobile: cancel the former multi-viewport footer behavior.
   The three areas keep the same 35/50/15 proportion inside one viewport. */
@media (max-width:760px) {
  body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen] {
    height:100svh;
    min-height:100svh;
    max-height:100svh;
    grid-template-rows:35% 55% 10%;
  }

  body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen] > .tg-latest-posts,
  body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen] > .tg-footer-main,
  body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen] > .tg-footer-bottom {
    height:100%;
    min-height:0;
    max-height:none;
  }

  body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen] > .tg-footer-main {
    padding:8px 0;
  }

  body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen] > .tg-footer-bottom {
    min-height:0;
    padding:6px 0;
  }
}


/* v1.9.91 — final-screen rebalance + Latest Posts gutter audit.
   Final viewport: 35% Latest Posts / 55% gray footer / 10% black footer.
   Latest Posts content now follows the exact shared homepage horizontal gutter. */
body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen] {
  grid-template-rows:35% 55% 10%;
}

/* Desktop: same left/right boundary as the homepage content system. */
@media (min-width:761px) {
  body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen]
  > .tg-latest-posts > .tg-latest-posts-shell {
    width:min(calc(100% - 72px),1760px);
    max-width:1760px;
    height:100%;
    min-height:0;
    margin-inline:auto;
    padding-left:0;
    padding-right:0;
    box-sizing:border-box;
  }
}

/* Mobile: same 16px-per-side visual gutter used by the homepage mobile system. */
@media (max-width:760px) {
  body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen]
  > .tg-latest-posts > .tg-latest-posts-shell {
    width:min(calc(100% - 32px),720px);
    max-width:720px;
    height:100%;
    min-height:0;
    margin-inline:auto;
    padding-left:0;
    padding-right:0;
    box-sizing:border-box;
  }
}


/* v1.9.92 — /articles/ definitive content boundary.
   WordPress posts index uses index.php, not page.php. Keep the article listing
   aligned to the same homepage gutter instead of inheriting an undefined .tg-shell width. */
body.blog .tg-index-shell,
body.archive .tg-index-shell,
body.search .tg-index-shell {
  width:100%;
  min-width:0;
  max-width:none;
  margin:0;
  padding:140px 0 90px;
  background:#fff;
  color:#0a0d12;
  box-sizing:border-box;
}

body.blog .tg-index-shell > .tg-articles-shell,
body.archive .tg-index-shell > .tg-articles-shell,
body.search .tg-index-shell > .tg-articles-shell {
  width:min(calc(100% - 72px),1760px);
  max-width:1760px;
  min-width:0;
  margin-inline:auto;
  padding:0;
  box-sizing:border-box;
}

body.blog .tg-articles-item,
body.archive .tg-articles-item,
body.search .tg-articles-item {
  width:100%;
  min-width:0;
  margin:0;
  padding:28px 0;
  border-bottom:1px solid rgba(10,13,18,.18);
  box-sizing:border-box;
}

body.blog .tg-articles-item:first-of-type,
body.archive .tg-articles-item:first-of-type,
body.search .tg-articles-item:first-of-type {
  border-top:1px solid rgba(10,13,18,.18);
}

body.blog .tg-articles-item > *,
body.archive .tg-articles-item > *,
body.search .tg-articles-item > * {
  max-width:100%;
  margin-left:0;
  margin-right:0;
}

@media (max-width:900px) {
  body.blog .tg-index-shell > .tg-articles-shell,
  body.archive .tg-index-shell > .tg-articles-shell,
  body.search .tg-index-shell > .tg-articles-shell {
    width:calc(100% - 48px);
  }
}

@media (max-width:620px) {
  body.blog .tg-index-shell,
  body.archive .tg-index-shell,
  body.search .tg-index-shell {
    padding:110px 0 70px;
  }

  body.blog .tg-index-shell > .tg-articles-shell,
  body.archive .tg-index-shell > .tg-articles-shell,
  body.search .tg-index-shell > .tg-articles-shell {
    width:calc(100% - 32px);
  }

  body.blog .tg-articles-item,
  body.archive .tg-articles-item,
  body.search .tg-articles-item {
    padding:22px 0;
  }
}


/* v1.9.94 — Homepage final screen follows the Single Page footer sizing.
   The gray + black footer keep the same dimensions/spacing as Page/Single.
   Latest Posts receives only the remaining height so the whole final area is exactly 1 viewport. */
body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen] {
  width:100%;
  height:100svh;
  min-height:100svh;
  max-height:100svh;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto auto;
  overflow:hidden;
}

/* Gray footer: mirror Page/Single desktop sizing. */
@media (min-width:761px) {
  body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen] > .tg-footer-main {
    width:100%;
    height:auto;
    min-height:360px;
    max-height:none;
    margin:0;
    padding:clamp(62px,8vh,94px) 0;
    display:flex;
    align-items:center;
    overflow:visible;
    background:#1f1f1f;
    box-sizing:border-box;
  }

  body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen]
  > .tg-footer-main > .tg-footer-grid {
    width:min(calc(100% - 72px),1760px);
    height:auto;
    min-height:0;
    max-height:none;
    margin-inline:auto;
    padding:0;
    display:grid;
    grid-template-columns:minmax(0,1.65fr) minmax(150px,.52fr) minmax(245px,.78fr);
    grid-template-rows:auto;
    align-items:start;
    column-gap:clamp(22px,3vw,48px);
  }

  /* Black legal footer: mirror Page/Single desktop sizing. */
  body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen] > .tg-footer-bottom {
    width:100%;
    height:auto;
    min-height:0;
    max-height:none;
    margin:0;
    padding:20px 0;
    display:block;
    overflow:visible;
    background:#000;
    box-sizing:border-box;
  }

  body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen]
  > .tg-footer-bottom > .tg-shell {
    width:min(calc(100% - 72px),1760px);
    height:auto;
    min-height:24px;
    margin-inline:auto;
    padding:0;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    column-gap:40px;
    box-sizing:border-box;
  }

  /* Latest Posts = remaining viewport height. */
  body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen] > .tg-latest-posts {
    width:100%;
    height:100%;
    min-height:0;
    max-height:none;
    margin:0;
    overflow:hidden;
  }
}

/* Mobile follows the same Page/Single footer geometry; Latest Posts gets the remainder. */
@media (max-width:760px) {
  body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen] {
    grid-template-rows:minmax(0,1fr) auto auto;
  }

  body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen] > .tg-footer-main {
    width:100%;
    height:auto;
    min-height:0;
    max-height:none;
    margin:0;
    padding:14px 0;
    display:block;
    overflow:visible;
    background:#1f1f1f;
  }

  body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen]
  > .tg-footer-main > .tg-footer-grid {
    width:calc(100% - 36px);
    height:auto;
    min-height:0;
    margin:0 auto;
    padding:0;
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto auto;
    gap:12px 18px;
    align-content:start;
  }

  body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen] .tg-footer-about {
    grid-column:1 / -1;
  }

  body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen] > .tg-footer-bottom {
    width:100%;
    height:auto;
    min-height:84px;
    max-height:none;
    margin:0;
    padding:10px 0;
    display:flex;
    align-items:center;
    overflow:visible;
    background:#000;
  }

  body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen]
  > .tg-footer-bottom > .tg-shell {
    width:calc(100% - 36px);
    height:auto;
    min-height:0;
    margin:0 auto;
    padding:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:7px;
  }

  body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen] > .tg-latest-posts {
    width:100%;
    height:100%;
    min-height:0;
    max-height:none;
    margin:0;
    overflow:hidden;
  }
}


/* v1.9.95 — footer colour parity.
   Homepage footer now uses the exact same text colours as the shared
   Single Post / Page footer, protected from homepage parent inheritance. */
body.home .tg-shared-site-footer .tg-footer-brand,
body.home .tg-shared-site-footer .tg-footer-explore > span,
body.home .tg-shared-site-footer .tg-footer-contact > span,
body.home .tg-shared-site-footer .tg-footer-explore a,
body.home .tg-shared-site-footer .tg-footer-contact a,
body.home .tg-shared-site-footer .tg-footer-contact a span,
body.home .tg-shared-site-footer .tg-footer-location,
body.home .tg-shared-site-footer .tg-footer-location span {
  color:#fff;
}

body.home .tg-shared-site-footer .tg-footer-about > p,
body.home .tg-shared-site-footer .tg-footer-contact > p,
body.home .tg-shared-site-footer .tg-footer-copyright,
body.home .tg-shared-site-footer .tg-footer-legal,
body.home .tg-shared-site-footer .tg-footer-legal a {
  color:#aaa;
}

body.home .tg-shared-site-footer .tg-footer-legal a:hover,
body.home .tg-shared-site-footer .tg-footer-explore a:hover,
body.home .tg-shared-site-footer .tg-footer-contact a:hover {
  color:#fff;
}

/* v1.9.95 — mobile Latest Posts rebuild.
   The section remains the flexible remainder of the final 1-viewport area,
   but its internal layout no longer inherits the old full-viewport mobile rules. */
@media (max-width:760px) {
  body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen]
  > .tg-latest-posts {
    width:100%;
    height:100%;
    min-height:0;
    max-height:none;
    margin:0;
    padding:0;
    display:flex;
    align-items:stretch;
    overflow:hidden;
    background:#f4f5f3;
    color:#0a0d12;
  }

  body.home .tg-rebuild > .tg-new-footer.tg-shared-site-footer[data-tg-screen]
  > .tg-latest-posts > .tg-latest-posts-shell {
    width:calc(100% - 32px);
    max-width:720px;
    height:100%;
    min-height:0;
    margin:0 auto;
    padding:12px 0;
    display:grid;
    grid-template-rows:auto minmax(0,1fr);
    gap:8px;
    overflow:hidden;
    box-sizing:border-box;
  }

  body.home .tg-shared-site-footer .tg-latest-posts-head {
    min-width:0;
    margin:0;
    padding:0;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-rows:auto auto;
    align-items:end;
    gap:3px 8px;
  }

  body.home .tg-shared-site-footer .tg-latest-posts-head > span {
    grid-column:1;
    grid-row:1;
    margin:0;
    font-size:9px;
    line-height:1.1;
    letter-spacing:.14em;
  }

  body.home .tg-shared-site-footer .tg-latest-posts-head h2 {
    grid-column:1;
    grid-row:2;
    min-width:0;
    margin:0;
    font-size:clamp(24px,7vw,32px);
    line-height:.98;
    white-space:normal;
  }

  body.home .tg-shared-site-footer .tg-latest-view-all {
    grid-column:2;
    grid-row:1 / 3;
    align-self:end;
    margin:0;
    padding:0;
    display:inline-flex;
    align-items:center;
    gap:5px;
    font-size:9px;
    line-height:1;
    white-space:nowrap;
  }

  body.home .tg-shared-site-footer .tg-latest-view-all svg {
    width:12px;
    height:12px;
  }

  body.home .tg-shared-site-footer .tg-latest-posts-list {
    min-height:0;
    height:100%;
    margin:0;
    padding:0;
    display:grid;
    grid-template-rows:repeat(3,minmax(0,1fr));
    overflow:hidden;
    border-top:1px solid rgba(10,13,18,.35);
  }

  body.home .tg-shared-site-footer .tg-latest-post-item {
    min-width:0;
    min-height:0;
    height:auto;
    margin:0;
    padding:5px 0;
    display:grid;
    grid-template-columns:24px minmax(0,1fr) auto;
    grid-template-areas:"index title link";
    align-items:center;
    gap:8px;
    overflow:hidden;
    border-bottom:1px solid rgba(10,13,18,.14);
  }

  body.home .tg-shared-site-footer .tg-latest-index {
    grid-area:index;
    width:22px;
    height:22px;
    min-width:22px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:8px;
    line-height:1;
  }

  body.home .tg-shared-site-footer .tg-latest-post-item h3 {
    grid-area:title;
    min-width:0;
    margin:0;
    font-size:12px;
    line-height:1.2;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  body.home .tg-shared-site-footer .tg-latest-post-link {
    grid-area:link;
    min-width:0;
    margin:0;
    display:inline-flex;
    align-items:center;
    gap:4px;
    font-size:8px;
    line-height:1;
    white-space:nowrap;
  }

  body.home .tg-shared-site-footer .tg-latest-post-link .tg-latest-arrow {
    width:22px;
    height:22px;
    flex:0 0 22px;
  }

  body.home .tg-shared-site-footer .tg-latest-post-link .tg-latest-arrow svg {
    width:11px;
    height:11px;
  }
}


/* v1.9.96 — Single Post / Page title +2px.
   Covers both the PHP templates and block-title variants. */
body.single-post .tg-single-heading > h1,
body.page:not(.home) .tg-page-shell > .tg-shell > article > h1,
body.single-post .tg-single-heading .wp-block-post-title,
body.single-post h1.wp-block-post-title,
body.page:not(.home) h1.wp-block-post-title {
  font-size:clamp(32px,4.5vw,56px);
  line-height:1.08;
}

@media (max-width:620px) {
  body.single-post .tg-single-heading > h1,
  body.page:not(.home) .tg-page-shell > .tg-shell > article > h1,
  body.single-post .tg-single-heading .wp-block-post-title,
  body.single-post h1.wp-block-post-title,
  body.page:not(.home) h1.wp-block-post-title {
    font-size:clamp(29px,9vw,40px);
  }
}

/* v1.9.96 — Articles listing title treatment.
   Blue translucent overlay/panel behind each article title only. */
body.blog .tg-articles-item h2,
body.archive .tg-articles-item h2,
body.search .tg-articles-item h2 {
  width:100%;
  margin:0 0 14px;
  padding:14px 18px;
  border:1px solid rgba(55,117,239,.28);
  border-radius:10px;
  background:rgba(55,117,239,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45);
  box-sizing:border-box;
}

body.blog .tg-articles-item h2 a,
body.archive .tg-articles-item h2 a,
body.search .tg-articles-item h2 a {
  color:#0a0d12;
  text-decoration:none;
}

body.blog .tg-articles-item h2:hover,
body.archive .tg-articles-item h2:hover,
body.search .tg-articles-item h2:hover {
  background:rgba(55,117,239,.20);
  border-color:rgba(55,117,239,.38);
}

/* v1.9.96 — /articles/ footer uses the same shared footer geometry as Page/Single.
   The blog index has a different body class, so explicitly include it here. */
@media (min-width:761px) {
  body.blog .tg-shared-site-footer,
  body.archive .tg-shared-site-footer,
  body.search .tg-shared-site-footer {
    width:100%;
    height:auto;
    min-height:0;
    max-height:none;
    margin:0;
    display:block;
    overflow:visible;
    background:#1f1f1f;
    color:#fff;
  }

  body.blog .tg-shared-site-footer > .tg-footer-main,
  body.archive .tg-shared-site-footer > .tg-footer-main,
  body.search .tg-shared-site-footer > .tg-footer-main {
    width:100%;
    height:auto;
    min-height:360px;
    margin:0;
    padding:clamp(62px,8vh,94px) 0;
    display:flex;
    align-items:center;
    overflow:visible;
    background:#1f1f1f;
    box-sizing:border-box;
  }

  body.blog .tg-shared-site-footer > .tg-footer-main > .tg-footer-grid,
  body.archive .tg-shared-site-footer > .tg-footer-main > .tg-footer-grid,
  body.search .tg-shared-site-footer > .tg-footer-main > .tg-footer-grid {
    width:min(calc(100% - 72px),1760px);
    height:auto;
    min-height:0;
    margin-inline:auto;
    padding:0;
    display:grid;
    grid-template-columns:minmax(0,1.65fr) minmax(150px,.52fr) minmax(245px,.78fr);
    grid-template-rows:auto;
    align-items:start;
    column-gap:clamp(22px,3vw,48px);
  }

  body.blog .tg-shared-site-footer .tg-footer-about,
  body.archive .tg-shared-site-footer .tg-footer-about,
  body.search .tg-shared-site-footer .tg-footer-about {
    width:100%;
    min-width:0;
  }

  body.blog .tg-shared-site-footer .tg-footer-explore,
  body.archive .tg-shared-site-footer .tg-footer-explore,
  body.search .tg-shared-site-footer .tg-footer-explore {
    width:max-content;
    min-width:150px;
    justify-self:end;
  }

  body.blog .tg-shared-site-footer .tg-footer-contact,
  body.archive .tg-shared-site-footer .tg-footer-contact,
  body.search .tg-shared-site-footer .tg-footer-contact {
    width:100%;
    min-width:0;
  }

  body.blog .tg-shared-site-footer > .tg-footer-bottom,
  body.archive .tg-shared-site-footer > .tg-footer-bottom,
  body.search .tg-shared-site-footer > .tg-footer-bottom {
    width:100%;
    height:auto;
    min-height:0;
    margin:0;
    padding:20px 0;
    display:block;
    overflow:visible;
    background:#000;
    box-sizing:border-box;
  }

  body.blog .tg-shared-site-footer > .tg-footer-bottom > .tg-shell,
  body.archive .tg-shared-site-footer > .tg-footer-bottom > .tg-shell,
  body.search .tg-shared-site-footer > .tg-footer-bottom > .tg-shell {
    width:min(calc(100% - 72px),1760px);
    min-width:0;
    min-height:24px;
    margin-inline:auto;
    padding:0;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    column-gap:40px;
    box-sizing:border-box;
  }
}

@media (max-width:760px) {
  body.blog .tg-shared-site-footer,
  body.archive .tg-shared-site-footer,
  body.search .tg-shared-site-footer {
    width:100%;
    height:auto;
    min-height:0;
    max-height:none;
    margin:0;
    display:block;
    overflow:visible;
    background:#1f1f1f;
  }

  body.blog .tg-shared-site-footer > .tg-footer-main,
  body.archive .tg-shared-site-footer > .tg-footer-main,
  body.search .tg-shared-site-footer > .tg-footer-main {
    width:100%;
    height:auto;
    min-height:0;
    margin:0;
    padding:14px 0;
    display:block;
    overflow:visible;
    background:#1f1f1f;
  }

  body.blog .tg-shared-site-footer > .tg-footer-main > .tg-footer-grid,
  body.archive .tg-shared-site-footer > .tg-footer-main > .tg-footer-grid,
  body.search .tg-shared-site-footer > .tg-footer-main > .tg-footer-grid {
    width:calc(100% - 36px);
    margin:0 auto;
    padding:0;
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto auto;
    gap:12px 18px;
  }

  body.blog .tg-shared-site-footer .tg-footer-about,
  body.archive .tg-shared-site-footer .tg-footer-about,
  body.search .tg-shared-site-footer .tg-footer-about {
    grid-column:1 / -1;
  }

  body.blog .tg-shared-site-footer > .tg-footer-bottom,
  body.archive .tg-shared-site-footer > .tg-footer-bottom,
  body.search .tg-shared-site-footer > .tg-footer-bottom {
    width:100%;
    height:auto;
    min-height:84px;
    margin:0;
    padding:10px 0;
    display:flex;
    align-items:center;
    overflow:visible;
    background:#000;
  }

  body.blog .tg-shared-site-footer > .tg-footer-bottom > .tg-shell,
  body.archive .tg-shared-site-footer > .tg-footer-bottom > .tg-shell,
  body.search .tg-shared-site-footer > .tg-footer-bottom > .tg-shell {
    width:calc(100% - 36px);
    margin:0 auto;
    padding:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:7px;
  }
}


/* v1.9.98 — /articles/ metadata: show post tags instead of date. */
body.blog .tg-articles-tags,
body.archive .tg-articles-tags,
body.search .tg-articles-tags {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px;
  font-size:13px;
  line-height:1.3;
}

body.blog .tg-articles-tags a,
body.archive .tg-articles-tags a,
body.search .tg-articles-tags a {
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 10px;
  border:1px solid #E2040D;
  border-radius:999px;
  background:#fff;
  color:#0a0d12;
  text-decoration:none;
}

body.blog .tg-articles-tags a:hover,
body.archive .tg-articles-tags a:hover,
body.search .tg-articles-tags a:hover {
  border-color:#E2040D;
  background:rgba(226,4,13,.06);
}

@media (max-width:620px) {
  body.blog .tg-articles-tags,
  body.archive .tg-articles-tags,
  body.search .tg-articles-tags {
    gap:6px;
    margin-top:14px;
    font-size:11px;
  }

  body.blog .tg-articles-tags a,
  body.archive .tg-articles-tags a,
  body.search .tg-articles-tags a {
    min-height:27px;
    padding:5px 9px;
  }
}


/* v1.10.0 — definitive /articles/ shared-footer parity.
   The posts index uses body.blog, so it must explicitly receive every
   Page/Single footer ownership rule, including the legal nav direction. */
@media (min-width:761px) {
  :is(body.blog,body.archive,body.search) .tg-shared-site-footer {
    width:100%;
    height:auto;
    min-height:0;
    max-height:none;
    margin:0;
    display:block;
    overflow:visible;
    background:#1f1f1f;
    color:#fff;
  }

  :is(body.blog,body.archive,body.search) .tg-shared-site-footer > .tg-footer-main {
    width:100%;
    height:auto;
    min-height:360px;
    max-height:none;
    margin:0;
    padding:clamp(62px,8vh,94px) 0;
    display:flex;
    align-items:center;
    overflow:visible;
    background:#1f1f1f;
    box-sizing:border-box;
  }

  :is(body.blog,body.archive,body.search) .tg-shared-site-footer > .tg-footer-main > .tg-footer-grid {
    width:min(calc(100% - 72px),1760px);
    height:auto;
    min-height:0;
    margin-inline:auto;
    padding:0;
    display:grid;
    grid-template-columns:minmax(0,1.65fr) minmax(150px,.52fr) minmax(245px,.78fr);
    grid-template-rows:auto;
    align-items:start;
    column-gap:clamp(22px,3vw,48px);
  }

  :is(body.blog,body.archive,body.search) .tg-shared-site-footer .tg-footer-about {
    width:100%;
    min-width:0;
  }

  :is(body.blog,body.archive,body.search) .tg-shared-site-footer .tg-footer-explore {
    width:max-content;
    min-width:150px;
    justify-self:end;
  }

  :is(body.blog,body.archive,body.search) .tg-shared-site-footer .tg-footer-contact {
    width:100%;
    min-width:0;
  }

  :is(body.blog,body.archive,body.search) .tg-shared-site-footer > .tg-footer-bottom {
    width:100%;
    height:auto;
    min-height:0;
    max-height:none;
    margin:0;
    padding:20px 0;
    display:block;
    overflow:visible;
    background:#000;
    box-sizing:border-box;
  }

  :is(body.blog,body.archive,body.search) .tg-shared-site-footer > .tg-footer-bottom > .tg-shell {
    width:min(calc(100% - 72px),1760px);
    min-width:0;
    height:auto;
    min-height:24px;
    margin-inline:auto;
    padding:0;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    column-gap:40px;
    box-sizing:border-box;
  }

  :is(body.blog,body.archive,body.search) .tg-shared-site-footer .tg-footer-copyright {
    min-width:0;
    min-height:24px;
    margin:0;
    display:flex;
    align-items:center;
  }

  :is(body.blog,body.archive,body.search) .tg-shared-site-footer .tg-footer-legal {
    min-width:0;
    min-height:24px;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:flex-end;
    gap:24px;
    flex-wrap:nowrap;
  }

  :is(body.blog,body.archive,body.search) .tg-shared-site-footer .tg-footer-legal a {
    height:auto;
    min-height:24px;
    display:inline-flex;
    align-items:center;
    white-space:nowrap;
  }
}

@media (max-width:760px) {
  :is(body.blog,body.archive,body.search) .tg-shared-site-footer {
    width:100%;
    height:auto;
    min-height:0;
    max-height:none;
    margin:0;
    display:block;
    overflow:visible;
    background:#1f1f1f;
  }

  :is(body.blog,body.archive,body.search) .tg-shared-site-footer > .tg-footer-main {
    width:100%;
    height:auto;
    min-height:0;
    max-height:none;
    margin:0;
    padding:14px 0;
    display:block;
    overflow:visible;
    background:#1f1f1f;
  }

  :is(body.blog,body.archive,body.search) .tg-shared-site-footer > .tg-footer-main > .tg-footer-grid {
    width:calc(100% - 36px);
    height:auto;
    min-height:0;
    margin:0 auto;
    padding:0;
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto auto;
    gap:12px 18px;
    align-content:start;
  }

  :is(body.blog,body.archive,body.search) .tg-shared-site-footer .tg-footer-about {
    grid-column:1 / -1;
  }

  :is(body.blog,body.archive,body.search) .tg-shared-site-footer > .tg-footer-bottom {
    width:100%;
    height:auto;
    min-height:84px;
    max-height:none;
    margin:0;
    padding:10px 0;
    display:flex;
    align-items:center;
    overflow:visible;
    background:#000;
  }

  :is(body.blog,body.archive,body.search) .tg-shared-site-footer > .tg-footer-bottom > .tg-shell {
    width:calc(100% - 36px);
    height:auto;
    min-height:0;
    margin:0 auto;
    padding:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:7px;
  }

  :is(body.blog,body.archive,body.search) .tg-shared-site-footer .tg-footer-copyright {
    margin:0;
  }

  :is(body.blog,body.archive,body.search) .tg-shared-site-footer .tg-footer-legal {
    margin:0;
    padding:0;
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
    flex-wrap:wrap;
  }

  :is(body.blog,body.archive,body.search) .tg-shared-site-footer .tg-footer-legal a {
    display:inline-flex;
    align-items:center;
    white-space:nowrap;
  }
}
