/* ====== Comments UI ====== */
.cui-wrap {
  border-top: 2px solid #f1f1f1;
  margin-top: 1rem;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color: #222;
}

.cui-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .75rem 0;
}

.cui-title {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: 1rem;
}

.cui-badge {
  width: .75rem;
  height: .75rem;
  border-radius: 999px;
  background: #1bb26b;
  display: inline-block;
}

.cui-count {
  font-variant-numeric: tabular-nums;
}

.cui-sort {
  font-size: .9rem;
  color: #666;
}

.cui-sort a {
  color: #555;
  text-decoration: none;
}

.cui-sort a.is-active {
  font-weight: 600;
}

.cui-list {
  display: block;
}

.cui-item {
  padding: 0 0 1rem 0;
}

.cui-card {
  border: 1px solid #e9ecef;
  border-radius: 4px;
  background: #fff;
  overflow: hidden;
  position: relative;
  padding: 12px 12px 10px;
}

.cui-card::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 0;
  border-top: 2px dotted #1bb26b;
}

.cui-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.cui-head-left {
  display: flex;
  align-items: center;
  gap: .5rem;
}

.cui-name {
  color: #1bb26b;
  font-weight: 700;
}

.cui-name-op {
  color: #0fa46a;
}

.cui-op-tag {
  font-size: .75rem;
  background: #e8fff4;
  color: #0fa46a;
  padding: .05rem .35rem;
  border-radius: .35rem;
}

.cui-permalink {
  text-decoration: none;
  color: #9aa1a7;
  font-size: 1rem;
}

.cui-meta-row {
  margin-top: 2px;
  color: #9aa1a7;
  font-size: .87rem;
}

.cui-body {
  margin-top: 8px;
  color: #222;
  line-height: 1.58;
}

.cui-text {
  word-wrap: break-word;
}

.cui-moderation {
  color: #b14;
}

.cui-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 10px;
}

.cui-actions-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.cui-round {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 1px solid #cfd6dd;
  background: #fff;
  font-weight: 700;
  line-height: 26px;
  text-align: center;
  cursor: pointer;
}

.cui-round:hover {
  background: #f6f7f9;
}

.cui-score {
  min-width: 16px;
  text-align: center;
  color: #6b7280;
}

#comments-ui .cui-actions .cui-reply-btn,
#comments-ui .cui-sort-link {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  height: 36px;
  padding: 0 18px !important;
  font-size: .95rem;
  font-weight: 600;
  line-height: 1;
  color: #7a8087 !important;
  background: #fff !important;
  border: 1px solid #cfd6dd !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  box-shadow: none !important;

}

#comments-ui .cui-actions .cui-reply-btn:after {
  content: none !important;
}

.cui-pagination {
  display: flex;
  gap: .25rem;
  flex-wrap: wrap;
  padding: 1rem 0;
}

.cui-alert {
  padding: .75rem;
  background: #fff7d6;
  border: 1px solid #ffe9a3;
  border-radius: .5rem;
}

.cui-vote-btn.is-active {
  border-color: #1bb26b !important;
  color: #1bb26b !important;
}

.cui-children li ul {
  list-style: none;
  padding: 0;
}

.cui-children[data-depth="0"],
.cui-children[data-depth="1"] {
  list-style: none;
  padding-left: 2rem;
  padding-bottom: 0;
}

/* ====== Formulaire commentaire ====== */
.cui-form {
  margin-top: 1rem;
}

.cui-form-title {
  margin: .5rem 0 .75rem;
  font-weight: 700;
  font-size: 1.05rem;
  color: #1bb26b;
}

.cui-comment-form.comment-form .comment-reply-form {
  margin: 0;
}

.cui-field {
  margin-bottom: .6rem;
}

.cui-field-half {
  display: inline-block;
  width: calc(50% - .35rem);
}

.cui-field-half+.cui-field-half {
  margin-left: .7rem;
}

.cui-input,
.cui-textarea {
  width: 100%;
  border: 1px solid #cfd6dd;
  background: #fff;
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 1rem;
  color: #222;
  outline: none;
}

.cui-input:focus,
.cui-textarea:focus {
  border-color: #1bb26b;
  box-shadow: 0 0 0 3px rgba(27, 178, 107, .12);
}

.cui-submit-btn,
.cui-reply-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 40px;
  padding: 0 18px;
  font-size: .95rem;
  font-weight: 700;
  color: #fff;
  background: #1bb26b;
  border: 1px solid #18a361;
  border-radius: 999px;
  cursor: pointer;
}

.cui-submit-btn:hover,
.cui-reply-btn:hover {
  background: #169858;
  border-color: #148b52;
}

/* ====== Login strip ====== */
.cui-login-strip {
  /* margin-bottom: .6rem; */
}

.cui-login-cta {
  display: flex;
  align-items: center;
  gap: 10px;
  /* margin: 0 0 .5rem 0; */
}

