/* =========================================
   STYLE COACHING — Profil Coach (complet)
   ========================================= */

/* --- Layout généraux --- */
/* --- Hard stop global: pas de scroll horizontal --- */
html, body { max-width: 100%; overflow-x: hidden; }

/* --- Layout généraux --- */
.hai-coaching-container {
  max-width: 1472px;
  margin: 0 auto;
  padding: 0 0px 48px;
  overflow-wrap: break-word; /* évite les mots trop longs */
}
.hai-coaching-content{
  background:#fff;
  border-radius:16px;
  box-shadow:0 14px 40px rgba(0,0,0,.06);
  padding:24px 22px;
  overflow-wrap: break-word;
}

/* Bannière (image en inline-style dans le template) */
.hai-coaching-banner{ position:relative; margin-left:auto; margin-right:auto; }
.hai-banner-photo{
  border-radius:50%;
  overflow:hidden;
  box-shadow:0 12px 36px rgba(0,0,0,.18);
}
.hai-banner-photo img{ display:block; max-width:100%; height:auto; }

/* =========================================
   (1) HEADER 2 COLONNES
   ========================================= */
.hai-coach-header{
  display:grid;
  grid-template-columns: 1fr 320px;
  gap:22px;
  align-items:start;
  margin-top:-20px;
  margin-bottom:24px;
}
@media (max-width: 980px){
  .hai-coach-header{ grid-template-columns: 1fr; }
}
.hai-coach-id{ display:flex; gap:14px; align-items:center; min-width:0; }
.hai-coach-avatar{
  width:72px; height:72px; border-radius:50%; overflow:hidden; flex:0 0 auto;
  border:3px solid #fff; box-shadow:0 6px 24px rgba(0,0,0,.08);
}

.hai-coach-avatar img{ width:100%; height:100%; object-fit:cover; display:block; }

.hai-coach-titles{ display:flex; flex-direction:column; gap:6px; min-width:0; }

.hai-coaching-name {
  margin: 0;
  font-size: 1.6rem;
  line-height: 1.2;
  color: #3e515b !important;
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;           /* autorise le retour ligne avec l’icône statut */
}

