/*
 * MZ Avis Google - styles.
 * Utilise des variables CSS (--mzag-*) que le theme du site fournit deja.
 * Sur un autre site : les valeurs ci-dessous servent de fallback.
 */
/* Neutral, brand-agnostic defaults. Override any variable at :root or via Elementor. */
:root {
  --mzag-color-accent:            #111827;
  --mzag-color-on-accent:         #ffffff;
  --mzag-color-on-accent-soft:    rgba(255,255,255,0.78);
  --mzag-color-on-accent-muted:   rgba(255,255,255,0.55);
  --mzag-color-text:              #111827;
  --mzag-color-text-muted:        #6b7280;
  --mzag-color-border:            rgba(0,0,0,0.10);
  --mzag-color-card-bg:           #ffffff;
  --mzag-color-star:              #fbbc04;
  --mzag-font-title:              inherit;
  --mzag-font-serif:              inherit;
  --mzag-font-body:               inherit;
  --mzag-font-sans:               inherit;
  --mzag-radius-sm:               6px;
  --mzag-radius-md:               10px;
  --mzag-title-xl:                clamp(28px, 3.4vw, 40px);
  --mzag-title-lg:                clamp(24px, 3vw, 32px);
  --mzag-title-md:                22px;
  --mzag-text-base:               16px;
  --mzag-text-xs:                 13px;
  --mzag-label:                   11px;
}

/* -------------------------------------------------------------- */
/* Carte Avis Google (shortcode [mzag_google_review])                */
/* -------------------------------------------------------------- */
.mzag-google-card{display:inline-flex;flex-direction:column;align-items:flex-start;gap:10px;background:var(--mzag-color-card-bg);border:1px solid var(--mzag-color-border);border-radius:10px;padding:22px 26px;text-decoration:none;box-shadow:0 18px 50px rgba(28,26,23,0.10);transition:transform .25s ease,box-shadow .25s ease,border-color .2s;min-width:220px;color:inherit}
.mzag-google-card:hover{transform:translateY(-3px);box-shadow:0 26px 70px rgba(28,26,23,0.16);border-color:rgba(84,35,30,0.18)}
.mzag-google-card:focus-visible{outline:2px solid var(--mzag-color-accent);outline-offset:3px}
.mzag-google-stars{display:flex;gap:2px;color:var(--mzag-color-star);font-size:18px;line-height:1}
.mzag-google-stars .mzag-star.is-empty{color:rgba(28,26,23,0.18)}
.mzag-google-stars .mzag-star.is-half{position:relative;color:rgba(28,26,23,0.18)}
.mzag-google-stars .mzag-star.is-half::before{content:"\2605";position:absolute;left:0;top:0;width:50%;overflow:hidden;color:var(--mzag-color-star)}
.mzag-google-rating{display:flex;align-items:baseline;gap:4px;font-family:var(--mzag-font-serif);line-height:1;color:var(--mzag-color-text)}
.mzag-google-rating .mzag-google-num{font-size:38px;font-weight:500;letter-spacing:-0.01em;font-variant-numeric:tabular-nums}
.mzag-google-rating .mzag-google-out{font-size:15px;color:var(--mzag-color-text-muted);font-weight:400}
.mzag-google-meta{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.mzag-google-logo{flex-shrink:0}
.mzag-google-source{font-family:var(--mzag-font-sans);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--mzag-color-text-muted);font-weight:600}
.mzag-google-count{font-family:var(--mzag-font-sans);font-size:11px;color:var(--mzag-color-text-muted);font-weight:500;padding-left:8px;border-left:1px solid var(--mzag-color-border)}
.mzag-google-card.is-hero{padding:26px 32px;min-width:260px}
.mzag-google-card.is-hero .mzag-google-rating .mzag-google-num{font-size:46px}
.mzag-google-card.is-hero .mzag-google-stars{font-size:20px}

/* --- Animation d'entree (count-up + cascade etoiles) --- */
@media (prefers-reduced-motion: no-preference){
  .mzag-google-card.mzag-anim-armed .mzag-google-stars .mzag-star{opacity:0;transform:translateY(-4px) scale(.9);transition:opacity .35s ease,transform .35s cubic-bezier(.22,1,.36,1)}
  .mzag-google-card.mzag-anim-in .mzag-google-stars .mzag-star{opacity:1;transform:none}
  .mzag-google-card.mzag-anim-in .mzag-google-stars .mzag-star:nth-child(1){transition-delay:.10s}
  .mzag-google-card.mzag-anim-in .mzag-google-stars .mzag-star:nth-child(2){transition-delay:.18s}
  .mzag-google-card.mzag-anim-in .mzag-google-stars .mzag-star:nth-child(3){transition-delay:.26s}
  .mzag-google-card.mzag-anim-in .mzag-google-stars .mzag-star:nth-child(4){transition-delay:.34s}
  .mzag-google-card.mzag-anim-in .mzag-google-stars .mzag-star:nth-child(5){transition-delay:.42s}
}

