#header{
    height: auto!important;
}
th {
  letter-spacing: 2px;
}

td {
  letter-spacing: 1px;
}


table {
  table-layout: fixed;
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #bfbfbf;
}

thead th:nth-child(1) {
  width: 30%;
}

thead th:nth-child(2) {
  width: 20%;
}

thead th:nth-child(3) {
  width: 15%;
}

thead th:nth-child(4) {
  width: 35%;
}

th,
td {
  padding: 20px;
}

thead th,
tfoot th,
tfoot td {
  border: 1px solid #bfbfbf;
}
tbody tr:nth-child(odd) {
  background-color: #f2f2f2;
}

tbody tr:nth-child(even) {
  background-color: white;
}


caption {
  font-family: "Rock Salt", cursive;
  padding: 20px;
  font-style: italic;
  caption-side: bottom;
  color: #666;
  text-align: right;
  letter-spacing: 1px;
}

.article-item {
 border: 1px solid #ddd;
 border-radius: 8px;
 transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.article-item:hover {
 box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
 transform: translateY(-10px);
}

.article-img img {
 border-top-left-radius: 8px;
 border-top-right-radius: 8px;
}

.article-content h2 {
 font-size: 1.25rem;
 margin-top: 1rem;
}

.article-content p {
 font-size: 0.95rem;
 color: #6c757d;
}


.archive-item {
 border-radius: 12px;
 overflow: hidden;
 transition: all 0.3s ease;
 position: relative;
}

.archive-img-wrapper {
 position: relative;
 overflow: hidden;
 border-bottom: 5px solid #108ac1;
}

.archive-img {
 transition: transform 0.5s ease;
 width: 100%;
 height: auto;
}

.archive-item:hover .archive-img {
 transform: scale(1.1);
}

.archive-content {
 background-color: #fff;
 padding: 20px;
 border-top: 3px solid #108ac1;
 transition: background-color 0.3s ease;
}

.archive-item:hover .archive-content {
 background-color: #f1f1f1;
}

.archive-title {
 font-size: 1.2rem;
 transition: color 0.3s ease;
}

.archive-item:hover .archive-title {
 color: #108ac1;
}

.archive-description {
 font-size: 0.95rem;
 color: #666;
}

.aboutImg img{
   width: 100%;
}
.hamburger-icon {
   display: none;
}

div.headerCSS {
   top:0;
   left:0;
   width:100%;
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: 10px 20px;
}
.logo-text{
   color:white;
}

.hamburger-icon{
   border:none;
   background-color:transparent;
}

.hamburger-icon .fa-bars,
.hamburger-icon .fa-x{
   font-size:1rem;
   cursor:pointer;
}

.hamburger-icon input[type="checkbox"] {
   appearance: none;
}
.navigation li{
   list-style-type: none;
}
.navigation {
   display: flex;
   gap: 1rem;
}


@media screen and (max-width: 600px) {
   div.headerCSS {
      display: block;
 }
 .navigation {
  padding: 0;
  height:0;
  overflow:hidden;
  flex-direction: column;
  align-items: center;
  transition:all 0.5s ease-in-out;
}
.logo {
 display: flex;
 justify-content: space-between;
}
.hamburger-icon {
 display: block;
}
.fa-x{
 display:none;
}
div.headerCSS:has(.hamburger-icon input[type="checkbox"]:checked) .navigation {
 margin-top: 1rem;
 height:auto;
}
div.headerCSS:has(.hamburger-icon input[type="checkbox"]:checked) .fa-bars {
 display:none;
}
div.headerCSS:has(.hamburger-icon input[type="checkbox"]:checked) .fa-x {
 display:inline-block;
}
}

body {
  font-family: "Open Sans", sans-serif;
  font-size: 17px;
  color: #626262;
  overflow-x: hidden;
}

textarea {
  font-family: "Open Sans", sans-serif;
}

a:hover {
  text-decoration: none;
}

.tm-footer-link {
  color: #626262;
}

button {
  border: none;
}

a,
button {
  cursor: pointer;
}

h2 {
  font-size: 2.4rem;
}

h3 {
  font-size: 1.3rem;
}

p {
  line-height: 1.7;
  margin-bottom: 35px;
}

p:last-child {
  margin-bottom: 0;
}

.tm-page-header {
  color: #444444;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 45px;
}

.tm-nav-section {
  position: absolute;
  top: 158px;
  left: 0;
  width: 100%;
  border-top: 1px solid #909090;
  border-bottom: 1px solid #909090;
  background-color: white;
  z-index: 3000;
}

.tm-nav-section.sticky {
  position: fixed;
  top: 0;
  border-top: none;
  background: white;
}

.navbar-expand-md .navbar-nav .nav-link {
  padding: 10px 35px;
}

.navbar-light .navbar-nav .nav-link {
  color: #313131;
}

#tmMainNav .nav-link.current,
#tmMainNav .nav-link:hover {
  color: #0662b9;
  background: #eaeaea;
}

