/* =========================================================
   Toutelaguinee Layout Authority — v2.1.1
   Deep cleanup layer: one container, one vertical rhythm, one breadcrumb.
   This file intentionally loads LAST and overrides older emergency patches.
   ========================================================= */
:root{
  --tlg-layout-max:1180px;
  --tlg-layout-gutter:16px;
  --tlg-layout-top:clamp(28px,5vw,76px);
  --tlg-layout-bottom:clamp(44px,7vw,88px);
  --tlg-layout-crumb-gap:22px;
  --tlg-layout-section-gap:clamp(28px,4.5vw,56px);
  --tlg-layout-card-border:#dfe5ec;
  --tlg-layout-red:#d71920;
  --tlg-layout-ink:#071526;
  --tlg-layout-muted:#5b6877;
}

/* Header is sticky in document flow; no page should compensate with random offsets. */
body.tlg-body .tlg-site-header,
body.tlg-body header.tlg-site-header,
body.tlg-body .tlg-ohio-header{
  position:sticky!important;
  top:0!important;
  z-index:9999!important;
  margin:0!important;
  transform:none!important;
}
body.admin-bar .tlg-site-header,
body.admin-bar header.tlg-site-header,
body.admin-bar .tlg-ohio-header{top:32px!important;}

/* One authoritative page shell for every non-home route. */
body.tlg-body:not(.home):not(.front-page) main,
body.tlg-body:not(.home):not(.front-page) main#content,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell,
body.tlg-body:not(.home):not(.front-page) main.tlg-main,
body.tlg-body:not(.home):not(.front-page) main.tlg-news,
body.tlg-body:not(.home):not(.front-page) main.tlg-submit-shell,
body.tlg-body:not(.home):not(.front-page) main.tlg-account-shell,
body.tlg-body:not(.home):not(.front-page) main.tlg-single-wrap,
body.tlg-body:not(.home):not(.front-page) main.tlg-vivre-portal,
body.tlg-body:not(.home):not(.front-page) main.tlg-work-portal,
body.tlg-body:not(.home):not(.front-page) main.tlg-escape-portal,
body.tlg-body:not(.home):not(.front-page) main.tlg-civic-section-page{
  display:block!important;
  width:100%!important;
  max-width:var(--tlg-layout-max)!important;
  margin:0 auto!important;
  padding:var(--tlg-layout-top) var(--tlg-layout-gutter) var(--tlg-layout-bottom)!important;
  box-sizing:border-box!important;
  clear:both!important;
  background:transparent!important;
}

/* Prevent old feature wrappers, Bootstrap containers and emergency shells from creating second layouts. */
body.tlg-body:not(.home):not(.front-page) main.tlg-shell > .container,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .container,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell > section,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell > article,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-page-shell,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-archive-wrap,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-single-wrap,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-archive-shell,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-single-shell,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-ohio-section-intro,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-news-hero,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-news-search,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-news-filter-panel,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-news-results,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-submit-hero,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-submit-grid,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-submit-form,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-submit-rules,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-account-hero,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-account-grid,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-account-panel,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-vp-section,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-work-section,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-escape-section,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-vp-how,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-work-tiers,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-escape-tiers{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}

/* Kill vertical drift from older module styles. */
body.tlg-body:not(.home):not(.front-page) main.tlg-shell > :first-child,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .container > :first-child,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell article > :first-child,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell section > :first-child{
  margin-top:0!important;
}
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-archive-wrap,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-single-wrap,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-page-shell,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-ohio-section-intro,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-news-hero,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-submit-hero,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-account-hero{
  padding-top:0!important;
  margin-top:0!important;
}

/* Section rhythm: consistent gaps between content groups. */
body.tlg-body:not(.home):not(.front-page) main.tlg-shell > section + section,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell > article + section,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-page-shell + section,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-submit-hero + .tlg-submit-grid,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-submit-grid + .tlg-submit-rules,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-account-hero + .tlg-account-grid,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-news-hero + .tlg-news-filter-panel,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-news-filter-panel + .tlg-news-results{
  margin-top:var(--tlg-layout-section-gap)!important;
}

