/* ==========================================================================
   Tomek Training — Section « Avis Google » (ERA STUDIO)
   Badge de note · cartes avis façon Google · cartes photo + CTA toutes les 2 cartes.
   ========================================================================== */

/* ---------- Étoiles et logo Google ---------- */
.tk-stars{color:var(--tk-star);letter-spacing:2px;line-height:1;white-space:nowrap}
.tk-stars__off{color:var(--tk-ardoise-200)}
.tk-proof__stars{color:var(--tk-star)}
.tk-g{display:block;flex:none;object-fit:contain}
.tk-g--text{font:700 11px/1 var(--tk-font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--tk-text-muted)}

/* ---------- Badge de note globale ---------- */
.tk-rating{display:inline-flex;align-items:center;gap:12px;padding:10px 18px 10px 14px;border-radius:var(--tk-radius-pill);background:var(--tk-surface);box-shadow:var(--tk-shadow-md);color:var(--tk-text-strong);text-decoration:none;transition:transform var(--tk-dur-fast),box-shadow var(--tk-dur-fast)}
a.tk-rating:hover{transform:translateY(-2px);box-shadow:var(--tk-shadow-lg);color:var(--tk-text-strong)}
.tk-rating .tk-g{width:28px;height:28px}
.tk-rating__score{font:900 30px/1 var(--tk-font-display);color:var(--tk-text-strong)}
.tk-rating__meta{display:flex;flex-direction:column;gap:4px;font:500 13px/1.2 var(--tk-font-body);color:var(--tk-text-muted)}
.tk-rating__meta .tk-stars{font-size:14px}
.tk-rating__link{margin-left:6px;padding-left:14px;border-left:1px solid var(--tk-border);font:600 14px/1.2 var(--tk-font-body);color:var(--tk-cta);white-space:nowrap}
a.tk-rating:hover .tk-rating__link{color:var(--tk-cta-hover);text-decoration:underline;text-underline-offset:4px}
@media (max-width:480px){
  .tk-rating{display:flex;flex-wrap:wrap;width:100%;border-radius:20px;padding:14px 16px}
  .tk-rating__link{width:100%;margin:2px 0 0;padding:10px 0 0;border-left:0;border-top:1px solid var(--tk-border)}
}

/* ---------- Grille desktop / tablette, carrousel mobile ---------- */
.tk-avis-grid{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
@media (min-width:1024px){.tk-avis-grid>*{order:var(--d-order)}}
@media (min-width:768px) and (max-width:1023px){.tk-avis-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){
  .tk-avis-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:min(82vw,340px);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(-1 * var(--tk-gutter));padding:4px var(--tk-gutter) 18px;scroll-padding:0 var(--tk-gutter);scrollbar-width:none}
  .tk-avis-grid>*{scroll-snap-align:start}
}

