*{box-sizing:border-box}body{margin:0;background:#f7f4ed;color:#40433b;font:16px/1.7 Arial,sans-serif}h1,h2,h3{font-family:Georgia,serif;font-weight:500;color:#3f4b37}h1{font-size:clamp(2.6rem,6vw,5rem);line-height:1.05}h2{font-size:3rem}.hero{min-height:88vh;background:url("images/terrasse.png") center/cover;position:relative;display:flex;align-items:center;justify-content:center}.hero:after{content:"";position:absolute;inset:0;background:#17201566}.heroContent{position:relative;z-index:1;text-align:center;color:white}.logo{width:min(480px,90vw);background:#fffdf8e8;padding:10px}.heroContent p{font:italic 1.5rem Georgia,serif}.btn{display:inline-block;background:#68765a;color:white;padding:12px 24px;border:0;border-radius:30px;text-decoration:none;cursor:pointer}.language{position:absolute;z-index:3;right:20px;top:20px}.language button{border:0;padding:9px 13px;border-radius:20px;background:#fffdf8dd;cursor:pointer}.language>div{display:none;background:#fffdf8;padding:6px;border-radius:12px;margin-top:6px}.language.open>div{display:block}.language div button{display:block;width:100%;text-align:left;border-radius:8px}nav{position:sticky;top:0;z-index:5;display:flex;justify-content:center;gap:22px;flex-wrap:wrap;padding:13px;background:#fffdf8ee;border-bottom:1px solid #ddd}nav a{color:#3f4b37;text-decoration:none}section{max-width:1100px;margin:auto;padding:75px 22px}.soft{max-width:none;padding-left:max(22px,calc((100% - 1100px)/2));padding-right:max(22px,calc((100% - 1100px)/2));background:#eeece4}.eyebrow{color:#68765a;text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:bold}.notice{margin-top:25px;padding:16px;background:#fffdf8;border-left:3px solid #68765a}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.card{background:#fffdf8;padding:22px;border-radius:18px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery img{width:100%;height:280px;object-fit:cover;border-radius:18px}.price{max-width:650px;background:#fffdf8;padding:20px;border-radius:18px;display:flex;justify-content:space-between}.dates{display:grid;grid-template-columns:1fr 1fr;gap:15px}form{max-width:700px;display:grid;gap:15px}label{display:grid;gap:5px}input,textarea{padding:12px;border:1px solid #d6d2c8;border-radius:10px;background:#fffdf8;font:inherit}textarea{min-height:130px}.muted{color:#777}footer{text-align:center;padding:45px;background:#3f4b37;color:white}@media(max-width:650px){h2{font-size:2.3rem}.gallery{grid-template-columns:1fr 1fr}.dates{grid-template-columns:1fr}nav{gap:10px 14px}.gallery img{height:220px}}
.reviewStats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin:30px 0}.reviewStat{background:#fffdf8;border-radius:18px;padding:18px;text-align:center}.reviewStat strong{display:block;font:2rem Georgia,serif;color:#68765a}.reviewStat span{display:block;color:#777}.textLink{color:#68765a;font-weight:bold;text-decoration:none}.textLink:hover{text-decoration:underline}

/* Correctif V4 — formulaire de réservation */
#booking form, #booking form label, #booking form input, #booking form textarea,
#booking form select, #booking form button { position:relative; z-index:2; pointer-events:auto; }
#booking form input, #booking form textarea { user-select:text; -webkit-user-select:text; }
#booking form textarea { resize:vertical; }
/* Correctif définitif du formulaire : les champs restent des contrôles HTML natifs. */
#reservation form{position:relative;z-index:10;display:grid;gap:16px}
#reservation form label{display:block;position:relative;z-index:11}
#reservation form input,#reservation form textarea{position:relative;z-index:12;display:block;width:100%;box-sizing:border-box;pointer-events:auto!important;user-select:text!important;-webkit-user-select:text!important;opacity:1!important;visibility:visible!important;cursor:text}
#reservation form textarea{min-height:120px;resize:vertical}
