/* =========================================================================
   avis-google.css — blocs d'avis Google (page d'accueil, contact,
   souveraineté, services, bilan IA gratuit).
   La barre du pied de page vit dans _partials/footer.css, PAS ici.
   Variables préfixées --ag- : ce fichier ne dépend d'aucune autre feuille.
   Échelle typo 13/15/18/24/32/48/64, trame 8px, interlignes 1.05/1.35/1.6.
   ========================================================================= */
.ag{
  --ag-violet:#6A00FF; --ag-violet-dark:#2D1B69; --ag-magenta:#DC01FF;
  --ag-ink:#0f0a1a; --ag-body:#2a2a3a; --ag-second:#6b6380; --ag-muted:#9490a8;
  --ag-line:#ece8f4; --ag-soft:#faf8ff;
  --ag-shadow:0 4px 18px rgba(124,58,237,.06);
  --ag-lift:0 10px 30px rgba(106,0,255,.12);
}
.ag-wrap{max-width:1200px; margin:0 auto; padding:0 24px}
.ag *{box-sizing:border-box}
.ag-eyebrow{
  /* copie conforme de .section-label du site */
  font-family:'DM Sans',sans-serif; font-size:15px; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase; color:var(--ag-violet);
  display:block; margin-bottom:16px;
}
.ag h2{
  /* copie conforme de .section-title du site */
  font-family:'Archivo',sans-serif; font-size:48px; font-weight:700;
  line-height:1.05; color:var(--ag-violet-dark); margin:0; letter-spacing:-.02em;
}
.ag-stars{display:inline-flex; gap:4px; vertical-align:middle}
.ag-stars svg{display:block}

/* --- carte commune --- */
.ag-card{
  background:#fff; border:1px solid var(--ag-line); border-radius:22px;
  padding:24px; box-shadow:var(--ag-shadow);
  transition:transform .25s ease, box-shadow .25s ease;
  display:flex; flex-direction:column;
}
.ag-card:hover{transform:translateY(-2px); box-shadow:var(--ag-lift)}
.ag-card-head{display:flex; align-items:center; gap:16px; margin-bottom:16px}
.ag-av{width:48px; height:48px; border-radius:50%; flex:0 0 48px; object-fit:cover; border:2px solid var(--ag-line)}
.ag-who{
  flex:1; min-width:0; font-family:'Archivo',sans-serif; font-weight:600;
  font-size:15px; color:var(--ag-body); line-height:1.35;
}
.ag-card p{font-family:'Lora',Georgia,serif; font-size:15px; line-height:1.6; color:var(--ag-second); margin:0}
.ag-g{flex:0 0 auto; line-height:1}

/* --- lien global d'un bloc secondaire vers la page d'accueil --- */
.ag-link{display:block; text-decoration:none; color:inherit}
.ag-cta{
  display:inline-block; margin-top:24px; font-family:'Archivo',sans-serif;
  font-size:15px; font-weight:700; color:var(--ag-violet);
}
.ag-link:hover .ag-cta{text-decoration:underline}

