/* ══ Pages d'offre avec grille et formulaire (Airbnb, Professionnels) ══ */
.hero{background:radial-gradient(120% 55% at 100% 0%,rgba(183,245,200,.16),transparent 60%),linear-gradient(180deg,#0F3D24 0%,#10422A 100%);color:#fff;padding:22px 0 26px}
.kick{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.3px;color:var(--gd);background:var(--lime);padding:5px 12px;border-radius:30px}
h1{margin:12px 0 12px;font-size:36px;line-height:1.05;font-weight:800;letter-spacing:-1px}
h1 em.s{display:block;color:var(--lime);font-size:1.12em}
.lead{margin:0 0 16px;font-size:16px;color:var(--on)}
.pic{border-radius:20px;overflow:hidden;border:3px solid rgba(255,255,255,.9);box-shadow:0 18px 40px -18px rgba(0,0,0,.6);aspect-ratio:16/10;background:#000}
.pic img{width:100%;height:100%;object-fit:cover}
.hero .btn{margin-top:18px}
.mini{margin:10px 0 0;text-align:center;font-size:13px;color:var(--on2)}
.alt-bg{background:var(--cr)}

/* cartes de prix */
.cards{display:flex;flex-direction:column;gap:12px}
.card{background:#fff;border:1px solid #E9EEEB;border-radius:20px;padding:14px 16px;box-shadow:0 8px 18px -12px rgba(12,20,17,.2)}
.card h3{margin:0;font-size:19px;font-weight:800}
.card p{margin:2px 0 8px;font-size:14px;color:var(--mu)}
.pr{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 0;border-top:1px solid #EEF2EF;font-size:15px;color:var(--tm)}
.pr b{font-size:19px;font-weight:800;color:var(--g);white-space:nowrap}
.pr small{display:block;font-size:12.5px;color:var(--mu)}

/* grille dégressive */
.tbl{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden;font-size:15px;table-layout:fixed}
.tbl th,.tbl td{padding:10px 6px;text-align:center;border-bottom:1px solid #EEF2EF}
.tbl th{font-size:13px;color:var(--mu);font-weight:700;background:var(--gp)}
.tbl th:first-child,.tbl td:first-child{text-align:left;padding-left:12px;width:40%}
.tbl td{font-weight:800;color:var(--g)}
.tbl td:first-child{font-weight:700;color:var(--tx)}

/* listes */
.list{margin:12px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.list li{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--tm)}
.list li svg{margin-top:2px;color:var(--g)}
.list b{color:var(--tx)}
.box{margin-top:14px;background:var(--gp);border-radius:16px;padding:14px 16px;font-size:15px;color:var(--tm)}
.box b{color:var(--gd)}
.note{margin:10px 0 0;font-size:13px;color:var(--mu)}

/* champs supplémentaires */
input[type=number],input[type=email],select,textarea{min-height:56px;border:1px solid #C9D3CD;border-radius:14px;background:#fff;padding:0 14px;font:inherit;font-size:18px;font-weight:400;color:var(--tx);width:100%}
textarea{min-height:96px;padding:12px 14px;resize:vertical}
select{appearance:auto}
select:focus,textarea:focus{outline:2px solid var(--g);outline-offset:1px;border-color:var(--g)}
select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--red)}
.opt-l{font-weight:500;color:var(--mu)}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.choix{display:grid;grid-template-columns:1fr 1fr;gap:8px;border:0;margin:0;padding:0}
.choix legend{font-size:15px;font-weight:700;margin-bottom:6px;padding:0}
.choix label{flex-direction:row;align-items:center;gap:10px;min-height:52px;padding:0 12px;border:1px solid #C9D3CD;border-radius:14px;background:#fff;font-size:15px}
.choix input{width:20px;height:20px;accent-color:var(--g);margin:0}
.choix label:has(input:checked){border:2px solid var(--g);background:var(--gp)}
.hero .lead a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.pic-clair{margin:16px 0 8px;border-color:#fff;box-shadow:0 12px 30px -16px rgba(19,32,26,.35)}

/* Confiance, avant/après et questions (pages Airbnb et Pros) */
.w .qui{margin-top:var(--e-2)}
.w .qui-t{display:block}
.faq-l{margin-top:12px;display:grid;gap:8px}
.faq-l details{background:var(--cr);border-radius:16px;padding:0 16px}
.faq-l summary{min-height:52px;display:flex;align-items:center;font-weight:700;cursor:pointer;list-style:none}
.faq-l summary::-webkit-details-marker{display:none}
.faq-l summary::after{content:"+";margin-left:auto;padding-left:12px;font-size:22px;color:var(--g)}
.faq-l details[open] summary::after{content:"−"}
.faq-l p{margin:0 0 16px;font-size:15px;color:var(--tm);line-height:1.5}
.duos-l{display:grid;gap:20px;margin:12px 0 28px}
.duo-l{margin:0}
.duo-l-g{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.duo-l-i{position:relative}
.duo-l img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:16px}
.duo-l span{position:absolute;top:8px;left:8px;background:rgba(10,18,14,.75);color:#fff;font-size:13px;font-weight:600;padding:3px 10px;border-radius:40px}
.duo-l figcaption{margin-top:6px;font-weight:700;font-size:15px}
