﻿/* -------------------------------------------------
   VARIABLES GLOBALES
------------------------------------------------- */
:root {
  --green-dark: #123524;
  --green: #1e7b4f;
  --green-light: #e5f4ed;
  --beige: #f6f1e8;
  --text-main: #1f2933;
  --text-muted: #6b7280;
  --border: #e5e7eb;
  --radius-lg: 18px;
  --radius-xl: 26px;
}








html { font-size: 18px; }
* { box-sizing: border-box; }








body {
  margin: 0;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  color: var(--text-main);
  background: #ffffff;
}








img { max-width: 100%; display: block; }
a { text-decoration: none; color: inherit; }








/* -------------------------------------------------
   GLOBAL CONTAINER
------------------------------------------------- */
.container {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 1.5rem;
}








/* -------------------------------------------------
   HEADER
------------------------------------------------- */
.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(255,255,255,0.96);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(229,231,235,0.8);
}








.header-inner {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:0.9rem 0;
}








.logo {
  display:flex;
  align-items:center;
  gap:0.5rem;
  font-weight:bold;
  font-size:1.1rem;
  color:var(--green-dark);
}








.logo-mark {
  width:28px;
  height:28px;
  border-radius:999px;
  background: radial-gradient(circle at 30% 20%, #a7f3d0, #047857);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:0.85rem;
  font-weight:800;
}








.nav {
  display:flex;
  align-items:center;
  gap:2rem;
}








.nav-links {
  display:flex;
  align-items:center;
  gap:1.7rem;
}








.nav-link {
  color:var(--text-muted);
  font-weight:500;
}
.nav-link:hover {
  color:var(--green-dark);
}








/* -------------------------------------------------
   MENU DÉROULANT
------------------------------------------------- */
.nav-dropdown {
  position: relative;
}








.dropdown-toggle {
  cursor: pointer;
}








.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 190px;
  margin-top: 0.4rem;
  padding: 0.4rem 0;
  background: #ffffff;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 12px 28px rgba(15,23,42,0.16);
  display: none;
  z-index: 9999;
}








.nav-dropdown:hover .dropdown-menu {
  display: block;
}








.dropdown-item {
  display: block;
  padding: 0.45rem 0.9rem;
  font-size: 0.9rem;
  color: var(--text-main);
  white-space: nowrap;
}








.dropdown-item:hover {
  background: #f3f4f6;
  color: var(--green-dark);
}








/* -------------------------------------------------
   BUTTONS
------------------------------------------------- */
.btn {
  border-radius: 999px;
  padding: 0.55rem 1.3rem;
  font-size: 0.9rem;
  font-weight: 600;
  border: 1px solid transparent;
  cursor: pointer;
  background: transparent;
}
.btn-outline { border-color:var(--border); color:var(--text-main); }
.btn-outline:hover { border-color:var(--green); }








