/*
Theme Name: Tetris Amenagement
Theme URI: https://www.tetris-vv.fr/
Author: Tetris Amenagement
Description: Theme sur mesure reproduisant le design du site vitrine Tetris Amenagement (amenagement de vehicules utilitaires). Base Bootstrap 5.3 + polices Montserrat/Hind, formulaire de contact et carte Leaflet integres.
Version: 1.0
Text Domain: tetris-amenagement
*/

:root{
  --tt-teal: #0bb0a9;
  --tt-amber: #eaa907;
  --tt-amber-hover: #b88506;
  --tt-border: #17f1e7;
  --tt-text: #333333;
}

body{
  font-family: "Hind", sans-serif;
  color: var(--tt-text);
}

h1, h2, h3, h4, h5, h6{
  font-family: "Montserrat", sans-serif;
}

.page-container{
  min-height: 70vh;
}

.content.yield-body{
  padding: 0 0 2rem 0;
}

.banner{
  padding: 0 1rem;
}

.banner-fullwidth-image{
  width: 100%;
  max-width: 1800px;
  margin: 0 auto;
  display: block;
  height: auto;
}
@media (max-width: 576px){
  .banner-fullwidth-image{ padding: 0 1rem; }
}

.visually-hidden{
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.certification-logo{
  max-height: 180px;
  object-fit: contain;
}

.partner-logo{
  max-height: 100px;
  object-fit: contain;
  width: 100%;
  border-radius: 0;
  transition: transform 0.3s ease;
}
.partner-logo:hover{ transform: scale(1.05); }
@media (max-width: 576px){
  .partner-logo{ max-width: 90%; }
}

#qualifications .card{
  border-radius: 12px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
#qualifications .card:hover{
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.1);
}
#partenaires .row > div{
  display: flex;
  justify-content: center;
  align-items: center;
}

hr.hr-text{
  position: relative;
  border: none;
  height: 3px;
  background: #eaa907;
}
hr.hr-text::before{
  content: attr(data-content);
  display: inline-block;
  background: white;
  font-weight: bolder;
  font-size: 1.6rem;
  color: #0bb0a9;
  border-radius: 30rem;
  padding: 0.3rem 2.5rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: "Montserrat", sans-serif;
}
@media (max-width: 768px){
  hr.hr-text::before{ font-size: 1.2rem; padding: 0.2rem 1.5rem; }
}

.home-page section{
  padding-top: 5rem;
  padding-bottom: 5rem;
}
@media (max-width: 768px){
  .home-page section{ padding-top: 3rem; padding-bottom: 3rem; }
}
.home-page .card{ border-radius: 8px; }
.home-page .map{ width: 100%; height: 350px; }
@media (max-width: 768px){ .home-page .map{ height: 300px; } }
@media (max-width: 576px){ .home-page .map{ height: 250px; } }
.home-page #nous-trouver p{ font-size: 1.1rem; }
@media (max-width: 576px){
  .home-page #nous-trouver p{ font-size: 1rem; text-align: center; }
}

