/* TDC Elementor child theme: brand CSS that Elementor's settings can't express.
   Colours and fonts: TDC Brand Map v2 (Colour and Typography sections).
   Page-level colours, fonts and spacing live in the Elementor kit (Site Settings). */
:root{
  --tdc-night:#0B2A20;  /* TDC Night Green */
  --tdc-deep:#143D2F;   /* TDC Deep Green (primary) */
  --tdc-gold:#C9A24A;   /* Sovereign Gold (accent: fills, bars, large type; never small text on white) */
  --tdc-ink:#111111; --tdc-slate:#5F6368; --tdc-mist:#F3F5F1; --tdc-line:#D9DDD8; --tdc-white:#FFFFFF;
  --tdc-radius:14px; --tdc-max:1140px;
}
body{font-family:Poppins,Arial,system-ui,sans-serif;color:var(--tdc-slate);-webkit-font-smoothing:antialiased}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
[id]{scroll-margin-top:90px}
:focus-visible{outline:3px solid var(--tdc-deep);outline-offset:3px}
.tdc-on-dark :focus-visible,.tdc-site-footer :focus-visible,.elementor-location-footer :focus-visible{outline-color:var(--tdc-gold)}
.skip-link.screen-reader-text:focus{background:var(--tdc-gold);color:var(--tdc-ink);font-weight:600;border-radius:8px}

/* ---------- Fallback header (only when no Elementor Pro header) ---------- */
.tdc-container{width:min(100% - 2.5rem,var(--tdc-max));margin-inline:auto}
.tdc-site-header{background:var(--tdc-white);border-bottom:1px solid var(--tdc-line);position:sticky;top:0;z-index:50;font-family:Poppins,Arial,sans-serif}
.admin-bar .tdc-site-header{top:32px}
@media (max-width:782px){.admin-bar .tdc-site-header{top:0;position:relative}}
.tdc-header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:72px}
.tdc-brand{display:inline-flex;align-items:center}
.tdc-brand img{height:44px;width:auto;display:block}
.tdc-site-nav{display:flex;align-items:center;gap:.4rem}
.tdc-menu{list-style:none;margin:0;padding:0;display:flex;gap:.25rem;align-items:center}
.tdc-menu a,.tdc-nav-cta{display:block;padding:.5rem .75rem;border-radius:8px;text-decoration:none;color:var(--tdc-ink);font-weight:500;font-size:.97rem;line-height:1.6}
.tdc-menu a:hover{background:var(--tdc-mist);color:var(--tdc-ink)}
.tdc-menu a[aria-current="page"],.tdc-menu .current-menu-item>a{background:var(--tdc-mist);box-shadow:inset 0 -3px 0 var(--tdc-gold)}
.tdc-nav-cta{background:var(--tdc-night);color:var(--tdc-white)!important;margin-left:.4rem}
.tdc-nav-cta:hover{background:var(--tdc-deep)}
.tdc-nav-cta[aria-current="page"]{box-shadow:inset 0 -3px 0 var(--tdc-gold)}
.tdc-nav-toggle{display:none;background:none;border:2px solid var(--tdc-night);color:var(--tdc-night);border-radius:8px;padding:.45rem .8rem;font:600 .95rem Poppins,Arial,sans-serif;cursor:pointer}
@media (max-width:900px){
  .tdc-nav-toggle{display:inline-block}
  .tdc-site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--tdc-white);border-bottom:1px solid var(--tdc-line);padding:.5rem 1.25rem 1rem;flex-direction:column;align-items:stretch}
  .tdc-site-nav.is-open{display:flex}
  .tdc-menu{flex-direction:column;align-items:stretch}
  .tdc-nav-cta{margin:.4rem 0 0;text-align:center}
}
@media (max-width:480px){.tdc-brand img{height:36px}}