/* ---------- Carte avis ---------- */
.tk-avis-grid .tk-review{position:relative;margin:0;padding:24px;gap:14px;overflow:hidden}
.tk-avis-grid .tk-review::after{content:"\201D";position:absolute;z-index:0;right:16px;bottom:-46px;font:900 150px/1 var(--tk-font-display);color:var(--tk-teal-50);pointer-events:none}
.tk-avis-grid .tk-review>*{position:relative;z-index:1}
.tk-review__head{display:flex;align-items:center;gap:12px;margin:0}
.tk-review__head .tk-g{margin-left:auto;width:20px;height:20px}
.tk-review__head .tk-g--text{margin-left:auto}
.tk-review__who{display:flex;flex-direction:column;gap:4px;min-width:0}
.tk-review__who b{font:700 16px/1.1 var(--tk-font-body);color:var(--tk-text-strong)}
.tk-review__who span{font:600 12px/1.2 var(--tk-font-body);color:var(--tk-cta)}
.tk-avatar--petrol{background:var(--tk-petrol-700);color:var(--tk-creme-100)}
.tk-avatar--creme{background:var(--tk-creme-200);color:var(--tk-petrol-700)}
.tk-review__rating{display:flex;align-items:center;gap:10px}
.tk-review__rating .tk-stars{font-size:16px}
.tk-review__date{font:400 13px/1 var(--tk-font-body);color:var(--tk-text-muted)}
.tk-review__text{margin:0;flex:1;padding:0;border:0}
.tk-review__text p{margin:0;font:400 16px/1.6 var(--tk-font-body);color:var(--tk-text-strong);text-wrap:pretty;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.tk-review.is-expanded .tk-review__text p{display:block;-webkit-line-clamp:unset;overflow:visible}
.tk-avis-grid .tk-review__more{align-self:flex-start;min-height:44px;margin:-12px 0 -14px;padding:0;border:0;border-radius:0;background:transparent;color:var(--tk-cta);font:600 14px/1 var(--tk-font-body);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px;cursor:pointer}
.tk-avis-grid .tk-review__more:hover,.tk-avis-grid .tk-review__more:focus{background:transparent;color:var(--tk-cta-hover)}

/* ---------- Carte photo + CTA : photo pleine carte, sommet en arche (rappel du logo) ---------- */
.tk-review-cta{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:320px;overflow:hidden;border-radius:50% 50% var(--tk-radius-card) var(--tk-radius-card) / 24% 24% var(--tk-radius-card) var(--tk-radius-card);background:var(--tk-petrol-800);box-shadow:var(--tk-shadow-md);transition:transform var(--tk-dur) var(--tk-ease),box-shadow var(--tk-dur)}
.tk-review-cta:hover{transform:translateY(-4px);box-shadow:var(--tk-shadow-lg)}
.tk-review-cta__media{position:absolute;inset:0}
.tk-review-cta__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--tk-ease)}
.tk-review-cta__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,32,52,0) 22%,rgba(10,32,52,.5) 50%,rgba(10,32,52,.93) 100%)}
.tk-review-cta:hover .tk-review-cta__media img{transform:scale(1.04)}
.tk-review-cta__body{position:relative;z-index:1;display:flex;flex-direction:column;gap:12px;padding:22px 20px 18px}
.tk-review-cta__title{margin:0;font:800 clamp(21px,1.9vw,24px)/1.05 var(--tk-font-display);text-transform:uppercase;color:var(--tk-creme-100);text-wrap:balance;text-shadow:0 2px 14px rgba(10,32,52,.5)}
.tk-review-cta .tk-btn{min-height:50px;font-size:14px}
.tk-review-cta__note{text-align:center;font:500 12px/1.3 var(--tk-font-body);color:var(--tk-petrol-100)}
.tk-review-cta :focus-visible{outline-color:var(--tk-creme-100)}

/* Le reset de Hello rend les boutons visibles malgré l'attribut hidden */
.tk-review__more[hidden]{display:none!important}

/* Repli texte « Google » tant que le logo officiel n'est pas fourni */
.tk-review__who{flex:1}
.tk-g--text{white-space:nowrap}
.tk-rating .tk-g--text,.tk-review__head .tk-g--text{width:auto;height:auto}
/* ---------- En-tête de section ---------- */
.tk-avis .tk-headrow{align-items:flex-end}
@media (max-width:767px){.tk-avis .tk-headrow{gap:16px}}

/* ---------- Grille « bento » (3 avis) : l'avis le plus long en entier, la photo sur 2 lignes ---------- */
@media (min-width:1024px){
  .tk-avis-grid--bento{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row dense}
  .tk-avis-grid--bento .tk-review--wide{grid-column:span 2}
  .tk-avis-grid--bento .tk-review-cta--tall{grid-column:3;grid-row:1 / span 2;min-height:100%}
  .tk-avis-grid--bento .tk-review__text p{-webkit-line-clamp:7}
  .tk-avis-grid--bento .tk-review--wide .tk-review__text p{display:block;-webkit-line-clamp:unset;overflow:visible;font-size:17px;line-height:1.65}
  .tk-avis-grid--bento .tk-review--wide .tk-review__more{display:none!important}
  .tk-avis-grid--bento .tk-review-cta--tall .tk-review-cta__title{font-size:clamp(24px,2.2vw,30px)}
}
@media (min-width:768px) and (max-width:1023px){
  .tk-avis-grid--bento{grid-auto-flow:row dense}
  .tk-avis-grid--bento .tk-review--wide,.tk-avis-grid--bento .tk-review-cta--tall{grid-column:span 2}
}
/* Audit mobile : lisibilité (chargé après layout.css) */
.tk-rating .tk-g--text,.tk-review__head .tk-g--text{font-size:12px}
@media (max-width:767px){.tk-proof .tk-proof__txt,.tk-proof .tk-proof__txt span{font-size:12.5px}}
