/* =========================================================
   Toutelaguinee Clean Layout System — v2.1.0
   One page rhythm for all pages, section pages, articles, listings,
   submit pages, account pages and guide pages.
   ========================================================= */
:root{
  --tlg-shell-max:1180px;
  --tlg-shell-gutter:16px;
  --tlg-shell-top:clamp(28px,5vw,76px);
  --tlg-shell-bottom:clamp(42px,7vw,88px);
  --tlg-breadcrumb-space:clamp(18px,2vw,24px);
  --tlg-card-border:#dfe5ec;
}

/* One real outer shell. Every <main> now carries .tlg-shell; older
   feature classes remain only as content hooks, not layout systems. */
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-shell,
body.tlg-body:not(.home):not(.front-page) main.tlg-civic-section-page,
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{
  display:block!important;
  width:100%!important;
  max-width:var(--tlg-shell-max)!important;
  margin:0 auto!important;
  padding:var(--tlg-shell-top) var(--tlg-shell-gutter) var(--tlg-shell-bottom)!important;
  box-sizing:border-box!important;
  background:transparent!important;
}

/* Remove inherited/old emergency offsets. */
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-news,
body.tlg-body:not(.home):not(.front-page) main.tlg-single-shell{
  margin-top:0!important;
}

/* Feature wrappers are now inner content only. They must not create
   another page width, second top rhythm, or side gutter. */
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 .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-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-ohio-section-intro,
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{
  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;
}

/* Hero/cards/content blocks start immediately after breadcrumb.
   No page gets a hidden second top margin. */
body.tlg-body:not(.home):not(.front-page) main.tlg-shell > :first-child{
  margin-top:0!important;
}
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,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-single-card,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell article.tlg-single-shell,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell .tlg-ohio-section-hero{
  margin-top:0!important;
}

/* One breadcrumb system. */
body.tlg-body main.tlg-shell .tlg-breadcrumb-line,
body.tlg-body main.tlg-shell .tlg-single-breadcrumb,
body.tlg-body main.tlg-shell .tlg-submit-breadcrumb,
body.tlg-body main.tlg-shell .tlg-vp-breadcrumb,
body.tlg-body main.tlg-shell .tlg-work-breadcrumb,
body.tlg-body main.tlg-shell .tlg-escape-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;
  margin:0 0 var(--tlg-breadcrumb-space)!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  color:#465568!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-single-breadcrumb a,
body.tlg-body main.tlg-shell .tlg-submit-breadcrumb a,
body.tlg-body main.tlg-shell .tlg-vp-breadcrumb a,
body.tlg-body main.tlg-shell .tlg-work-breadcrumb a,
body.tlg-body main.tlg-shell .tlg-escape-breadcrumb a,
body.tlg-body main.tlg-shell nav[class*="breadcrumb"] a,
body.tlg-body main.tlg-shell div[class*="breadcrumb"] a{
  color:#c41230!important;
  text-decoration:none!important;
  font:inherit!important;
}
body.tlg-body main.tlg-shell .tlg-breadcrumb-line + *,
body.tlg-body main.tlg-shell .tlg-single-breadcrumb + *,
body.tlg-body main.tlg-shell .tlg-submit-breadcrumb + *,
body.tlg-body main.tlg-shell .tlg-vp-breadcrumb + *,
body.tlg-body main.tlg-shell .tlg-work-breadcrumb + *,
body.tlg-body main.tlg-shell .tlg-escape-breadcrumb + *{
  margin-top:0!important;
}

/* Common panel/card borders align visually across modules. */
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-account-card,
body.tlg-body main.tlg-shell .tlg-account-panel,
body.tlg-body main.tlg-shell .tlg-single-card,
body.tlg-body main.tlg-shell article.tlg-single-shell,
body.tlg-body main.tlg-shell .tlg-news-filter-panel,
body.tlg-body main.tlg-shell .tlg-archive-card{
  border-color:var(--tlg-card-border)!important;
}

/* Portal pages with image heroes keep their hero visual, but their intro/content
   below uses the same shell width/gutter rhythm. */
body.tlg-body:not(.home):not(.front-page) main.tlg-shell.tlg-vivre-portal,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell.tlg-work-portal,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell.tlg-escape-portal{
  max-width:none!important;
  padding-left:0!important;
  padding-right:0!important;
}
body.tlg-body:not(.home):not(.front-page) main.tlg-shell.tlg-vivre-portal > section:not(.tlg-ohio-section-hero),
body.tlg-body:not(.home):not(.front-page) main.tlg-shell.tlg-work-portal > section:not(.tlg-ohio-section-hero),
body.tlg-body:not(.home):not(.front-page) main.tlg-shell.tlg-escape-portal > section:not(.tlg-ohio-section-hero),
body.tlg-body:not(.home):not(.front-page) main.tlg-shell.tlg-vivre-portal > .tlg-breadcrumb-line,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell.tlg-work-portal > .tlg-breadcrumb-line,
body.tlg-body:not(.home):not(.front-page) main.tlg-shell.tlg-escape-portal > .tlg-breadcrumb-line{
  width:100%!important;
  max-width:var(--tlg-shell-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:var(--tlg-shell-gutter)!important;
  padding-right:var(--tlg-shell-gutter)!important;
  box-sizing:border-box!important;
}

@media (max-width:640px){
  :root{
    --tlg-shell-top:24px;
    --tlg-shell-bottom:56px;
    --tlg-breadcrumb-space:16px;
  }
  body.tlg-body main.tlg-shell .tlg-breadcrumb-line,
  body.tlg-body main.tlg-shell .tlg-single-breadcrumb,
  body.tlg-body main.tlg-shell .tlg-submit-breadcrumb,
  body.tlg-body main.tlg-shell .tlg-vp-breadcrumb,
  body.tlg-body main.tlg-shell .tlg-work-breadcrumb,
  body.tlg-body main.tlg-shell .tlg-escape-breadcrumb,
  body.tlg-body main.tlg-shell nav[class*="breadcrumb"],
  body.tlg-body main.tlg-shell div[class*="breadcrumb"]{
    font-size:13px!important;
  }
}
