/* DispoGo — styles du formulaire d'alerte (partagé /alerte et /salon). */

/* L'attribut `hidden` doit l'emporter sur nos règles `display:flex` :
   sans ça, un bloc masqué en HTML resterait visible. */
[hidden]{ display:none !important; }

.dg-form{ display:flex; flex-direction:column; gap:20px; }
.dg-field{ display:flex; flex-direction:column; gap:10px; }
.dg-lbl{
  font-family:var(--mono); font-size:11px; font-weight:600; letter-spacing:.09em;
  text-transform:uppercase; color:var(--txt-faint);
}
.dg-lbl-hint{
  font-family:var(--mono); font-size:10px; font-weight:600; letter-spacing:.04em;
  text-transform:none; color:var(--teal);
  background:rgba(14,124,124,.09); border-radius:6px; padding:2px 7px; margin-left:6px;
}
.dg-recur{
  margin-top:9px; font-size:12px; line-height:1.45; color:var(--txt-dim);
}
.dg-recur b{ color:var(--txt); font-weight:700; }

/* Mode ponctuel : jour déjà passé (désactivé) */
.dg-chip.dg-past{
  opacity:.4; cursor:not-allowed; color:var(--txt-faint);
  background:repeating-linear-gradient(-45deg, #fff 0 6px, #f2f6f6 6px 12px);
  box-shadow:none;
}
.dg-chip.dg-past:hover{ border-color:var(--glass-brd); }
.dg-chips{ display:flex; flex-wrap:wrap; gap:9px; }

/* Pastille de base */
.dg-chip{
  position:relative; display:inline-flex; align-items:center; justify-content:center; gap:9px;
  font-family:var(--display); font-size:14.5px; font-weight:600; color:var(--txt-dim);
  background:#fff; border:1.5px solid var(--glass-brd); border-radius:13px;
  padding:11px 15px; cursor:pointer; -webkit-tap-highlight-color:transparent;
  transition:transform .12s ease, border-color .15s, background .15s, color .15s, box-shadow .15s;
  box-shadow:0 2px 6px -3px rgba(6,46,44,.25);
}
.dg-chip:hover{ border-color:var(--teal); }
.dg-chip:active{ transform:scale(.96); }
.dg-chip.on{
  background:linear-gradient(135deg,#159B9B,#0A6363); border-color:transparent; color:#fff;
  box-shadow:0 10px 22px -10px rgba(14,124,124,.85);
}
/* Pastille de couleur par catégorie */
.dg-dot{
  width:9px; height:9px; border-radius:50%; flex:0 0 auto; background:var(--c);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--c) 22%, transparent);
}
.dg-cat.on .dg-dot{ box-shadow:0 0 0 2px rgba(255,255,255,.45); }
/* Jours : format compact et régulier */
.dg-day{ min-width:54px; text-align:center; padding-left:8px; padding-right:8px; }

/* Mode ponctuel : mini-cellule calendrier (jour + numéro) */
.dg-dcell{ flex-direction:column; gap:1px; min-width:48px; padding:8px 11px; }
.dg-dcell .dg-dow{ font-family:var(--mono); font-size:9.5px; font-weight:600; letter-spacing:.03em; text-transform:uppercase; opacity:.72; }
.dg-dcell .dg-dnum{ font-size:16px; font-weight:800; letter-spacing:-.02em; line-height:1.05; }

.dg-input{
  font-family:var(--display); font-size:16px; color:var(--txt);
  background:#fff; border:1.5px solid var(--glass-brd); border-radius:13px;
  padding:14px 16px; width:100%; transition:border-color .15s, box-shadow .15s;
  box-shadow:0 2px 6px -3px rgba(6,46,44,.25);
}
.dg-input::placeholder{ color:rgba(20,72,74,.4); }
.dg-input:focus{ outline:none; border-color:var(--teal); box-shadow:0 0 0 4px rgba(14,124,124,.12); }

/* ── Prestation souhaitée (facultatif) : suggestions plus légères + note ── */
.dg-svc-chip{ font-size:13px; padding:8px 13px; border-radius:11px; }
.dg-svc-input{ font-size:15px; padding:12px 15px; }
.dg-svc-note{ margin-top:2px; font-size:11.5px; line-height:1.4; color:var(--txt-faint); }
.dg-svc-note b{ color:var(--txt-dim); font-weight:700; }

/* ── Connexion Google ────────────────────────────────────────────────── */
.dg-gbox{ display:flex; flex-direction:column; align-items:center; gap:12px; }
.dg-gbox > div:first-child{ display:flex; justify-content:center; width:100%; }
/* Séparateur « ou saisis-la » entre le bouton Google et le champ manuel */
.dg-or{
  display:flex; align-items:center; gap:12px; width:100%;
  font-family:var(--mono); font-size:10.5px; letter-spacing:.06em;
  text-transform:uppercase; color:var(--txt-faint);
}
.dg-or:before, .dg-or:after{ content:""; flex:1; height:1px; background:var(--glass-brd); }

