#sdbc-overlay{
  position: fixed; inset: 0;
  background: rgba(0,0,0,.55);
  display: flex; align-items: center; justify-content: center;
  padding: 16px;
  z-index: 999999;
}
#sdbc-overlay.sdbc-hidden{ display:none; }

/* CSS varijable dolaze iz admin pode分avanja (inline style) */
#sdbc-modal{
  --sdbc-font: inherit; !important;
  --sdbc-primary: #111111 !important;
  --sdbc-btn-text: #ffffff !important;
  --sdbc-bg: #ffffff !important;
  --sdbc-text: #111111 !important;
  --sdbc-border: #dddddd !important;

  background: var(--sdbc-bg);
  color: var(--sdbc-text);
  font-family: var(--sdbc-font);

  width: min(860px, 100%);
  border-radius: 14px;
  box-shadow: 0 10px 40px rgba(0,0,0,.25);
  position: relative;
  overflow: hidden;
}

.sdbc-close{
  position:absolute; right:12px; top:10px;
  border:0; background:transparent;
  font-size:28px; cursor:pointer;
  color: var(--sdbc-text);
}

.sdbc-head{ padding:18px 20px; border-bottom:1px solid rgba(0,0,0,.08); }
.sdbc-body{ display:grid; grid-template-columns: 1.2fr .8fr; gap:18px; padding:18px 20px; }


@media (max-width:760px){
  .sdbc-body{ grid-template-columns:1fr; }
}

.sdbc-cal-header{ display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.sdbc-nav{
  border:1px solid var(--sdbc-border);
  background:#fff;
  width:36px; height:36px; border-radius:10px;
  cursor:pointer;
}
.sdbc-month-label{ font-weight:600; text-transform:capitalize; }

.sdbc-weekdays, .sdbc-days{ display:grid; grid-template-columns: repeat(7, 1fr); gap:8px; }
.sdbc-weekdays div{ font-size:12px; opacity:.75; text-align:center; padding:4px 0; }

.sdbc-day{
  border:1px solid var(--sdbc-border);
  background:#fff;
  height:42px;
  border-radius:10px;
  cursor:pointer;
  color: var(--sdbc-text);
}
.sdbc-day:hover{ background: rgba(0,0,0,.04); }

.sdbc-day.sdbc-disabled{ opacity:.35; cursor:not-allowed; }
.sdbc-day.sdbc-empty{ border:0; background:transparent; cursor:default; }

.sdbc-day.sdbc-selected-day{
  border-color: var(--sdbc-primary);
  background: var(--sdbc-primary);
  color: var(--sdbc-btn-text);
}

.sdbc-selected{ margin-top:10px; font-size:14px; }
.sdbc-muted{ opacity:.65; }

.sdbc-form{ border-left:1px solid rgba(0,0,0,.08); padding-left:18px; }
@media (max-width:760px){
  .sdbc-form{ border-left:0; padding-left:0; border-top:1px solid rgba(0,0,0,.08); padding-top:18px; }
}

.sdbc-field{ margin-bottom:12px; }
.sdbc-field label{ display:block; font-size:13px; margin-bottom:6px; opacity:.9; }
.sdbc-required{ color: var(--sdbc-primary); font-weight:700; margin-left:2px; }

.sdbc-field input{
  width:100%;
  height:42px;
  border:1px solid var(--sdbc-border);
  border-radius:10px;
  padding:0 12px;
  font-family: var(--sdbc-font);
  color: var(--sdbc-text);
}

.sdbc-submit{
  width:100%;
  height:44px;
  border:0;
  border-radius:12px;
  background: var(--sdbc-primary);
  color: var(--sdbc-btn-text);
  cursor:pointer;
  font-family: var(--sdbc-font);
}
.sdbc-submit[disabled]{ opacity:.5; cursor:not-allowed; }

.sdbc-msg{ margin-top:10px; font-size:13px; }

body.sdbc-noscroll{ overflow:hidden; }

/* =========================
   MOBILNI UPGRADE + ELEMENTOR OVERRIDE
   (staviti NA KRAJ booking.css)
   ========================= */
@media (max-width: 768px){

  /* overlay kao bottom-sheet */
  #sdbc-overlay{
    align-items: flex-end !important;
    justify-content: center !important;
    padding: 0 !important;
  }

  /* modal puni širinu */
  #sdbc-modal{
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 18px 18px 0 0 !important;
    max-height: 92vh !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  /* header sticky */
  #sdbc-modal .sdbc-head{
    position: sticky !important;
    top: 0 !important;
    z-index: 20 !important;
    background: var(--sdbc-bg) !important;
  }

  /* sadržaj scroll unutar modala */
  #sdbc-modal .sdbc-body{
    display: block !important; /* pregazi grid */
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    max-height: calc(92vh - 64px) !important;
    padding: 14px 16px !important;
  }

  /* veći tap target */
  #sdbc-modal .sdbc-nav{
    width: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
  }

  #sdbc-modal .sdbc-day{
    height: 44px !important;
    border-radius: 12px !important;
    font-size: 15px !important;
  }

  /* forma */
  #sdbc-modal .sdbc-form{
    margin-top: 14px !important;
  }

  /* input: 16px sprečava iOS zoom */
  #sdbc-modal .sdbc-field input{
    height: 48px !important;
    font-size: 16px !important;
    border-radius: 12px !important;
  }

  /* sticky submit uvek vidljiv */
  #sdbc-modal .sdbc-submit{
    position: sticky !important;
    bottom: 0 !important;
    height: 50px !important;
    border-radius: 14px !important;
    font-size: 16px !important;
    z-index: 30 !important;
  }
}

/* Elementor često prepisuje button/input — zakucaj naše unutar modala */
#sdbc-overlay #sdbc-modal button.sdbc-day{
  background: #fff !important;
  color: var(--sdbc-text) !important;
  border: 1px solid var(--sdbc-border) !important;
  padding: 0 !important;
  line-height: 1 !important;
  min-width: 0 !important;
}

#sdbc-overlay #sdbc-modal button.sdbc-day.sdbc-selected-day{
  background: var(--sdbc-primary) !important;
  color: var(--sdbc-btn-text) !important;
  border-color: var(--sdbc-primary) !important;
}

#sdbc-overlay #sdbc-modal .sdbc-field input{
  background: #fff !important;
  border: 1px solid var(--sdbc-border) !important;
  color: var(--sdbc-text) !important;
}

#sdbc-overlay #sdbc-modal .sdbc-submit{
  background: var(--sdbc-primary) !important;
  color: var(--sdbc-btn-text) !important;
  border: 0 !important;
}

/* FIX: close dugme vidljivo na mobilnom */
@media (max-width: 768px){
  #sdbc-modal .sdbc-close{
    position: fixed !important;
    top: 12px !important;
    right: 12px !important;
    z-index: 999999 !important;
    background: var(--sdbc-bg) !important;
    border-radius: 50% !important;
    width: 36px !important;
    height: 36px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
  }
}