.btn-primary {
  background: linear-gradient(135deg, #059669, #16a34a);
  color: #fff;
  border: none;
  box-shadow:0 10px 25px rgba(15,118,110,0.25);
}
.btn-primary:hover { filter: brightness(1.05); }








/* -------------------------------------------------
   HERO (INDEX)
------------------------------------------------- */
.hero {
  padding: 3rem 0 2.5rem;
  background: radial-gradient(circle at top right, #ecfdf5 0, #ffffff 55%);
}








.hero-inner {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 2.5rem;
  align-items: center;
}








.badge {
  display:inline-flex;
  align-items:center;
  gap:0.4rem;
  padding:0.2rem 0.75rem;
  background:#ecfdf5;
  color:#047857;
  border-radius:999px;
  font-size:0.8rem;
  font-weight:600;
}








.hero-title {
  font-size:clamp(2rem,3vw,2.5rem);
  line-height:1.1;
}
.hero-highlight { color:var(--green-dark); }








.hero-subtitle {
  font-size:0.98rem;
  color:var(--text-muted);
  max-width:29rem;
}








/* -------------------------------------------------
   SECTIONS (INDEX)
------------------------------------------------- */
.section { padding:2.8rem 0; }








.section-title {
  font-size:1.5rem;
  margin-bottom:0.4rem;
}








.section-subtitle {
  font-size:0.95rem;
  color:var(--text-muted);
}








.benefits-grid,
.impact-grid,
.testimonials-grid {
  display:grid;
  grid-template-columns: repeat(3,1fr);
  gap:1.4rem;
}








.card {
  border-radius:var(--radius-lg);
  border:1px solid var(--border);
  background:white;
  padding:1.1rem;
}








.card-icon {
  width:32px;
  height:32px;
  border-radius:50%;
  background:#ecfdf5;
  color:#047857;
  display:flex;
  justify-content:center;
  align-items:center;
  margin-bottom:0.6rem;
}








/* -------------------------------------------------
   FAQ (INDEX)
------------------------------------------------- */
.faq-grid {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:2rem;
}








.faq-item {
  padding:0.75rem 0;
  border-bottom:1px solid #e5e7eb;
}








.faq-q { font-weight:600; }
.faq-a { font-size:0.9rem; color:var(--text-muted); }








.faq-cta {
  padding:1.3rem 1.5rem;
  background:#f5f3ff;
  border:1px solid #ddd6fe;
  border-radius:var(--radius-xl);
}








/* -------------------------------------------------
   FOOTER
------------------------------------------------- */
footer {
  padding: 2.5rem 0;
  background: #02130d;
  color: #e5e7eb;
  margin-top: 2rem;
}








.footer-columns {
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:2rem;
}








.footer-link {
  display:block;
  margin-bottom:0.3rem;
  color:#9ca3af;
  font-size:0.85rem;
}
.footer-link:hover { color:white; }








/* -------------------------------------------------
   DIAGRAMMES (mini + paiement)
------------------------------------------------- */








/* MINI (index) */
.mini-payment-wrapper { display:flex; justify-content:flex-end; }
.mini-payment-box {
  width:340px;
  height:340px;
  background:#f8fafc;
  border-radius:22px;
  box-shadow:0 8px 22px rgba(0,0,0,0.06);
  position:relative;
}
.mini-center {
  position:absolute;
  width:130px;height:130px;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:var(--green);
  display:flex;align-items:center;justify-content:center;
  color:white;font-weight:bold;
}
.mini-item {
  width:120px;height:55px;
  background:white;
  border-radius:12px;
  position:absolute;
  display:flex;justify-content:center;align-items:center;
  font-weight:600;
  box-shadow:0 4px 14px rgba(0,0,0,0.12);
}
.mini-top { top:10px; left:50%; transform:translateX(-50%); }
.mini-right { right:10px; top:50%; transform:translateY(-50%); }
.mini-bottom { bottom:10px; left:50%; transform:translateX(-50%); }
.mini-left { left:10px; top:50%; transform:translateY(-50%); }








/* Tooltip mini */
.payment-tooltip {
  position:absolute;
  max-width:260px;
  background:white;
  border-radius:12px;
  padding:14px 18px;
  border:1px solid #e5e7eb;
  box-shadow:0 12px 28px rgba(0,0,0,0.15);
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,-10px);
  transition:0.15s ease;
}
.payment-tooltip.visible {
  opacity:1;
  transform:translate(-50%,-14px);
}








/* GRAND (paiement.php) */
.pay-diagram {
  width:600px;
  height:600px;
  background:#f8fafc;
  border-radius:26px;
  margin:60px auto;
  box-shadow:0 10px 28px rgba(0,0,0,0.08);
  position:relative;
}
.pay-center {
  width:160px;height:160px;
  border-radius:50%;
  background:var(--green);
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  color:white;
  display:flex;align-items:center;justify-content:center;
  font-size:1.3rem;font-weight:bold;
}








.pay-item {
  width:160px;height:80px;
  border-radius:14px;
  background:white;
  position:absolute;
  display:flex;align-items:center;justify-content:center;
  font-weight:600;
  text-align:center;
  color:var(--green-dark);
  box-shadow:0 6px 18px rgba(0,0,0,0.15);
}








/* positions */
.pay-top-left { top:40px; left:40px; }
.pay-top-right { top:40px; right:40px; }
.pay-bottom-left { bottom:40px; left:40px; }
.pay-bottom-right { bottom:40px; right:40px; }
.pay-mid-left { top:50%; left:20px; transform:translateY(-50%); }
.pay-mid-right { top:50%; right:20px; transform:translateY(-50%); }








.pay-tooltip {
  position:absolute;
  max-width:260px;
  background:white;
  padding:14px 18px;
  border-radius:12px;
  border:1px solid #e5e7eb;
  box-shadow:0 8px 22px rgba(0,0,0,0.18);
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,-10px);
  transition:0.18s ease;
}
.pay-tooltip.visible {
  opacity:1;
  transform:translate(-50%,-14px);
}








/* -------------------------------------------------
   RESPONSIVE GLOBAL
------------------------------------------------- */
@media (max-width:900px) {
  .hero-inner,
  .benefits-grid,
  .impact-grid,
  .testimonials-grid,
  .footer-columns,
  .faq-grid {
    grid-template-columns:1fr;
  }
}
















/* -------------------------------------------------
   STYLE SPÉCIFIQUE — PAIEMENT.PHP
   Premium Nature / Agriculture
------------------------------------------------- */








.payment-section-header {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 2.5rem;
}








