/* ============================================================
   Module de prise de rendez-vous type Calendly — Cool by BRH / Kerlia
   Scopé sous .brh-cal — indépendant du framework CSS de la page.
   Thème via variables --c-* (défaut : vert BRH). Pour Kerlia,
   redéfinir les variables sur .brh-cal.
   ============================================================ */
.brh-cal{--c-primary:#2f8f2c;--c-primary-d:#256f20;--c-ink:#14202b;--c-mut:#64748b;--c-line:#e6ebe4;--c-tint:#eef7ed;--c-off:#c2cbc2;
  font-family:inherit;color:var(--c-ink);background:#fff;border:1px solid var(--c-line);border-radius:20px;overflow:hidden;
  box-shadow:0 18px 50px -18px rgba(6,63,9,.25);max-width:940px;margin:0 auto;text-align:left;container-type:inline-size}
.brh-cal *{box-sizing:border-box}
.brh-cal button{font-family:inherit}

.brh-cal .bc-when{display:flex;flex-direction:column}
@container (min-width:820px){ .brh-cal .bc-when{display:grid;grid-template-columns:296px 1fr} }

.brh-cal .bc-info{padding:28px 26px 24px;border-bottom:1px solid var(--c-line)}
@container (min-width:820px){ .brh-cal .bc-info{border-bottom:none;border-right:1px solid var(--c-line)} }
.brh-cal .bc-avatar{width:50px;height:50px;border-radius:50%;background:var(--c-tint);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.brh-cal .bc-avatar .material-symbols-outlined{font-size:28px;color:var(--c-primary)}
.brh-cal .bc-org{font-size:14px;color:var(--c-mut);font-weight:700}
.brh-cal .bc-title{font-family:"Lexend","Poppins",sans-serif;font-size:23px;font-weight:800;line-height:1.18;margin:3px 0 18px}
.brh-cal .bc-meta{display:flex;align-items:flex-start;gap:10px;color:var(--c-mut);font-size:15px;font-weight:600;margin-bottom:11px}
.brh-cal .bc-meta .material-symbols-outlined{font-size:21px;color:var(--c-mut);margin-top:-1px}
.brh-cal .bc-desc{color:var(--c-mut);font-size:13.5px;line-height:1.55;margin-top:16px;border-top:1px solid var(--c-line);padding-top:16px}

.brh-cal .bc-pick{display:flex;flex-direction:column}
@container (min-width:560px){ .brh-cal .bc-pick{flex-direction:row;align-items:stretch} }
.brh-cal .bc-calwrap{padding:24px 26px;flex:1;min-width:0}
.brh-cal .bc-pickttl{font-family:"Lexend","Poppins",sans-serif;font-size:20px;font-weight:800;margin:0 0 18px}
.brh-cal .bc-monthbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.brh-cal .bc-month{font-size:16px;font-weight:700;text-transform:capitalize}
.brh-cal .bc-nav{display:flex;gap:2px}
.brh-cal .bc-nav button{width:40px;height:40px;border-radius:50%;border:none;background:transparent;color:var(--c-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s}
.brh-cal .bc-nav button:hover:not(:disabled){background:var(--c-tint)}
.brh-cal .bc-nav button:disabled{color:#cdd6cd;cursor:default}
.brh-cal .bc-dows{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:11px;font-weight:700;color:var(--c-mut);text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px}
.brh-cal .bc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.brh-cal .bc-cell{display:flex;align-items:center;justify-content:center;padding:2px 0}
.brh-cal .bc-day{width:42px;height:42px;max-width:100%;border-radius:50%;border:none;font-size:15px;font-weight:700;cursor:pointer;position:relative;
  color:var(--c-primary);background:var(--c-tint);transition:background .12s,color .12s}
.brh-cal .bc-day:hover{background:var(--c-primary);color:#fff}
.brh-cal .bc-day.sel{background:var(--c-primary);color:#fff;box-shadow:0 0 0 3px var(--c-tint)}
.brh-cal .bc-day.off{background:transparent;color:var(--c-off);cursor:default;font-weight:500}
.brh-cal .bc-day.today::after{content:"";position:absolute;bottom:7px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:currentColor}
.brh-cal .bc-tz{margin-top:18px;color:var(--c-mut);font-size:13px;display:flex;align-items:center;gap:7px}
.brh-cal .bc-tz .material-symbols-outlined{font-size:18px}

.brh-cal .bc-times{padding:24px 22px;width:100%;border-top:1px solid var(--c-line)}
@container (min-width:560px){ .brh-cal .bc-times{width:236px;flex:none;border-top:none;border-left:1px solid var(--c-line)} }
.brh-cal .bc-daylabel{font-weight:800;margin-bottom:6px;font-size:15px;text-transform:capitalize}
.brh-cal .bc-daysub{color:var(--c-mut);font-size:13px;margin-bottom:14px}
.brh-cal .bc-slots{display:flex;flex-direction:column}
.brh-cal .bc-slot{display:flex;gap:8px;margin-bottom:10px}
.brh-cal .bc-slot>button{flex:1;padding:13px 8px;border:1px solid #c7d3c6;border-radius:8px;background:#fff;color:var(--c-primary);font-weight:800;font-size:15px;cursor:pointer;transition:border-color .12s,box-shadow .12s;text-align:center}
.brh-cal .bc-slot>button:hover{border-color:var(--c-primary);box-shadow:0 0 0 1px var(--c-primary)}
.brh-cal .bc-slot.act .bc-time{background:#7c8a99;border-color:#7c8a99;color:#fff;cursor:default;box-shadow:none}
.brh-cal .bc-slot .bc-next{background:var(--c-primary);border-color:var(--c-primary);color:#fff}
.brh-cal .bc-slot .bc-next:hover{background:var(--c-primary-d);box-shadow:none}
.brh-cal .bc-empty{color:var(--c-mut);font-size:14px;padding:12px 0}

.brh-cal .bc-form{padding:26px;max-width:560px;margin:0 auto}
.brh-cal .bc-back{display:inline-flex;align-items:center;gap:3px;color:var(--c-primary);background:none;border:none;font-weight:800;cursor:pointer;margin-bottom:16px;font-size:15px;padding:0}
.brh-cal .bc-recap{background:var(--c-tint);border-radius:14px;padding:16px 18px;margin-bottom:22px}
.brh-cal .bc-recap .bc-rttl{font-family:"Lexend","Poppins",sans-serif;font-weight:800;font-size:17px;margin-bottom:10px}
.brh-cal .bc-recap .bc-r{display:flex;align-items:center;gap:10px;font-weight:600;font-size:14.5px;color:#31413a;margin-top:7px}
.brh-cal .bc-recap .material-symbols-outlined{font-size:19px;color:var(--c-primary)}
.brh-cal .bc-flabel{font-size:13px;font-weight:800;margin:0 0 8px;text-transform:uppercase;letter-spacing:.02em;color:#37473f}
.brh-cal .bc-seg{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
.brh-cal .bc-seg button{padding:14px 8px;border:2px solid var(--c-line);border-radius:12px;background:#fff;font-weight:700;font-size:14.5px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--c-ink);transition:border-color .12s,background .12s}
.brh-cal .bc-seg button.on{border-color:var(--c-primary);background:var(--c-tint)}
.brh-cal .bc-seg .material-symbols-outlined{color:var(--c-primary);font-size:24px}
.brh-cal .bc-fld{margin-bottom:14px}
.brh-cal .bc-fld label{display:block;font-size:13px;font-weight:800;margin-bottom:6px}
.brh-cal .bc-fld label .req{color:var(--c-primary)}
.brh-cal .bc-fld input{width:100%;padding:12px 14px;border:1px solid #cfd8cd;border-radius:8px;font-size:15px;font-family:inherit;color:var(--c-ink)}
.brh-cal .bc-fld input:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-tint)}
.brh-cal .bc-confirm{width:100%;padding:15px;background:var(--c-primary);color:#fff;border:none;border-radius:26px;font-size:16px;font-weight:800;cursor:pointer;margin-top:8px;transition:background .12s}
.brh-cal .bc-confirm:hover{background:var(--c-primary-d)}
.brh-cal .bc-confirm:disabled{opacity:.6;cursor:default}
.brh-cal .bc-err{color:#c0392b;font-size:14px;font-weight:700;margin-top:10px;min-height:1px}
.brh-cal .bc-note{color:var(--c-mut);font-size:12.5px;text-align:center;margin-top:14px;line-height:1.5}
.brh-cal .bc-note a{color:var(--c-primary)}

.brh-cal .bc-done{padding:48px 26px;text-align:center;max-width:480px;margin:0 auto}
.brh-cal .bc-done .bc-check{width:66px;height:66px;border-radius:50%;background:var(--c-tint);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.brh-cal .bc-done .bc-check .material-symbols-outlined{font-size:40px;color:var(--c-primary)}
.brh-cal .bc-done h3{font-family:"Lexend","Poppins",sans-serif;font-size:24px;font-weight:800;margin:0 0 6px}
.brh-cal .bc-done p{color:var(--c-mut);font-size:15px;line-height:1.55;margin:0 auto 6px;max-width:400px}
.brh-cal .bc-done .bc-recap{text-align:left;margin-top:20px}