/* -------------------------------------------------------------- */
/* Etoiles standalone (helper mzag_render_stars())                   */
/* -------------------------------------------------------------- */
.mzag-stars{color:var(--mzag-color-star);font-size:18px;display:flex;gap:2px}
.mzag-star.is-empty{color:rgba(28,26,23,0.18)}
.mzag-star.is-half{position:relative;color:rgba(28,26,23,0.18)}
.mzag-star.is-half::before{content:"\2605";position:absolute;left:0;top:0;width:50%;overflow:hidden;color:var(--mzag-color-star)}

/* -------------------------------------------------------------- */
/* Section testimonials (bordeaux)                                  */
/* -------------------------------------------------------------- */
.mzag-testimonials{background:var(--mzag-color-accent);color:var(--mzag-color-on-accent);padding:100px 40px}
.mzag-testimonials-inner{max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:48px}
.mzag-testimonials-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap}
.mzag-testimonials-title-block{display:flex;flex-direction:column;gap:14px}
.mzag-testimonials-kicker{font-family:var(--mzag-font-sans);font-size:var(--mzag-label);letter-spacing:0.34em;text-transform:uppercase;color:var(--mzag-color-on-accent-muted);font-weight:600}
.mzag-testimonials-title{font-family:var(--mzag-font-title);font-weight:500;font-size:var(--mzag-title-xl);line-height:1.05;color:var(--mzag-color-on-accent);margin:0}
.mzag-testimonials-rating{display:flex;align-items:center;gap:8px;color:var(--mzag-color-on-accent)}
.mzag-testimonials-rating .mzag-stars{color:var(--mzag-color-star)}
.mzag-testimonials-rating .mzag-star.is-empty,.mzag-testimonials-rating .mzag-star.is-half{color:rgba(255,255,255,0.25)}
.mzag-testimonials-rating-num{font-family:var(--mzag-font-serif);font-size:var(--mzag-title-md);font-weight:500;line-height:1;margin-left:8px;font-variant-numeric:tabular-nums}
.mzag-testimonials-rating-sub{font-family:var(--mzag-font-sans);font-size:12px;color:var(--mzag-color-on-accent-muted);letter-spacing:0.04em}
.mzag-testimonials-subtitle{font-family:var(--mzag-font-body);font-size:15px;line-height:1.6;color:var(--mzag-color-on-accent-soft);margin:10px 0 0;max-width:560px}
.mzag-testimonials-grid{display:flex;gap:20px;flex-wrap:wrap;justify-content:center;align-items:stretch}
.mzag-testimonials-cta{margin-top:36px;display:flex;justify-content:center}
.mzag-testimonial{flex:1 1 260px;max-width:380px;background:rgba(0,0,0,0.16);border:1px solid rgba(255,255,255,0.08);border-radius:var(--mzag-radius-md);padding:26px 28px;display:flex;flex-direction:column;gap:14px}
.mzag-testimonial .mzag-stars{color:var(--mzag-color-star);font-size:14px}
.mzag-testimonial .mzag-star.is-empty,.mzag-testimonial .mzag-star.is-half{color:rgba(255,255,255,0.2)}
.mzag-testimonial-text{font-family:var(--mzag-font-serif);font-size:var(--mzag-text-base);line-height:1.55;color:var(--mzag-color-on-accent);margin:0;font-style:italic;font-weight:400}
.mzag-testimonial-text p{margin:0}
.mzag-testimonial-author{font-family:var(--mzag-font-sans);font-size:13px;color:var(--mzag-color-on-accent);display:flex;flex-direction:column;gap:4px;font-style:normal;margin-top:auto}
.mzag-testimonial-author strong{font-weight:600}
.mzag-testimonial-meta{font-size:12px;color:var(--mzag-color-on-accent-muted);font-weight:400}
@media (max-width: 900px){ .mzag-testimonials{padding:60px 24px} .mzag-testimonials-title{font-size:34px} }
@media (max-width: 600px){ .mzag-testimonials{padding-left:16px;padding-right:16px} .mzag-testimonial{padding:22px 20px} }