.payment-section-header h2 {
    font-size: 2rem;
    margin-bottom: .7rem;
    color: var(--green-dark);
}








.payment-section-header p {
    font-size: 1.1rem;
    color: var(--text-muted);
}








/* Soft paragraph style */
.payment-paragraph {
    line-height: 1.75;
    margin-bottom: 1.8rem;
}








/* GRID DE TEXTE + DIAGRAMME */
.payment-two-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
    margin-top: 3rem;
    align-items: center;
}








@media (max-width: 900px) {
    .payment-two-columns {
        grid-template-columns: 1fr;
    }
}








/* FORMULAIRE UPGRADE */
.payment-form-box {
    background: linear-gradient(135deg, #ffffff, #f4faf6);
    border: 1px solid #dfeee7;
    border-radius: var(--radius-xl);
    padding: 2rem;
    box-shadow: 0 10px 28px rgba(0,0,0,0.05);
    margin-top: 2rem;
}








.payment-form-box h3 {
    margin-bottom: 1rem;
    color: var(--green-dark);
    font-size: 1.4rem;
}








/* Logos CB – PayPal – BTC */
.payment-logos {
    display: flex;
    gap: 1.3rem;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 1.4rem;
}








.payment-logos svg {
    height: 34px;
    opacity: .85;
}








/* TITRE SECTIONS */
.section-title-green {
    color: var(--green-dark);
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 1.5rem;
}








/* -------------------------------------------------
   DIAGRAMME 600x600 — OPTION A
------------------------------------------------- */








.pay-diagram {
  position: relative;
  width: 600px;
  height: 600px;
  margin: 60px auto;
  background: #f8fafc;
  border-radius: 26px;
  box-shadow: 0 10px 28px rgba(0,0,0,0.08);
}








.pay-center {
  position: absolute;
  width: 160px;
  height: 160px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: var(--green);
  color: white;
  font-size: 1.3rem;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 8px 20px rgba(0,0,0,0.20);
}








.pay-item {
  position: absolute;
  width: 160px;
  height: 80px;
  background: white;
  border-radius: 14px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-weight: 600;
  color: var(--green-dark);
  box-shadow: 0 6px 18px rgba(0,0,0,0.12);
  cursor: pointer;
}








/* Positions */
.pay-top-left       { top: 40px; left: 40px; }
.pay-top-right      { top: 40px; right: 40px; }
.pay-bottom-left    { bottom: 40px; left: 40px; }
.pay-bottom-right   { bottom: 40px; right: 40px; }
.pay-mid-left       { top: 50%; left: 25px;   transform: translateY(-50%); }
.pay-mid-right      { top: 50%; right: 25px;  transform: translateY(-50%); }








/* Tooltip */
.pay-tooltip {
  position: absolute;
  max-width: 260px;
  padding: 14px 18px;
  background: white;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 8px 22px rgba(0,0,0,0.18);
  opacity: 0;
  pointer-events: none;
  transition: .18s ease;
  transform: translate(-50%, -10px);
  z-index: 9999;
}








.pay-tooltip.visible {
  opacity: 1;
  transform: translate(-50%, -14px);
}








.pay-diagram {
    position: relative; /* essentiel */
}








.pay-tooltip {
    position: absolute;
    transform: translate(-50%, -100%); /* centre + place au-dessus */
    background: #fff;
    padding: 10px;
    border-radius: 8px;
    opacity: 0;
    transition: opacity .2s;
}








.pay-tooltip.visible {
    opacity: 1;
}
.accompagnement-box {
    background: #ffffff;
    padding: 2rem;
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(0,0,0,0.08);
    max-width: 700px;
    margin: auto;
}




.accompagnement-title {
    margin-top: 0;
    font-size: 1.6rem;
}




.accompagnement-sub {
    margin-bottom: 1.2rem;
    color: #4b5563;
}




.accompagnement-form {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 18px;
}




.accompagnement-input,
.accompagnement-textarea {
    padding: 12px;
    border-radius: 12px;
    border: 1px solid #d1d5db;
    font-size: 1rem;
    width: 100%;
}




.accompagnement-textarea {
    min-height: 90px;
}




.accompagnement-btn {
    width: 100%;
    padding: 12px 0;
    font-size: 1.1rem;
    border-radius: 12px;
}












/* ---- TITRES ---- */
.adoption-start .big-title {
  font-size: 2.4rem;
  text-align: center;
  margin-bottom: 0.5rem;
}




.adoption-start .subtext {
  text-align: center;
  max-width: 800px;
  margin: 0 auto 2.5rem auto;
  font-size: 1.2rem;
  color: #065f46;
}




/* ---- BOXES ---- */
.adoption-boxes {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(260px,1fr));
  gap: 2rem;
  margin-bottom: 3rem;
}