.navbar-light .navbar-toggler {
  background-color: white;
}

.navbar {
  padding-top: 3px;
  padding-bottom: 3px;
}

.tm-navbar-nav {
  font-size: 1.3rem;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
  max-width: 930px;
}

.tm-banner-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  overflow: hidden;
}

.tm-banner-section video {
  position: absolute;
  left: 50%;
  top: 60%;
  transform: translate(-50%, -60%);
  min-width: 100%;
  min-height: 100%;
}

.tm-banner-text-container {
  position: relative;
  z-index: 1000;
  color: white;
  text-align: center;
  max-width: 520px;
}

.tm-banner-title {
  font-size: 3rem;
  font-weight: 300;
  margin-bottom: 40px;
}

.tm-banner-subtitle {
  font-size: 1.5rem;
  font-weight: 300;
  max-width: 500px;
}

.tm-features-section {
  padding-top: 50px;
  padding-bottom: 85px;
  margin-top: 50px;
}

.tm-features-row {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.tm-feature-block {
  max-width: 550px;
  margin-bottom: 40px;
}

.tm-feature-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #5f5f5f;
  margin-bottom: 55px;
}

.tm-feature-h {
  font-size: 1.8rem;
}

.tm-feature-icon {
  margin-right: 30px;
}

#activities {
  padding-top: 50px;
}

.tm-parallax {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 240px;
  background-image: url(../img/img-activities.jpg);
  margin-bottom: 68px;
  position: relative;
}

.tm-parallax-header {
  background: rgba(0, 0, 0, 0.7);
  width: 100%;
  height: 100%;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tm-text-blue {
  color: #108ac1;
}

.tm-activity-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 1px solid #c7c7c7;
  padding: 30px 20px;
  margin-bottom: 38px;
}

.tm-activity-block-text {
  padding-left: 24px;
  padding-right: 24px;
}

.tm-activity-block-text h2 {
  margin-bottom: 20px;
}
/*
.tm-activity-img-container {
  width: 180px;
  height: 180px;
}*/

.tm-company-section {
  padding-top: 53px;
}

.tm-company-about {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.tm-company-about-text {
  padding: 35px;
}

.tm-company-about-header {
  margin-bottom: 28px;
}

.tm-company-img-container img {
  width: 400px;
  height: auto;
}

.tm-btn {
  border: 1px solid #c6c6c6;
  border-radius: 0;
  background-color: transparent;
  color: #6c6c6c;
  padding: 10px 30px;
}

.tm-btn-big {
  font-size: 1.3rem;
  padding: 12px 40px;
}

.tm-btn:hover {
  color: #5e5e5e;
  background-color: #eaeaea;
}

.tm-float-right {
  float: right;
}

.tm-company-right-inner {
  border: 1px solid #c7c7c7;
}

.nav-tabs .nav-link {
  border-radius: 0;
  border: none;
  padding-top: 20px;
  padding-bottom: 20px;
  font-size: 1.3rem;
  color: #5e5e5e;
  background-color: #eaeaea;
}

.nav-tabs .nav-link.tm-no-border-right {
  border-right: none;
}

#tmCompanyTab .nav-item {
  width: 50%;
  text-align: center;
}