/* -------------------------------------------------------------- */
/* Image + overlay Avis Google                                      */
/* -------------------------------------------------------------- */
.mzag-hero-img-wrap{position:relative;display:block;width:100%}
.mzag-hero-img{display:block;width:100%;height:auto;border-radius:var(--mzag-radius-md);box-shadow:0 24px 60px -20px rgba(28,26,23,0.18)}
/* Overlays positionnés indépendamment (une classe de position par carte) */
.mzag-hero-google-overlay{position:absolute;z-index:5;--mzag-ov-off:22px}
.mzag-hero-pos-bottom-left {bottom:var(--mzag-ov-off);left:calc(-1 * var(--mzag-ov-off))}
.mzag-hero-pos-bottom-right{bottom:var(--mzag-ov-off);right:calc(-1 * var(--mzag-ov-off))}
.mzag-hero-pos-top-left    {top:var(--mzag-ov-off);left:calc(-1 * var(--mzag-ov-off))}
.mzag-hero-pos-top-right   {top:var(--mzag-ov-off);right:calc(-1 * var(--mzag-ov-off))}
@media (max-width: 700px){
  .mzag-hero-google-overlay{position:static;margin:12px auto 0;display:flex;justify-content:center;inset:auto}
}

/* -------------------------------------------------------------- */
/* Bouton outline (utilise dans la CTA section testimonials)        */
/* -------------------------------------------------------------- */
.mzag-btn-outline{display:inline-block;font-family:var(--mzag-font-body);font-size:var(--mzag-text-xs);font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--mzag-color-on-accent);border:1px solid var(--mzag-color-on-accent-muted);padding:14px 28px;border-radius:var(--mzag-radius-sm);text-decoration:none;transition:all .2s}
.mzag-btn-outline:hover{background:var(--mzag-color-on-accent);color:var(--mzag-color-accent);border-color:var(--mzag-color-on-accent)}

/* ================================================================ */
/* THEMES                                                            */
/* ================================================================ */