.adopt-box {
  background: #ffffff;
  padding: 2rem;
  border-radius: 18px;
  box-shadow: 0 8px 25px rgba(0,0,0,0.08);
  text-align: center;
  transition: transform .2s ease, box-shadow .2s ease;
}




.adopt-box:hover {
  transform: translateY(-6px);
  box-shadow: 0 15px 35px rgba(0,0,0,0.12);
}




/* ---- ICONES ---- */
.icon-frame {
  font-size: 2.8rem;
  margin-bottom: 1rem;
}




/* ---- TITRE ---- */
.adopt-box h3 {
  font-size: 1.4rem;
  margin-bottom: .6rem;
}




/* ---- TEXTE ---- */
.adopt-box p {
  font-size: 1rem;
  color: #444;
  margin-bottom: 1.4rem;
  line-height: 1.4;
}




/* ---- CTA ---- */
.adopt-btn {
  display: inline-block;
  padding: .8rem 1.5rem;
  background: #10B981;
  color: white;
  border-radius: 10px;
  font-weight: bold;
  text-decoration: none;
  transition: background .2s ease;
}




.adopt-btn:hover {
  background: #059669;
}




/* ---- Formulaire ---- */
.adoption-card {
  background: white;
  padding: 2.5rem;
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.09);
  max-width: 700px;
  margin: auto;
}




.faq-page {
  padding: 80px 0;
  text-align: center;
}




.faq-circle-container {
  display: flex;
  justify-content: center;
  margin-top: 60px;
}




.faq-circle {
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: #e7e7e7;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2.3rem;
  font-weight: bold;
  cursor: pointer;
  position: relative;
}




.theme-list {
  display: none;
  margin-top: 40px;
  text-align: left;
  width: 320px;
  margin-left: auto;
  margin-right: auto;
}




.theme-item {
  margin: 18px 0;
  font-size: 1.25rem;
  font-weight: 600;
  cursor: pointer;
}




.theme-item a {
  text-decoration: none;
  color: #333;
}




.question-list {
  display: none;
  margin-left: 20px;
  font-size: 1rem;
  color: #666;
}




.theme-item:hover .question-list {
  display: block;
}




.faq-section {
    width: 100%;
    padding: 0;
    margin: 0;
}




.faq-box {
    width: 100%;
    min-height: 500px;
    background: #ffffff;
    border-radius: 22px;
    box-shadow: 0 10px 28px rgba(0,0,0,0.08);
    position: relative;
    padding: 40px;
}




/* CENTRE */
.faq-title {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 3rem;
    margin: 0;
    color: #065f46;
}




/* STYLE DES THEMES */
.theme {
    background: #ecfdf5;
    border: 2px solid #10b981;
    padding: 8px 14px;
    border-radius: 12px;
    font-weight: bold;
    color: #065f46;
    white-space: nowrap;
    position: absolute;
}




/* HAUT GAUCHE */
.theme-top-left {
    top: 20px;
    left: 20px;
}




/* HAUT CENTRE */
.theme-top-center {
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
}




/* HAUT DROITE */
.theme-top-right {
    top: 20px;
    right: 20px;
}




/* MILIEU GAUCHE */
.theme-middle-left {
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
}




/* MILIEU DROITE */
.theme-middle-right {
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
}




/* BAS GAUCHE */
.theme-bottom-left {
    bottom: 20px;
    left: 20px;
}




/* BAS DROITE */
.theme-bottom-right {
    bottom: 20px;
    right: 20px;
}




/* RESPONSIVE */
@media (max-width: 768px) {
    .faq-title {
        font-size: 2.2rem;
    }




    .theme {
        font-size: 0.85rem;
        padding: 6px 10px;
    }
}




@media (max-width: 480px) {
    /* on garde tout, juste le centre devient plus haut */
    .faq-box {
        min-height: 420px;
    }




    .faq-title {
        font-size: 1.9rem;
    }
}
/* === RADIAL FAQ LAYOUT === */




.faq-radial {
    position: relative;
    width: 100%;
    height: 700px;
    max-width: 900px;
    margin: 120px auto;
}




.radial-center {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 180px;
    height: 180px;
    transform: translate(-50%, -50%);
    background: #e7e7e7;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2.4rem;
    font-weight: bold;
    border: 6px solid #4CAF50;
    box-shadow: 0 0 22px rgba(0,0,0,0.08);
}




.radial-item {
    position: absolute;
    width: 180px;
    height: 60px;
    background: white;
    border-radius: 12px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 8px 18px rgba(0,0,0,0.08);
    font-size: 1.1rem;
    font-weight: 600;
    border: 2px solid #4CAF50;
    transition: transform .25s ease, box-shadow .25s ease;
}




.radial-item a {
    text-decoration: none;
    color: #333;
}




