/* =========================================================
   PAGE AVIS — composants (liste + formulaire) au style accueil.
   Le hero/plein-écran/sombre vient de sevy-landing.css.
========================================================= */
body.sevy-site-landing-page{
  --av-surface:rgb(12,15,22);
  --av-surface-2:rgb(18,22,31);
  --av-ink:rgb(244,246,251);
  --av-muted:rgb(148,163,184);
  --av-line:rgba(255,255,255,.08);
  --av-amber:rgb(var(--sc-accent-rgb));
  --av-red:rgb(var(--sc-accent-rgb));
  --av-ease:cubic-bezier(.16,1,.3,1);
}

/* —— Moyenne (badge verre dans le hero) —— */
.avis-average{
  display:inline-flex; align-items:center; gap:.5rem;
  background:rgba(255,255,255,.05);
  border:1px solid var(--av-line);
  padding:.5rem 1rem; border-radius:999px;
  backdrop-filter:blur(8px);
}
.avis-average-num{ font-size:1.3rem; font-weight:800; color:var(--av-amber); }
.avis-average-count{ color:var(--av-muted); font-size:.9rem; }

/* —— Étoiles —— */
.avis-stars{ white-space:nowrap; letter-spacing:1px; }
.avis-star{ color:rgba(255,255,255,.18); font-size:1.05rem; }
.avis-star.on{ color:var(--av-amber); }
.avis-average .avis-star{ font-size:1.15rem; }

/* —— Liste des avis —— */
.avis-list{ display:flex; flex-direction:column; gap:1rem; margin-bottom:2.5rem; }
.avis-card{
  background:var(--av-surface);
  border:1px solid var(--av-line);
  border-radius:16px;
  padding:1.2rem 1.4rem;
  transition:border-color .25s, transform .25s;
}
.avis-card:hover{ border-color:rgba(var(--sc-accent-rgb),.3); transform:translateY(-3px); }
.avis-card-top{ display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.5rem; }
.avis-name{ font-weight:700; color:var(--av-ink); }
.avis-message{ margin:0 0 .6rem; color:#cfd4e0; line-height:1.6; white-space:pre-line; word-break:break-word; }
.avis-date{ font-size:.82rem; color:var(--av-muted); }
.avis-empty{ text-align:center; color:var(--av-muted); padding:1.5rem 0; }

/* —— Formulaire —— */
.avis-form-section{
  background:var(--av-surface-2);
  border:1px solid var(--av-line);
  border-radius:22px;
  padding:2rem 1.8rem 2.2rem;
  position:relative; overflow:hidden;
}
.avis-form-section::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(135deg, rgba(var(--sc-accent-rgb),.06) 0%, transparent 45%, rgba(var(--sc-accent-rgb),.05) 100%);
}
.avis-form-section > *{ position:relative; z-index:1; }
.avis-form-section h2{ font-family:'DM Serif Display',system-ui,sans-serif; margin:0 0 .35rem; color:var(--av-ink); font-size:1.5rem; }
.avis-form-note{ color:var(--av-muted); font-size:.92rem; margin:0 0 1.5rem; }
.avis-field{ margin-bottom:1.15rem; }
.avis-field label{ display:block; font-weight:600; color:#dfe3ec; margin-bottom:.4rem; }
.avis-field input[type=text],
.avis-field input[type=email],
.avis-field textarea{
  width:100%; padding:.75rem .95rem;
  border:1px solid var(--av-line); border-radius:12px;
  font:inherit; color:var(--av-ink);
  background:rgba(255,255,255,.03);
  box-sizing:border-box;
  transition:border-color .2s, box-shadow .2s, background .2s;
}
.avis-field input::placeholder, .avis-field textarea::placeholder{ color:rgba(255,255,255,.3); }
.avis-field input:focus, .avis-field textarea:focus{
  outline:none; border-color:var(--av-amber);
  background:rgba(255,255,255,.05);
  box-shadow:0 0 0 3px rgba(var(--sc-accent-rgb),.15);
}
.avis-field textarea{ resize:vertical; min-height:120px; }

/* Sélecteur d'étoiles */
.avis-rating-input{ display:inline-flex; flex-direction:row-reverse; gap:.2rem; font-size:2.1rem; line-height:1; }
.avis-rating-input input{ position:absolute; opacity:0; width:0; height:0; }
.avis-rating-input label{ color:rgba(255,255,255,.18); cursor:pointer; margin:0; transition:color .15s, transform .15s; }
.avis-rating-input label:hover{ transform:scale(1.15); }
.avis-rating-input label:hover,
.avis-rating-input label:hover ~ label,
.avis-rating-input input:checked ~ label{ color:var(--av-amber); }

/* Honeypot */
.avis-hp{ position:absolute !important; left:-9999px !important; top:auto; width:1px; height:1px; overflow:hidden; }

.avis-submit{
  background:linear-gradient(120deg, var(--av-red), var(--av-amber));
  color:#05060a; border:none; border-radius:999px;
  padding:.85rem 1.8rem; font-size:1rem; font-weight:700; cursor:pointer;
  box-shadow:0 8px 32px rgba(var(--sc-accent-rgb),.22);
  transition:transform .2s var(--av-ease), box-shadow .3s, opacity .25s;
}
.avis-submit:hover{ transform:translateY(-2px) scale(1.02); box-shadow:0 12px 40px rgba(var(--sc-accent-rgb),.3); }
.avis-submit:disabled{ opacity:.6; cursor:default; transform:none; box-shadow:none; }

.avis-feedback{ margin-top:1rem; font-weight:600; display:none; }
.avis-feedback.ok{ display:block; color:#51cf66; }
.avis-feedback.err{ display:block; color:var(--sc-accent); }