/* =================== ACCUEIL : le rail =================== */
.ag-rail-section{padding:96px 0; background:linear-gradient(180deg,var(--ag-soft) 0%,#ffffff 100%)}
.ag-head{display:flex; flex-direction:column; align-items:center; gap:24px; margin-bottom:48px; text-align:center}
.ag-score{
  display:inline-flex; align-items:center; gap:16px; background:#fff;
  border:1px solid var(--ag-line); border-radius:100px; padding:16px 24px;
  box-shadow:var(--ag-shadow); text-decoration:none;
  transition:transform .25s ease, box-shadow .25s ease;
}
.ag-score:hover{transform:translateY(-1px); box-shadow:var(--ag-lift)}
.ag-score b{font-family:'Archivo',sans-serif; font-size:24px; font-weight:800; color:var(--ag-violet-dark)}
.ag-score span{font-family:'Archivo',sans-serif; font-size:13px; color:var(--ag-second)}
.ag-rail{display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; padding:8px 0 24px; scrollbar-width:none}
.ag-rail::-webkit-scrollbar{display:none}
.ag-rail .ag-card{flex:0 0 340px; scroll-snap-align:start}
.ag-nav{display:flex; align-items:center; justify-content:space-between; gap:24px}
.ag-all{font-family:'Archivo',sans-serif; font-size:15px; font-weight:700; color:var(--ag-violet); text-decoration:none}
.ag-all:hover{text-decoration:underline}
.ag-arrows{display:flex; gap:8px}
.ag-arrow{
  width:48px; height:48px; border-radius:50%; border:1px solid var(--ag-line); background:#fff;
  color:var(--ag-violet-dark); font-size:18px; font-family:'Archivo',sans-serif;
  cursor:pointer; display:grid; place-items:center; transition:border-color .2s, background .2s;
}
.ag-arrow:hover{border-color:var(--ag-violet); background:rgba(106,0,255,.04)}
.ag-arrow:disabled{opacity:.35; cursor:default; border-color:var(--ag-line); background:#fff}

/* =================== CONTACT : la mosaïque =================== */
.ag-mos-section{padding:96px 0; text-align:center}
.ag-mos .ag-card{text-align:left}
.ag-mos{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:32px}
.ag-mos-star{
  grid-column:span 2; grid-row:span 2; justify-content:center; padding:48px;
  background:linear-gradient(135deg,var(--ag-violet-dark) 0%,var(--ag-violet) 100%);
  border:0; color:#fff;
}
.ag-mos-star p, .ag-mos-star .ag-who{color:#fff}
.ag-mos-star p{font-size:18px}
.ag-mos-star .ag-av{border-color:rgba(255,255,255,.4)}
.ag-mos-star:hover{transform:none; box-shadow:var(--ag-shadow)}

/* =================== SOUVERAINETÉ : la note en grand =================== */
.ag-note-section{padding:96px 0; background:linear-gradient(180deg,#ffffff 0%,var(--ag-soft) 100%); text-align:center}
.ag-note{text-align:left}
.ag-note{
  display:grid; grid-template-columns:auto 1fr; gap:48px; align-items:center;
  background:#fff; border:1px solid var(--ag-line); border-radius:22px;
  padding:48px; margin-top:32px; box-shadow:var(--ag-shadow); transition:box-shadow .25s ease;
}
.ag-link:hover .ag-note{box-shadow:var(--ag-lift)}
.ag-note-l{text-align:center; padding-right:48px; border-right:1px solid var(--ag-line)}
.ag-note-num{
  font-family:'Archivo',sans-serif; font-size:64px; font-weight:800; line-height:1.05;
  background:linear-gradient(135deg,var(--ag-violet),var(--ag-magenta));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.ag-note-sub{font-family:'Archivo',sans-serif; font-size:13px; color:var(--ag-second); margin-top:8px}
.ag-note-r{position:relative; min-height:120px}
.ag-rot{position:absolute; inset:0; opacity:0; transition:opacity .6s ease}
.ag-rot.ag-on{opacity:1; position:relative}
.ag-note-q{font-family:'Lora',Georgia,serif; font-size:18px; line-height:1.6; color:var(--ag-body); font-style:italic; margin:0}
.ag-note-who{display:flex; align-items:center; gap:16px; margin-top:16px}
.ag-note-av{width:40px; height:40px; border-radius:50%; object-fit:cover; border:2px solid var(--ag-line)}

/* =================== SERVICES ET BILAN : la scène =================== */
.ag-scene-section{padding:96px 0; text-align:center}
.ag-scene-mark{font-family:'Archivo',sans-serif; font-size:64px; font-weight:800; color:var(--ag-violet); opacity:.2; line-height:1.05}
.ag-scene{position:relative; max-width:760px; margin:16px auto 0; min-height:200px}
.ag-scene-q{font-family:'Lora',Georgia,serif; font-size:18px; line-height:1.6; color:var(--ag-second); font-style:italic; margin:0 0 24px}
.ag-rule{width:64px; height:1px; background:var(--ag-line); margin:0 auto 24px}
.ag-person{display:flex; flex-direction:column; align-items:center; gap:8px}
.ag-scene-av{width:80px; height:80px; border-radius:50%; border:2px solid var(--ag-line); object-fit:cover}
.ag-name{font-family:'Archivo',sans-serif; font-size:15px; font-weight:600; color:var(--ag-body)}
.ag-dots{display:flex; gap:8px; justify-content:center; margin-top:32px}
.ag-dot{width:8px; height:8px; border-radius:50%; background:var(--ag-line); transition:width .3s, background .3s}
.ag-dot.ag-on{width:32px; border-radius:4px; background:linear-gradient(90deg,var(--ag-violet),var(--ag-magenta))}

/* =================== Responsive =================== */
@media (max-width:900px){
  .ag-rail-section, .ag-mos-section, .ag-note-section, .ag-scene-section{padding:64px 0}
  .ag h2{font-size:32px}
  .ag-head{flex-direction:column; align-items:flex-start}
  .ag-rail .ag-card{flex:0 0 300px}
  .ag-mos{grid-template-columns:1fr 1fr}
  .ag-mos-star{grid-column:span 2; grid-row:span 1; padding:32px}
  .ag-note{grid-template-columns:1fr; gap:24px; padding:32px}
  .ag-note-l{padding-right:0; padding-bottom:24px; border-right:0; border-bottom:1px solid var(--ag-line)}
}
@media (max-width:560px){
  .ag-rail .ag-card{flex:0 0 84vw}
  .ag-mos{grid-template-columns:1fr}
  .ag-mos-star{grid-column:span 1}
  .ag-nav{flex-direction:column; align-items:stretch; gap:16px}
  .ag-arrows{justify-content:center}
  .ag-score{width:100%; justify-content:center}
  .ag-note-num{font-size:48px}
  .ag-scene-av{width:64px; height:64px}
  .ag-scene-mark{font-size:48px}
}
@media (prefers-reduced-motion:reduce){
  .ag-rot, .ag-card{transition:none}
}
.ag :focus-visible{outline:3px solid var(--ag-violet); outline-offset:4px; border-radius:8px}

/* Zone tactile du lien « Voir tous les avis » : mesuré à 24 px de haut,
   conforme AA mais sous les 44 px recommandés par Apple et Google. */
@media (max-width:768px){
  .ag-all, .ag-cta{
    display:inline-flex;
    align-items:center;
    min-height:44px;
  }
}