.radial-item:hover {
    transform: scale(1.12);
    box-shadow: 0 12px 28px rgba(0,0,0,0.15);
}




.item1 { top: 0; left: 50%; transform: translate(-50%, 0); }
.item2 { top: 18%; right: 0; transform: translate(0, -50%); }
.item3 { top: 50%; right: 0; transform: translate(0, -50%); }
.item4 { bottom: 0; left: 50%; transform: translate(-50%, 0); }
.item5 { top: 50%; left: 0; transform: translate(0, -50%); }
.item6 { top: 18%; left: 0; transform: translate(0, -50%); }
.item7 { bottom: 18%; right: 0; transform: translate(0, 50%); }




.radial-item::before {
    content: "";
    position: absolute;
    width: 2px;
    background: #4CAF50;
    height: 80px;
    left: 50%;
    top: -80px;
    transform: translateX(-50%);
}
.questions {
    position: absolute;
    left: 340px;
    top: 50%;
    transform: translateY(-50%);
    background: #ffffff;
    padding: 14px 22px;
    border-radius: 12px;
    border: 2px solid #1e7b4f;
    box-shadow: 0 10px 22px rgba(0,0,0,0.16);
    opacity: 0;
    pointer-events: none;
    transition: 0.25s ease;
    z-index: -1;
}




.faq-theme-item:hover .questions {
    opacity: 1;
    pointer-events: auto;
    z-index: 5;
}




.questions p {
    margin: 6px 0;
    font-size: 0.95rem;
}




.faq-theme-item {
    display: flex !important;
    flex-direction: row;
    align-items: center;
}
.compare-section {
  text-align: center;
  margin-bottom: 3rem;
}




.subtitle {
  margin-top: 0.5rem;
  font-size: 1.2rem;
  color: #4b5563;
}




.compare-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  margin-top: 2.5rem;
}




/* Carte bancaire */
.compare-card {
  background: #ffffff;
  border-radius: 18px;
  padding: 2rem;
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
  text-align: left;
}




.compare-title {
  font-size: 1.5rem;
  margin-bottom: 1rem;
  color: #065f46;
}




.compare-intro {
  font-size: 1.1rem;
  margin-bottom: 1rem;
}




.compare-list {
  list-style: none;
  padding: 0;
  line-height: 1.7;
  margin-bottom: 1.5rem;
}




.compare-bottom {
  font-size: 0.95rem;
  color: #374151;
}




/* Vidéo */
.compare-video .video-frame {
  width: 100%;
  height: 100%;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
}




iframe {
  border-radius: 18px;
}




/* Responsive */
@media (max-width: 900px) {
  .compare-grid {
    grid-template-columns: 1fr;
  }
}




/* ---------- PAGE HISTOIRE DE MR L ---------- */




.hero-mr-l {
    width: 100%;
    height: 350px;
   background-image: url('assets/vineyard.png');
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
}




.hero-mr-l h1 {
    background: rgba(0,0,0,0.55);
    color: #fff;
    padding: 15px 25px;
    border-radius: 8px;
    font-size: 2.4rem;
    text-align: center;
}




.story-container {
    max-width: 900px;
    margin: 40px auto;
    padding: 0 20px;
}




.story-container h2 {
    margin-top: 35px;
    font-size: 1.9rem;
    color: #2c3e50;
    font-weight: 700;
}




.story-container p {
    margin-top: 15px;
    line-height: 1.7;
    color: #444;
    font-size: 1.1rem;
}




.quote-block {
    background: #f1f1f1;
    border-left: none;
    padding: 15px 20px;
    margin: 20px 0;
    font-style: italic;
    color: #333;
    border-radius: 6px;
}




.page-contrat {
  width: 100%;
  padding: 40px 0;
}




.page {
  width: 90%;
  max-width: 900px;
  margin: 0 auto;
  background:white;
  padding:40px;
  box-shadow:0 0 20px rgba(0,0,0,0.1);
}




.contrat-toolbar {
  width: 90%;
  max-width: 900px;
  margin: 0 auto 15px auto;
  display: flex;
  justify-content: flex-end;
}




.contrat-toolbar-bottom {
  margin-top: 15px;
}




.print-btn {
  background:#2e7d32;
  color:white;
  padding:10px 20px;
  font-size:16px;
  border-radius:5px;
  cursor:pointer;
  border:none;
}




.print-btn:hover {
  opacity: 0.9;
}




h1 {
  text-align:center;
  margin-bottom:30px;
}




h2 {
  margin-top:40px;
  border-left:4px solid #2e7d32;
  padding-left:10px;
}




.article {
  margin-bottom:25px;
}
.devis-container {
  width: 90%;
  max-width: 900px;
  margin: 20px auto;
  background: white;
  padding: 40px;
  border-radius: 22px;
  box-shadow: 0 10px 28px rgba(0,0,0,0.08);
}




