:root{--vert: #5c7c5a;--vert-fonce: #46603f;--creme: #faf7f2;--encre: #2d2a26;--gris: #b9b2a7}*{box-sizing:border-box}body{margin:0;font-family:Georgia,Times New Roman,serif;background:var(--creme);color:var(--encre)}.page{max-width:1040px;margin:0 auto;padding:32px 16px 64px}header h1{margin:0 0 8px;font-size:2rem;color:var(--vert-fonce)}.sous-titre{margin:0 0 24px;color:#6b655c}.bandeau{background:#fff3e0;border:1px solid #e8c894;border-radius:8px;padding:12px 16px;margin-bottom:16px}.colonnes{display:grid;grid-template-columns:1fr 1fr;gap:28px}@media (max-width: 820px){.colonnes{grid-template-columns:1fr}}.calendrier{background:#fff;border-radius:12px;padding:16px;box-shadow:0 2px 12px #0000000f}.cal-tete{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.cal-tete button{border:none;background:var(--creme);border-radius:8px;font-size:1.3rem;width:36px;height:36px;cursor:pointer}.cal-grille{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-grille.entetes{color:var(--gris);font-size:.8rem;text-align:center;margin-bottom:4px}.jour{position:relative;border:1px solid #eee7db;background:#fff;border-radius:8px;min-height:52px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-family:inherit}.jour .num{font-weight:700}.jour .prix{font-size:.68rem;color:var(--vert)}.jour.indispo{background:#f3efe8;color:var(--gris);cursor:not-allowed;text-decoration:line-through}.jour.sel{background:var(--vert);color:#fff;border-color:var(--vert)}.jour.sel .prix{color:#e8f0e7}.jour.plage{background:#e3ece2;border-color:#cfdecd}.legende{font-size:.8rem;color:#8a8378}.pastille{display:inline-block;width:10px;height:10px;border-radius:50%}.pastille.dispo{background:var(--vert)}.pastille.occ{background:var(--gris)}.voyageurs{background:#fff;border-radius:12px;padding:8px 16px;margin-top:16px;box-shadow:0 2px 12px #0000000f}.compteur{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #f0ebe2}.compteur:last-child{border-bottom:none}.compteur .boutons{display:flex;align-items:center;gap:14px}.compteur button{width:32px;height:32px;border-radius:50%;border:1px solid var(--gris);background:#fff;font-size:1.1rem;cursor:pointer}.panneau{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 12px #0000000f;align-self:start}.panneau h2{margin-top:0;color:var(--vert-fonce)}.vide{color:#8a8378}.erreur{background:#fdecea;border:1px solid #f5c6c0;border-radius:8px;padding:10px 14px}.recap{width:100%;border-collapse:collapse}.recap td{padding:7px 0;border-bottom:1px solid #f0ebe2}.recap td:last-child{text-align:right;white-space:nowrap}.recap .remise td{color:var(--vert)}.recap .total td{font-weight:700;font-size:1.05rem;border-top:2px solid var(--encre)}.echeancier{background:var(--creme);border-radius:8px;padding:12px 16px;font-size:.92rem;line-height:1.6}form{display:flex;flex-direction:column;gap:10px;margin-top:8px}form input[type=text],form input[type=email],form input[type=tel],form input:not([type]){padding:12px 14px;border:1px solid #ddd5c8;border-radius:8px;font-family:inherit;font-size:1rem}.cgv{display:flex;gap:8px;font-size:.88rem;align-items:flex-start}.cgv input{margin-top:3px}.cgv a{color:var(--vert)}.payer{background:var(--vert);color:#fff;border:none;border-radius:8px;padding:14px;font-size:1.05rem;font-family:inherit;cursor:pointer}.payer:hover{background:var(--vert-fonce)}.payer:disabled{background:var(--gris);cursor:wait}.rassurance{font-size:.8rem;color:#8a8378;text-align:center;margin:4px 0 0}