/* ---- Global content typography (matches the live site) ---- */
.page-container{
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
.content{
  flex: 1;
  padding-bottom: 80px;
}
@media (max-width: 768px){
  .content{ padding-bottom: 20px; }
}
.yield-body h1, .yield-body .h1{ font-family: "Montserrat", sans-serif; }
.yield-body h2, .yield-body .h2, .yield-body h3, .yield-body .h3{ font-family: "Montserrat", sans-serif; }
.yield-body p{ font-family: "Hind", sans-serif; }

/* ---- Per-service-page row layout (habillage, amenagement-bois, amenagement-metal, equipements-ext) ---- */
.amenagement-bois .row, .amenagement-metal .row, .equipements-ext .row, .habillage .row{
  margin-bottom: 2rem;
}
.amenagement-bois .row h2, .amenagement-bois .row .h2,
.amenagement-metal .row h2, .amenagement-metal .row .h2,
.equipements-ext .row h2, .equipements-ext .row .h2,
.habillage .row h2, .habillage .row .h2{
  color: #0bb0a9;
  font-size: 1.5rem;
  font-weight: bold;
  font-family: "Montserrat", sans-serif;
}
.amenagement-bois .row p, .amenagement-bois .row ul li,
.amenagement-metal .row p, .amenagement-metal .row ul li,
.equipements-ext .row p, .equipements-ext .row ul li,
.habillage .row p, .habillage .row ul li{
  color: #555;
  font-size: 1rem;
  line-height: 1.6;
  font-family: "Hind", sans-serif;
}
.amenagement-bois .row .img-same-height,
.amenagement-metal .row .img-same-height,
.equipements-ext .row .img-same-height,
.habillage .row .img-same-height{
  display: block;
  width: 100%;
  height: 250px;
  object-fit: cover;
  object-position: center;
  border-radius: 8px;
}
@media (max-width: 768px){
  .amenagement-bois .row .img-same-height,
  .amenagement-metal .row .img-same-height,
  .equipements-ext .row .img-same-height,
  .habillage .row .img-same-height{
    height: 180px;
  }
}
.amenagement-bois .row ul, .amenagement-metal .row ul, .equipements-ext .row ul, .habillage .row ul{
  padding-left: 20px;
}
@media (min-width: 768px){
  .amenagement-bois .row:nth-child(even),
  .amenagement-metal .row:nth-child(even),
  .equipements-ext .row:nth-child(even),
  .habillage .row:nth-child(even){
    flex-direction: row-reverse;
  }
}

.cta-box{
  background-color: #f9f9f9;
  border-left: 6px solid #0bb0a9;
  font-family: "Hind", sans-serif;
  color: #333;
}
.cta-box h5, .cta-box .h5{ font-family: "Montserrat", sans-serif; color: #0bb0a9; }
.cta-box .cta-link{ color: #0bb0a9; text-decoration: none; }
.cta-box .cta-link:hover{ color: #eaa907; text-decoration: underline; }
.cta-box i.text-accent{ color: #eaa907; }

.certification-logo{
  max-height: 140px;
}

.partner-logo{
  max-height: 90px;
}

.hr-text{
  position: relative;
  border: 0;
  height: 1px;
  background: #e0e0e0;
}
.hr-text::before{
  content: attr(data-content);
  position: relative;
  top: -0.9em;
  background: #fff;
  padding: 0 1rem;
  color: var(--tt-teal);
  font-weight: 700;
  font-family: "Montserrat", sans-serif;
}

.map{
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.cta-box{
  max-width: 600px;
  margin: 2rem auto 0 auto;
  background: #f8f9fa;
}

.cta-link{
  color: var(--tt-teal);
}

/* ---- Footer (fixed to the bottom of the viewport, matches the live site) ---- */
.footer{
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #ffffff;
  padding: 15px 20px;
  z-index: 1000;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-shadow: 0 -2px 10px rgba(0,0,0,0.05);
}
.footer-logo{ flex-shrink: 0; }
.footer-logo-image{
  height: 30px;
  width: auto;
}
.footer-menu{
  display: flex;
  justify-content: flex-end;
}
.footer-links{
  list-style: none;
  display: flex;
  gap: 20px;
  margin: 0;
  padding: 0;
}
.footer-links li{ position: relative; }
.footer-links a{
  text-decoration: none;
  color: #333;
  font-weight: bold;
}
.footer-links a:hover{ color: #b92b27; }
@media (max-width: 768px){
  .footer{ flex-direction: column; align-items: center; text-align: center; }
  .footer-menu{ margin-top: 10px; }
  .footer-links{ flex-direction: column; gap: 10px; }
}

/* ---- Generic content pages (prestations, mentions legales, plan du site) ---- */
.tt-page-content{
  max-width: 900px;
  margin: 0 auto;
  padding: 1rem;
}

.tt-page-content h1{
  color: var(--tt-teal);
  text-align: center;
  margin-bottom: 1.5rem;
}

.tt-page-content h2, .tt-page-content h3{
  color: var(--tt-teal);
}