.devis-intro {
  color: #4b5563;
  margin-bottom: 2rem;
  font-size: 1.1rem;
}




.devis-form h2 {
  margin-top: 40px;
  margin-bottom: 15px;
  border-left: none;
  padding-left: 10px;
}




.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}




.form-field {
  display: flex;
  flex-direction: column;
}




.form-field label {
  font-weight: 600;
  margin-bottom: 6px;
}




.form-field input,
.form-field select {
  padding: 12px;
  border-radius: 12px;
  border: 1px solid #d1d5db;
  font-size: 1rem;
}




.form-textarea {
  width: 100%;
  min-height: 140px;
  padding: 14px;
  border-radius: 12px;
  border: 1px solid #d1d5db;
  font-size: 1rem;
  margin-top: 10px;
}




.submit-btn {
  background: #1e7b4f;
  color: white;
  padding: 14px 24px;
  font-size: 1.1rem;
  font-weight: bold;
  border-radius: 12px;
  cursor: pointer;
  border: none;
  margin-top: 20px;
}




.submit-btn:hover {
  opacity: 0.9;
}




@media (max-width: 780px) {
  .form-grid {
    grid-template-columns: 1fr;
  }
}




<style>
  .devis-container {
    max-width: 800px;
    margin: 40px auto;
    padding: 20px;
    background: #ffffff;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    border-radius: 12px;
  }




  .devis-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }




  .form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }




  .form-field {
    display: flex;
    flex-direction: column;
  }




  .form-field label {
    margin-bottom: 5px;
    font-weight: bold;
  }




  .form-field input, .form-field select, .form-textarea {
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 16px;
  }




  .form-textarea {
    min-height: 100px;
    resize: vertical;
  }




  .submit-btn {
    padding: 12px 20px;
    font-size: 18px;
    color: #fff;
    background: #2e7d32;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.2s;
  }




  .submit-btn:hover {
    background: #27632a;
  }
</style>




.faq-title {
  color: #000 !important; /* titre en noir */
  font-size: 28px;        /* taille propre et raisonnable */
  margin-top: 20px;       /* proche du haut */
  margin-bottom: 20px;
  text-align: left;       /* aligné en haut à gauche */
  font-weight: 700;
}




/* Reset */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}




/* Body global */
body {
    font-family: Arial, sans-serif;
    background: #f5f5f7;
    color: #222;
    line-height: 1.5;
}




/* Wrapper global */
.faq-wrapper {
    max-width: 1200px;
    margin: 20px auto;
    padding: 0 16px;
}




/* Titres */
.faq-title {
    text-align: center;
    font-size: 2.4rem;
    margin-bottom: 10px;
}




.faq-subtitle {
    text-align: center;
    font-size: 1r.8em;
    color: #555;
 margin: 5px 0 15px;
}




/* Grille FAQ */
.faq-grid { 
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}




/* Responsive tablette */
@media (max-width: 900px) {
    .faq-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}




/* Responsive mobile */
@media (max-width: 600px) {
    .faq-grid {
        grid-template-columns: 1fr;
    }
}




/* Cartes FAQ */
.faq-card {
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.06);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}




.faq-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
}




.faq-card a {
    color: inherit;
    text-decoration: none;
    display: block;
    height: 100%;
}




/* Images */








.faq-card-image {
    width: 75%;
    height: auto;
    display: block;
    margin: 0 auto;
    object-fit: contain;
}




/* Contenu */
.faq-card-content {
    padding: 16px 18px 18px;
}




.faq-card-title {    font-size: 1.2rem;




    margin-bottom: 8px;
}




.faq-card-description {
    font-size: 0.92rem;
    color: #666;
}




body.faq-page {
    display: block !important;
    align-items: initial !important;
    justify-content: initial !important;
}




/* =============================
   RESET & BASE
   ============================= */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}




body {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background: #f5f5f7;
    color: #222;
    line-height: 1.6;
}




.page {
    max-width: 1100px;
    margin: 30px auto;
    padding: 0 16px 40px;
}




/* =============================
   HEADER
   ============================= */
header {
    text-align: center;
    margin-bottom: 32px;
}




header h1 {
    font-size: 2rem;
    margin-bottom: 10px;
}




header p {
    font-size: 0.98rem;
    color: #555;
}




/* =============================
   SCÉNARIOS
   ============================= */
.scenario {
    display: flex;
    gap: 24px;
    background: #fff;
    border-radius: 18px;
    padding: 20px;
    margin-bottom: 24px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.05);
}
















/* =============================
   contenu texte des scénarios
   ============================= */
.scenario-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}




