@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;600&family=DM+Sans:wght@300;400;500&display=swap');

/* ── Variables thème nuit (défaut) ── */
:root {
  --bg-page:        #060d1a;
  --bg-card:        #091525;
  --bg-input:       rgba(255,255,255,.07);
  --bg-input-focus: rgba(255,255,255,.10);
  --bg-chip:        rgba(255,255,255,.05);
  --bg-qual:        rgba(255,255,255,.03);
  --bg-rc:          rgba(255,255,255,.04);
  --text-main:      #d8e4f5;
  --text-muted:     rgba(216,228,245,.40);
  --text-faint:     rgba(216,228,245,.24);
  --text-chip:      rgba(216,228,245,.62);
  --text-chip-h:    rgba(216,228,245,.9);
  --blue:           #5b8fd4;
  --blue-10:        rgba(91,143,212,.10);
  --blue-12:        rgba(91,143,212,.12);
  --blue-14:        rgba(91,143,212,.14);
  --blue-15:        rgba(91,143,212,.15);
  --blue-18:        rgba(91,143,212,.18);
  --blue-20:        rgba(91,143,212,.20);
  --blue-25:        rgba(91,143,212,.25);
  --blue-35:        rgba(91,143,212,.35);
  --blue-45:        rgba(91,143,212,.45);
  --blue-55:        rgba(91,143,212,.55);
  --blue-60:        rgba(91,143,212,.60);
  --blue-75:        rgba(91,143,212,.75);
  --border-light:   rgba(91,143,212,.12);
  --border-div:     rgba(91,143,212,.12);
  --select-opt-bg:  #122040;
  --shadow:         0 8px 48px rgba(0,0,0,.55);
  --toggle-bg:      rgba(91,143,212,.12);
  --toggle-border:  rgba(91,143,212,.30);
}

/* ── Variables thème clair ── */
[data-theme="light"] {
  --bg-page:        #eef2f8;
  --bg-card:        #ffffff;
  --bg-input:       rgba(30,58,110,.06);
  --bg-input-focus: rgba(30,58,110,.10);
  --bg-chip:        rgba(30,58,110,.05);
  --bg-qual:        rgba(30,58,110,.03);
  --bg-rc:          rgba(30,58,110,.04);
  --text-main:      #0a1628;
  --text-muted:     rgba(10,22,40,.50);
  --text-faint:     rgba(10,22,40,.32);
  --text-chip:      rgba(10,22,40,.58);
  --text-chip-h:    rgba(10,22,40,.9);
  --blue:           #1e3a6e;
  --blue-10:        rgba(30,58,110,.10);
  --blue-12:        rgba(30,58,110,.12);
  --blue-14:        rgba(30,58,110,.14);
  --blue-15:        rgba(30,58,110,.15);
  --blue-18:        rgba(30,58,110,.18);
  --blue-20:        rgba(30,58,110,.20);
  --blue-25:        rgba(30,58,110,.25);
  --blue-35:        rgba(30,58,110,.35);
  --blue-45:        rgba(30,58,110,.45);
  --blue-55:        rgba(30,58,110,.55);
  --blue-60:        rgba(30,58,110,.60);
  --blue-75:        rgba(30,58,110,.75);
  --border-light:   rgba(30,58,110,.12);
  --border-div:     rgba(30,58,110,.12);
  --select-opt-bg:  #ffffff;
  --shadow:         0 8px 48px rgba(30,58,110,.10);
  --toggle-bg:      rgba(30,58,110,.08);
  --toggle-border:  rgba(30,58,110,.25);
}

*{box-sizing:border-box;margin:0;padding:0;}
body{
  font-family:'DM Sans',sans-serif;
  background:var(--bg-page);
  min-height:100vh;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:32px 16px;
  transition:background .3s;
}
.w{
  background:var(--bg-card);
  border-radius:16px;
  overflow:hidden;
  color:var(--text-main);
  width:100%;
  max-width:720px;
  box-shadow:var(--shadow);
  transition:background .3s, box-shadow .3s;
}