.cui-social-buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.cui-login-label {
  font-size: .95rem;
  color: #666;
  margin-right: .25rem;
}

.cui-login-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid #d1d5db;
  background: #fff;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 600;
  font-size: .9rem;
  color: #374151;
}

.cui-login-btn:hover {
  background: #f5f7f9;
}

.cui-login-ico {
  width: 18px;
  height: 18px;
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
}

.cui-login-google .cui-login-ico {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><path fill="%234285F4" d="M24 9.5c3.54 0 6 1.54 7.38 2.84l5.02-4.91C33.64 4.29 29.3 2.5 24 2.5 14.82 2.5 7.05 7.89 3.68 15.44l6.47 5.02C11.62 15.3 17.29 9.5 24 9.5z"/><path fill="%2334A853" d="M46.5 24c0-1.59-.14-3.11-.39-4.5H24v8.53h12.7c-.55 2.96-2.23 5.47-4.76 7.16l7.28 5.65C43.79 37.08 46.5 31.02 46.5 24z"/><path fill="%23FBBC05" d="M10.15 20.46l-6.47-5.02C2.46 18.18 2 20.03 2 22c0 1.97.46 3.82 1.68 6.56l6.47-5.02C9.74 22.35 9.5 21.2 9.5 20s.24-2.35.65-3.54z"/><path fill="%23EA4335" d="M24 45.5c6.48 0 11.94-2.14 15.92-5.84l-7.28-5.65c-2 1.35-4.56 2.12-8.64 2.12-6.71 0-12.38-4.8-13.85-11.03l-6.47 5.02C7.05 40.11 14.82 45.5 24 45.5z"/></svg>');
}

.cui-login-facebook .cui-login-ico {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%231877F2" d="M22 12a10 10 0 10-11.6 9.87v-6.98H7.9V12h2.5V9.8c0-2.46 1.47-3.82 3.72-3.82 1.08 0 2.2.19 2.2.19v2.42h-1.24c-1.22 0-1.6.76-1.6 1.54V12h2.72l-.43 2.9h-2.29v6.97A10 10 0 0022 12z"/></svg>');
}

.cui-login-email .cui-login-ico {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="#6b7280" d="M20 4H4a2 2 0 00-2 2v12a2 2 0 002 2h16a2 2 0 002-2V6a2 2 0 00-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"/></svg>');
}

/* ====== Pending usernames moderation ====== */
.cui-pending-usernames {
  margin: 16px 0 24px;
  padding: 16px;
  border-radius: 14px;
  background: #f6f4ef;
  border: 1px solid #e7e0d6;
}

.cui-pending-usernames__details {
  margin: 0;
}

.cui-pending-usernames__summary {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  list-style: none;
  font-weight: 700;
}

.cui-pending-usernames__summary::-webkit-details-marker {
  display: none;
}

.cui-pending-usernames__title {
  font-size: 16px;
}

.cui-pending-usernames__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: #d62828;
  color: #fff;
  font-weight: 800;
  font-size: 14px;
}

.cui-pending-usernames__body {
  margin-top: 12px;
}

.cui-list-pending-usernames {
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.cui-list-pending-usernames .cui-card {
  padding: 12px 14px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #eee5d8;
}

.cui-pending-usernames__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.cui-pending-usernames__info {
  display: grid;
  gap: 2px;
}

.cui-pending-usernames__id {
  font-size: 12px;
  opacity: 0.7;
}

.cui-pending-usernames__actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.cui-logged {
  display: flex;
  align-items: center;
  gap: 10px;
}

.cui-logout-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border: 1px solid #d1d5db;
  background: #fff;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 600;
  font-size: .85rem;
  color: #374151;
}

.cui-logout-btn:hover {
  background: #f5f7f9;
}

/* ====== Page /nouveau-compte (onglets) ====== */
.st-wrap {
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  max-width: 720px;
  margin: 24px auto;
}

.st-tabs {
  display: flex;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  overflow: hidden;
}

.st-tab {
  flex: 1;
  text-align: center;
  padding: 10px 12px;
  cursor: pointer;
  background: #f8f9fb;
  border-right: 1px solid #eaecef;
  font-weight: 700;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
}

.st-tab:last-child {
  border-right: none;
}

.st-tab.is-active {
  background: #fff;
  color: #0a7a4b;
}

.st-card {
  border: 1px solid #e5e7eb;
  border-top: 0;
  border-radius: 0 0 10px 10px;
  background: #fff;
  padding: 16px;
}

.st-field {
  margin-bottom: 12px;
}

.st-label {
  display: block;
  font-size: .92rem;
  color: #555;
  margin: 0 0 6px;
}

.st-input {
  width: 100%;
  height: 42px;
  border: 1px solid #cfd6dd;
  border-radius: 10px;
  padding: 0 12px;
  font-size: 1rem;
  outline: none;
}

.st-input:focus {
  border-color: #1bb26b;
  box-shadow: 0 0 0 3px rgba(27, 178, 107, .12);
}