/* ---------- Fallback footer (only when no Elementor Pro footer) ---------- */
.tdc-site-footer{background:var(--tdc-night);color:var(--tdc-line);padding:3.25rem 0 2rem;font:400 .95rem/1.6 Poppins,Arial,sans-serif}
.tdc-site-footer a{color:var(--tdc-white);text-decoration:underline;text-underline-offset:3px}
.tdc-site-footer a:hover{color:var(--tdc-gold)}
.tdc-footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem}
@media (max-width:760px){.tdc-footer-grid{grid-template-columns:1fr}}
.tdc-site-footer h2{color:var(--tdc-white);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin:0 0 .75rem}
.tdc-site-footer ul{list-style:none;margin:0;padding:0}
.tdc-site-footer li{margin-bottom:.35rem}
.tdc-footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:2.25rem;padding-top:1.25rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.85rem}

/* Footer wordmark = width of the motto below it (fallback footer AND the Elementor footer
   template: give the brand container the CSS class "tdc-footer-brand"). */
.tdc-footer-brand{display:flex;flex-direction:column;align-items:flex-start;width:max-content;max-width:100%}
.tdc-footer-brand .tdc-footer-logo,
.tdc-footer-brand .elementor-widget-image,
.tdc-footer-brand .elementor-widget-image img{width:0!important;min-width:100%;height:auto;max-width:none}
.tdc-footer-brand .tdc-footer-logo{display:block;margin-bottom:.85rem}
.tdc-footer-tag,.tdc-footer-brand .tdc-footer-tag .elementor-heading-title{margin:0;white-space:nowrap;color:var(--tdc-white);font-weight:600;letter-spacing:.04em;font-size:.95rem}
.e-con.tdc-footer-brand{--width:max-content;width:max-content;flex-grow:0}

/* ---------- Helpers used by the Elementor pages (Advanced > CSS Classes) ---------- */
/* Eyebrow label with a short gold bar (Brand Map: "all caps, with a short gold bar") */
.tdc-eyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:.6rem}
.tdc-eyebrow .elementor-heading-title::before{content:"";width:28px;height:3px;background:var(--tdc-gold);border-radius:2px;flex:none}
/* Faint gold grid on dark heroes */
.tdc-grid-bg{position:relative;overflow:hidden}
.tdc-grid-bg::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(201,162,74,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(201,162,74,.07) 1px,transparent 1px);background-size:40px 40px;z-index:0}
.tdc-grid-bg>.e-con-inner,.tdc-grid-bg>.elementor-element{position:relative;z-index:1}
/* Tagline: gold middle dots */
.tdc-tagline .elementor-heading-title span,.tdc-footer-tag span{color:var(--tdc-gold)}
/* "Coming soon" tag inside an Icon Box title */
.tdc-tag-soon{display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:.2rem .6rem;border-radius:999px;vertical-align:middle;line-height:1.5;background:var(--tdc-deep);color:var(--tdc-gold);margin-left:.35rem}
/* Dashed border for "coming soon" cards is set in the container's Border settings. */
/* CTA band body link */
.tdc-on-dark a:not(.elementor-button){color:var(--tdc-white)}
/* Pro Form widget: brand the select arrow and focus ring */
.elementor-form .elementor-field-textual:focus{outline:3px solid var(--tdc-deep);outline-offset:1px;box-shadow:none}
.elementor-form .elementor-field-group .elementor-select-wrapper::before{color:var(--tdc-ink)}
/* Text Editor widgets: no trailing paragraph gap (spacing is set on the widgets) */
.elementor-widget-text-editor p:last-child{margin-bottom:0}
.elementor-widget-text-editor p{margin-block-start:0}
/* "More" links in cards sit at the bottom */
.tdc-card .tdc-more{margin-top:auto}
.tdc-more a{text-decoration:underline;text-underline-offset:3px}
/* Pro Theme Builder footer: links underlined like the HTML version */
.tdc-site-footer-el a:not(.elementor-button),.tdc-site-footer-el a .elementor-icon-list-text{text-decoration:underline;text-underline-offset:3px}
.tdc-site-footer-el a:not(.elementor-button):hover,.tdc-site-footer-el a:hover .elementor-icon-list-text{color:var(--tdc-gold)}