.hai-coaching-name .status-dot{
  width:10px; height:10px; border-radius:50%;
  box-shadow:0 0 0 0 rgba(120,177,89,.5); animation:statPulse 2s infinite;
}
.hai-coaching-name.available .status-dot{ background:#78b159; }
.hai-coaching-name.unavailable .status-dot{ background:#dd2e44; animation:none; }

@keyframes statPulse{
  0%{ box-shadow:0 0 0 0 rgba(120,177,89,.5) }
  70%{ box-shadow:0 0 0 10px rgba(120,177,89,0) }
  100%{ box-shadow:0 0 0 0 rgba(120,177,89,0) }
}

/* =========================================
   (4) MÉTRIQUES COMPACTES
   ========================================= */
.hai-compact-metrics {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 6px 0 10px;
    font-size: 18px;
    font-family: times;
    color: #0ca9be;
}

.hai-compact-metrics .m-sep{ opacity:.6 }
.hai-compact-metrics .m-item{ white-space:nowrap }

/* =========================================
   (3) CHIPS SPÉCIALITÉS
   ========================================= */
.hai-specialty-chips{
  display:flex; align-items:center; gap:10px;
  margin:10px 0 16px; flex-wrap:wrap
}
.hai-specialty-chips .chips-label{ font-weight:600; color:#37474f }
.hai-specialty-chips .chips{
  list-style:none; padding:0; margin:0; display:flex; gap:8px; flex-wrap:wrap
}

.hai-specialty-chips .chip {
    padding: 6px 10px;
    border-radius: 999px;
    background: #f4f6f8;
    border: 1px solid #e3e7ea;
    font-size: 17px;
    color: #455a64;
    transition: transform .08s ease, box-shadow .2s ease;
}

.hai-specialty-chips .chip:hover{
  transform:translateY(-1px); box-shadow:0 4px 14px rgba(0,0,0,.06)
}

/* Diplômes & expérience */
.hai-coach-credentials .cred-line { 
font-family: Georgia, serif; 
color:#2f3a42; 

}

.hai-coach-credentials .cred-list { 
margin:6px 0 0 24px; 
list-style:disc; 
}

.hai-coach-credentials details summary { cursor:pointer; text-decoration:underline; }

@media (max-width:480px){
  .hai-coach-credentials .cred-list{ margin-left:18px; }
  .hai-coach-credentials details[open] > ul{ margin-left:18px; }
}


/* =========================================
   Carte prix + CTA (colonne droite du header)
   ========================================= */
.hai-coach-header__right{ position:relative; }
.hai-header-cta{
  background:#ffffff; border:1px solid #e6ebf0; border-radius:14px;
  padding:16px; box-shadow:0 10px 30px rgba(0,0,0,.06);
  display:flex; flex-direction:column; gap:10px; align-items:flex-start;
  box-sizing: border-box; max-width:100%; overflow:hidden;
}
.hai-header-cta .price-line{ display:flex; align-items:baseline; gap:8px; }

.hai-header-cta .p-label {
    font-size: 20px;
    color: #263238;
}

.hai-header-cta .p-amount
 {
    font-size: 22px;
    font-family: times;
    font-weight: 700;
    color: #263238;
}

.hai-header-cta .delay-line {
    font-size: 19px;
    font-family: times;
    color: #3f4e56;
}

.hai-header-cta .studies-line {
    font-size: 19px;
    font-family: times;
    color: #106874;
    font-weight: bold;
}

.btn-cta-order {
    display: inline-block;
    padding: 10px 14px;
    border-radius: 10px;
    text-decoration: none;
    background: #9adee7;
    color: #000 !important;
    font-weight: 600;
    transition: transform .06s ease, box-shadow .2s ease, opacity .2s ease;
    box-shadow: 0 10px 24px rgba(25, 135, 255, .28);
}

.btn-cta-order:hover{ transform:translateY(-1px); box-shadow:0 14px 28px rgba(25,135,255,.32); }
.btn-cta-order:active{ transform:translateY(0); }

.hai-header-cta .secure-note {
    color: #5f727d;
    font-size: 15px;
}

@media (max-width:980px){
  .hai-coach-header__right{ display:none; } /* Mobile: la barre sticky prend le relais */
}

/* =========================================
   Informations de service
   ========================================= */
.hai-coaching-study-mode{
  display:flex; align-items:center; gap:10px; margin:6px 0 16px;
}

.hai-coaching-study-mode .study-icon {
  width: 40px;
  height: 40px;
  display: block;
  object-fit: contain;
  max-width:100%;
}

.hai-coaching-study-text {
    color: #455a64;
    font-weight: 600;
    font-size: 19px;
}

/* Texte bio */
.hai-coaching-bio{
  color:#37474f; line-height:1.7; font-size:16px;
  overflow-wrap:anywhere; word-break:break-word;
}

.hai-coaching-bio p{ margin:0 0 14px; }

/* =========================================
   Ancienne ligne prix (si encore utilisée)
   ========================================= */
/* Optionnel: masquer l’ancienne .hai-price-row sur desktop si doublon avec la carte du header */
@media (min-width:981px){
  .hai-price-row{ display:none; }
}
.hai-price-row{
  display:flex; align-items:center; gap:16px; justify-content:center;
  margin:10px 0 18px;
}
.hai-price-tag{
  background:#fff; border:1px solid #e6ebf0; padding:10px 14px;
  border-radius:12px; font-weight:700; color:#263238;
}
.hai-response-badge{
  background:#eef7ff; color:#0d47a1; padding:8px 12px; border-radius:999px;
  border:1px solid #d6e9ff; font-weight:600; font-size:14px;
}

/* =========================================
   (7) RUBAN DE CONFIANCE + micro-animations champs
   ========================================= */
.hai-trust-ribbon {
    position: sticky;
    top: 0;
    z-index: 3;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    margin: 0 0 14px;
    background: linear-gradient(90deg, #ffffff, #9adee7);
    border: 1px solid #9bdfe8;
    border-radius: 10px;
    font-size: 15px;
    color: #496057;
    box-shadow: 0 6px 22px rgba(0, 0, 0, .06);
}
.hai-trust-ribbon .sep{ opacity:.5 }

.dynamic-coaching-form-wrapper{
  position:relative; overflow:hidden;
  background:#9bdfe8; border:1px solid #e6ebf0; border-radius:14px;
  padding:16px; box-shadow:0 10px 30px rgba(0,0,0,.06);
  box-sizing:border-box; max-width:100%;
}

/* Canvas décoratif */
#hai-starfield-dynamic{
  position:absolute; inset:0; width:100%; height:140px; pointer-events:none; opacity:.28;
}

/* Champs (micro-animations) */
.dynamic-coaching-form-wrapper input,
.dynamic-coaching-form-wrapper textarea,
.dynamic-coaching-form-wrapper select{
  transition: box-shadow .2s ease, transform .06s ease, border-color .15s ease, background-color .15s ease;
  will-change: box-shadow, transform;
}
.dynamic-coaching-form-wrapper input:focus,
.dynamic-coaching-form-wrapper textarea:focus,
.dynamic-coaching-form-wrapper select:focus{
  outline:none; transform:translateY(-1px);
  box-shadow:0 0 0 3px rgba(25,135,255,.12), 0 8px 24px rgba(0,0,0,.06);
  border-color:#90caf9;
}

.hai-coaching-form-note {
    margin-top: 12px;
    color: #1e1f1f;
    font-size: 16px;
}

/* =========================================
   Badge / ruban "Avis vérifiés"
   ========================================= */
.coaching-ribbon-container{
  display:flex; justify-content:center; margin:20px 0 8px;
}
.coaching-badge-ribbon{
  display:inline-block;
  background:repeating-linear-gradient(45deg,#f7f7f7,#f7f7f7 8px,#fafafa 8px,#fafafa 16px);
  color:#37474f; border:1px dashed #cfd8dc; padding:6px 12px; border-radius:999px;
  font-weight:700;
}

/* =========================================
   (8) HISTOGRAMME CLIQUABLE DES NOTES
   ========================================= */
.hai-rating-histogram{
  max-width:760px; margin:0 auto 12px; padding:10px 14px;
  background:#ffffff; border:1px solid #e6ebf0; border-radius:12px;
  box-shadow:0 2px 20px rgba(0,0,0,.04);
}
.hai-rating-histogram .hist-row{
  display:grid; grid-template-columns:56px 1fr 48px; align-items:center;
  gap:10px; padding:6px 0; text-decoration:none;
}
.hai-rating-histogram .hist-row:hover .h-fill{ opacity:.95; transform:scaleY(1.02) }
.hai-rating-histogram .hist-row.is-active .h-bar{ outline:2px solid rgba(25,135,255,.25); outline-offset:2px; border-color:#cfe3ff; }

.hai-rating-histogram .h-label{ color:#455a64; font-weight:600 }

.hai-rating-histogram .h-pct
 {
    text-align: right;
    color: #607d8b;
    font-variant-numeric: tabular-nums;
    font-family: times;
    font-size: 17px;
}

.hai-rating-histogram .h-bar{
  position:relative; height:10px; background:#f1f4f7; border-radius:999px; overflow:hidden;
  border:1px solid #e3e8ee;
}
.hai-rating-histogram .h-fill {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 0;
    background: linear-gradient(90deg, #b5995a, #9bdfe8);
    border-right: 1px solid rgba(0, 0, 0, .06);
    transition: width .35s ease, opacity .2s ease, transform .2s ease;
}

/* =========================================
   Filtres et Grille d’avis
   ========================================= */
.hai-review-filter-bar{
  display:flex; justify-content:center; margin:8px 0 16px;
}
.hai-review-filter-form{
  background:#fff; border:1px solid #e6ebf0; border-radius:10px;
  padding:8px 10px; box-shadow:0 8px 20px rgba(0,0,0,.04);
  display:flex; gap:10px; align-items:center;
  box-sizing:border-box; max-width:100%; overflow:hidden;
}

.hai-review-filter-form select{
  padding:6px 8px; border-radius:8px; border:1px solid #dfe5ea; background:#fbfcfd;
}

.hai-reviews-grid-container{ margin-top:6px; }
.hai-reviews-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; margin-top: 60px;
}
@media (max-width: 980px){
  .hai-reviews-grid{ grid-template-columns:1fr; }
}

.hai-review-card-coaching {
  background: #fff;
  border: 1.5px dashed #e1cba3;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 3px 8px rgba(0,0,0,0.05);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  transition: transform 0.3s ease;
  box-sizing:border-box; max-width:100%; overflow:hidden;
}
.hai-review-card-coaching:hover {
  transform: translateY(-5px);
}

.hai-review-date-coaching {
    color: #1198aa;
    font-size: 15px;
    font-family: times;
}

.hai-review-card-coaching{ 
  overflow: visible;                 /* autorise la feuille à dépasser */
  position: relative;                /* déjà présent, mais on réaffirme */
}

.hai-review-card-coaching::before{
  content: "🍃";
  position: absolute;
  top: -12px;                        /* sors légèrement de la carte */
  left: -12px;
  font-size: 22px;                   /* ajuste si tu veux une feuille plus grande */
  z-index: 2;                        /* passe au-dessus de la bordure */
  pointer-events: none;              /* pas cliquable */
  filter: drop-shadow(0 1px 0 rgba(0,0,0,.08)); /* léger relief */
}

.hai-review-header{
  display:flex; justify-content:space-between; align-items:center; margin-bottom:8px;
}
.hai-review-stars{ color:#b5995a; font-weight:700; }
.hai-review-pseudo{ color:#546e7a; font-weight:600; }
.hai-review-text{ color:#37474f; line-height:1.6; }

/* =========================================
   (10) BARRE D’ACTION MOBILE STICKY
   ========================================= */
.hai-mobile-actionbar{
  position:fixed; left:0; right:0; bottom:0; z-index:50;
  display:flex; justify-content:space-between; align-items:center; gap:16px;
  padding:12px 16px; background:#ffffff; border-top:1px solid #e6ebf0;
  box-shadow:0 -10px 26px rgba(0,0,0,.08);
}
.hai-mobile-actionbar .a-left{ display:flex; flex-direction:column; line-height:1.1; }
.hai-mobile-actionbar .a-price{ font-weight:700; font-size:18px; color:#263238; }

.hai-mobile-actionbar .a-delay { 
font-size:17px; 
color:#607d8b; 
}

.hai-mobile-actionbar .a-cta{
  display:inline-block; text-decoration:none; padding:10px 16px; border-radius:12px;
  background:#1987ff; color:#fff; font-weight:700; box-shadow:0 10px 22px rgba(25,135,255,.28);
  transition:transform .06s ease, box-shadow .2s ease;
}
.hai-mobile-actionbar .a-cta:hover{ transform:translateY(-1px); box-shadow:0 14px 28px rgba(25,135,255,.34); }
.hai-mobile-actionbar .a-cta:active{ transform:translateY(0); }

@media (min-width:981px){
  .hai-mobile-actionbar{ display:none; } /* Desktop : on masque la barre sticky */
}

/* Évite que la barre ne masque le bas de page sur mobile */
@media (max-width:980px){
  body{ padding-bottom:76px; }
}

.hai-mobile-actionbar .a-studies {
    font-size: 17px;
    color: #1198aa;
    font-weight: bold;
    font-family: times;
}


/* =========================================
   Petites finitions
   ========================================= */
.hai-status-icon {
    width: 45px;
    height: 45px;
    object-fit: contain;
    vertical-align: middle;
}


.hai-coaching-stats{
  display:none; /* Masqué si doublon avec métriques compactes */
}

/* Micro-ajustements smartphone */
@media (max-width:480px){
  .hai-coaching-content{ padding:16px 14px; }
  .hai-coach-header{ gap:14px; margin-bottom:18px; }
  .hai-coaching-name{ font-size:1.35rem; }
  .hai-compact-metrics{ font-size:14px; gap:8px; }
  .hai-coaching-study-mode{ gap:8px; }
}