/* ============================================================
   GYMBASE MODULOK — Dark theme felülírás
   Színek: #060609 bg, #0e0e12 surface, #16161c surface2,
           #1e1e28 border, #116dff accent, #eaeaf0 text
   ============================================================ */

/* ---- CATCH-ALL ------------------------------------------- */
#gb-loadOnlineBooking,
#gb-loadOnlineBooking *,
#gb-loadAppointments,
#gb-loadAppointments *,
#gb-loadOnlineRoomReservation,
#gb-loadOnlineRoomReservation *,
#gb-loadWebshop,
#gb-loadWebshop * {
  color: #eaeaf0 !important;
  border-color: #1e1e28 !important;
}

#gb-loadOnlineBooking div,
#gb-loadOnlineBooking section,
#gb-loadOnlineBooking li,
#gb-loadOnlineBooking header,
#gb-loadOnlineBooking footer,
#gb-loadAppointments div,
#gb-loadAppointments section,
#gb-loadAppointments li,
#gb-loadAppointments header,
#gb-loadAppointments footer,
#gb-loadOnlineRoomReservation div,
#gb-loadOnlineRoomReservation section,
#gb-loadOnlineRoomReservation li,
#gb-loadOnlineRoomReservation header,
#gb-loadOnlineRoomReservation footer,
#gb-loadWebshop div,
#gb-loadWebshop section,
#gb-loadWebshop li,
#gb-loadWebshop header,
#gb-loadWebshop footer {
  background-color: #0e0e12;
}

/* Rejtett elemek megőrzése */
.gb-d-none,
[class*="gb-d-none"] {
  display: none !important;
}

/* Gombok belsejében átlátszó háttér */
.gb-btn div, .gb-btn span,
.gb-product-btn div, .gb-product-btn span,
button div, button span,
a.gb-btn div, a.gb-btn span,
.gb-btnBack div, .gb-btnBack span {
  background-color: transparent !important;
}

/* ---- KÁRTYÁK --------------------------------------------- */
.gb-card {
  background-color: #0e0e12 !important;
  border-color: #1e1e28 !important;
  box-shadow: 0 4px 20px rgba(0,0,0,.5) !important;
  border-radius: 8px !important;
}

.gb-card-header {
  background-color: #16161c !important;
  border-bottom-color: #1e1e28 !important;
  font-family: 'Oswald', sans-serif !important;
}

.gb-card-body {
  background-color: #0e0e12 !important;
}

/* ---- TIPOGRÁFIA ------------------------------------------ */
.gb-h1, .gb-h2, .gb-h3, .gb-h4, .gb-h5, .gb-h6,
#gb-loadOnlineRoomReservation .gb-h5,
#gb-loadAppointments .gb-h5,
#gb-loadOnlineBooking .gb-h5,
#gb-loadWebshop .gb-h5,
#gb-loadOnlineRoomReservation .gb-h4,
#gb-loadAppointments .gb-h4,
#gb-loadOnlineBooking .gb-h4,
#gb-loadWebshop .gb-h4 {
  color: #eaeaf0 !important;
  font-family: 'Oswald', sans-serif !important;
}

.gb-text-muted {
  color: #7a7a8e !important;
}

.gb-text-success {
  color: #34d399 !important;
}

.gb-text-danger {
  color: #f87171 !important;
}

/* ---- LINKEK ---------------------------------------------- */
.gb-reset-css a {
  color: #116dff !important;
  transition: color .25s ease !important;
}

.gb-reset-css a:hover {
  color: #4d94ff !important;
}

/* ---- GOMBOK ---------------------------------------------- */
.gb-btn {
  border-radius: 6px !important;
  font-family: 'Oswald', sans-serif !important;
  letter-spacing: .04em !important;
  transition: all .25s cubic-bezier(.4,0,.2,1) !important;
}

.gb-btn-primary {
  color: #fff !important;
  background-color: #116dff !important;
  border-color: #116dff !important;
}

.gb-btn-primary:hover,
.gb-btn-primary:focus {
  background-color: #0d56cc !important;
  border-color: #0d56cc !important;
  box-shadow: 0 4px 16px rgba(17,109,255,.3) !important;
}