#tmCompanyTab .nav-link {
  border-bottom: 1px solid #c7c7c7;
}

#tmCompanyTab .tm-nav-link-border-right {
  border-right: 1px solid #c7c7c7;
}

#tmCompanyTab .nav-item.show .nav-link,
#tmCompanyTab .nav-link.active {
  border-bottom: none;
}

#tmTabContent {
  padding: 45px 45px 60px;
}

.nav-tabs {
  border-bottom: none;
}

.tm-contact-section {
  padding-top: 50px;
  margin-top: 40px;
  padding-bottom: 90px;
}

.tm-contact-left {
  margin-bottom: 30px;
}

.tm-contact-figure-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

figure {
  max-width: 100%;
}

.tm-contact-figcaption {
  margin-top: 27px;
  max-width: 600px;
}

.tm-contact-form-container {
  text-align: right;
}

.tm-contact-header {
  margin-bottom: 40px;
}

.form-control {
  border-radius: 0;
  padding: 14px;
  height: auto;
}

.tm-footer {
  margin-bottom: 40px;
}

.tm-footer-row {
  align-items: center;
}

.scroll {
  background: rgba(222, 226, 230, 0.39);
  padding: 18px 20px 10px;
  text-align: center;
  margin: 0 0 0 auto;
  cursor: pointer;
  transition: 0.5s;
  -moz-transition: 0.5s;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  width: 65px;
  height: 60px;
}

.scroll:hover {
  background: rgba(178, 178, 178, 1);
  transition: 0.5s;
  -moz-transition: 0.5s;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
}

.scroll:hover .fa {
  padding-top: -10px;
}

.scroll .fa {
  font-size: 30px;
  margin-top: -5px;
  margin-left: 1px;
  transition: 0.5s;
  -moz-transition: 0.5s;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
}

.tab-pane.fade {
  transition: opacity 0s linear;
}

@media (min-width: 768px) {
  .tm-feature-block {
    margin-bottom: 0;
  }
}

@media (min-width: 992px) {
/*  .tm-activity-block {
    max-width: 582px;
  }*/

  .tm-company-about {
    flex-direction: column;
    align-items: center;
  }

  .tm-contact-left {
    margin-bottom: 0;
  }
}

@media (min-width: 1200px) {
  .container {
    max-width: 1233px;
  }

  .tm-company-about {
    flex-direction: row;
    align-items: flex-start;
  }

  .tm-company-about-text {
    padding: 0 35px 35px;
  }

  .tm-company-left {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 68%;
    flex: 0 0 68%;
    max-width: 870px;
  }

  .tm-company-right {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 32%;
    flex: 0 0 32%;
    max-width: 380px;
  }

  .tm-contact-left {
    padding-right: 0;
  }

  .tm-contact-right {
    padding-left: 0;
  }
}

@media (max-width: 767px) {
  .navbar-toggler {
    margin-left: auto;
    margin-right: 0;
  }

  .navbar {
    text-align: center;
    padding: 3px 0;
    margin-right: 0;
    margin-left: auto;
  }

  #tmMainNav {
    background: white;
    border: 1px solid #c6c6c6;
  }

  .navbar-light .navbar-toggler {
    border-radius: 0;
  }

  .scroll {
    margin: 20px auto 0;
  }

  .tm-banner-section video {
    top: 50%;
    transform: translate(-50%, -50%);
  }
}

@media (max-width: 540px) {
  .tm-activity-block {
    flex-direction: column;
  }

  .tm-activity-block-text {
    margin-top: 20px;
  }
}

@media (max-width: 440px) {
  .tm-features-section {
    padding-top: 60px;
    padding-bottom: 55px;
  }

  .tm-contact-section {
    padding-top: 70px;
    padding-bottom: 60px;
  }
}

@media (min-width: 767px) and (max-width: 992px) {
  .navbar-expand-md .navbar-nav .nav-link {
    padding: 10px 15px;
  }
}