/* ---- Theme 1 : Editorial sombre ---- */
.mzag-testimonials.mzag-theme-1{background:#0d0e12;color:#e6e6e8}
.mzag-theme-1 .mzag-testimonials-kicker{color:rgba(230,230,232,0.55);letter-spacing:0.28em}
.mzag-theme-1 .mzag-testimonials-title{color:#f5f5f7;font-weight:500}
.mzag-theme-1 .mzag-testimonials-rating{color:#f5f5f7}
.mzag-theme-1 .mzag-testimonials-rating .mzag-stars,
.mzag-theme-1 .mzag-testimonials-rating .mzag-star.is-half::before{color:#c9a86a}
.mzag-theme-1 .mzag-testimonial{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:8px;padding:28px 28px 24px}
.mzag-theme-1 .mzag-testimonial .mzag-stars{color:#c9a86a}
.mzag-theme-1 .mzag-testimonial-text{color:#e6e6e8;font-style:italic}
.mzag-theme-1 .mzag-testimonial-author strong{color:#f5f5f7;font-weight:600}
.mzag-theme-1 .mzag-testimonial-meta{color:rgba(230,230,232,0.5)}

/* ---- Theme 2 : Confiance clair centre ---- */
.mzag-testimonials.mzag-theme-2{background:#f6f6f4;color:#111827;padding:90px 40px}
.mzag-theme-2 .mzag-testimonials-head{flex-direction:column;align-items:center;text-align:center;gap:18px}
.mzag-theme-2 .mzag-testimonials-title-block{align-items:center;text-align:center}
.mzag-theme-2 .mzag-testimonials-kicker{color:#2952d6;letter-spacing:0.24em;font-weight:700}
.mzag-theme-2 .mzag-testimonials-title{color:#111827;font-weight:500;font-family:var(--mzag-font-title,Georgia,serif)}
.mzag-theme-2 .mzag-testimonials-rating{flex-direction:row;align-items:center;gap:12px;margin-top:4px;color:#111827}
.mzag-theme-2 .mzag-testimonials-rating .mzag-stars{color:#fbbc04;font-size:20px}
.mzag-theme-2 .mzag-testimonials-rating .mzag-star.is-empty,
.mzag-theme-2 .mzag-testimonials-rating .mzag-star.is-half{color:rgba(0,0,0,0.15)}
.mzag-theme-2 .mzag-testimonials-rating-num{color:#111827;font-size:28px}
.mzag-theme-2 .mzag-testimonials-rating-sub{color:#6b7280}
.mzag-theme-2 .mzag-testimonial{background:#ffffff;border:1px solid rgba(0,0,0,0.06);border-radius:12px;box-shadow:0 8px 24px -12px rgba(0,0,0,0.15);padding:26px 26px 22px;color:#111827}
.mzag-theme-2 .mzag-testimonial .mzag-stars{color:#fbbc04}
.mzag-theme-2 .mzag-testimonial .mzag-star.is-empty,
.mzag-theme-2 .mzag-testimonial .mzag-star.is-half{color:rgba(0,0,0,0.15)}
.mzag-theme-2 .mzag-testimonial-text{color:#374151;font-style:italic}
.mzag-theme-2 .mzag-testimonial-author{flex-direction:row;align-items:center;gap:12px;color:#111827;margin-top:16px}
.mzag-theme-2 .mzag-testimonial-author strong{color:#111827}
.mzag-theme-2 .mzag-testimonial-meta{color:#6b7280}

/* ---- Theme 3 : Bordeaux original (defaults conserves) ---- */
.mzag-testimonials.mzag-theme-3{background:#54231e;color:#fbeeeb}
.mzag-theme-3 .mzag-testimonials-kicker{color:#c2a39d}
.mzag-theme-3 .mzag-testimonials-title{color:#fbeeeb;font-family:"Cormorant Garamond",Georgia,serif}
.mzag-theme-3 .mzag-testimonial{background:rgba(0,0,0,0.16);border:1px solid rgba(255,255,255,0.08)}
.mzag-theme-3 .mzag-testimonial-text{color:#fbeeeb;font-family:"Cormorant Garamond",Georgia,serif}

/* ================================================================ */
/* AVATARS (initiales) — actifs si show_avatar = yes                  */
/* ================================================================ */
.mzag-testimonial-author{align-items:flex-start}
.mzag-avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;background:#e8ecff;color:#2952d6;font-weight:700;font-size:13px;letter-spacing:0.02em;flex-shrink:0;font-family:var(--mzag-font-sans,system-ui,sans-serif)}
.mzag-theme-1 .mzag-avatar{background:rgba(201,168,106,0.15);color:#c9a86a}
.mzag-theme-3 .mzag-avatar{background:rgba(255,255,255,0.10);color:#fbeeeb}
.mzag-testimonial-author-inner{display:flex;flex-direction:column;gap:2px}

/* ================================================================ */
/* LAYOUT : slider (scroll-snap horizontal, sans JS)                  */
/* ================================================================ */
.mzag-testimonials-grid.mzag-layout-slider{display:flex;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:24px;gap:20px;padding-bottom:0;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}
.mzag-testimonials-grid.mzag-layout-slider::-webkit-scrollbar{display:none;width:0;height:0}
.mzag-testimonials-grid.mzag-layout-slider > .mzag-testimonial{flex:0 0 calc((100% - (var(--mzag-per-view, 3) - 1) * 20px) / var(--mzag-per-view, 3));scroll-snap-align:start;max-width:none;min-width:0}
@media (max-width:900px){ .mzag-testimonials-grid.mzag-layout-slider > .mzag-testimonial{flex:0 0 calc((100% - 20px) / 2)} }
@media (max-width:600px){ .mzag-testimonials-grid.mzag-layout-slider > .mzag-testimonial{flex:0 0 85%} }

/* Slider : wrap + conteneur nav (les boutons vivent dans .mzag-slider-nav) */
.mzag-slider-wrap{position:relative}
.mzag-slider-nav{display:inline-flex;gap:12px;margin-top:24px}
.mzag-slider-btn{width:44px;height:44px;border-radius:999px;border:1px solid rgba(0,0,0,0.12);background:#fff;color:#111827;font-size:22px;line-height:1;cursor:pointer;box-shadow:0 8px 24px -12px rgba(0,0,0,0.25);display:inline-flex;align-items:center;justify-content:center;transition:background .2s,transform .2s,opacity .2s;padding:0 14px;font-family:inherit;font-weight:600}
.mzag-slider-btn:hover{transform:scale(1.05)}
.mzag-slider-btn:disabled{opacity:.35;cursor:not-allowed;transform:none}

/* Adaptation aux themes */
.mzag-theme-1 .mzag-slider-btn{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.15);color:#f5f5f7}
.mzag-theme-1 .mzag-slider-btn:hover{background:rgba(255,255,255,0.15)}
.mzag-theme-3 .mzag-slider-btn{background:rgba(255,255,255,0.10);border-color:rgba(255,255,255,0.18);color:#fbeeeb}
.mzag-theme-3 .mzag-slider-btn:hover{background:rgba(255,255,255,0.18)}

/* ==== Positions des boutons (prefix_class = mzag-slider-pos-*) ==== */

/* SUPERPOSÉES sur les côtés (par-dessus les cartes) */
.mzag-slider-pos-sides .mzag-slider-nav{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);margin:0;pointer-events:none;z-index:5;display:flex;justify-content:space-between;padding:0}
.mzag-slider-pos-sides .mzag-slider-btn{pointer-events:auto;margin:0 -8px}

/* EN BAS — CENTRÉES */
.mzag-slider-pos-below-center .mzag-slider-nav{display:flex;justify-content:center}

/* EN BAS — ÉCARTÉES (space-between) */
.mzag-slider-pos-below-split .mzag-slider-nav{display:flex;justify-content:space-between;width:100%}

/* EN BAS — GAUCHE */
.mzag-slider-pos-below-left .mzag-slider-nav{display:flex;justify-content:flex-start}

/* EN BAS — DROITE */
.mzag-slider-pos-below-right .mzag-slider-nav{display:flex;justify-content:flex-end}

/* HAUT-DROITE (dans le head) */
.mzag-slider-pos-top-right .mzag-testimonials-inner{position:relative}
.mzag-slider-pos-top-right .mzag-slider-nav{position:absolute;top:0;right:0;margin:0}

@media (max-width:700px){
  .mzag-slider-pos-sides .mzag-slider-btn{margin:0 4px}
  .mzag-slider-pos-top-right .mzag-slider-nav{position:static;justify-content:center;margin-top:16px}
}

/* ============================================================ *
 * BADGES DE NOTE PAR SOURCE (Google + Zenchef séparés)
 * ============================================================ */
.mzag-source-badges{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch}
.mzag-source-badge{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 14px;border:1px solid var(--mzag-color-border);border-radius:var(--mzag-radius-md);background:var(--mzag-color-card-bg);color:var(--mzag-color-text);min-width:150px}
.mzag-source-badge-logo{display:flex;align-items:center;gap:4px;height:18px}
.mzag-source-badge .mzag-stars{font-size:16px}
.mzag-source-badge-num{font-family:var(--mzag-font-serif);font-size:var(--mzag-title-md);font-weight:500;line-height:1;font-variant-numeric:tabular-nums}
.mzag-source-badge-out{font-family:var(--mzag-font-sans);font-size:12px;color:var(--mzag-color-text-muted);margin-left:2px}
.mzag-source-badge-label{font-family:var(--mzag-font-sans);font-size:var(--mzag-text-xs);color:var(--mzag-color-text-muted);letter-spacing:0.02em}
/* Pastille source générique (Zenchef, etc.) */
.mzag-source-mark{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:4px;font-family:var(--mzag-font-sans);font-size:11px;font-weight:700;color:#fff;background:var(--mzag-color-accent);line-height:1}
.mzag-source-mark-zenchef{background:#1a1a1a}

/* Dans le head sombre (widget theme accent) : badges lisibles sur fond clair */
.mzag-theme-1 .mzag-source-badge,
.mzag-testimonials .mzag-source-badge{box-shadow:0 1px 3px rgba(0,0,0,0.06)}

/* Animation d'entrée cohérente avec les cartes */
.mzag-source-badge.mzag-anim-armed .mzag-stars .mzag-star{opacity:0;transform:translateY(-4px) scale(.9);transition:opacity .35s ease,transform .35s cubic-bezier(.22,1,.36,1)}
.mzag-source-badge.mzag-anim-in .mzag-stars .mzag-star{opacity:1;transform:none}

@media (max-width:700px){
  .mzag-source-badges{width:100%}
  .mzag-source-badge{flex:1 1 140px}
}

/* Largeur des badges (widget Note d'avis) */
.mzag-badges-w-full .mzag-source-badges{width:100%}
.mzag-badges-w-full .mzag-source-badge{flex:1 1 0;min-width:0}
.mzag-badges-w-auto .mzag-source-badge{min-width:0}

/* Source affichée dans la meta de chaque avis (logo + libellé) */
.mzag-testimonial-source{display:inline-flex;align-items:center;gap:5px}
.mzag-testimonial-source .mzag-google-logo,
.mzag-testimonial-source .mzag-source-mark{width:14px;height:14px;flex-shrink:0}
.mzag-testimonial-source .mzag-source-mark{font-size:9px;border-radius:3px}

/* Overlay Image + Avis : plusieurs cartes empilées (Google + Zenchef) */
.mzag-hero-google-overlay.mzag-multi{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