.gb-btn-default {
  color: #eaeaf0 !important;
  background-color: #16161c !important;
  border-color: #1e1e28 !important;
}

.gb-btn-default:hover {
  background-color: #1e1e28 !important;
  border-color: #2a2a36 !important;
}

.gb-btn-outline-primary {
  color: #116dff !important;
  background-color: transparent !important;
  border-color: #116dff !important;
}

.gb-btn-outline-primary:hover {
  color: #fff !important;
  background-color: #116dff !important;
  box-shadow: 0 4px 16px rgba(17,109,255,.3) !important;
}

.gb-btn-outline-default {
  color: #eaeaf0 !important;
  border-color: #2a2a36 !important;
  background-color: transparent !important;
}

.gb-btn-outline-default:hover {
  background-color: #16161c !important;
}

.gb-btn-outline-warning {
  color: #fbbf24 !important;
  border-color: #fbbf24 !important;
}

.gb-btn-success {
  background-color: #059669 !important;
  border-color: #059669 !important;
  color: #fff !important;
}

.gb-btn-danger {
  background-color: #dc2626 !important;
  border-color: #dc2626 !important;
  color: #fff !important;
}

.gb-btnBack,
#gb-loadOnlineRoomReservation .gb-btnBack,
#gb-loadAppointments .gb-btnBack,
#gb-loadOnlineBooking .gb-btnBack,
#gb-loadWebshop .gb-btnBack {
  color: #eaeaf0 !important;
  background-color: transparent !important;
  border: 1px solid rgba(17,109,255,.5) !important;
  border-radius: 6px !important;
  padding: 8px 20px 8px 28px !important;
  transition: all .25s cubic-bezier(.4,0,.2,1) !important;
  font-family: 'Oswald', sans-serif !important;
  letter-spacing: .04em !important;
}

.gb-btnBack:hover,
#gb-loadOnlineRoomReservation .gb-btnBack:hover,
#gb-loadAppointments .gb-btnBack:hover,
#gb-loadOnlineBooking .gb-btnBack:hover,
#gb-loadWebshop .gb-btnBack:hover {
  background-color: #116dff !important;
  border-color: #116dff !important;
  color: #fff !important;
  box-shadow: 0 4px 16px rgba(17,109,255,.3) !important;
}

/* ---- LISTÁK ---------------------------------------------- */
.gb-list-group-item,
.gb-list-group-item.gb-list-group-item-action,
a.gb-list-group-item,
button.gb-list-group-item,
#gb-loadOnlineRoomReservation .gb-list-group-item,
#gb-loadAppointments .gb-list-group-item,
#gb-loadOnlineBooking .gb-list-group-item,
#gb-loadWebshop .gb-list-group-item {
  background-color: #0e0e12 !important;
  border-color: #1e1e28 !important;
  color: #eaeaf0 !important;
  transition: background-color .2s ease !important;
}

.gb-list-group-item:hover,
.gb-list-group-item.gb-list-group-item-action:hover {
  background-color: #16161c !important;
  cursor: pointer;
}

.gb-list-group-item.gb-active,
.gb-list-group-item.gb-list-group-item-action.gb-active {
  background-color: #116dff !important;
  border-color: #116dff !important;
  color: #fff !important;
}

/* ---- ŰRLAPOK --------------------------------------------- */
.gb-form-control {
  color: #eaeaf0 !important;
  background-color: #16161c !important;
  border-color: #1e1e28 !important;
  border-radius: 6px !important;
  transition: border-color .25s ease, box-shadow .25s ease !important;
}

.gb-form-control:focus {
  border-color: #116dff !important;
  box-shadow: 0 0 0 3px rgba(17,109,255,.2) !important;
}

.gb-form-control::placeholder {
  color: #5a5a6e !important;
}

.gb-form-control-label {
  color: #aaaabc !important;
  font-family: 'Oswald', sans-serif !important;
  letter-spacing: .03em !important;
}

select.gb-form-control option {
  background-color: #16161c !important;
  color: #eaeaf0 !important;
}

