:root{--teal:#407F91;--teal-f:#2B424D;--teal-50:#EAF2F4;--teal-200:#B6D2DA;--sable:#E3D9C8;--fond:#f7f5f0;--encre:#1F2A30;--gris:#43525A;--vert:#2e7d5b;--rouge:#a8443c;--fort:rgba(43,66,77,.28)}
*{box-sizing:border-box}
body{margin:0;background:var(--fond);color:var(--encre);font:16px/1.55 Poppins,system-ui,sans-serif;min-height:100vh}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:url(/assets/dunes-cream-1.webp) center bottom/cover no-repeat;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 45%);mask-image:linear-gradient(to bottom,transparent 0,#000 45%)}
h1,h2{font-family:Anton,Impact,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.01em;line-height:1.15;color:var(--teal-f)}
h1{font-size:34px;margin:0 0 24px}h2{font-size:24px;margin:48px 0 24px}
main{max-width:980px;margin:0 auto;padding:24px 16px 80px}main.etroit{max-width:620px}
.logo{display:block;height:34px;width:auto;margin:0 0 32px}
.carte,.svc-form{background:#fff;border:1px solid var(--sable);border-radius:20px;padding:22px;box-shadow:0 18px 40px -24px rgba(43,66,77,.22);margin-bottom:14px;min-width:0}
input,select,textarea{width:100%;font:500 16px Poppins,system-ui,sans-serif;color:var(--teal-f);background:#fff;border:1px solid var(--sable);border-radius:12px;padding:12px 14px;min-width:0}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(64,127,145,.16)}
textarea{resize:vertical}
label{display:flex;flex-direction:column;gap:7px;font-weight:600;color:var(--teal-f);min-width:0}
.svc-form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.svc-form .field{display:flex;flex-direction:column;gap:7px;margin-top:16px}.svc-form .row .field{margin-top:0}
.svc-form .f-submit{margin-top:22px;width:100%;justify-content:center}
button,.bouton{display:inline-flex;align-items:center;font:600 16px/1 Poppins,system-ui,sans-serif;white-space:nowrap;border:0;background:linear-gradient(180deg,#34505d,#2B424D);color:#F8F2EB;border-radius:999px;padding:13px 22px;cursor:pointer;text-decoration:none;box-shadow:0 2px 6px rgba(43,66,77,.08);transition:transform .15s ease-out}
button:hover,.bouton:hover{transform:translateY(-2px)}
button.clair,.bouton.clair{background:transparent;color:var(--teal-f);box-shadow:inset 0 0 0 1.5px var(--fort)}
button.creneau{background:#fff;color:var(--teal-f);box-shadow:inset 0 0 0 1.5px var(--sable)}button.creneau.choisi{background:linear-gradient(180deg,#4a8c9f,#407F91);color:#fff;box-shadow:none}
button:disabled{opacity:.5;cursor:default;transform:none}
.ligne{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.gris{color:var(--gris)}.erreur{color:var(--rouge)}.pile{display:grid;gap:14px}.piege{position:absolute;left:-9999px;width:1px}
.pastille{display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:13px;font-weight:600;padding:6px 11px;border-radius:999px;background:var(--teal-50);color:var(--teal-f);white-space:nowrap}.pastille.vert{background:#e3f2ea;color:var(--vert)}.pastille.rouge{background:#f7e6e4;color:var(--rouge)}
nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}nav button{background:#fff;color:var(--teal-f);box-shadow:inset 0 0 0 1.5px var(--sable)}nav button.actif{background:linear-gradient(180deg,#4a8c9f,#407F91);color:#fff;box-shadow:none}
.tableau{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--sable);vertical-align:top;font-weight:400}th{font-weight:600}td.h{white-space:nowrap}td:first-child{min-width:190px}td .lien{overflow-wrap:normal}
.jours{display:grid;gap:8px}.jour{display:grid;grid-template-columns:90px minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:center}
.lien{color:var(--teal);border-bottom:1.5px solid #EDBC7D;text-decoration:none;overflow-wrap:anywhere}
@media(max-width:620px){.svc-form .row{grid-template-columns:1fr}h1{font-size:30px}}
main.moyen{max-width:880px}.etroit{max-width:620px}
.logo{height:40px}
.choix{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:14px;align-items:start}
.cal-tete{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.cal-tete b{text-transform:capitalize;color:var(--teal-f)}
button.nav-mois{width:40px;height:40px;padding:0;justify-content:center;font-size:22px;background:#fff;color:var(--teal-f);box-shadow:inset 0 0 0 1.5px var(--sable)}
.cal-grille{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;text-align:center}
.cal-j{font-size:13px;font-weight:600;color:var(--gris);text-transform:capitalize;padding-bottom:4px}
.jour-cal{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:999px;color:#9aa6ab;font-weight:500}
button.jour-cal{padding:0;width:100%;background:var(--teal-50);color:var(--teal-f);box-shadow:none;font-weight:700}button.jour-cal:hover{transform:none;box-shadow:inset 0 0 0 1.5px var(--teal)}
button.jour-cal.choisi{background:linear-gradient(180deg,#4a8c9f,#407F91);color:#fff}
.heures b{display:block;margin-bottom:12px;color:var(--teal-f)}.heures b::first-letter{text-transform:uppercase}
.liste-h{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;margin-bottom:18px}.liste-h .creneau{justify-content:center}
.fuseau{font-size:16px;margin-top:6px}
button.petit{padding:8px 14px;font-size:14px}
@media(max-width:720px){.choix{grid-template-columns:1fr}}
.erreur:empty,#sel:empty{display:none}

.logo.photo{height:72px;width:72px;border-radius:50%}
