/* BeWise — prise de rendez-vous et formulaire de contact */
.bk-card,.bk-manage{--bk-ink:#071A2E;--bk-text:#3E4C5E;--bk-blue:#024F90;--bk-mint:#1E8474;--bk-line:#E1E8EF;--bk-muted:#6F7C8D;--bk-soft:#F1F5F9;--bk-red:#B42318;
  font-family:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--bk-text);font-size:15px;line-height:1.55;box-sizing:border-box}
.bk-card *,.bk-manage *{box-sizing:border-box}
.bk-card{background:#fff;border-radius:22px;padding:20px 22px;box-shadow:0 40px 80px -40px rgba(0,0,0,.45)}
.bk-card [hidden],.bk-manage [hidden]{display:none!important}
.bk-tabs{display:flex;gap:4px;padding:4px;border-radius:13px;background:var(--bk-soft)}
.bk-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:0;border-radius:10px;background:transparent;font:600 14px/1 "DM Sans",system-ui,sans-serif;color:var(--bk-muted);cursor:pointer;padding:0 10px}
.bk-tab:hover{color:var(--bk-ink)}
.bk-tab.is-on{background:#fff;color:var(--bk-ink);box-shadow:0 8px 20px -12px rgba(7,26,46,.4)}
.bk-intro{font-size:13px;color:var(--bk-muted);margin:14px 0 0;line-height:1.5}
.bk-st{display:flex;align-items:center;gap:8px;margin:14px 0 0;font:600 15px/1.3 Outfit,"DM Sans",system-ui,sans-serif;color:var(--bk-ink)}
.bk-st span{flex:none;width:22px;height:22px;border-radius:50%;background:var(--bk-ink);color:#fff;display:grid;place-items:center;font-size:11.5px}
.bk-st small{margin-left:auto;font:500 12px "DM Sans",system-ui,sans-serif;color:var(--bk-muted)}
.bk-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.bk-chip{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--bk-line);background:#fff;font:500 13px "DM Sans",system-ui,sans-serif;color:var(--bk-ink);cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.bk-chip:hover{border-color:#9FB4C7}
.bk-chip i{width:6px;height:6px;border-radius:50%;flex:none}
.bk-chip[aria-pressed="true"]{background:var(--bk-ink);border-color:var(--bk-ink);color:#fff}
.bk-chip[aria-pressed="true"] i{background:#fff!important}
.bk-days{display:flex;gap:6px;margin-top:10px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x mandatory;scrollbar-width:thin}
.bk-day{flex:0 0 auto;scroll-snap-align:start;min-width:62px;min-height:52px;border-radius:12px;border:1px solid var(--bk-line);background:#fff;font:600 14px/1.15 "DM Sans",system-ui,sans-serif;color:var(--bk-ink);cursor:pointer;padding:6px 8px;text-align:center}
.bk-day small{display:block;font-size:11px;font-weight:500;color:var(--bk-muted);text-transform:capitalize}
.bk-day:hover{border-color:#9FB4C7}
.bk-day[aria-pressed="true"]{background:var(--bk-ink);border-color:var(--bk-ink);color:#fff}
.bk-day[aria-pressed="true"] small{color:#C9D6E2}
.bk-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:6px;margin-top:8px}
.bk-slot{min-height:38px;border-radius:10px;border:1px solid var(--bk-line);background:#fff;font:600 13.5px "DM Sans",system-ui,sans-serif;color:var(--bk-ink);cursor:pointer}
.bk-slot:hover{border-color:#9FB4C7}
.bk-slot[aria-pressed="true"]{background:var(--bk-ink);border-color:var(--bk-ink);color:#fff}
.bk-msg{font-size:13.5px;color:var(--bk-muted);margin:10px 0 0}
.bk-skel{height:38px;border-radius:10px;background:linear-gradient(90deg,#EEF2F6,#F7F9FB,#EEF2F6);background-size:200% 100%;animation:bkSk 1.2s infinite}
@keyframes bkSk{to{background-position:-200% 0}}
.bk-recap{margin:8px 0 0;padding:10px 12px;border-radius:12px;background:var(--bk-soft);font-size:13.5px;color:var(--bk-ink);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.bk-recap button{border:0;background:none;color:var(--bk-blue);font:600 13px "DM Sans",sans-serif;cursor:pointer;padding:0}
.bk-form{display:grid;gap:10px}
.bk-form .bk-st,.bk-form .bk-intro{margin-top:14px}
.bk-msgform{margin-top:0}
.bk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.bk-form label{display:grid;gap:4px;font-size:13px;font-weight:600;color:var(--bk-ink)}
.bk-form input[type=text],.bk-form input[type=email],.bk-form input[type=tel],.bk-form select,.bk-form textarea{width:100%;min-height:42px;border:1px solid #D5DFE8;border-radius:10px;padding:8px 12px;font:400 14.5px "DM Sans",system-ui,sans-serif;color:var(--bk-ink);background:#fff}
.bk-form textarea{resize:vertical;min-height:64px}
.bk-form input:focus,.bk-form select:focus,.bk-form textarea:focus{outline:2px solid var(--bk-blue);outline-offset:1px;border-color:transparent}
.bk-form .bk-check{display:flex;gap:8px;align-items:flex-start;font-weight:400;font-size:12.5px;color:var(--bk-muted);line-height:1.45}
.bk-check input{margin-top:2px;width:16px;height:16px;flex:none}
.bk-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.bk-err{margin:0;padding:10px 12px;border-radius:10px;background:#FDECEA;color:var(--bk-red);font-size:13.5px}
.bk-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 22px;border:0;border-radius:999px;background:var(--bk-ink);color:#fff;font:600 14.5px "DM Sans",system-ui,sans-serif;cursor:pointer;text-decoration:none}
.bk-btn:hover{background:var(--bk-blue);color:#fff}
.bk-btn[disabled]{opacity:.6;cursor:wait}
.bk-btn-light{background:var(--bk-soft);color:var(--bk-ink)}
.bk-btn-light:hover{background:#E3EAF1;color:var(--bk-ink)}
.bk-btn-danger{background:#fff;color:var(--bk-red);border:1px solid #F3C7C3}
.bk-btn-danger:hover{background:#FDECEA;color:var(--bk-red)}
.bk-submit{width:100%}
.bk-done{margin-top:14px;text-align:center;padding:10px 4px}
.bk-done:focus{outline:none}
.bk-ok{width:54px;height:54px;margin:0 auto;border-radius:50%;background:#E3F4F1;color:var(--bk-mint);display:grid;place-items:center}
.bk-done h3{margin:12px 0 4px;font:700 20px Outfit,"DM Sans",sans-serif;color:var(--bk-ink)}
.bk-done p{margin:0;font-size:14px}
.bk-done dl{margin:14px 0 0;display:grid;gap:6px;text-align:left;padding:12px 14px;border-radius:12px;background:var(--bk-soft);font-size:13.5px}
.bk-done dl div{display:flex;gap:10px}
.bk-done dt{width:64px;flex:none;color:var(--bk-muted)}
.bk-done dd{margin:0;color:var(--bk-ink);font-weight:600}
.bk-done .bk-actions{justify-content:center}
.bk-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.bk-actions .bk-btn{min-height:40px;padding:0 16px;font-size:13.5px}
/* Page de gestion */
.bk-manage-wrap{padding:80px 16px 100px;background:#F3F7FA}
.bk-manage{max-width:560px;margin:0 auto;background:#fff;border:1px solid var(--bk-line);border-radius:24px;padding:32px}
.bk-manage h1{margin:12px 0 18px;font:700 28px/1.15 Outfit,"DM Sans",sans-serif;color:var(--bk-ink)}
.bk-badge{display:inline-block;padding:4px 12px;border-radius:999px;font-size:13px;font-weight:600}
.bk-badge.is-on{background:#E3F4F1;color:#13695C}.bk-badge.is-off{background:#FDECEA;color:var(--bk-red)}
.bk-dl{margin:0;display:grid;gap:10px}
.bk-dl div{display:flex;gap:16px;padding-bottom:10px;border-bottom:1px solid var(--bk-line)}
.bk-dl dt{width:80px;flex:none;color:var(--bk-muted)}
.bk-dl dd{margin:0;color:var(--bk-ink);font-weight:600}
.bk-cancel{margin-top:12px}
.bk-note{font-size:13px;color:var(--bk-muted);margin-top:12px}
@media (max-width:560px){.bk-grid{grid-template-columns:minmax(0,1fr)}.bk-card{padding:16px}.bk-tab{font-size:13px}.bk-tab .bw-i{display:none}}

/* Assistant en 3 étapes (v2.2) */
.bk-prog{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:16px 0 0;padding:0}
.bk-prog li{display:flex;align-items:center;gap:7px;padding-top:9px;border-top:3px solid var(--bk-line);font:600 12.5px/1.25 "DM Sans",system-ui,sans-serif;color:var(--bk-muted);min-width:0}
.bk-prog span{flex:none;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px;background:var(--bk-soft);color:var(--bk-muted)}
.bk-prog li.is-on{border-top-color:var(--bk-ink);color:var(--bk-ink)}
.bk-prog li.is-on span{background:var(--bk-ink);color:#fff}
.bk-prog li.is-done{border-top-color:var(--bk-mint);color:var(--bk-mint)}
.bk-prog li.is-done span{background:var(--bk-mint);color:#fff}
.bk-step{animation:bkIn .3s ease}
.bk-st:focus{outline:none}
@keyframes bkIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (min-width:700px){.bk-step{min-height:300px}}
@media (prefers-reduced-motion:reduce){.bk-step{animation:none}}
.bk-prog~.bk-step .bk-st>span{display:none}
/* Fenêtre de confirmation d'annulation */
.bk-lock{overflow:hidden}
.bk-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:16px}
.bk-modal-bg{position:absolute;inset:0;background:rgba(7,26,46,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity .2s}
.bk-modal-box{position:relative;width:100%;max-width:460px;padding:32px 30px 26px;border-radius:24px;background:#fff;text-align:center;box-shadow:0 40px 80px -30px rgba(7,26,46,.55);opacity:0;transform:translateY(14px) scale(.97);transition:opacity .2s,transform .25s cubic-bezier(.2,.8,.2,1)}
.bk-modal.is-on .bk-modal-bg{opacity:1}
.bk-modal.is-on .bk-modal-box{opacity:1;transform:none}
.bk-modal-ic{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#FDECEA;color:var(--bk-red)}
.bk-modal h2{margin:16px 0 8px;font:600 22px/1.25 Outfit,"DM Sans",system-ui,sans-serif;color:var(--bk-ink)}
.bk-modal p{margin:0;font-size:14.5px;color:var(--bk-muted);line-height:1.55}
.bk-modal-rdv{display:grid;gap:2px;margin:0 0 12px;padding:12px 14px;border-radius:14px;background:var(--bk-soft);font-size:14px;color:var(--bk-muted)}
.bk-modal-rdv strong{font-size:15px;color:var(--bk-ink)}
.bk-modal-act{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}
.bk-modal-act .bk-btn{width:100%;padding:0 14px;white-space:nowrap}
.bk-btn-red{background:var(--bk-red);color:#fff}
.bk-btn-red:hover{background:#8F1B12;color:#fff}
.bk-btn-red:disabled{opacity:.7;cursor:wait}
@media (max-width:480px){.bk-modal-act{grid-template-columns:1fr}.bk-modal-act .bk-btn-red{order:-1}.bk-modal-box{padding:26px 20px 20px}}
@media (prefers-reduced-motion:reduce){.bk-modal-bg,.bk-modal-box{transition:none}}