/* ---- NAVIGÁCIÓ / LOGIN TAB ------------------------------- */
.gb-nav-pills .gb-nav-link,
.gb-nav-link,
.gb-loginOrRegisterBtn,
#gb-loadOnlineRoomReservation .gb-nav-link,
#gb-loadAppointments .gb-nav-link,
#gb-loadOnlineBooking .gb-nav-link,
#gb-loadWebshop .gb-nav-link,
#gb-loadOnlineRoomReservation .gb-loginOrRegisterBtn,
#gb-loadAppointments .gb-loginOrRegisterBtn,
#gb-loadOnlineBooking .gb-loginOrRegisterBtn,
#gb-loadWebshop .gb-loginOrRegisterBtn,
#gb-loadOnlineRoomReservation .gb-nav-pills .gb-nav-link,
#gb-loadAppointments .gb-nav-pills .gb-nav-link,
#gb-loadOnlineBooking .gb-nav-pills .gb-nav-link,
#gb-loadWebshop .gb-nav-pills .gb-nav-link {
  color: #7a7a8e !important;
  background-color: #16161c !important;
  border: 1px solid #1e1e28 !important;
  border-radius: 6px !important;
  font-family: 'Oswald', sans-serif !important;
  letter-spacing: .04em !important;
  transition: all .25s ease !important;
}

.gb-nav-pills .gb-nav-link:hover,
.gb-nav-link:hover,
.gb-loginOrRegisterBtn:hover,
#gb-loadOnlineRoomReservation .gb-nav-link:hover,
#gb-loadAppointments .gb-nav-link:hover,
#gb-loadOnlineBooking .gb-nav-link:hover,
#gb-loadWebshop .gb-nav-link:hover {
  color: #eaeaf0 !important;
  background-color: #1e1e28 !important;
}

.gb-nav-pills .gb-nav-link.gb-active,
.gb-nav-link.gb-active,
.gb-loginOrRegisterBtn.gb-active,
#gb-loadOnlineRoomReservation .gb-nav-link.gb-active,
#gb-loadAppointments .gb-nav-link.gb-active,
#gb-loadOnlineBooking .gb-nav-link.gb-active,
#gb-loadWebshop .gb-nav-link.gb-active,
#gb-loadOnlineRoomReservation .gb-loginOrRegisterBtn.gb-active,
#gb-loadAppointments .gb-loginOrRegisterBtn.gb-active,
#gb-loadOnlineBooking .gb-loginOrRegisterBtn.gb-active,
#gb-loadWebshop .gb-loginOrRegisterBtn.gb-active,
#gb-loadOnlineRoomReservation .gb-nav-pills .gb-nav-link.gb-active,
#gb-loadAppointments .gb-nav-pills .gb-nav-link.gb-active,
#gb-loadOnlineBooking .gb-nav-pills .gb-nav-link.gb-active,
#gb-loadWebshop .gb-nav-pills .gb-nav-link.gb-active {
  color: #fff !important;
  background-color: #116dff !important;
  border-color: #116dff !important;
}

/* ---- ÉRTESÍTÉSEK ----------------------------------------- */
.gb-alert-primary {
  color: #93c5fd !important;
  background-color: rgba(17,109,255,.12) !important;
  border-color: rgba(17,109,255,.25) !important;
  border-radius: 8px !important;
}

.gb-alert-success {
  color: #6ee7b7 !important;
  background-color: rgba(5,150,105,.12) !important;
  border-color: rgba(5,150,105,.25) !important;
  border-radius: 8px !important;
}

.gb-alert-warning {
  color: #fbbf24 !important;
  background-color: rgba(251,191,36,.1) !important;
  border-color: rgba(251,191,36,.2) !important;
  border-radius: 8px !important;
}

.gb-alert-danger {
  color: #fca5a5 !important;
  background-color: rgba(220,38,38,.12) !important;
  border-color: rgba(220,38,38,.25) !important;
  border-radius: 8px !important;
}

.gb-alert:empty {
  display: none !important;
}

/* ---- TÁBLÁZATOK ------------------------------------------ */
.gb-table {
  color: #eaeaf0 !important;
}

.gb-table th,
.gb-table td {
  border-top-color: #1e1e28 !important;
}

.gb-table thead th {
  background-color: #16161c !important;
  font-family: 'Oswald', sans-serif !important;
  letter-spacing: .03em !important;
}

.gb-table-striped tbody tr:nth-of-type(2n+1) {
  background-color: rgba(255,255,255,.02) !important;
}