.badge {
    display: inline-block;
    background: #e6f5e8;
    color: #16803a;
    border-radius: 999px;
    padding: 4px 12px;
    font-size: 0.75rem;
    margin-bottom: 6px;
    font-weight: 600;
}




.scenario-title {
    font-size: 1.4rem;
    margin-bottom: 4px;
}




.scenario-subtitle {
    font-size: 0.95rem;
    color: #666;
    margin-bottom: 10px;
}




.scenario-text {
    font-size: 0.95rem;
    margin-bottom: 14px;
}




.scenario-footer {
    font-size: 0.85rem;
    color: #888;
}




/* =============================
   CTA BAS DE PAGE
   ============================= */
.cta {
    margin-top: 32px;
    text-align: center;
}




.cta a {
    display: inline-block;
    padding: 10px 20px;
    border-radius: 999px;
    background: #111827;
    color: #fff;
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 600;
    transition: 0.2s ease;
}




.cta a:hover {
    background: #000;
    transform: scale(1.02);
}




/* =============================
   RESPONSIVE
   ============================= */
@media (max-width: 768px) {
    .scenario,
    .scenario:nth-child(even) {
        flex-direction: column;
    }




    .scenario-img {
        flex: 0 0 auto;
    }




    .scenario-title {
        font-size: 1.2rem;
    }




    .scenario-subtitle,
    .scenario-text {
        font-size: 0.9rem;
    }
}




.scenario {
    display: flex;
    align-items: center;
    gap: 24px;
    background: #fff;
    border-radius: 18px;
    padding: 20px;
    margin-bottom: 24px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.05);
}




.scenario-side-img {
    flex: 0 0 35%;
    text-align: center;
}




.scenario-side-img img {
    width: 100%;
    max-width: 350px;
    border-radius: 14px;
}




.scenario-content {
    flex: 1;
}




@media (max-width: 768px) {
    .scenario {
        flex-direction: column;
    }
}
/* ===== PAGE INFLATION ===== */




.inflation-page {
  max-width: 1100px;
  margin: auto;
  padding: 4rem 1.5rem;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  line-height: 1.7;
}




.inflation-section {
  margin-bottom: 5rem;
}




.inflation-section h1,
.inflation-section h2 {
  margin-bottom: 2rem;
}




.summary {
  margin-top: 2rem;
  padding-left: 1.5rem;
  border-left: none;
  font-weight: 500;
}




/* ===== LAYOUT AVEC CADRE ===== */




.inflation-row {
  display: flex;
  gap: 4rem;
  align-items: flex-start;
  margin: 6rem 0;
}




.inflation-row.reverse {
  flex-direction: row-reverse;
}




/* ===== CADRE VISUEL GAUCHE ===== */




.visual-box {
  width: 260px;
  padding: 2rem;
  background: #f5f1e8;
  border-left: none;
  position: sticky;
  top: 120px;
}




.visual-box.house {
  border-left-color: #7a5a3a;
}




.visual-label {
  display: block;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  margin-bottom: 0.75rem;
  opacity: 0.7;
}




.visual-icon {
  font-size: 2rem;
  display: block;
  margin-bottom: 1rem;
}




.visual-box p {
  margin: 0;
  font-size: 0.95rem;
}




/* ===== TEXTE ===== */




.content-box {
  max-width: 720px;
}




.content-box ul {
  padding-left: 1.2rem;
}




/* ===== RESPONSIVE ===== */




@media (max-width: 900px) {
  .inflation-row {
    flex-direction: column;
  }




  .visual-b




















/* ======== 3 BOUTONS D'OPTIONS ======== */




.choix-buttons {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin: 35px 0;
    flex-wrap: wrap;
}




.choix-btn {
    display: inline-block;
    padding: 12px 22px;
    background: #065f46;
    color: #fff;
    font-weight: 600;
    border-radius: 14px;
    text-decoration: none;
    transition: 0.2s ease;
    font-size: 0.95rem;
    white-space: nowrap;
    box-shadow: 0 6px 15px rgba(0,0,0,0.08);
}




.choix-btn:hover {
    background: #0a7a57;
    transform: translateY(-2px);
}




/* Responsive */
@media (max-width: 650px) {
    .choix-buttons {
        flex-direction: column;
        gap: 12px;
    }




    .choix-btn {
        width: 100%;
        text-align: center;
    }
}




.btn-azur {
    display: inline-block;
    background-color: #00AEEF; /* Bleu azur */
    color: white;
    padding: 12px 26px;
    border-radius: 30px; /* bien arrondi */
    font-size: 1.1rem;
    font-weight: 600;
    text-decoration: none;
    transition: 0.25s ease;
    box-shadow: 0px 4px 12px rgba(0, 174, 239, 0.35);
}




.btn-azur:hover {
    background-color: #0095d1; /* azur un peu plus sombre au survol */
    box-shadow: 0px 6px 16px rgba(0, 149, 209, 0.45);
    transform: translateY(-2px);
}




.visual-image {
  width: 120%;
  height: auto;
  margin: 1rem 0 1.2rem;
  border-radius: 6px;
  display: block;
}




.hero-card-image {
  padding: 0;
  overflow: hidden;
}




.hero-card-image img {
  width: 80%;
  height: auto;
  display: block;
  border-radius: 16px;
  transition: transform 0.3s ease;
}




/* Effet léger au survol (optionnel mais pro) */
.hero-card-image:hover img {
  transform: scale(1.03);
}




@media (max-width: 768px) {
  .hero-card-image img {
    border-radius: 12px;
  }
}




.habits-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 3rem;
  align-items: center;
}