/* ── Header ── */
.hdr{
  background:var(--blue);
  border-bottom:1px solid var(--blue-35);
  padding:20px 32px 16px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  transition:background .3s, border-color .3s;
}
.hdr h1{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:600;color:#ffffff;letter-spacing:.02em;}
.hdr p{font-size:11px;color:rgba(255,255,255,.65);margin-top:3px;letter-spacing:.07em;text-transform:uppercase;font-weight:300;}
.hdr-right{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.hdr-badge{
  background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.30);
  border-radius:20px;
  padding:6px 14px;
  font-size:10px;
  color:rgba(255,255,255,.85);
  letter-spacing:.06em;
  text-transform:uppercase;
  white-space:nowrap;
}

/* ── Toggle dark/light ── */
.theme-toggle{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.30);
  border-radius:20px;
  padding:6px 12px;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:6px;
  font-size:11px;
  color:#ffffff;
  font-family:'DM Sans',sans-serif;
  font-weight:500;
  letter-spacing:.04em;
  white-space:nowrap;
  transition:all .2s;
  user-select:none;
}
.theme-toggle:hover{background:rgba(255,255,255,.20);border-color:rgba(255,255,255,.50);}
.theme-toggle-icon{font-size:13px;line-height:1;}

/* ── Body ── */
.body{padding:32px 32px 8px;}
.section{margin-bottom:28px;}
.sec-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px;}
.sec-num{
  width:26px;height:26px;border-radius:50%;
  background:var(--blue-12);border:1px solid var(--blue-35);
  display:flex;align-items:center;justify-content:center;
  font-size:11px;color:var(--blue);font-weight:500;flex-shrink:0;margin-top:2px;
}
.sec-title{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:600;color:var(--text-main);}
.sec-sub{font-size:11px;color:var(--text-muted);font-weight:300;margin-top:2px;}
.divider{height:1px;background:var(--border-div);margin-bottom:28px;}

/* ── Fields ── */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.f{display:flex;flex-direction:column;gap:6px;}
.f label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-75);font-weight:500;}
.f input,.f select{
  background:var(--bg-input);
  border:1px solid var(--blue-20);
  border-radius:8px;
  padding:12px 14px;
  font-size:14px;
  font-family:'DM Sans',sans-serif;
  color:var(--text-main);
  outline:none;
  transition:border-color .2s, background .2s;
  width:100%;
}
.f input::placeholder{color:var(--text-muted);}
.f input:focus,.f select:focus{
  border-color:var(--blue-55);
  background:var(--bg-input-focus);
}
.f select option{background:var(--select-opt-bg);color:var(--text-main);}

/* ── Téléphone avec indicatif ── */
.tel-group{
  display:flex;
  background:var(--bg-input);
  border:1px solid var(--blue-20);
  border-radius:8px;
  overflow:hidden;
  transition:border-color .2s, background .2s;
}
.tel-group:focus-within{
  border-color:var(--blue-55);
  background:var(--bg-input-focus);
}
/* Annule width:100% hérité de .f input pour les deux champs */
.tel-group input{
  width:auto !important;
  background:transparent !important;
  border:none !important;
  border-radius:0 !important;
  outline:none;
  font-family:'DM Sans',sans-serif;
  color:var(--text-main);
  transition:none;
  box-shadow:none !important;
}
.tel-prefix-input{
  width:68px !important;
  padding:12px 8px !important;
  font-size:13px !important;
  font-weight:600;
  color:var(--blue) !important;
  text-align:center;
  border-right:1px solid var(--blue-20) !important;
  background:var(--blue-10) !important;
  flex-shrink:0;
  letter-spacing:.03em;
}
.tel-prefix-input[readonly]{cursor:default;}
.tel-prefix-input::placeholder{color:var(--blue-35) !important;font-weight:400;}
.tel-num-input{
  padding:12px 14px !important;
  font-size:14px !important;
  flex:1 1 0% !important;
  min-width:0;
}

/* ── Chips ── */
.q-block{margin-bottom:20px;}
.q-label{font-size:13px;color:var(--text-main);font-weight:500;margin-bottom:9px;line-height:1.4;}
.chips{display:flex;flex-wrap:wrap;gap:8px;}
.chip{
  padding:9px 15px;
  background:var(--bg-chip);
  border:1px solid var(--blue-15);
  border-radius:8px;
  cursor:pointer;
  font-size:12px;
  color:var(--text-chip);
  transition:all .18s;
  user-select:none;
  line-height:1.3;
}
.chip:hover{border-color:var(--blue-45);color:var(--text-chip-h);}
.chip.sel{background:var(--blue-14);border-color:var(--blue);color:var(--blue);font-weight:500;}