.gb-table-primary,
#gb-loadOnlineRoomReservation .gb-table-primary,
#gb-loadAppointments .gb-table-primary,
#gb-loadOnlineBooking .gb-table-primary,
#gb-loadWebshop .gb-table-primary,
tr.gb-table-primary,
tr.gb-table-primary td,
tr.gb-table-primary th,
.gb-table-primary.gb-font-weight-bold {
  background-color: rgba(17,109,255,.15) !important;
  color: #93c5fd !important;
}

.gb-table-success,
#gb-loadOnlineRoomReservation .gb-table-success,
#gb-loadAppointments .gb-table-success,
#gb-loadOnlineBooking .gb-table-success,
#gb-loadWebshop .gb-table-success,
tr.gb-table-success,
tr.gb-table-success td {
  background-color: rgba(5,150,105,.12) !important;
  color: #6ee7b7 !important;
}

/* ---- CHECKBOX -------------------------------------------- */
.gb-custom-checkbox .gb-custom-control-label::before {
  background-color: #16161c !important;
  border-color: #2a2a36 !important;
  border-radius: 4px !important;
}

.gb-custom-checkbox .gb-custom-control-input:checked ~ .gb-custom-control-label::before {
  background-color: #116dff !important;
  border-color: #116dff !important;
}

/* ---- WEBSHOP / PRODUCT GOMBOK ---------------------------- */
.gb-product-btn,
.gb-btn.gb-product-btn {
  color: #eaeaf0 !important;
  background-color: #0e0e12 !important;
  border: 1px solid #1e1e28 !important;
  border-radius: 6px !important;
  transition: all .25s cubic-bezier(.4,0,.2,1) !important;
}

.gb-product-btn:hover,
.gb-btn.gb-product-btn:hover {
  background-color: #16161c !important;
  border-color: #116dff !important;
  color: #fff !important;
  box-shadow: 0 4px 16px rgba(17,109,255,.15) !important;
}

/* ---- EGYÉB ----------------------------------------------- */
hr.gb-hr {
  border-top-color: #1e1e28 !important;
}

.gb-border {
  border-color: #1e1e28 !important;
}

.gb-validateError {
  color: #f87171 !important;
}

/* ---- DATEPICKER ------------------------------------------ */
.datepicker-picker {
  background-color: #16161c !important;
  border: 1px solid #1e1e28 !important;
  border-radius: 8px !important;
}

.datepicker-dropdown {
  box-shadow: 0 12px 32px rgba(0,0,0,.6) !important;
}

.datepicker-controls .button {
  background-color: #16161c !important;
  border-color: #1e1e28 !important;
  color: #eaeaf0 !important;
  border-radius: 6px !important;
  transition: all .2s ease !important;
}

.datepicker-controls .button:hover {
  background-color: #1e1e28 !important;
}

.datepicker-controls .button:focus {
  border-color: #116dff !important;
  box-shadow: 0 0 0 3px rgba(17,109,255,.2) !important;
}

.datepicker-header .datepicker-controls .button {
  background-color: #16161c !important;
  font-family: 'Oswald', sans-serif !important;
}

.datepicker-cell {
  color: #eaeaf0 !important;
  border-radius: 4px !important;
  transition: background-color .15s ease !important;
}

.datepicker-cell:not(.disabled):hover {
  background-color: #1e1e28 !important;
}

.datepicker-cell.selected,
.datepicker-cell.selected:hover {
  background-color: #116dff !important;
  color: #fff !important;
}

.datepicker-cell.disabled {
  color: #3a3a4a !important;
}

.datepicker-cell.today:not(.selected) {
  background-color: rgba(17,109,255,.2) !important;
  color: #fff !important;
}

.datepicker-cell.range-start,
.datepicker-cell.range-end {
  background-color: #116dff !important;
  color: #fff !important;
}

.datepicker-cell.range {
  background-color: rgba(17,109,255,.12) !important;
}

.datepicker-title,
.datepicker-footer {
  background-color: #16161c !important;
  color: #eaeaf0 !important;
}

.datepicker-view .days-of-week .dow {
  color: #7a7a8e !important;
  font-family: 'Oswald', sans-serif !important;
  letter-spacing: .05em !important;
}