.habits-image img {
  width: 100%;
  height: auto;
  border-radius: 16px;
  box-shadow: 0 20px 40px rgba(0,0,0,0.15);
}
/* =================================================
   HABITS (visuel + texte)
================================================= */




.habits-visual {
  width: 100%;
}




@media (max-width: 900px) {
  .habits-grid {
    grid-template-columns: 1fr;
  }




  .habits-image {
    order: -1;
  }
}








/* =================================================
   BENEFITS (texte à gauche / image à droite)
================================================= */




.benefits-horizontal {
  display: flex;
  align-items: center;
  gap: 3rem;
  width: 100%;
}




.benefits-text {
  flex: 1 1 60%;
}




.benefits-image {
  flex: 1 1 40%;
  display: flex;
  justify-content: flex-end;
}




.benefits-image img {
  width: 100%;
  max-width: 420px;
  height: auto;
  border-radius: 18px;
  box-shadow: 0 18px 40px rgba(0,0,0,0.18);
}




/* Mobile */
@media (max-width: 900px) {
  .benefits-horizontal {
    flex-direction: column;
  }




  .benefits-image {
    justify-content: center;
    margin-top: 2rem;
  }
}




/* =========================
   WERO : TEXTE GAUCHE / CTA DROITE
========================= */




.start-wero {
  max-width: 1000px;
  margin: 0 auto;
}




.wero-layout {
  display: grid;
  grid-template-columns: 1.3fr 0.9fr; /* gauche plus large */
  gap: 3rem;
  align-items: center; /* centre verticalement */
  margin: 3rem 0;
}




/* GAUCHE : étapes */
.wero-steps-col {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  text-align: left;
}




.wero-step {
  background: #f0fdf4;
  border-radius: 18px;
  padding: 1.2rem 1.4rem;
  box-shadow: 0 8px 20px rgba(0,0,0,0.06);
}




.step-number {
  display: inline-block;
  width: 34px;
  height: 34px;
  line-height: 34px;
  border-radius: 50%;
  background: #10b981;
  color: #fff;
  font-weight: bold;
  text-align: center;
  margin-bottom: 0.5rem;
}




/* DROITE : bouton + visuel */
.wero-cta-col {
  display: flex;
  flex-direction: column;
  align-items: center; /* centre horizontalement */
  justify-content: center; /* centre verticalement dans la colonne */
  gap: 1.6rem;
  text-align: center;
}




.wero-main-btn {
  font-size: 1.1rem;
  padding: 0.9rem 2rem;
}




.wero-visual {
  max-width: 260px;
  width: 100%;
  border-radius: 18px;
  box-shadow: 0 18px 40px rgba(0,0,0,0.18);
}




/* MOBILE */
@media (max-width: 900px) {
  .wero-layout {
    grid-template-columns: 1fr;
    text-align: center;
  }




  .wero-steps-col {
    text-align: center;
  }
}




/* SUPPRESSION DEFINITIVE DES TRAITS VERTS */
h1,
h2,
h3,
.block-title,
.pastel-title {
    border-left: none !important;
    padding-left: 0 !important;
}




.block-title::before,
.block-title::after {
    content: none !important;
}




.two-columns {
  display: grid;
  grid-template-columns: 1fr 1fr; /* 50% / 50% */
  gap: 3rem;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: 3rem 1.5rem;
}


.two-columns-text {
  text-align: left;
}


.two-columns-image img {
  width: 100%;
  height: auto;
  border-radius: 16px;
  box-shadow: 0 18px 40px rgba(0,0,0,0.15);
}






@media (max-width: 900px) {
  .two-columns {
    grid-template-columns: 1fr;
    text-align: center;
  }


  .two-columns-image {
    order: -1; /* image au-dessus */
  }
}








.two-columns {
  display: flex;
  gap: 3rem;
  align-items: center;
}


.two-columns > div {
  flex: 1;
}