.st-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 6px;
}

.st-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 44px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid #d1d5db;
  background: #fff;
  font-weight: 700;
  cursor: pointer;
}

.st-btn:hover {
  background: #f5f7f9;
}

.st-btn-primary {
  background: #1bb26b;
  border-color: #18a361;
  color: #fff;
}

.st-btn-primary:hover {
  background: #169858;
}

.st-msg {
  margin-top: 8px;
  font-size: .92rem;
}

.st-msg.ok {
  color: #0a7a4b;
}

.st-msg.err {
  color: #b11;
}

.cui-signup-rule {
  display: flex;
  gap: 8px;
  align-items: baseline;
  font-size: 12px;
  line-height: 1.4;
}

.cui-rule-status {
  font-weight: 700;
}

.cui-rule-status.is-valid {
  color: #0a7a4b;
}

.cui-rule-status.is-invalid {
  color: #b11;
}

.st-hidden {
  display: none;
}

.st-card .st-hidden {
  display: none !important;
}

/* ====== Auth modale (défauts) ====== */
.cui-auth-modal[aria-hidden="true"] {
  display: none;
}

.cui-auth-modal[aria-hidden="false"] {
  display: block;
  position: fixed;
  inset: 0;
  z-index: 9999;
}

.cui-auth-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .45);
}

.cui-auth-dialog {
  position: relative;
  margin: 5vh auto;
  max-width: 680px;
  background: #fff;
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, .25);
}

.cui-auth-close {
  position: absolute;
  top: 8px;
  right: 8px;
  border: 0;
  background: transparent;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

.cui-auth-tabs {
  display: flex;
  gap: 8px;
  margin: 8px 8px 12px;
}

.cui-auth-tab {
  border: 0;
  background: #f2f2f2;
  padding: 8px 12px;
  border-radius: 10px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
}

.cui-auth-tab.is-active {
  background: #e6e6e6;
  font-weight: 600;
}

.cui-auth-panels .st-hidden {
  display: none;
}

html.cui-auth-lock,
body.cui-auth-lock {
  overflow: hidden;
}

/* ====== Auth modale (layering final) ====== */
.cui-auth-modal[aria-hidden="false"] {
  display: block;

  position: fixed;

  inset: 0;

  z-index: 2147483000;
  /* très haut */
  overflow: auto;

}

/* Backdrop qui couvre TOUT le viewport */
.cui-auth-backdrop {
  position: fixed;

  inset: 0;

  background: rgba(0, 0, 0, .45);

  z-index: 0;
  /* [FIX] en dessous du contenu */
  pointer-events: auto;
  /* capture le clic pour fermer si besoin */
}

/* Boîte du modal centrée */
.cui-auth-dialog {
  position: relative;

  margin: 6vh auto;

  width: min(92vw, 720px);

  max-width: 720px;

  background: #fff;

  border-radius: 16px;

  padding: 16px;

  box-shadow: 0 10px 40px rgba(0, 0, 0, .25);

  z-index: 1;
  /* [FIX] au-dessus du backdrop */
  pointer-events: auto;
  /* [FIX] MUST: cliquable */
}

/* Verrouillage de la page ouverte */
html.cui-auth-lock,
body.cui-auth-lock {
  overflow: hidden !important;

  width: 100% !important;
  /* évite 100vw qui déborde */
}

/* Neutralise la mise en page "page" des shortcodes dans le modal */
.cui-auth-modal .st-wrap {
  max-width: 100%;
  margin: 0;
}

/* =========================== */
/* [FIX] Switch des sous-onglets dans la modale */
/* =========================== */

/* 1) Garantir que le panneau actif est visible même si un thème force des affichages bizarres */
.cui-auth-modal [data-panel] {
  display: block;
}

/* base */
.cui-auth-modal [data-panel].st-hidden {
  display: none !important;
}

/* caché quand inactif */

/* 2) Même chose pour les panneaux principaux de la modale */
.cui-auth-panel {
  display: none;
}

.cui-auth-panel[aria-hidden="false"],
.cui-auth-panel.is-active {
  display: block;
}

/* 3) S’assurer que rien n’annule les clics à l’intérieur (certains thèmes posent pointer-events:none) */
.cui-auth-modal,
.cui-auth-modal * {
  pointer-events: auto;

}

/* 4) Accessibilité/UX onglets */
.cui-auth-tab:focus,
.st-tab:focus {
  outline: 2px solid #1bb26b;

  outline-offset: 2px;

}

/* Style bouton facebook temporaire*/
.st-tab.is-disabled {
  opacity: .55;
  cursor: not-allowed;
}


.cui-pass-field{
  display:flex;
  gap:8px;
  align-items:center;
}
.cui-pass-field .st-input{
  flex:1 1 auto;
}
.cui-pass-toggle{
  flex:0 0 auto;
  white-space:nowrap;
  padding: 8px 10px;
}