/* One breadcrumb visual and position. */
body.tlg-body main.tlg-shell .tlg-breadcrumb-line,
body.tlg-body main.tlg-shell .tlg-submit-breadcrumb,
body.tlg-body main.tlg-shell .tlg-single-breadcrumb,
body.tlg-body main.tlg-shell nav[class*="breadcrumb"],
body.tlg-body main.tlg-shell div[class*="breadcrumb"]{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:.45rem!important;
  width:100%!important;
  max-width:100%!important;
  margin:0 0 var(--tlg-layout-crumb-gap)!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  color:var(--tlg-layout-muted)!important;
  font-size:14px!important;
  line-height:1.25!important;
  font-weight:800!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
body.tlg-body main.tlg-shell .tlg-breadcrumb-line a,
body.tlg-body main.tlg-shell .tlg-submit-breadcrumb a,
body.tlg-body main.tlg-shell .tlg-single-breadcrumb a,
body.tlg-body main.tlg-shell nav[class*="breadcrumb"] a,
body.tlg-body main.tlg-shell div[class*="breadcrumb"] a{
  color:var(--tlg-layout-red)!important;
  text-decoration:none!important;
  font:inherit!important;
}
body.tlg-body main.tlg-shell .tlg-breadcrumb-line strong,
body.tlg-body main.tlg-shell .tlg-submit-breadcrumb strong,
body.tlg-body main.tlg-shell .tlg-single-breadcrumb strong,
body.tlg-body main.tlg-shell nav[class*="breadcrumb"] strong,
body.tlg-body main.tlg-shell div[class*="breadcrumb"] strong{
  color:#465568!important;
  font:inherit!important;
}

/* Hero/title typography stays compact and consistent. */
body.tlg-body main.tlg-shell h1,
body.tlg-body main.tlg-shell .tlg-single-title,
body.tlg-body main.tlg-shell .tlg-page-title{
  font-size:clamp(34px,3.25vw,48px)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
  font-weight:850!important;
  color:var(--tlg-layout-ink)!important;
  max-width:100%!important;
  margin:0 0 14px!important;
}
body.tlg-body main.tlg-shell h2{font-size:clamp(24px,2vw,34px)!important;line-height:1.12!important;letter-spacing:-.025em!important;}
body.tlg-body main.tlg-shell h3{font-size:clamp(18px,1.2vw,23px)!important;line-height:1.2!important;}
body.tlg-body main.tlg-shell p,
body.tlg-body main.tlg-shell li,
body.tlg-body main.tlg-shell input,
body.tlg-body main.tlg-shell select,
body.tlg-body main.tlg-shell textarea,
body.tlg-body main.tlg-shell button{
  font-size:clamp(15px,.35vw + 14px,17px)!important;
  line-height:1.55!important;
}

/* Portal image heroes are no longer full-page layout exceptions. */
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-ohio-section-hero{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-ohio-section-hero + .tlg-ohio-section-intro{
  margin-top:var(--tlg-layout-section-gap)!important;
}

/* Cards/forms: same border, no random shadows/rounding. */
body.tlg-body main.tlg-shell .tlg-submit-card,
body.tlg-body main.tlg-shell .tlg-submit-rules,
body.tlg-body main.tlg-shell .tlg-submit-form,
body.tlg-body main.tlg-shell .tlg-account-card,
body.tlg-body main.tlg-shell .tlg-account-panel,
body.tlg-body main.tlg-shell .tlg-single-shell,
body.tlg-body main.tlg-shell .tlg-news-filter-panel,
body.tlg-body main.tlg-shell .tlg-news-card,
body.tlg-body main.tlg-shell .tlg-archive-card{
  border:1px solid var(--tlg-layout-card-border)!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* Single article special cleanup: no oversized blank top area. */
body.tlg-body.single main.tlg-shell .tlg-single-back{display:none!important;}
body.tlg-body.single main.tlg-shell article.tlg-single-shell{padding:0!important;border:0!important;background:transparent!important;}
body.tlg-body.single main.tlg-shell .tlg-single-header-copy{padding:0!important;margin:0!important;border:0!important;}

@media (max-width:782px){
  body.admin-bar .tlg-site-header,
  body.admin-bar header.tlg-site-header,
  body.admin-bar .tlg-ohio-header{top:46px!important;}
}
@media (max-width:700px){
  :root{--tlg-layout-top:24px;--tlg-layout-bottom:56px;--tlg-layout-section-gap:28px;--tlg-layout-crumb-gap:16px;}
  body.tlg-body main.tlg-shell h1,
  body.tlg-body main.tlg-shell .tlg-single-title,
  body.tlg-body main.tlg-shell .tlg-page-title{font-size:clamp(28px,8vw,36px)!important;}
  body.tlg-body main.tlg-shell .tlg-breadcrumb-line,
  body.tlg-body main.tlg-shell .tlg-submit-breadcrumb,
  body.tlg-body main.tlg-shell .tlg-single-breadcrumb,
  body.tlg-body main.tlg-shell nav[class*="breadcrumb"],
  body.tlg-body main.tlg-shell div[class*="breadcrumb"]{font-size:13px!important;}
}