/* ccas-thionville.fr : mise en page propre au site (06/11/2026) */
:root {
  --tvl-encre: #23323a;
  --tvl-gris: #54626a;
  --tvl-sarcelle: #1f5a62;
  --tvl-sarcelle-fonce: #163f45;
  --tvl-orange: #d0753a;
  --tvl-orange-texte: #9f4d1b;
  --tvl-creme: #f7f3ec;
  --tvl-sable: #e6ddcf;
}
html { scroll-padding-top: 90px; }
body.tvl { font-family: "Nunito Sans", system-ui, sans-serif; font-size: 17px; line-height: 1.68; color: var(--tvl-encre); background: #fff; margin: 0; overflow-x: visible; }
body.tvl h1, body.tvl h2, body.tvl h3 { font-family: "Source Serif 4", Georgia, serif; color: var(--tvl-sarcelle-fonce); text-transform: none; letter-spacing: 0; font-weight: 600; }
body.tvl p { margin: 0 0 1em; line-height: 1.68; }
body.tvl a { color: var(--tvl-sarcelle); }
body.tvl a:hover { color: var(--tvl-orange-texte); }

/* En-tête et menu */
.tvl-entete { position: sticky; top: 0; z-index: 30; background: #fff; border-bottom: 1px solid var(--tvl-sable); }
.tvl-entete__barre { max-width: 1180px; margin: 0 auto; padding: 10px 22px; display: flex; align-items: center; gap: 26px; position: relative; }
.tvl-entete__logo img { max-height: 56px; width: auto; display: block; }
.tvl-entete__case { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.tvl-entete__bouton { display: none; }
.tvl-nav { margin-left: auto; }
.tvl-nav ul, .tvl-nav__liste { display: flex; flex-wrap: nowrap; align-items: center; gap: 2px 20px; list-style: none; margin: 0; padding: 0; }
.tvl-nav li { margin: 0; padding: 0; list-style: none; }
.tvl-nav a { display: block; padding: 8px 1px; font-weight: 700; font-size: .93rem; color: var(--tvl-encre); text-decoration: none; border-bottom: 2px solid transparent; white-space: nowrap; }
.tvl-nav a:hover { color: var(--tvl-sarcelle); border-bottom-color: var(--tvl-orange); text-decoration: none; }
@media (max-width: 1023px) {
  .tvl-entete__barre { flex-wrap: wrap; padding: 8px 16px; gap: 10px; }
  .tvl-entete__logo img { max-height: 46px; }
  .tvl-entete__bouton { display: flex; flex-direction: column; justify-content: center; gap: 5px; margin: 0 0 0 auto; width: 46px; height: 46px; cursor: pointer; border-radius: 12px; background: var(--tvl-creme); }
  .tvl-entete__bouton span { display: block; height: 2px; width: 22px; margin: 0 auto; background: var(--tvl-sarcelle-fonce); border-radius: 2px; }
  .tvl-nav { display: none; width: 100%; margin: 0; }
  .tvl-entete__case:checked ~ .tvl-nav { display: block; }
  .tvl-nav ul, .tvl-nav__liste { flex-direction: column; align-items: stretch; gap: 0; padding: 2px 0 10px; }
  .tvl-nav a { padding: 12px 4px; border-bottom: 1px solid var(--tvl-sable); white-space: normal; }
}

/* Fil d'Ariane : l'article s'arrête à sa rubrique */
.tvl-fil { max-width: 1180px; margin: 0 auto; padding: 16px 22px 0; }
.tvl-fil nav[aria-label="Breadcrumb"] ol { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; list-style: none; margin: 0; padding: 0; font-size: .88rem; color: var(--tvl-gris); }
.tvl-fil nav[aria-label="Breadcrumb"] li { margin: 0; padding: 0; list-style: none; }
.tvl-fil nav[aria-label="Breadcrumb"] a { color: var(--tvl-sarcelle); text-decoration: none; font-weight: 600; }
.tvl-fil--article li[aria-current="page"], .tvl-fil--article li:has(+ li[aria-current="page"]) { display: none; }

/* Accueil */
.tvl-une { max-width: 1136px; margin: 20px auto 0; border-radius: 20px; overflow: hidden; background-color: var(--tvl-sarcelle); background-size: cover; background-position: center; min-height: 320px; display: flex; }
.tvl-une__voile { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; padding: 42px 46px; background: linear-gradient(180deg, rgba(22, 63, 69, .12) 0%, rgba(22, 63, 69, .86) 100%); }
body.tvl .tvl-une__titre { color: #fff; font-size: clamp(1.75rem, 3.4vw, 2.6rem); line-height: 1.18; margin: 0 0 10px; max-width: 780px; }
body.tvl .tvl-une__accroche { color: #f5ece2; font-size: 1.12rem; margin: 0; }
.tvl-accueil { margin-top: 38px; }

/* Colonne de lecture */
.tvl-lecture, .tvl-article, .tvl-page { max-width: 784px; margin: 0 auto; padding: 0 22px; }
.tvl-texte { font-size: 1.05rem; }
body.tvl .tvl-texte p { margin: 0 0 1.05em; }
.tvl-texte > :first-child { margin-top: 0; }
body.tvl .tvl-texte > p:first-child { font-size: 1.17rem; line-height: 1.6; color: var(--tvl-sarcelle-fonce); font-weight: 600; }
body.tvl .tvl-texte h2 { font-size: 1.62rem; line-height: 1.25; margin: 1.9em 0 .6em; }
body.tvl .tvl-texte h2::before { content: ""; display: block; width: 44px; height: 4px; border-radius: 3px; background: var(--tvl-orange); margin-bottom: .5em; }
body.tvl .tvl-texte h3 { font-size: 1.26rem; margin: 1.5em 0 .5em; color: var(--tvl-sarcelle); }
.tvl-texte ul, .tvl-texte ol { padding-left: 1.45em; margin: 0 0 1.1em; }
.tvl-texte li { margin-bottom: .35em; }
.tvl-texte li::marker { color: var(--tvl-orange-texte); }
.tvl-texte img { max-width: 100%; height: auto; border-radius: 14px; display: block; margin: 1.3em auto; float: none; }
.tvl-texte a { text-decoration: underline; text-underline-offset: 2px; }
.tvl-texte blockquote { margin: 1.4em 0; padding: 16px 20px; background: var(--tvl-creme); border-radius: 12px; border: 0; }
.tvl-texte table { width: 100%; table-layout: auto; border-collapse: collapse; border: 1px solid var(--tvl-sable); margin: 1.5em 0; font-size: .94rem; }
.tvl-texte th, .tvl-texte td { letter-spacing: 0; padding: .6em .75em; width: auto !important; vertical-align: top; text-align: left; }
.tvl-texte th { background: var(--tvl-sarcelle); color: #fff; font-weight: 700; border: 1px solid var(--tvl-sarcelle); }
.tvl-texte td { border-bottom: 1px solid var(--tvl-sable); }
.tvl-texte tbody tr:nth-child(even) td { background: var(--tvl-creme); }
@media (max-width: 767px) {
  .tvl-texte table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .tvl-texte th, .tvl-texte td { min-width: 150px; }
}

/* Article */
body.tvl .tvl-article__titre { font-size: clamp(1.7rem, 3.8vw, 2.45rem); line-height: 1.2; margin: .45em 0 .4em; }
.tvl-signature { display: flex; flex-wrap: wrap; gap: 4px 0; color: var(--tvl-gris); font-size: .92rem; margin: 0 0 20px !important; }
.tvl-signature span + span::before { content: "·"; margin: 0 10px; color: var(--tvl-orange-texte); font-weight: 700; }
.tvl-article__image { margin: 0 0 24px; }
.tvl-article__image img { width: 100%; height: auto; border-radius: 18px; display: block; }
.tvl-article__image:not(:has(img)) { display: none; }
.tvl-sommaire { background: var(--tvl-creme); border: 1px solid var(--tvl-sable); border-radius: 14px; padding: 0 18px; margin: 0 0 1.5em; }
.tvl-sommaire summary { cursor: pointer; font-weight: 700; color: var(--tvl-sarcelle-fonce); padding: 12px 0; list-style: none; }
.tvl-sommaire summary::-webkit-details-marker { display: none; }
.tvl-sommaire summary::after { content: "+"; float: right; color: var(--tvl-orange-texte); font-weight: 700; font-size: 1.2rem; line-height: 1; transition: transform .2s; }
.tvl-sommaire[open] summary::after { transform: rotate(45deg); }
.tvl-sommaire ol, .tvl-sommaire ul { margin: 0 0 14px; padding-left: 1.25em; }
.tvl-sommaire li { margin: .25em 0; }
.tvl-sommaire li li { display: none; }
.tvl-sommaire a { text-decoration: none; }
@media (max-width: 767px) {
  .tvl-sommaire { position: sticky; top: 66px; z-index: 5; box-shadow: 0 6px 16px rgba(22, 63, 69, .12); }
  .tvl-sommaire[open] nav { max-height: 50vh; overflow: auto; }
}
.tvl-auteur { display: flex; gap: 18px; align-items: center; margin: 2.6em 0 .5em; padding: 18px 0; border-top: 2px solid var(--tvl-sable); border-bottom: 2px solid var(--tvl-sable); }
.tvl-auteur__photo { flex: 0 0 86px; }
.tvl-auteur__photo img { width: 86px; height: 86px; object-fit: cover; border-radius: 50%; display: block; }
.tvl-auteur__initiale { display: flex; align-items: center; justify-content: center; width: 86px; height: 86px; border-radius: 50%; background: var(--tvl-sarcelle); color: #fff; font-family: "Source Serif 4", serif; font-size: 2rem; }
body.tvl .tvl-auteur__label { margin: 0; font-size: .78rem; text-transform: uppercase; letter-spacing: .07em; color: var(--tvl-orange-texte); font-weight: 700; }
body.tvl .tvl-auteur__nom { margin: 0 0 4px; font-family: "Source Serif 4", serif; font-size: 1.18rem; color: var(--tvl-sarcelle-fonce); font-weight: 600; }
body.tvl .tvl-auteur__bio p { margin: 0; font-size: .95rem; color: var(--tvl-gris); }
.tvl-auteur__bio p:not(:first-child) { display: none; }

/* Cartes d'articles */
.tvl-section-titre { font-size: 1.55rem !important; margin: 0 0 20px !important; }
.tvl-derniers, .tvl-voisins { max-width: 1180px; margin: 56px auto 0; padding: 0 22px; }
.tvl-grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
@media (max-width: 991px) { .tvl-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .tvl-grille { grid-template-columns: 1fr; gap: 18px; } }
.tvl-carte { background: #fff; border: 1px solid var(--tvl-sable); border-radius: 16px; overflow: hidden; transition: box-shadow .2s, transform .2s; }
.tvl-carte:hover { box-shadow: 0 10px 24px rgba(22, 63, 69, .13); transform: translateY(-2px); }
body.tvl .tvl-carte__lien { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; }
.tvl-carte__image { aspect-ratio: 16 / 10; overflow: hidden; background-color: var(--tvl-sarcelle); }
.tvl-carte__image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tvl-carte__image:not(:has(img)) { background: var(--tvl-sarcelle) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 200'%3E%3Crect width='320' height='200' fill='%231f5a62'/%3E%3Ccircle cx='250' cy='52' r='70' fill='%23255f68'/%3E%3Cg fill='none' stroke='%23f7f3ec' stroke-width='5' stroke-linejoin='round' stroke-linecap='round' opacity='.9'%3E%3Cpath d='M96 136v-32l22-19 22 19v32z'/%3E%3Cpath d='M140 136v-42l26-22 26 22v42z'/%3E%3Cpath d='M192 136v-32l22-19 22 19v32z'/%3E%3Cpath d='M82 136h168'/%3E%3Cpath d='M160 136v-18h12v18'/%3E%3C/g%3E%3Cpath d='M198 66c9-15 25-19 38-15-4 14-19 23-38 15z' fill='%23d0753a'/%3E%3C/svg%3E") center / cover no-repeat; }
.tvl-carte__corps { padding: 14px 16px 18px; display: flex; flex-direction: column; gap: 6px; }
.tvl-carte__rubrique { font-size: .76rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--tvl-orange-texte); }
body.tvl .tvl-carte__titre { font-size: 1.1rem; line-height: 1.35; margin: 0; color: var(--tvl-sarcelle-fonce); }
.tvl-carte__date { font-size: .82rem; color: var(--tvl-gris); }
.tvl-grille--rubrique .tvl-carte__rubrique { display: none; }

/* Rubrique */
.tvl-rubrique { max-width: 1180px; margin: 0 auto; padding: 4px 22px 4px; }
body.tvl .tvl-rubrique__titre { font-size: clamp(1.8rem, 3.8vw, 2.5rem); margin: .35em 0 .55em; }
.tvl-rubrique__intro { column-count: 2; column-gap: 46px; font-size: 1.02rem; }
body.tvl .tvl-rubrique__intro p { margin: 0 0 .9em; }
.tvl-grille--rubrique { max-width: 1180px; margin: 30px auto 0; padding: 0 22px; }
@media (max-width: 767px) { .tvl-rubrique__intro { column-count: 1; } }

/* Pages fixes, présentation et contact */
body.tvl .tvl-page__titre { font-size: clamp(1.8rem, 3.8vw, 2.4rem); margin: .45em 0 .65em; }
.tvl-presentation__corps { display: grid; grid-template-columns: 200px 1fr; gap: 28px; align-items: start; }
.tvl-presentation__corps:not(:has(.tvl-presentation__photo)) { grid-template-columns: 1fr; }
.tvl-presentation__photo { margin: 0; }
.tvl-presentation__photo img { width: 100%; height: auto; border-radius: 18px; display: block; }
@media (max-width: 767px) { .tvl-presentation__corps { grid-template-columns: 1fr; } .tvl-presentation__photo { max-width: 180px; } }
.tvl-contact { margin: 2.4em 0 0; padding: 24px; background: var(--tvl-creme); border-radius: 16px; }
body.tvl .tvl-contact__titre { font-size: 1.4rem; margin: 0 0 14px; }
.tvl-contact .form-control { border-radius: 10px; border: 1px solid var(--tvl-sable); margin-bottom: 12px; font-family: inherit; }
.tvl-contact button, .tvl-contact [type="submit"] { background: var(--tvl-sarcelle); color: #fff; border: 0; border-radius: 999px; padding: 10px 24px; font-weight: 700; }

/* Pied de page */
.tvl-pied { margin-top: 70px; background: var(--tvl-sarcelle-fonce); color: #e8efee; }
.tvl-pied__dedans { max-width: 1180px; margin: 0 auto; padding: 26px 22px; display: flex; flex-wrap: wrap; gap: 8px 30px; justify-content: space-between; font-size: .9rem; }
body.tvl .tvl-pied p { margin: 0; }
body.tvl .tvl-pied a { color: #fff; text-decoration: underline; }

@media (max-width: 767px) {
  body.tvl { font-size: 16.5px; }
  .tvl-une { margin: 12px 16px 0; min-height: 250px; border-radius: 16px; }
  .tvl-une__voile { padding: 26px 20px; }
  .tvl-lecture, .tvl-article, .tvl-page { padding: 0 18px; }
  .tvl-fil { padding: 12px 18px 0; }
  .tvl-derniers, .tvl-voisins, .tvl-rubrique, .tvl-grille--rubrique { padding-left: 16px; padding-right: 16px; }
  .tvl-auteur { align-items: flex-start; }
  .tvl-signature span:last-child { flex-basis: 100%; }
  .tvl-signature span:last-child::before { content: none; }
}
/* La colonne de lecture remet sa marge à zéro : l'accueil garde son espace sous le bandeau. */
.tvl-lecture.tvl-accueil { margin-top: 36px; }
/* Logo « Entraide et vie locale à Thionville » (06/11/2026), très allongé : hauteur réduite, et sur téléphone il prend la place
   laissée par le bouton du menu. */
.tvl-entete__logo img { max-height: 46px; height: auto; }
@media (max-width: 1023px) {
  .tvl-entete__logo { flex: 1 1 auto; min-width: 0; }
  .tvl-entete__logo img { max-height: 38px; max-width: 100%; }
}
