.dbf-wrap{max-width:1200px;margin:0 auto;font-family:'Poppins',sans-serif;}
.dbf-grid{display:flex;gap:28px;align-items:flex-start;}
.dbf-nav{flex:0 0 262px;background:#fff;border:1px solid #d7dde6;border-radius:20px;padding:26px 22px;display:flex;flex-direction:column;gap:16px;}
.dbf-navitem{display:flex;align-items:center;gap:12px;width:100%;background:#fff;border:1px solid #d7dde6;border-radius:12px;padding:14px 16px;font-family:inherit;font-size:15px;font-weight:500;color:#0f2851;cursor:pointer;text-align:left;transition:.15s;}
.dbf-navitem svg{width:20px;height:20px;color:#a58d67;flex:0 0 auto;}
.dbf-navitem.is-active{background:#a58d67;border-color:#a58d67;color:#fff;}
.dbf-navitem.is-active svg{color:#fff;}
.dbf-navitem.is-done{border-color:#a58d67;}
.dbf-navitem:disabled{opacity:.55;cursor:not-allowed;}
.dbf-content{flex:1 1 auto;min-width:0;background:#fff;border:1px solid #d7dde6;border-radius:20px;padding:34px 34px 30px;}
.dbf-panel{display:none;}
.dbf-panel.is-active{display:block;}
.dbf-h{font-size:22px;font-weight:600;color:#0f2851;margin:0 0 24px;}
.dbf-options{display:flex;flex-direction:column;gap:18px;}
.dbf-option{display:flex;align-items:center;gap:16px;border:1px solid #0f2851;border-radius:16px;padding:20px 24px;cursor:pointer;transition:.15s;}
.dbf-option:hover{background:#f6f8fb;}
.dbf-option input{position:absolute;opacity:0;pointer-events:none;}
.dbf-dot{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:#d9dee5;position:relative;transition:.15s;}
.dbf-option.is-sel{border-color:#a58d67;box-shadow:0 0 0 1px #a58d67;}
.dbf-option.is-sel .dbf-dot{background:#a58d67;}
.dbf-option.is-sel .dbf-dot:after{content:"";position:absolute;left:8px;top:8px;width:10px;height:10px;border-radius:50%;background:#fff;}
.dbf-opt-label{font-size:17px;color:#0f2851;font-weight:500;}
.dbf-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:30px;}
.dbf-btn{font-family:inherit;font-size:15px;font-weight:600;padding:13px 30px;border-radius:29px;border:1px solid #0f2851;background:#0f2851;color:#fff;cursor:pointer;transition:.15s;}
.dbf-btn:hover{background:#18233b;border-color:#18233b;}
.dbf-btn:disabled{opacity:.5;cursor:not-allowed;}
.dbf-ghost{background:transparent;color:#0f2851;}
.dbf-ghost:hover{background:#0f2851;color:#fff;}
.dbf-submit{background:#a58d67;border-color:#a58d67;}
.dbf-submit:hover{background:#8f7853;border-color:#8f7853;}
.dbf-dt{display:flex;gap:24px;align-items:flex-start;}
.dbf-cal{flex:1 1 auto;min-width:0;}
.dbf-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.dbf-cal-title{font-size:18px;font-weight:600;color:#0f2851;}
.dbf-cal-nav{width:34px;height:34px;border-radius:50%;border:1px solid #d7dde6;background:#fff;color:#0f2851;font-size:18px;cursor:pointer;line-height:1;}
.dbf-cal-nav:hover{border-color:#a58d67;color:#a58d67;}
.dbf-cal-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:8px;}
.dbf-cal-dow span{text-align:center;font-size:12px;font-weight:600;color:#8a95a3;text-transform:uppercase;}
.dbf-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;}
.dbf-day{aspect-ratio:1/1;border:1px solid #e2e7ee;border-radius:12px;background:#fff;color:#0f2851;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.12s;}
.dbf-day:hover{border-color:#a58d67;}
.dbf-day.is-empty{border:0;background:transparent;cursor:default;}
.dbf-day.is-off{background:#eef1f5;color:#b7c0cc;cursor:not-allowed;border-color:#eef1f5;}
.dbf-day.is-sel{background:#0f2851;border-color:#0f2851;color:#fff;font-weight:600;}
.dbf-slots{flex:0 0 300px;border:1px solid #d7dde6;border-radius:16px;padding:24px 22px;}
.dbf-slots-h{font-size:18px;font-weight:600;color:#0f2851;margin:0 0 18px;}
.dbf-slots-hint{font-size:14px;color:#5b6472;margin:0;}
.dbf-slots-group{font-size:14px;font-weight:600;color:#0f2851;margin:18px 0 12px;}
.dbf-slots-none{font-size:14px;color:#5b6472;margin:6px 0;}
.dbf-slot{display:block;width:100%;border:1px solid #d7dde6;border-radius:12px;padding:13px;background:#fff;color:#0f2851;font-family:inherit;font-size:15px;cursor:pointer;margin-bottom:12px;transition:.12s;}
.dbf-slot:hover{border-color:#a58d67;}
.dbf-slot.is-sel{background:#a58d67;border-color:#a58d67;color:#fff;font-weight:600;}
.dbf-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.dbf-field{display:flex;flex-direction:column;gap:8px;grid-column:1 / -1;}
.dbf-field.dbf-col-2{grid-column:auto;}
.dbf-field span{font-size:14px;font-weight:600;color:#0f2851;}
.dbf-field input,.dbf-field textarea,.dbf-field select{border:1px solid #d9dee5;border-radius:12px;padding:13px 16px;font-family:inherit;font-size:15px;color:#18233b;background:#fff;}
.dbf-field input:focus,.dbf-field textarea:focus,.dbf-field select:focus{border-color:#a58d67;outline:none;}
.dbf-review{list-style:none;margin:0 0 20px;padding:0;border:1px solid #e2e7ee;border-radius:16px;overflow:hidden;}
.dbf-review li{display:flex;justify-content:space-between;gap:20px;padding:15px 22px;border-bottom:1px solid #eef1f5;font-size:15px;}
.dbf-review li:last-child{border-bottom:0;}
.dbf-review li span{color:#5b6472;}
.dbf-review li b{color:#0f2851;text-align:right;}
.dbf-note{font-size:14px;color:#5b6472;line-height:1.6;margin:0;}
.dbf-success{text-align:center;padding:20px 0;}
.dbf-success-icon{width:74px;height:74px;border-radius:50%;background:#eaf3ec;color:#3f9b56;display:flex;align-items:center;justify-content:center;margin:0 auto 22px;}
.dbf-success-icon svg{width:36px;height:36px;}
.dbf-err{color:#c0392b;font-size:14px;margin:14px 0 0;text-align:center;}
@media (max-width:900px){
  .dbf-grid{flex-direction:column;}
  .dbf-nav{flex:none;width:100%;flex-direction:row;flex-wrap:wrap;}
  .dbf-navitem{flex:1 1 auto;justify-content:center;}
  .dbf-dt{flex-direction:column;}
  .dbf-slots{flex:none;width:100%;}
  .dbf-fields{grid-template-columns:1fr;}
}
/* v2: availability loading + messages */
.dbf-cal-grid{position:relative;transition:opacity .15s;}
.dbf-cal-grid.is-loading{opacity:.45;pointer-events:none;}
.dbf-cal-nav:disabled{opacity:.35;cursor:not-allowed;}
.dbf-cal-nav:disabled:hover{border-color:#d7dde6;color:#0f2851;}
.dbf-cal-msg{font-size:14px;color:#5b6472;margin:14px 0 0;}
