/* =========================================================
   Le Moulin du Barthas – page Chambres d'hôtes
   Variante de fenial-harmonisee-v3.css avec tarifs sur 2 colonnes.
   ========================================================= */
:root{--green:#506b50;--green-dark:#3e553f;--blue:#577491;--sand:#eee7d8;--cream:#f8f5ee;--text:#30332f;--line:#ddd6c8;--beige:#C9A974;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}img{max-width:100%;height:auto}a{color:var(--blue)}
.site-header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:20}.site-header-inner{max-width:var(--max);margin:auto;padding:18px 22px;display:flex;align-items:center;gap:24px;position:relative}.brand{font-size:1.55rem;font-weight:700;color:var(--green-dark);text-decoration:none;white-space:nowrap}.phone{margin-left:auto;color:var(--text);text-decoration:none;font-weight:600;white-space:nowrap}.main-nav{display:flex;gap:17px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.main-nav a{color:var(--text);text-decoration:none;font-size:.91rem}.main-nav a:hover,.main-nav a.active{color:var(--green-dark);font-weight:700}.menu-toggle{display:none;background:none;border:0;font-size:1.7rem;color:var(--green-dark)}
.hero-gite{background:var(--cream)}.hero-gite>img{width:100%;height:auto;display:block}.hero-overlay{padding:30px max(22px,calc((100% - var(--max))/2 + 22px));background:var(--green-dark);color:#fff}.hero-overlay h1{font-size:clamp(2.5rem,5vw,4.2rem);line-height:1.05;margin:6px 0}.hero-overlay p:not(.eyebrow){max-width:700px;font-size:1.15rem;margin:0 0 20px}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700;margin:0 0 5px}.btn-reserver{display:inline-block;background:var(--green);color:#fff;font-size:1.05rem;font-weight:700;padding:13px 26px;border-radius:5px;text-decoration:none;transition:background .2s,transform .2s}.btn-reserver:hover{background:var(--green-dark);color:#fff;transform:translateY(-1px)}.hero-button{background:var(--beige);color:#fff}.hero-button:hover{background:#a98a57;color:#fff}
.section{padding:62px 22px}.section-soft{background:var(--cream)}.section-narrow{max-width:var(--max);margin:auto}.intro .section-narrow{max-width:900px}.intro h1,.intro h2{font-size:clamp(1.8rem,3vw,2.55rem);line-height:1.2;color:var(--green-dark);margin:0 0 22px}.intro p{margin:.75em 0}.reservation-cta{text-align:center;margin-top:28px}.bottom-cta{margin-top:36px;margin-bottom:0}.center-title{text-align:center;color:var(--green-dark);margin:0 0 28px}.facts-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.facts-grid>div{background:#fff;padding:17px 10px;text-align:center;min-height:112px;display:flex;flex-direction:column;justify-content:center;align-items:center}.facts-grid strong{display:block;font-size:1.15rem;color:var(--green-dark);line-height:1.25}.facts-grid span{display:block;font-size:.84rem;line-height:1.35;margin-top:5px}.fact-logo img{display:block;width:64px;height:64px;object-fit:contain;margin:0 auto 6px}.fact-logo span{color:var(--green-dark);font-weight:600}.section-heading{text-align:center;max-width:780px;margin:0 auto 35px}.section-heading h2{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.2;color:var(--green-dark);margin:0 0 8px}.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.fenial-card{background:#fff;border:1px solid var(--line);overflow:hidden}.fenial-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.fenial-card h2,.fenial-card p{margin-left:22px;margin-right:22px}.fenial-card h2{font-size:1.2rem;line-height:1.3;color:var(--green-dark);margin-top:20px}.fenial-card p{margin-bottom:22px}.accessibility-button{display:inline-block;margin:0 22px 8px;padding:10px 16px;border-radius:4px;background:var(--beige);color:#fff;text-decoration:none;font-weight:700}.accessibility-button:hover{background:#a98a57;color:#fff}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.detail-section{max-width:900px;margin:0 auto 48px}.detail-section h2{font-size:1.8rem;line-height:1.2;color:var(--green-dark);margin:0 0 18px}.detail-section p{margin:.55em 0}.detail-section .important{font-weight:700;color:var(--green-dark)}.bullet{color:var(--green);font-weight:700;margin-right:6px}
/* Tarif : contenu et organisation identiques, mais 2 colonnes pour cette page. */
.tariffs-original{max-width:1160px}.tariffs-original .intro-tarifs{text-align:center}.periode-tarif,.options-tarifs,.formule-modulable{width:90%;margin:2em auto 0}.periode-tarif h4,.options-tarifs h4,.formule-modulable h4{font-size:1.55em;color:#000;margin:0 0 .35em;text-align:left}.dates-tarif{font-size:.98em;margin-bottom:.8em}
.periodes-tarifs{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;width:100%;margin:2em auto 0}.periodes-tarifs .periode-tarif{width:auto;margin:0;border:1px solid var(--line);border-radius:4px;padding:22px 24px}.periodes-tarifs .periode-tarif h4{font-size:1.3em;border-bottom:1px solid var(--beige);padding-bottom:10px;margin-bottom:14px}.periodes-tarifs .dates-tarif{font-style:italic;color:#555}.periodes-tarifs .table-tarifs{margin-bottom:0}.table-tarifs{width:100%;max-width:620px;margin:.7em 0 1.4em;border-collapse:collapse;border-top:1px solid var(--beige);font-size:1em;background:#fff}.table-tarifs th,.table-tarifs td{padding:.55em .8em;border-bottom:1px solid var(--beige);text-align:left}.table-tarifs th{font-weight:700;color:#000;background:var(--cream)}.table-tarifs th:last-child,.table-tarifs td:last-child{width:120px;text-align:right}.table-tarifs td:first-child{color:var(--blue)}.table-tarifs td strong{color:#000;white-space:nowrap}.options-tarifs ul{margin:.7em 0 0 1.2em;color:var(--blue)}.options-tarifs li{margin:.35em 0;line-height:1.6}.formule-modulable{border-top:1px solid var(--beige);padding-top:1.5em}.phrase-modulable{margin-top:1.2em}.notes{border-top:1px solid var(--line);margin-top:35px;padding-top:24px}.notes p{margin:.75em 0}
.reservation-section{padding:62px 22px;background:#fff}.reservation-section iframe{display:block;width:100%;min-height:600px;border:0;background:#fff}
@media(max-width:1000px){.site-header-inner{flex-wrap:wrap}.main-nav{width:100%;justify-content:flex-start}.facts-grid{grid-template-columns:repeat(3,1fr)}.periodes-tarifs{grid-template-columns:1fr;gap:18px}}
@media(max-width:700px){body{font-size:15.5px}.site-header-inner{padding:14px 18px;gap:10px}.brand{font-size:1.25rem}.phone{font-size:.9rem}.menu-toggle{display:block;margin-left:auto}.main-nav{display:none;width:100%;flex-direction:column;align-items:flex-start;gap:0}.menu-open .main-nav{display:flex}.main-nav a{width:100%;padding:9px 0;border-top:1px solid var(--line)}.hero-overlay{padding:26px 18px 24px}.hero-overlay p:not(.eyebrow){font-size:1rem}.section{padding:44px 18px}.facts-grid{grid-template-columns:repeat(2,1fr)}.cards-grid,.photo-grid{grid-template-columns:1fr}.periode-tarif,.options-tarifs,.formule-modulable{width:100%}.table-tarifs{max-width:100%;font-size:.95rem}.table-tarifs th,.table-tarifs td{padding:8px 7px}.detail-section{margin-bottom:35px}.reservation-section{padding:44px 18px}.reservation-section iframe{min-height:1200px}}
@media(max-width:480px){.facts-grid>div{min-height:120px}.fact-logo img{width:58px;height:58px}.hero-overlay h1{font-size:2.5rem}.periode-tarif h4,.options-tarifs h4,.formule-modulable h4{font-size:1.35em}.table-tarifs th,.table-tarifs td{padding:.5em .65em}}
/* Bouton vert Disponibilités et réservations dans le menu */
.main-nav a.nav-book,.main-nav a[href="reservation.html"]{display:inline-block;background:var(--green);color:#fff;padding:10px 12px;border-radius:3px;font-weight:700;text-decoration:none;border-bottom:0;transition:background .2s ease}
.main-nav a.nav-book:hover,.main-nav a[href="reservation.html"]:hover{background:var(--green-dark);color:#fff}
/* Footer unifié (identique à la page d'accueil) */
.site-footer{background:var(--beige);color:#fff}
.footer-grid{max-width:var(--max);margin:0 auto;padding:55px 24px 40px;display:grid;grid-template-columns:repeat(4,1fr);gap:35px}
.footer-grid h3{margin:0 0 12px;font-size:1rem;color:#fff;font-weight:700}
.footer-grid a{display:block;margin:5px 0;color:#fff;text-decoration:none;font-size:.92rem;font-weight:400}
.footer-grid a:hover{text-decoration:underline}
.footer-bottom{max-width:var(--max);margin:0 auto;padding:22px 24px 30px;border-top:1px solid rgba(255,255,255,.4);text-align:center;font-size:.9rem}
.footer-bottom p{margin:6px 0}
.footer-bottom a{color:#fff;font-weight:700}
@media(max-width:1000px){.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.footer-grid{grid-template-columns:1fr;padding:40px 18px 30px;gap:25px}.footer-bottom{padding-left:18px;padding-right:18px}}/* Footer unifié (identique aux autres pages du site) */
.site-footer{background:var(--beige);color:#fff}
.footer-grid{max-width:var(--max);margin:0 auto;padding:55px 24px 40px;display:grid;grid-template-columns:repeat(4,1fr);gap:35px}
.footer-grid h3{margin:0 0 12px;font-size:1rem;color:#fff;font-weight:700}
.footer-grid a{display:block;margin:5px 0;color:#fff;text-decoration:none;font-size:.92rem;font-weight:400}
.footer-grid a:hover{text-decoration:underline}
.footer-bottom{max-width:var(--max);margin:0 auto;padding:22px 24px 30px;border-top:1px solid rgba(255,255,255,.4);text-align:center;font-size:.9rem}
.footer-bottom p{margin:6px 0}
.footer-bottom a{color:#fff;font-weight:700}
@media(max-width:1000px){.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.footer-grid{grid-template-columns:1fr;padding:40px 18px 30px;gap:25px}.footer-bottom{padding-left:18px;padding-right:18px}}/* Ajustement des tableaux de tarifs sur petit écran */
@media (max-width: 700px) {
  .table-tarifs {
    font-size: .82rem;
  }
  .table-tarifs th,
  .table-tarifs td {
    padding: 6px 5px;
    line-height: 1.3;
  }
  .table-tarifs th:last-child,
  .table-tarifs td:last-child {
    width: auto;
  }
  .table-tarifs th,
  .table-tarifs td {
    text-align: center;
  }
  .table-tarifs td:first-child {
    text-align: left;
  }
}

@media (max-width: 480px) {
  .table-tarifs {
    font-size: .78rem;
  }
  .table-tarifs th,
  .table-tarifs td {
    padding: 5px 4px;
  }
}
/* Corrige l'encadrement des tableaux de tarifs sur petit écran */
@media (max-width: 700px) {
  .periodes-tarifs {
    width: 100%;
    padding: 0;
  }
  .periodes-tarifs .periode-tarif {
    width: 100%;
    padding: 16px 14px;
    margin: 0;
    box-sizing: border-box;
  }
  .table-tarifs {
    width: 100%;
    max-width: 100%;
    table-layout: fixed;
  }
  .table-tarifs th,
  .table-tarifs td {
    padding: 6px 4px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
}

@media (max-width: 480px) {
  .periodes-tarifs .periode-tarif {
    padding: 14px 10px;
  }
}