:root {
  --vert: #2f6b4f;
  --vert-fonce: #1f4a36;
  --vert-clair: #e7f1ea;
  --accent: #c2577a;
  --creme: #faf7f2;
  --texte: #23302a;
  --gris: #6b7570;
  --bord: #dfe5e0;
  --pris: #e9e4dc;
  --rayon: 14px;
  --ombre: 0 6px 24px rgba(31, 74, 54, .10);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 72px; }
body { margin: 0; font: 16px/1.6 Inter, system-ui, sans-serif; color: var(--texte); background: #fff; }
img { max-width: 100%; display: block; }
a { color: var(--vert); }
h1, h2, h3 { font-family: Fraunces, Georgia, serif; line-height: 1.2; color: var(--vert-fonce); margin: 0 0 .6em; }
h2 { font-size: clamp(1.7rem, 3.5vw, 2.3rem); }
h3 { font-size: 1.15rem; }

.bouton { display: inline-block; background: var(--vert); color: #fff; border: 0; border-radius: 999px; padding: .85em 1.6em;
  font: 600 1rem Inter, sans-serif; text-decoration: none; cursor: pointer; transition: background .2s, transform .1s; }
.bouton:hover { background: var(--vert-fonce); }
.bouton:active { transform: scale(.98); }
.bouton.petit { padding: .5em 1.1em; font-size: .95rem; }
.bouton.large { width: 100%; }
.bouton.secondaire { background: #fff; color: var(--vert); border: 2px solid var(--vert); }
.bouton:disabled { background: #a9b8b0; cursor: not-allowed; }

/* En-tête */
.entete { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; justify-content: space-between;
  padding: .55rem clamp(16px, 4vw, 48px); background: rgba(255,255,255,.95); backdrop-filter: blur(8px); border-bottom: 1px solid var(--bord); }
.marque { display: flex; align-items: center; gap: .6rem; text-decoration: none; font: 700 1.25rem Fraunces, serif; color: var(--vert-fonce); }
.marque img { border-radius: 50%; }
.menu { display: flex; align-items: center; gap: 1.4rem; }
.menu a:not(.bouton) { text-decoration: none; color: var(--texte); font-weight: 500; }
.menu a:not(.bouton):hover { color: var(--vert); }
.burger { display: none; background: none; border: 0; padding: 8px; cursor: pointer; }
.burger span { display: block; width: 24px; height: 2px; background: var(--vert-fonce); margin: 5px 0; }

/* Hero */
.hero { position: relative; min-height: min(78vh, 680px); display: flex; align-items: flex-end; color: #fff; }
.hero-photo { position: absolute; inset: 0; background: center/cover no-repeat var(--vert-fonce); }
.hero-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.05) 30%, rgba(15,35,25,.78)); }
.hero-texte { position: relative; padding: clamp(24px, 6vw, 72px); padding-bottom: calc(clamp(24px, 6vw, 72px) + 44px); max-width: 760px; }
.hero h1 { color: #fff; font-size: clamp(2rem, 5.5vw, 3.6rem); }
.hero p { font-size: 1.1rem; margin: 0 0 1.4rem; }
.surtitre { text-transform: uppercase; letter-spacing: .14em; font-size: .85rem !important; opacity: .9; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.badge-gdf { display: inline-flex; align-items: center; gap: .5rem; background: rgba(255,255,255,.92); color: var(--texte);
  padding: .35rem .8rem; border-radius: 999px; font-size: .9rem; font-weight: 500; }

.atouts { display: grid; grid-template-columns: repeat(4, 1fr); max-width: 1100px; margin: -38px auto 0; position: relative;
  background: #fff; border-radius: var(--rayon); box-shadow: var(--ombre); }
.atouts div { padding: 1.1rem; text-align: center; border-right: 1px solid var(--bord); }
.atouts div:last-child { border: 0; }
.atouts b { display: block; font: 700 1.35rem Fraunces, serif; color: var(--vert); }
.atouts span { font-size: .9rem; color: var(--gris); }

/* Blocs */
.bloc { padding: clamp(48px, 8vw, 96px) clamp(16px, 4vw, 48px); max-width: 1180px; margin: 0 auto; }
.bloc.fond { max-width: none; background: var(--creme); }
.bloc.fond > * { max-width: 1180px; margin-left: auto; margin-right: auto; }
.deux-colonnes { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(24px, 5vw, 64px); align-items: center; }
.photo-cadre { margin: 0; border-radius: var(--rayon); overflow: hidden; box-shadow: var(--ombre); }
.photo-cadre img { aspect-ratio: 4/3; object-fit: cover; width: 100%; }
.infos-cles { padding: 0; list-style: none; border-left: 3px solid var(--vert); padding-left: 1rem; }
.sous-titre { color: var(--gris); margin-top: -.3rem; }

/* Galerie */
.galerie { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 190px; gap: 10px; }
.galerie button { padding: 0; border: 0; border-radius: 10px; overflow: hidden; cursor: zoom-in; background: var(--pris); }
.galerie button:first-child { grid-column: span 2; grid-row: span 2; }
.galerie img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.galerie button:hover img { transform: scale(1.04); }
.visionneuse { position: fixed; inset: 0; z-index: 50; background: rgba(10,20,15,.94); display: flex; align-items: center; justify-content: center; }
.visionneuse[hidden] { display: none; }
.visionneuse img { max-width: 92vw; max-height: 84vh; border-radius: 8px; }
.visionneuse button { position: absolute; background: rgba(255,255,255,.12); color: #fff; border: 0; font-size: 2rem; width: 52px; height: 52px; border-radius: 50%; cursor: pointer; }
.v-fermer { top: 16px; right: 16px; }
.v-prec { left: 16px; }
.v-suiv { right: 16px; }
.v-legende { position: absolute; bottom: 12px; color: #fff; margin: 0; }

/* Équipements */
.equipements { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.equipements div { background: #fff; border: 1px solid var(--bord); border-radius: var(--rayon); padding: 1.2rem 1.3rem; }
.equipements p { margin: 0; color: var(--gris); }

/* Réservation */
.resa-grille { display: grid; grid-template-columns: 1.3fr 1fr; gap: 24px; align-items: start; }
.calendrier-boite, .resa-form { background: #fff; border-radius: var(--rayon); box-shadow: var(--ombre); padding: 1.2rem; }
.cal-tete { display: flex; align-items: center; justify-content: space-between; margin-bottom: .6rem; font: 600 1.05rem Fraunces, serif; color: var(--vert-fonce); }
.cal-tete button { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--bord); background: #fff; font-size: 1.4rem; cursor: pointer; color: var(--vert); }
.cal-tete button:disabled { opacity: .3; cursor: default; }
.calendrier { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; min-height: 290px; }
.cal-mois h4 { margin: 0 0 .4rem; text-align: center; font: 600 .95rem Inter; text-transform: capitalize; }
.cal-jours { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.cal-jours > b { font-size: .72rem; color: var(--gris); text-align: center; font-weight: 500; padding: 2px 0; }
.cal-jours button { aspect-ratio: 1; border: 0; background: none; border-radius: 8px; font: 500 .92rem Inter; color: var(--texte); cursor: pointer; position: relative; }
.cal-jours button:hover:not(:disabled) { background: var(--vert-clair); }
.cal-jours button:disabled { color: #b9bfbb; cursor: default; }
.cal-jours button.pris { background: var(--pris); color: #a39d94; text-decoration: line-through; }
.cal-jours button.depart-possible { background: linear-gradient(135deg, #fff 50%, var(--pris) 50%); color: var(--texte); text-decoration: none; }
.cal-jours button.dans { background: var(--vert-clair); border-radius: 0; }
.cal-jours button.debut, .cal-jours button.fin { background: var(--vert); color: #fff; }
.cal-jours button.debut { border-radius: 8px 0 0 8px; }
.cal-jours button.fin { border-radius: 0 8px 8px 0; }
.cal-jours button.debut.seul { border-radius: 8px; }
.cal-jours button .p { display: block; font-size: .62rem; color: var(--gris); line-height: 1; }
.cal-jours button.debut .p, .cal-jours button.fin .p { color: #d5e8dc; }
.chargement { grid-column: 1/-1; text-align: center; color: var(--gris); }
.legende { display: flex; flex-wrap: wrap; gap: .4rem 1rem; align-items: center; font-size: .85rem; color: var(--gris); margin: .8rem 0 0; }
.legende span { display: inline-block; width: 14px; height: 14px; border-radius: 4px; vertical-align: -2px; margin-right: .3rem; }
.l-libre { border: 1px solid var(--bord); } .l-pris { background: var(--pris); } .l-choix { background: var(--vert); }

.sejour-choisi { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--bord); border-radius: 10px; margin-bottom: .8rem; }
.sejour-choisi div { padding: .6rem .8rem; }
.sejour-choisi div + div { border-left: 1px solid var(--bord); }
.sejour-choisi small { display: block; color: var(--gris); font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; }
.resa-form label { display: block; font-size: .88rem; font-weight: 500; margin-bottom: .7rem; }
.resa-form input:not([type=checkbox]), .resa-form select, .resa-form textarea, .grille-form input, .grille-form select, .form-connexion input, .saison input, .saison select {
  display: block; width: 100%; margin-top: .25rem; padding: .65rem .75rem; font: 1rem Inter, sans-serif; border: 1px solid var(--bord); border-radius: 10px; background: #fff; }
.resa-form input:focus, .resa-form select:focus, .resa-form textarea:focus { outline: 2px solid var(--vert); outline-offset: -1px; }
.ligne-2 { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
fieldset:disabled { opacity: .55; }
.case { display: flex !important; gap: .5rem; align-items: flex-start; font-weight: 400 !important; }
.case input { margin-top: .3rem; }
.hp { position: absolute; left: -9999px; }
.options { margin: 0 0 .4rem; }
.options small { color: var(--gris); font-weight: 400; }
.detail-prix { background: var(--creme); border-radius: 10px; padding: .8rem 1rem; margin: .2rem 0 1rem; }
.detail-prix div { display: flex; justify-content: space-between; }
.detail-prix .total { border-top: 1px solid var(--bord); margin-top: .4rem; padding-top: .4rem; font-weight: 700; font-size: 1.1rem; }
.erreur { color: #b42318; background: #fdecea; padding: .6rem .8rem; border-radius: 8px; margin: .8rem 0 0; }
.securite { font-size: .82rem; color: var(--gris); text-align: center; margin: .7rem 0 0; }
.info { background: var(--vert-clair); border-left: 4px solid var(--vert); padding: .7rem 1rem; border-radius: 8px; }
.alerte { color: #b42318; }

/* Autour, accès */
.cartes-autour { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.cartes-autour article { background: #fff; border: 1px solid var(--bord); border-radius: var(--rayon); overflow: hidden; }
.cartes-autour img { aspect-ratio: 16/10; object-fit: cover; width: 100%; }
.cartes-autour h3, .cartes-autour p { padding: 0 1.1rem; }
.cartes-autour h3 { margin-top: 1rem; }
.cartes-autour p { color: var(--gris); margin-bottom: 1.2rem; }
.distances { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.6rem; }
.distances li { background: var(--vert-clair); border-radius: 999px; padding: .35rem .9rem; font-size: .92rem; }
.carte iframe { width: 100%; height: 340px; border: 0; border-radius: var(--rayon); }
.petit-texte { color: var(--gris); font-size: .92rem; }
.pied { text-align: center; padding: 2rem 16px; background: var(--vert-fonce); color: #cfe0d6; font-size: .9rem; }
.pied a { color: #fff; }

/* Pages simples (merci, admin, conditions) */
.page-simple, body.admin { background: var(--creme); }
.carte-merci { max-width: 560px; margin: 6vh auto; background: #fff; border-radius: var(--rayon); box-shadow: var(--ombre); padding: 2rem; text-align: center; }
.carte-merci .recap { display: flex; justify-content: center; margin: 1rem 0; text-align: left; }
.logo-merci { width: 84px; margin: 0 auto 1rem; border-radius: 50%; }
.intro { font-size: 1.08rem; }
.texte-long { max-width: 780px; margin: 0 auto; padding: 2rem 16px 4rem; }
.form-connexion { display: flex; flex-direction: column; gap: .8rem; text-align: left; }
.form-connexion label { font-size: .85rem; font-weight: 500; }
.form-connexion input { display: block; width: 100%; margin-top: .25rem; padding: .7rem .8rem; font: 1rem Inter, sans-serif; border: 1px solid var(--bord); border-radius: 10px; }
.form-connexion input[readonly] { background: var(--creme); color: var(--gris); }

/* Admin */
.admin-tete { background: var(--vert-fonce); color: #fff; padding: .8rem 16px; display: flex; flex-wrap: wrap; gap: .6rem 1.5rem; align-items: center; justify-content: space-between; }
.admin-tete nav { display: flex; flex-wrap: wrap; gap: .3rem; }
.admin-tete a { color: #cfe0d6; text-decoration: none; padding: .3rem .7rem; border-radius: 999px; }
.admin-tete a.actif, .admin-tete a:hover { background: rgba(255,255,255,.15); color: #fff; }
.admin-corps { max-width: 1000px; margin: 0 auto; padding: 1.2rem 16px 4rem; }
.liste-resas { display: grid; gap: 12px; }
.resa { background: #fff; border-radius: 12px; padding: 1rem; border-left: 5px solid var(--vert); box-shadow: 0 2px 8px rgba(0,0,0,.05); font-size: .95rem; }
.resa.attente { border-color: #e0a100; }
.resa.conflit { border-color: #b42318; background: #fdecea; }
.resa-dates { font: 700 1.15rem Fraunces, serif; color: var(--vert-fonce); }
.resa-dates span { font: 400 .85rem Inter; color: var(--gris); }
.resa-msg { background: var(--creme); padding: .5rem .7rem; border-radius: 8px; margin: .4rem 0; }
.resa form { margin-top: .5rem; }
button.petit { font: 500 .85rem Inter; padding: .35rem .8rem; border-radius: 999px; border: 1px solid var(--bord); background: #fff; cursor: pointer; }
button.danger { color: #b42318; border-color: #f0c4bf; }
.grille-form { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: .8rem; background: #fff; padding: 1rem; border-radius: 12px; align-items: end; }
.grille-form label { font-size: .85rem; font-weight: 500; }
.grille-form .large { grid-column: 1/-1; }
.saison { display: grid; grid-template-columns: 1.4fr 1fr 1fr .7fr; gap: .4rem; margin-bottom: .4rem; }
.aide { font-size: .85rem; color: var(--gris); }
.table-defile { overflow-x: auto; }
.grilles { min-width: 900px; }
.grilles th { font-size: .75rem; text-align: left; padding: .4rem; color: var(--gris); }
.grilles td { padding: .25rem; }
.grilles input { width: 100%; padding: .4rem; border: 1px solid var(--bord); border-radius: 6px; font: .85rem Inter, sans-serif; }
.grilles input.petit-num { min-width: 52px; }
.grilles td:nth-child(2) input { min-width: 230px; }
.tableau { width: 100%; background: #fff; border-radius: 12px; border-collapse: collapse; margin-top: .8rem; font-size: .92rem; }
.tableau td { padding: .55rem .8rem; border-bottom: 1px solid var(--bord); }
.lien-copie { width: 100%; padding: .7rem; font: .9rem monospace; border: 1px solid var(--bord); border-radius: 8px; }
.mois-grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; }
.mois { background: #fff; border-radius: 12px; padding: .7rem; }
.mois h3 { font-size: .95rem; margin: 0 0 .4rem; }
.jours { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; text-align: center; font-size: .78rem; }
.jours b { color: var(--gris); font-weight: 500; }
.jours span { padding: 3px 0; border-radius: 4px; }
.jours .passe { opacity: .35; }
.c-site { background: var(--vert) !important; color: #fff; }
.c-bloque { background: #8b8f8c !important; color: #fff; }
.c-ext { background: var(--accent) !important; color: #fff; }
.legende .c-site, .legende .c-bloque, .legende .c-ext { display: inline-block; width: 14px; height: 14px; border-radius: 4px; }
details { margin-top: 2rem; }
summary { cursor: pointer; font-weight: 600; color: var(--vert-fonce); }

@media (max-width: 900px) {
  .menu { display: none; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 0; background: #fff; border-bottom: 1px solid var(--bord); padding: .5rem 16px 1rem; }
  .menu.ouvert { display: flex; }
  .menu a { padding: .7rem 0; }
  .menu .bouton { text-align: center; margin-top: .4rem; }
  .burger { display: block; }
  .deux-colonnes, .resa-grille { grid-template-columns: 1fr; }
  .equipements, .cartes-autour { grid-template-columns: 1fr 1fr; }
  .galerie { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 150px; }
  .atouts { grid-template-columns: 1fr 1fr; margin: -30px 16px 0; }
  .atouts div:nth-child(2) { border-right: 0; }
  .atouts div:nth-child(-n+2) { border-bottom: 1px solid var(--bord); }
}
@media (max-width: 600px) {
  .calendrier { grid-template-columns: 1fr; min-height: 0; }
  .calendrier .cal-mois + .cal-mois { display: none; }
  .equipements, .cartes-autour { grid-template-columns: 1fr; }
  .hero { min-height: 72vh; }
  .saison { grid-template-columns: 1fr 1fr; }
  .form-connexion { flex-direction: column; }
}

/* Devis (espace propriétaire) */
.aide-intro { background: #fff; border-left: 4px solid var(--vert); padding: .7rem 1rem; border-radius: 8px; }
.devis-form { display: grid; gap: 14px; }
.etape { background: #fff; border-radius: 12px; padding: 1rem 1.1rem; }
.etape h3 { display: flex; align-items: center; gap: .6rem; margin: 0 0 .8rem; font-size: 1.15rem; }
.etape h3 span { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--vert); color: #fff; font: 700 .95rem Inter, sans-serif; }
.etape label { display: block; font-size: .88rem; font-weight: 500; margin-bottom: .7rem; }
.etape input:not([type=checkbox]), .etape textarea { display: block; width: 100%; margin-top: .25rem; padding: .65rem .75rem; font: 1rem Inter, sans-serif; border: 1px solid var(--bord); border-radius: 10px; }
.etape .deux { display: grid; grid-template-columns: 1fr 1fr; gap: 0 .7rem; }
.etape small { color: var(--gris); font-weight: 400; }
.dispo-devis { margin: 0; font-size: .9rem; font-weight: 600; }
.dispo-devis.ok { color: var(--vert); }
.actions-contrat { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .5rem; }
.actions-contrat form { margin: 0; }
a.petit { display: inline-block; font: 500 .85rem Inter; padding: .35rem .8rem; border-radius: 999px; border: 1px solid var(--bord); background: #fff; color: var(--vert); text-decoration: none; }

.mois-nav { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin: 1rem 0 .6rem; }
.mois-nav b { font: 600 1.05rem Fraunces, serif; color: var(--vert-fonce); text-transform: capitalize; }
.etape table { width: 100%; }

/* Livret d'accueil */
.livret { max-width: 680px; margin: 0 auto; padding: 1rem 16px 3rem; }
.livret-tete { text-align: center; background: #fff; border-radius: var(--rayon); box-shadow: var(--ombre); padding: 1.5rem 1rem; }
.livret-tete h1 { margin: .3rem 0; }
.livret-tete .bouton { margin: .25rem; }
.livret-cles { display: grid; gap: .6rem; margin: 1rem 0; }
.livret-code { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; justify-content: space-between; background: var(--vert-clair); border: 1px solid var(--bord); border-radius: 12px; padding: .8rem 1rem; }
.livret-code b { font-size: 1.25rem; color: var(--vert-fonce); letter-spacing: .03em; }
.livret-rubrique { background: #fff; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,.05); margin: .6rem 0; }
.livret-rubrique summary { cursor: pointer; padding: 1rem; font-weight: 700; color: var(--vert-fonce); list-style: none; }
.livret-rubrique summary::-webkit-details-marker { display: none; }
.livret-rubrique summary::after { content: '+'; float: right; font-weight: 400; }
.livret-rubrique[open] summary::after { content: '–'; }
.livret-rubrique > div { padding: 0 1rem 1rem; line-height: 1.55; overflow-wrap: anywhere; }
.livret-pied { text-align: center; margin-top: 1.5rem; }
.resa-livret { margin-top: .5rem; font-size: .9rem; }
.resa-livret .lien-copie { margin: .3rem 0; font-size: .8rem; }
.form-livret fieldset { border: 1px solid var(--bord); border-radius: 12px; margin: 1rem 0; padding: 1rem; background: #fff; }
.form-livret textarea { width: 100%; font: inherit; padding: .6rem; border: 1px solid var(--bord); border-radius: 8px; margin-bottom: .8rem; }
.livret-police { background: #fff8e6; border: 1px solid #f0d58a; border-radius: 12px; padding: .8rem 1rem; line-height: 1.5; }
.livret-police .bouton { margin-top: .4rem; }
.form-police fieldset { border: 1px solid var(--bord); border-radius: 12px; margin: 1rem 0; padding: 1rem; background: #fff; display: grid; gap: .6rem; }
.form-police label { display: grid; gap: .25rem; font-size: .92rem; }
.form-police input, .form-police textarea { font: inherit; padding: .6rem; border: 1px solid var(--bord); border-radius: 8px; width: 100%; box-sizing: border-box; }
.feuille-police { background: #fff; padding: 1rem; margin: 1rem 0; border-radius: 12px; }
.feuille-police th { text-align: left; width: 40%; vertical-align: top; }
@media print { .non-imprime { display: none; } .feuille-police { page-break-after: always; box-shadow: none; } body { background: #fff; } }
.travaux-acces { background: #fff8e6; border: 1px solid #f0d58a; border-radius: 12px; padding: 1rem; margin: 1rem 0; }
.travaux-acces h3 { margin: 0 0 .4rem; color: #8a5a00; }
.travaux-acces img { width: 100%; height: auto; border-radius: 8px; background: #f7f4ee; margin: .5rem 0; }
.travaux-acces ol { padding-left: 1.3rem; margin: .3rem 0 0; line-height: 1.5; }
.resa-partage { margin-top: .4rem; }
.resa-partage .bouton, .travaux-acces .bouton.petit { padding: .35em .9em; font-size: .85rem; margin: .15rem 0; }
/* Avis clients */
.cartes-avis { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; margin: 1rem 0; }
.carte-avis { display: flex; flex-direction: column; align-items: center; text-align: center; gap: .2rem; background: #fff; border-radius: var(--rayon); box-shadow: var(--ombre); padding: 1.2rem 1rem; color: var(--texte); text-decoration: none; }
.carte-avis:hover { transform: translateY(-2px); }
.carte-avis .note { font-size: 2.2rem; font-weight: 700; color: var(--vert-fonce); line-height: 1; }
.carte-avis .note small { font-size: 1rem; color: var(--gris); }
.carte-avis .etoiles { color: #e8a317; letter-spacing: 2px; }
.carte-avis .lien { color: var(--vert); font-size: .9rem; margin-top: .3rem; }
