/* ===================================================
   HYPNOSPHÈRE : STYLES GLOBAUX ENTREPRISES & SPECTACLES
   =================================================== */

/* 1. Conteneur global centré */
.hypno-wrapper {
  max-width: 680px;
  margin: 0 auto;
  padding: 10px 15px 40px;
  box-sizing: border-box;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color: #1e242b;
  line-height: 1.6;
}

/* Couleur du texte en mode sombre */
body.ashe-dark-mode .hypno-wrapper,
body.ashe-dark-mode .hypno-wrapper > p,
body.ashe-dark-mode .hypno-wrapper ul,
body.ashe-dark-mode .hypno-wrapper li {
  color: #e2e8f0 !important;
}

/* 2. Grille 2x2 universelle (Atelier & Spectacle) */
.hypno-grid-2x2 {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 0 auto 35px !important;
  box-sizing: border-box !important;
}

/* Cases claires (Atelier) */
.hypno-card-light {
  flex: 1 1 calc(50% - 12px) !important;
  max-width: calc(50% - 6px) !important;
  min-width: 135px !important;
  min-height: 88px !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  padding: 12px 10px !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 5px !important;
  box-sizing: border-box !important;
}
/* Garder le texte foncé dans les cartes à fond clair en mode sombre */
body.ashe-dark-mode .hypno-card-light p.hypno-card-val {
  color: #1e242b !important;
}

/* Cases sombres (Spectacle) */
.hypno-card-dark {
  flex: 1 1 calc(50% - 12px) !important;
  max-width: calc(50% - 6px) !important;
  min-width: 135px !important;
  min-height: 88px !important;
  background: #1e242b !important;
  color: #ffffff !important;
  border-radius: 12px !important;
  padding: 12px 10px !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 5px !important;
  box-sizing: border-box !important;
}

/* Étiquettes & Valeurs dans les cartes */
.hypno-card-tag-teal {
  font-size: 11px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: #1A6A74 !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  margin: 0 !important;
}
.hypno-card-tag-amber {
  font-size: 11px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: #f59e0b !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  margin: 0 !important;
}
.hypno-card-val {
  font-size: 13.5px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}

/* 3. Boutons (Centrés en hauteur et largeur + Contours ineffaçables) */
.hypno-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  text-decoration: none !important;
  border-radius: 50px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
  max-width: 100% !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.hypno-btn:hover {
  transform: translateY(-2px) !important;
}

/* Bouton Turquoise (Atelier) */
.hypno-btn-teal {
  background: linear-gradient(135deg, #1A6A74, #0d9488) !important;
  color: #ffffff !important;
  border: 2px solid #134e56 !important;
  outline: 2px solid #ccfbf1 !important;
  height: 48px !important;
  padding: 0 26px !important;
  font-size: 14px !important;
  box-shadow: 0 0 0 3px rgba(26,106,116,0.2), 0 6px 18px rgba(26,106,116,0.3) !important;
}

/* Bouton Orange/Ambre (Spectacle) */
.hypno-btn-amber {
  background: linear-gradient(135deg, #d97706, #f59e0b) !important;
  color: #111827 !important;
  border: 2px solid #92400e !important;
  outline: 2px solid #fef3c7 !important;
  height: 48px !important;
  padding: 0 24px !important;
  font-size: 14px !important;
  box-shadow: 0 0 0 3px rgba(217,119,6,0.2), 0 6px 18px rgba(217,119,6,0.28) !important;
}

/* Bouton Noir (Devis bas de page) */
.hypno-btn-dark {
  background: #111827 !important;
  color: #ffffff !important;
  border: 2px solid #4b5563 !important;
  height: 46px !important;
  padding: 0 26px !important;
  font-size: 13.5px !important;
  box-shadow: 0 0 0 2px rgba(17,24,39,0.1), 0 4px 12px rgba(0,0,0,0.15) !important;
}

/* 4. Optimisation Mobile */
@media screen and (max-width: 600px) {
  .hypno-btn-teal, .hypno-btn-amber {
    font-size: 13px !important;
    padding: 0 16px !important;
    height: 46px !important;
  }
}