/* ── Qual box ── */
.qual-box{
  background:var(--bg-qual);
  border:1px solid var(--blue-12);
  border-radius:10px;
  padding:16px 18px;
  margin-top:4px;
}
.qual-inner{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}

/* ── Note ── */
.note-input{
  background:var(--bg-chip);
  border:1px solid var(--blue-18);
  border-radius:8px;
  padding:12px 14px;
  font-size:13px;
  font-family:'DM Sans',sans-serif;
  color:var(--text-main);
  outline:none;
  width:100%;
  resize:none;
  line-height:1.7;
  transition:border-color .2s, background .2s;
}
.note-input::placeholder{color:var(--text-faint);font-style:italic;}
.note-input:focus{border-color:var(--blue-55);background:var(--bg-input-focus);}
.confid{font-size:10px;color:var(--text-faint);margin-top:10px;font-style:italic;line-height:1.5;}

/* ── Calendly ── */
.cal-placeholder{
  background:var(--bg-qual);
  border:1px solid var(--blue-20);
  border-radius:12px;
  min-height:200px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:16px;
  padding:40px 32px;
  text-align:center;
  margin-top:4px;
}
.cal-icon{font-size:36px;}
.cal-hint{font-size:12px;color:var(--text-muted);line-height:1.6;max-width:280px;}
#cal-widget{
  display:none;
  width:100%;
  margin-top:4px;
}
#cal-widget iframe{
  display:block;
  width:100% !important;
  border:none !important;
}

/* ── Footer ── */
.footer-actions{
  padding:20px 32px 32px;
  display:flex;gap:12px;
  justify-content:flex-end;
  border-top:1px solid var(--border-light);
  margin-top:8px;
}
.btn{
  padding:13px 28px;border-radius:8px;
  font-size:13px;font-family:'DM Sans',sans-serif;
  font-weight:500;cursor:pointer;border:none;
  transition:all .2s;letter-spacing:.04em;
}
.btn-p{background:var(--blue);color:#ffffff;}
.btn-p:hover{filter:brightness(1.12);}
.btn-g{
  background:transparent;
  color:var(--text-muted);
  border:1px solid var(--blue-20);
}
.btn-g:hover{border-color:var(--blue-55);color:var(--text-main);}

/* ── Success ── */
.success{display:none;padding:48px 32px;text-align:center;}
.ok-icon{
  width:56px;height:56px;border-radius:50%;
  background:var(--blue-10);border:2px solid var(--blue);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 16px;font-size:26px;color:var(--blue);
}
.ok-title{font-family:'Cormorant Garamond',serif;font-size:26px;color:var(--text-main);margin-bottom:8px;}
.ok-sub{font-size:13px;color:var(--text-muted);line-height:1.6;margin-bottom:24px;}
.rc{
  background:var(--bg-rc);
  border:1px solid var(--blue-18);
  border-radius:10px;
  padding:16px 20px;
  margin-bottom:16px;
  text-align:left;
}
.rc-title{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--blue-55);margin-bottom:10px;font-weight:500;}
.rr{
  display:flex;justify-content:space-between;align-items:flex-start;
  padding:6px 0;border-bottom:1px solid var(--border-light);gap:14px;
}
.rr:last-child{border-bottom:none;}
.rk{color:var(--text-muted);font-size:10px;text-transform:uppercase;letter-spacing:.07em;flex-shrink:0;padding-top:1px;}
.rv{color:var(--text-main);text-align:right;font-size:12px;line-height:1.5;}
.tag{background:var(--blue-14);color:var(--blue);border-radius:4px;padding:2px 8px;font-size:11px;display:inline-block;}
.atag{background:rgba(220,80,60,.1);color:#e87a6a;border-radius:4px;padding:2px 8px;font-size:11px;display:inline-block;}

/* ── Responsive ── */
@media(max-width:600px){
  .g2{grid-template-columns:1fr;}
  .qual-inner{grid-template-columns:1fr;}
  .hdr{flex-direction:column;gap:10px;align-items:flex-start;}
  .hdr-right{align-self:flex-start;}
  .body,.footer-actions{padding-left:20px;padding-right:20px;}
}