/* État « adresse fournie par Google » : remplace le champ de saisie */
.dg-gdone{
  display:flex; align-items:center; gap:10px;
  background:rgba(20,160,120,.09); border:1px solid rgba(20,160,120,.28);
  border-radius:13px; padding:12px 14px;
}
.dg-gcheck{
  flex:0 0 auto; width:22px; height:22px; border-radius:50%;
  background:linear-gradient(160deg,#2FBF8F,#159B6B); color:#fff;
  display:grid; place-items:center; font-size:12px; font-weight:800;
}
.dg-gmail{ flex:1; min-width:0; font-size:14.5px; font-weight:600; color:var(--txt);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dg-gdone button{
  flex:0 0 auto; font-family:var(--mono); font-size:11.5px; color:var(--teal);
  background:none; border:0; padding:0; cursor:pointer; text-decoration:underline;
  text-underline-offset:2px;
}

/* Suggestion de correction du domaine email (faute de frappe probable) */
.dg-typo{
  font-size:13px; line-height:1.5; color:var(--txt-dim);
  background:rgba(224,169,46,.1); border:1px solid rgba(224,169,46,.32);
  border-radius:11px; padding:9px 13px; margin-top:-2px;
}
.dg-typo button{
  font-family:var(--display); font-size:13px; font-weight:800; color:var(--teal);
  background:none; border:0; padding:0; cursor:pointer; text-decoration:underline;
  text-underline-offset:2px;
}
.dg-typo button:hover{ color:var(--teal-hi, #12A3A0); }

.dg-consent{
  display:flex; gap:11px; align-items:flex-start; cursor:pointer;
  font-size:12.5px; line-height:1.5; color:var(--txt-dim);
  background:rgba(255,255,255,.45); border:1px solid var(--glass-brd);
  border-radius:12px; padding:12px 13px;
}
.dg-consent input{ margin-top:1px; width:18px; height:18px; accent-color:var(--teal); flex:0 0 auto; }
.dg-consent a{ color:var(--teal); }

.dg-submit{
  display:flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--display); font-size:16.5px; font-weight:800; color:#fff;
  background:linear-gradient(135deg,#159B9B,#0A6363); border:0; border-radius:15px;
  padding:17px; cursor:pointer; transition:filter .15s, transform .06s, box-shadow .15s;
  box-shadow:0 16px 34px -14px rgba(14,124,124,.85);
}
.dg-submit:hover{ filter:brightness(1.07); box-shadow:0 20px 40px -14px rgba(14,124,124,.9); }
.dg-submit:active{ transform:translateY(1px); }
.dg-submit:disabled{ opacity:.65; cursor:default; box-shadow:none; }

.dg-err{
  font-size:13px; color:#B4362B; font-weight:600; text-align:center; margin-top:-6px;
  background:rgba(192,57,43,.07); border:1px solid rgba(192,57,43,.2); border-radius:10px; padding:9px 12px;
}
.dg-note{ font-family:var(--mono); font-size:10.5px; color:var(--txt-faint); text-align:center; margin-top:-4px; }

/* État de succès */
.dg-done{ text-align:center; padding:14px 4px 6px; animation:dgIn .4s ease both; }
@keyframes dgIn{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }
.dg-done-badge{
  width:64px; height:64px; border-radius:50%; margin:0 auto 18px;
  background:linear-gradient(135deg,#159B9B,#0A6363); color:#fff; font-size:30px; font-weight:800;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 16px 34px -12px rgba(14,124,124,.85);
  animation:dgPop .45s cubic-bezier(.2,.9,.3,1.4) both .05s;
}
@keyframes dgPop{ from{ transform:scale(.4); opacity:0; } to{ transform:scale(1); opacity:1; } }
.dg-done-title{ font-size:23px; font-weight:800; letter-spacing:-.02em; margin-bottom:10px; }
.dg-done-sub{ font-size:15px; line-height:1.55; color:var(--txt-dim); max-width:40ch; margin:0 auto 22px; }
.dg-store{
  display:inline-flex; align-items:center; gap:7px; font-family:var(--mono); font-size:13px; font-weight:500;
  color:var(--teal); text-decoration:none; background:rgba(255,255,255,.6);
  border:1.5px solid var(--glass-brd); border-radius:13px; padding:13px 20px; transition:border-color .15s;
}
.dg-store:hover{ border-color:var(--teal); }
