/* Booking Edit Form — CSS v1.0.0 (FULL FILE)
   - Κεντράρισμα + blur backdrop
   - Γενικό font size -2px (base 14px)
   - Tabs: πάντα 2 σειρές, pills με σκιά + icons
*/

/* --------- Vars --------- */
.bef-modal, .bef-wrapper {
  --bef-bg: #ffffff;
  --bef-surface: #f7f9fc;
  --bef-text: #0f172a;          /* slate-900 */
  --bef-muted: #475569;         /* slate-600 */
  --bef-border: #e2e8f0;        /* slate-200 */
  --bef-accent: #0ea5e9;        /* theme blue/teal */
  --bef-accent-600: #0284c7;
  --bef-danger: #dc2626;
  --bef-ok: #16a34a;
  --bef-shadow: 0 20px 60px rgba(2, 6, 23, .16);
  --bef-radius: 12px;
  --bef-gap: 16px;
  --bef-focus: 0 0 0 3px rgba(14,165,233,.18);
  --bef-z: 999999;
  --bef-font: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  --bef-base-font: 12px;        /* <- μικρότερο κατά ~2px */
}

.bef-wrapper, .bef-modal {
  font-family: var(--bef-font);
  color: var(--bef-text);
  font-size: var(--bef-base-font);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.bef-wrapper * { box-sizing: border-box; }

body.bef-modal-open { overflow: hidden; }

/* --------- Modal / Backdrop / Dialog --------- */
.bef-modal {
  position: fixed;
  inset: 0;
  z-index: var(--bef-z);
  display: block;
}
.bef-modal[aria-hidden="true"] { visibility: hidden; pointer-events: none; }

.bef-modal .bef-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.35);
  -webkit-backdrop-filter: blur(6px) saturate(85%);
  backdrop-filter: blur(6px) saturate(85%);
  opacity: 0;
  transition: opacity .22s ease;
}

.bef-modal .bef-dialog {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: min(820px, 94vw);
  max-height: min(92vh, 900px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--bef-bg);
  border-radius: 16px;
  border: 1px solid rgba(226,232,240,.9);
  box-shadow: var(--bef-shadow);
  opacity: 0;
  transition: opacity .22s ease, transform .22s ease;
}
.bef-modal[aria-hidden="false"] .bef-backdrop { opacity: 1; }
.bef-modal[aria-hidden="false"] .bef-dialog   { opacity: 1; transform: translate(-50%, -50%); }

.bef-close {
  position: absolute;
  top: 10px; right: 10px;
  width: 34px; height: 34px;
  border-radius: 10px;
  border: 1px solid var(--bef-border);
  background: #fff;
  color: var(--bef-muted);
  cursor: pointer;
}

/* --------- Header tabs (2 rows, pills, icons) --------- */
.bef-tabs-wrap {
  position: static;
  background: #335782;
  padding: 12px 16px 10px;
  border-bottom: 1px solid var(--bef-border);
}

/* ΠΑΝΤΑ δύο σειρές: grid με 2 rows & auto columns */
.bef-tabs {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(2, auto);
  gap: 10px 12px;
  align-items: stretch;
}

.bef-tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  font-weight: 700;
  font-size: 10px; /* -2px από πριν */
  line-height: 1;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid var(--bef-border);
  background: #0ea5e9;
  color: #334155;
  box-shadow: 0 1px 0 rgba(2,6,23,.04), 0 6px 14px rgba(2,6,23,.08);
  transition: background .12s ease, color .12s ease, border-color .12s ease, box-shadow .12s ease, transform .05s ease;
}
.bef-tab:hover {
  background: #0c7eb4;
  border-color: #cbd5e1;
  transform: translateY(-1px);
  box-shadow: 0 2px 0 rgba(2,6,23,.05), 0 10px 20px rgba(2,6,23,.12);
}
.bef-tab.active {
  color: var(--bef-accent-600);
  border-color: var(--bef-accent);
  background: #fff;
  box-shadow: 0 2px 0 rgba(2,132,199,.10), 0 12px 24px rgba(2,132,199,.18);
}

.bef-tab-icon { display:inline-flex; width:18px; height:18px; opacity:.95; }
.bef-tab-icon svg { width:18px; height:18px; display:block; }

/* --------- Panels / Content --------- */
.bef-panels {
  padding: 16px;
  flex: 1 1 auto;
  overflow: auto;
  background: var(--bef-bg);
}
.bef-panel {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--bef-gap);
}
@media (max-width: 820px){ .bef-panel { grid-template-columns: 1fr; } }

/* --------- Fields / Inputs --------- */
.bef-field { display: grid; gap: 8px; }
.bef-field label {
  font-size: 11.5px;            /* ~2px μικρότερο */
  font-weight: 700;
  color: var(--bef-muted);
}

.bef-field input[type="text"],
.bef-field input[type="email"],
.bef-field input[type="search"],
.bef-field input[type="number"],
.bef-field input[type="date"],
.bef-field input[type="time"],
.bef-field select,
.bef-field textarea {
  width: 100%;
  padding: 11px 12px;           /* ελαφρώς πιο μικρό */
  border-radius: 12px;
  border: 1px solid var(--bef-border);
  background: #fff;
  color: var(--bef-text);
  outline: none;
  transition: border-color .12s ease, box-shadow .12s ease, background .12s ease;
}
.bef-field textarea { min-height: 110px; resize: vertical; }

.bef-field input:focus,
.bef-field select:focus,
.bef-field textarea:focus {
  border-color: var(--bef-accent);
  box-shadow: var(--bef-focus);
}

.bef-field input[readonly],
.bef-field select[readonly],
.bef-field textarea[readonly] {
  background: var(--bef-surface);
  color: var(--bef-muted);
  cursor: default;
}

.bef-field input[type=number]::-webkit-outer-spin-button,
.bef-field input[type=number]::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.bef-field input[type=number] { -moz-appearance: textfield; }

/* --------- Remote list (για search fields) --------- */
.bef-field.bef-remote .bef-remote-box { position: relative; }
.bef-field.bef-remote input[type="search"]{ padding-right: 36px; }

.bef-remote-list {
  position: absolute;
  z-index: calc(var(--bef-z) + 2);
  inset: auto 0 auto 0;
  top: calc(100% + 6px);
  max-height: 280px;
  overflow: auto;
  background: #fff;
  border: 1px solid var(--bef-border);
  border-radius: 12px;
  box-shadow: 0 12px 28px rgba(2, 6, 23, .12);
}
.bef-remote-item {
  appearance: none;
  display: block;
  width: 100%;
  text-align: left;
  background: transparent;
  border: 0;
  padding: 9px 12px;
  color: var(--bef-text);
  cursor: pointer;
  font-size: 12px;
}
.bef-remote-item:hover { background: var(--bef-surface); }

/* --------- Footer --------- */
.bef-footer {
  position: sticky;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 16px 14px;
  background: #335782;
  border-top: 1px solid var(--bef-border);
}
.bef-status { flex: 1; font-size: 10.5px; color: var(--bef-muted); }

.bef-footer .bef-cancel,
.bef-footer .bef-save {
  appearance: none;
  border: 1px solid var(--bef-border);
  background: #fff;
  color: var(--bef-text);
  padding: 10px 13px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 12px;        /* -2px */
  cursor: pointer;
  transition: transform .06s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
}
.bef-footer .bef-cancel:hover { background: var(--bef-surface); border-color:#dbe3ea; }
.bef-footer .bef-save {
  background: var(--bef-accent);
  color: #fff;
  border-color: var(--bef-accent);
  box-shadow: 0 8px 16px rgba(14,165,233,.22);
}
.bef-footer .bef-save:hover { background: var(--bef-accent-600); border-color: var(--bef-accent-600); }
.bef-footer .bef-save[disabled],
.bef-footer .bef-save[data-loading] { opacity: .75; cursor: default; }

/* --------- Toast --------- */
.bef-toast {
  position: fixed;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%) translateY(18px);
  background: #111827;
  color: #fff;
  padding: 11px 14px;
  border-radius: 12px;
  box-shadow: 0 10px 20px rgba(0,0,0,.2);
  opacity: 0;
  transition: opacity .2s ease, transform .2s ease;
  z-index: 2147483647 !important;  /* πρακτικά max */
  pointer-events: none;
  font-weight: 700;
  font-size: 16px;
}
.bef-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
.bef-toast.bef-ok    { background: #065f46; }
.bef-toast.bef-err   { background: #991b1b; }

/* --------- Error block --------- */
.bef-error {
  padding: 16px;
  color: #ffffff;
  background: #e72828;
  border: 1px solid #fee2e2;
  border-radius: 12px;
}

/* Elementor consistency */
.elementor-widget .bef-wrapper select,
.elementor-widget .bef-wrapper input,
.elementor-widget .bef-wrapper textarea { font: inherit; }

/* === COMPACT TABS + 3 COL DESKTOP OVERRIDES === */

/* header/tabs πιο “σφιχτά” */
.bef-tabs-wrap {
  padding: 6px 9px;
}

/* tabs: πάντα 2 σειρές, αλλά πιο μικρά */
.bef-tabs {
  gap: 6px 8px;               /* πιο μικρά κενά */
}

/* compact pill buttons */
.bef-tab {
  font-size: 9px;            /* ΠΟΛΥ μικρότερο */
  padding: 4px 6px;          /* πιο κοντό/στενό */
  border-radius: 999px;
  line-height: 1;
  gap: 4px;
}

/* μικρότερο icon */
.bef-tab-icon { width: 14px; height: 14px; }
.bef-tab-icon svg { width: 14px; height: 14px; }

/* λίγο πιο έντονο active με μικρότερη σκιά για να μη φαίνεται βαρύ σε μικρό μέγεθος */
.bef-tab.active {
  box-shadow: 0 6px 14px rgba(2,132,199,.16);
}

/* ====== 3 στήλες σε desktop για τα πεδία ====== */
/* default: desktop */
.bef-panel {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* μεσαία οθόνη -> 2 στήλες */
@media (max-width: 1200px){
  .bef-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* mobile -> 1 στήλη */
@media (max-width: 820px){
  .bef-panel { grid-template-columns: 1fr; }
}
/* === TABS 30% SMALLER + CENTERED / MOBILE SCROLL FIX / 3-COL DESKTOP === */

/* Κεντράρισμα μπάρας tabs στο modal */
.bef-tabs-wrap{
  padding: 8px 10px;
  display: flex;
  justify-content: center;     /* κεντραρισμένα */
}
.bef-tabs{
  justify-content: center;     /* κεντραρισμένα */
  gap: 6px 8px;                /* πιο σφιχτά */
}

/* ~30% μικρότερα tabs */
.bef-tab{
  font-size: 9px;              /* από ~12px -> ~9px */
  padding: 6px 9px;            /* πιο μικρό padding */
  gap: 6px;
  line-height: 1;
}
.bef-tab-icon{ width: 13px; height: 13px; }
.bef-tab-icon svg{ width: 13px; height: 13px; }

/* Λίγο πιο διακριτική σκιά στο active για το μικρό μέγεθος */
.bef-tab.active{ box-shadow: 0 6px 14px rgba(2,132,199,.16); }

/* ===== Καλό scrolling στο mobile μέσα στο modal ===== */
/* Σημαντικό: το flex child που σκρολάρει πρέπει να έχει min-height:0 */
.bef-panels{
  min-height: 0;               /* επιτρέπει το overflow σε flex child */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* Χρησιμοποιούμε τα νέα viewport units για mobile toolbars */
.bef-modal .bef-dialog{
  max-height: calc(100dvh - 24px);
}
@supports (height: 100svh){
  .bef-modal .bef-dialog{ max-height: calc(100svh - 24px); }
}
/* Fallback για παλιότερα browsers */
@supports not (height: 100dvh){
  .bef-modal .bef-dialog{ max-height: 92vh; }
}

/* Προσαρμογή πλάτους/ύψους σε μικρές οθόνες */
@media (max-width: 820px){
  .bef-modal .bef-dialog{
    width: 96vw;
    max-height: calc(100svh - 12px);
  }
}

/* ===== 3 στήλες σε desktop, 2 σε μεσαίες, 1 σε mobile ===== */
.bef-panel{ grid-template-columns: repeat(3, minmax(0,1fr)); }
@media (max-width: 1200px){
  .bef-panel{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 820px){
  .bef-panel{ grid-template-columns: 1fr; }
}
/* ===== COMPACT TABS + MOBILE SCROLL FIX + SMALLER INPUTS ===== */

/* --- Διορθώσεις διάταξης/scroll στο modal --- */
.bef-modal .bef-dialog{
  /* αφήνουμε το absolute centering, αλλά φροντίζουμε το εσωτερικό scroll */
  display: flex;
  flex-direction: column;
  max-height: calc(100dvh - 16px);
  overflow: hidden;
  -webkit-overflow-scrolling: touch;
}
@supports (height: 100svh){
  .bef-modal .bef-dialog{ max-height: calc(100svh - 16px); }
}

/* Τα μέρη που δεν πρέπει να μεγαλώνουν */
.bef-tabs-wrap { flex: 0 0 auto; }

/* Το μέρος που ΠΡΕΠΕΙ να σκρολάρει */
.bef-panels{
  flex: 1 1 auto;
  min-height: 0;                  /* ΚΡΙΣΙΜΟ για nested flex scrolling */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

/* Footer δεν μεγαλώνει, δεν «σπρώχνει» το περιεχόμενο */
.bef-footer{ flex: 0 0 auto; }

/* --- Tabs: 30%+ πιο μικρά & κεντραρισμένα --- */
.bef-tabs-wrap{
  padding: 6px 10px;
  display: flex;
  justify-content: center;        /* κεντραρισμένα στο modal */
}

/* Σε desktop κέντρο, σε mobile οριζόντιο scroll */
.bef-tabs{
  display: flex;
  flex-wrap: nowrap;
  gap: 6px 8px;
  overflow-x: auto;               /* επιτρέπει swipe στα tabs */
  -webkit-overflow-scrolling: touch;
  padding-bottom: 2px;
  scrollbar-width: thin;
}
.bef-tabs::-webkit-scrollbar{ height: 6px; }
.bef-tabs::-webkit-scrollbar-thumb{ background: #cbd5e1; border-radius: 99px; }

/* Compact pills */
.bef-tab{
  font-size: 9px;                 /* πολύ πιο μικρό */
  line-height: 1;
  padding: 5px 8px;               /* μικρό padding */
  gap: 6px;
  border-radius: 999px;
}
.bef-tab-icon{ width: 12px; height: 12px; }
.bef-tab-icon svg{ width: 12px; height: 12px; }
.bef-tab.active{ box-shadow: 0 6px 12px rgba(2,132,199,.15); }

/* --- Grid: 3 στήλες desktop, 2 μεσαίες, 1 mobile --- */
.bef-panel{
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px;                      /* πιο «σφιχτό» */
}
@media (max-width: 1200px){ .bef-panel{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 820px){ .bef-panel{ grid-template-columns: 1fr; } }

/* --- Πιο μικρά input fields / labels / gaps --- */
.bef-field{ gap: 6px; }           /* λιγότερο κενό μεταξύ label & input */
.bef-field label{
  font-size: 10.5px;              /* μικρότερο */
  font-weight: 700;
}

.bef-field input[type="text"],
.bef-field input[type="email"],
.bef-field input[type="search"],
.bef-field input[type="number"],
.bef-field input[type="date"],
.bef-field input[type="time"],
.bef-field select,
.bef-field textarea{
  font-size: 13px;                /* μικρότερο */
  padding: 7px 9px;               /* ΠΟΛΥ πιο σφιχτό */
  border-radius: 8px;             /* πιο compact */
}

/* textarea λίγο πιο κοντό */
.bef-field textarea{ min-height: 88px; }

/* footer κουμπιά πιο μικρά */
.bef-footer .bef-cancel,
.bef-footer .bef-save{
  font-size: 13px;
  padding: 8px 12px;
  border-radius: 9px;
}

/* --- Mobile/μικρές οθόνες: εξαναγκασμένο καλό scroll --- */
@media (max-width: 820px){
  .bef-modal .bef-dialog{
    width: 96vw;
    max-height: calc(100svh - 10px);
  }
  .bef-panels{
    padding: 12px;                /* λίγο πιο σφιχτό padding */
  }
}
/* === SUPER COMPACT TABS — 2 ROWS (desktop + mobile), centered === */
.bef-tabs-wrap{
  padding: 6px 8px;
  display: flex;
  justify-content: center;           /* κεντρικά στο modal */
}

.bef-tabs{
  /* ΠΑΝΤΑ 2 γραμμές */
  display: grid !important;          /* override τυχόν προηγούμενο flex */
  grid-auto-flow: column;
  grid-template-rows: repeat(2, auto);
  grid-auto-columns: max-content;    /* όσο χρειάζεται κάθε tab */
  gap: 4px 6px;                      /* πολύ σφιχτά κενά */
  justify-content: center;           /* κέντρο ολόκληρο το grid */
  align-content: start;
  overflow: visible;                 /* δεν χρειάζεται οριζ. scroll */
}

/* πολύ μικρό μέγεθος / padding */
.bef-tab{
  font-size: 8.5px;                  /* ~μείωση 30–35% */
  line-height: 1;
  padding: 4px 7px;                  /* στενό padding */
  gap: 4px;
  border-radius: 999px;
}

/* μικρά icons */
.bef-tab-icon{ width: 10px; height: 10px; }
.bef-tab-icon svg{ width: 10px; height: 10px; }

/* ελαφριά σκιά για το μικρό μέγεθος */
.bef-tab.active{
  box-shadow: 0 4px 10px rgba(2,132,199,.14);
}
/* === TABS = same font size as inputs (~13px), ultra-compact, 2 rows, centered === */
.bef-tabs-wrap{
  padding: 6px 10px;
  display: flex;
  justify-content: center;                /* κέντρο στο modal */
}

.bef-tabs{
  display: grid !important;               /* επιβάλλουμε grid */
  grid-auto-flow: column;
  grid-template-rows: repeat(2, minmax(0, auto)); /* ΠΑΝΤΑ 2 γραμμές */
  grid-auto-columns: max-content;         /* όσο χρειάζεται κάθε tab */
  gap: 4px 6px;                           /* πολύ σφιχτά κενά */
  justify-content: center;
  align-content: start;
  max-width: 100%;
}

/* tabs πολύ πιο μικρά – ίδιο μέγεθος με τα inputs */
.bef-tab{
  font-size: 13px;                        /* ίδιο με inputs */
  line-height: 1.1;
  padding: 4px 9px;                       /* στενό padding */
  gap: 6px;
  border-radius: 8px;                      /* ίδιο ύφος με inputs */
  border: 1px solid var(--bef-border);
  background: #fff;
  box-shadow: 0 2px 8px rgba(2,6,23,.06);
}

/* icons επίσης μικρά */
.bef-tab-icon{ width: 14px; height: 14px; }
.bef-tab-icon svg{ width: 14px; height: 14px; }

.bef-tab.active{
  border-color: var(--bef-accent);
  box-shadow: 0 4px 12px rgba(2,132,199,.14);
}

/* σε πολύ στενές οθόνες μπορείς να «σφίξεις» λίγο ακόμη */
@media (max-width: 380px){
  .bef-tab{ font-size: 12px; padding: 3px 8px; gap: 5px; }
  .bef-tab-icon{ width: 12px; height: 12px; }
  .bef-tab-icon svg{ width: 12px; height: 12px; }
}
/* ==== MOBILE SCROLL FIX (dialog + panels) ==== */

/* Κρατάμε ολόκληρο το modal fixed στο viewport */
.bef-modal{ position: fixed; inset: 0; }

/* Το dialog γίνεται flex container με μέγιστο ύψος το viewport.
   ΣΗΜΑΝΤΙΚΟ: overflow:hidden εδώ ώστε να σκρολάρει ΜΟΝΟ το .bef-panels */
.bef-modal .bef-dialog{
  position: fixed;                /* καλύτερο για mobile */
  left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: min(96vw, 820px);
  max-height: calc(100dvh - 16px);
  display: flex;
  flex-direction: column;
  overflow: hidden;               /* το scroll μπαίνει στο .bef-panels */
  -webkit-overflow-scrolling: touch;
}

/* Χρήση των νέων viewport units όπου υπάρχουν */
@supports (height: 100svh){
  .bef-modal .bef-dialog{ max-height: calc(100svh - 16px); }
}

/* Αυτό ΕΙΝΑΙ το κομμάτι που σκρολάρει */
.bef-tabs-wrap{ flex: 0 0 auto; }
.bef-footer{ flex: 0 0 auto; }

.bef-panels{
  flex: 1 1 auto;
  min-height: 0;                  /* ΚΡΙΣΙΜΟ για nested flex scrolling */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;   /* μην “τραβάει” όλη τη σελίδα */
  touch-action: pan-y;
}

/* ---- Tabs: 2 γραμμές, πολύ compact, κεντραρισμένα ---- */
.bef-tabs-wrap{
  padding: 6px 8px;
  display: flex;
  justify-content: center;
}
.bef-tabs{
  display: grid !important;
  grid-auto-flow: column;
  grid-template-rows: repeat(2, auto); /* ΠΑΝΤΑ 2 γραμμές */
  grid-auto-columns: max-content;
  gap: 4px 6px;                          /* σφιχτά */
  justify-content: center;
}
.bef-tab{
  font-size: 13px;                       /* ίδιο με inputs */
  line-height: 1.1;
  padding: 4px 8px;                      /* στενό padding */
  gap: 6px;
  border-radius: 8px;
}
.bef-tab-icon{ width: 14px; height: 14px; }
.bef-tab-icon svg{ width: 14px; height: 14px; }
/* === FORCE SMALL TABS (≈ inputs) + 2 ROWS + MOBILE SCROLL FIX === */

/* Φουλ οθόνη modal και κλείδωμα body scroll */
body.bef-modal-open { overflow: hidden !important; }
.bef-modal { position: fixed !important; inset: 0 !important; }

/* Dialog: κέντρο, μέγιστο ύψος viewport, flex για να σκρολάρουν τα panels */
.bef-modal .bef-dialog{
  position: fixed !important;
  left: 50% !important; top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: min(96vw, 820px) !important;
  max-height: calc(100dvh - 16px) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important; /* το scroll πάει στα panels */
}
@supports (height: 100svh){
  .bef-modal .bef-dialog{ max-height: calc(100svh - 16px) !important; }
}

/* Τα σταθερά μέρη */
.bef-modal .bef-tabs-wrap{ flex: 0 0 auto !important; }
.bef-modal .bef-footer{    flex: 0 0 auto !important; }

/* === ΕΔΩ ΣΚΡΟΛΑΡΕΙ ΤΟ ΠΕΡΙΕΧΟΜΕΝΟ === */
.bef-modal .bef-panels{
  flex: 1 1 auto !important;
  min-height: 0 !important;                 /* ΚΡΙΣΙΜΟ για nested flex scrolling */
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: contain !important;
  touch-action: pan-y !important;
}

/* ------- TABS: 2 σειρές, κεντραρισμένα, ΠΟΛΥ μικρά ------- */
.bef-modal .bef-tabs-wrap{
  padding: 6px 10px !important;
  display: flex !important;
  justify-content: center !important;
}
.bef-modal .bef-tabs{
  display: grid !important;                /* override κάθε flex rule */
  grid-auto-flow: column !important;
  grid-template-rows: repeat(2, auto) !important; /* ΠΑΝΤΑ 2 γραμμές */
  grid-auto-columns: max-content !important;
  gap: 4px 6px !important;                 /* σφιχτά κενά */
  justify-content: center !important;
  align-content: start !important;
  max-width: 100% !important;
}

/* Pills πολύ πιο μικρά – ίδιο μέγεθος με input fields */
.bef-modal .bef-tabs .bef-tab{
  font-size: 13px !important;              /* ≈ inputs */
  line-height: 1.1 !important;
  padding: 4px 8px !important;             /* στενό padding */
  gap: 6px !important;
  border-radius: 8px !important;
  border: 0px solid var(--bef-border, #e5e7eb) !important;
  background: #0ea5e9 !important;
  box-shadow: 0 2px 8px rgba(2,6,23,.06) !important;
  color: #fff;
  font-weight: 600;
}
.bef-modal .bef-tabs .bef-tab.active{
  background: #ffffff !important;
  color: #0ea5e9;
  font-weight: 600;
  border-color: var(--bef-accent, #0ea5e9) !important;
  box-shadow: 0 4px 12px rgba(2,132,199,.14) !important;
}

/* Icons επίσης μικρά */
.bef-modal .bef-tabs .bef-tab-icon{ width: 14px !important; height: 14px !important; }
.bef-modal .bef-tabs .bef-tab-icon svg{ width: 14px !important; height: 14px !important; }

/* Grid πεδίων – 3/2/1 στήλες, πιο σφιχτό gap (προαιρετικό) */
.bef-modal .bef-panel{ gap: 12px !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
@media (max-width:1200px){ .bef-modal .bef-panel{ grid-template-columns: repeat(2,minmax(0,1fr)) !important; } }
@media (max-width:820px){  .bef-modal .bef-panel{ grid-template-columns: 1fr !important; } }

/* Inputs λίγο πιο μικρά – για συνοχή με tabs (προαιρετικό) */
.bef-modal .bef-field label{ font-size: 11px !important; }
.bef-modal .bef-field input,
.bef-modal .bef-field select,
.bef-modal .bef-field textarea{
  font-size: 13px !important;
  padding: 7px 9px !important;
  border-radius: 8px !important;
}

/* ================================
   === OVERRIDES ΓΙΑ ΤΟ TAB 1 ===
   (Time & Places: 12-στήλες + utils)
   ================================ */

/* 1) 12-στήλες ΜΟΝΟ στο Tab "timeplace" */
.bef-modal .bef-panel[data-tab="timeplace"]{
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
}

/* 2) Utilities για πλάτος στηλών που χρησιμοποιεί το JS */
.bef-col-12{ grid-column: 1 / -1; }
@media (min-width: 821px){
  .bef-col-6{ grid-column: span 6; }
  .bef-col-4{ grid-column: span 4; }
}
@media (max-width: 820px){
  .bef-col-6, .bef-col-4{ grid-column: 1 / -1; }
}

/* 3) Βοηθητικές κλάσεις */
.bef-hidden{ display: none !important; }     /* για conditional "Πτήση Άφιξης" */
.bef-readonly{
  background: var(--bef-surface, #f7f9fc) !important;
  color: var(--bef-muted, #475569) !important;
  cursor: not-allowed !important;
}
/* ===== Remote select: εμφάνιση σαν native select + δύο γραμμές στα items ===== */
.bef-field.bef-remote .bef-remote-box{ position: relative; }

.bef-field.bef-remote .bef-remote-box input[type="search"]{
  width: 100%;
  padding: 11px 34px 11px 12px;
  border-radius: 12px;
  border: 1px solid var(--bef-border);
  background: #fff;
  color: var(--bef-text);
  outline: none;
  transition: border-color .12s ease, box-shadow .12s ease;
  font: inherit;
}
.bef-field.bef-remote .bef-remote-box input[type="search"]:focus{
  border-color: var(--bef-accent);
  box-shadow: var(--bef-focus);
}

/* μικρό βελάκι δεξιά για να θυμίζει select */
.bef-field.bef-remote .bef-remote-box::after{
  content: "";
  position: absolute;
  right: 10px; top: 50%;
  width: 14px; height: 14px;
  transform: translateY(-50%);
  pointer-events: none;
  opacity: .7;
  background-repeat: no-repeat;
  background-size: 14px 14px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='%23677' d='M5.23 7.21a.75.75 0 011.06.02L10 10.17l3.71-2.94a.75.75 0 01.94 1.17l-4.24 3.36a.75.75 0 01-.94 0L5.21 8.4a.75.75 0 01.02-1.19z'/></svg>");
}

/* dropdown */
.bef-remote-list{
  position: absolute;
  left: 0; right: 0;
  top: calc(100% + 6px);
  max-height: 280px;
  overflow: auto;
  background: #fff;
  border: 1px solid var(--bef-border);
  border-radius: 12px;
  box-shadow: 0 12px 28px rgba(2,6,23,.12);
  z-index: calc(var(--bef-z) + 3);
}

/* items */
.bef-remote-item{
  display: block;
  width: 100%;
  text-align: left;
  background: transparent;
  border: 0;
  padding: 10px 12px;
  cursor: pointer;
  font-size: 13px;
  line-height: 1.25;
}
.bef-remote-item:hover{ background: var(--bef-surface); }

/* δίγραμμη εμφάνιση (title + subtitle) για customers */
.bef-remote-item .t{ font-weight: 700; }
.bef-remote-item .s{ font-size: 12px; color: var(--bef-muted); }
/* Booking Edit Form — CSS v1.0.2 (FULL)
   - Tabs: 2 σειρές, pills, κεντραρισμένα
   - Σταθερό ύψος panel στο desktop
   - Remote search: ίδιο ύφος με inputs + dropdown λίστα
   - Grid helpers (bef-col-12/6/4) για custom layout Tab 1
*/

/* --------- Vars --------- */
.bef-modal, .bef-wrapper {
  --bef-bg: #ffffff;
  --bef-surface: #f7f9fc;
  --bef-text: #0f172a;          /* slate-900 */
  --bef-muted: #475569;         /* slate-600 */
  --bef-border: #e2e8f0;        /* slate-200 */
  --bef-accent: #0ea5e9;        /* theme blue/teal */
  --bef-accent-600: #0284c7;
  --bef-danger: #dc2626;
  --bef-ok: #16a34a;
  --bef-shadow: 0 20px 60px rgba(2, 6, 23, .16);
  --bef-radius: 12px;
  --bef-gap: 14px;
  --bef-focus: 0 0 0 3px rgba(14,165,233,.18);
  --bef-z: 999999;
  --bef-font: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  --bef-base-font: 13px;
}

.bef-wrapper, .bef-modal {
  font-family: var(--bef-font);
  color: var(--bef-text);
  font-size: var(--bef-base-font);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.bef-wrapper * { box-sizing: border-box; }

body.bef-modal-open { overflow: hidden !important; }

/* --------- Modal / Backdrop / Dialog --------- */
.bef-modal {
  position: fixed; inset: 0; z-index: var(--bef-z); display: block;
}
.bef-modal[aria-hidden="true"] { visibility: hidden; pointer-events: none; }

.bef-modal .bef-backdrop {
  position: absolute; inset: 0;
  background: rgba(15, 23, 42, 0.35);
  -webkit-backdrop-filter: blur(6px) saturate(85%);
  backdrop-filter: blur(6px) saturate(85%);
  opacity: 0; transition: opacity .22s ease;
}

.bef-modal .bef-dialog{
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: min(820px, 96vw);
  max-height: calc(100dvh - 16px);
  display: flex; flex-direction: column; overflow: hidden;
  background: var(--bef-bg);
  border-radius: 16px;
  border: 1px solid rgba(226,232,240,.9);
  box-shadow: var(--bef-shadow);
  opacity: 0; transition: opacity .22s ease, transform .22s ease;
}
@supports (height: 100svh){
  .bef-modal .bef-dialog{ max-height: calc(100svh - 16px); }
}
.bef-modal[aria-hidden="false"] .bef-backdrop { opacity: 1; }
.bef-modal[aria-hidden="false"] .bef-dialog   { opacity: 1; transform: translate(-50%, -50%); }

.bef-close {
  position: absolute; top: 10px; right: 10px;
  width: 34px; height: 34px; border-radius: 10px;
  border: 1px solid var(--bef-border);
  background: #fff; color: var(--bef-muted); cursor: pointer;
}

/* --------- Header tabs (2 rows, pills, icons) --------- */
.bef-tabs-wrap{
  padding: 6px 10px; display: flex; justify-content: center;
  background: #335782;
  border-bottom: 1px solid var(--bef-border);
}
.bef-tabs{
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(2, auto); /* ΠΑΝΤΑ 2 σειρές */
  grid-auto-columns: max-content;
  gap: 6px 8px;
  justify-content: center;
  align-content: start;
}
.bef-tab{
  display: inline-flex; align-items: center; gap: 6px;
  font-weight: 700; font-size: 13px; line-height: 1.1;
  padding: 4px 8px; border-radius: 8px;
  border: 0;
  background: #0ea5e9; color: #fff;
  box-shadow: 0 2px 8px rgba(2,6,23,.06);
  cursor: pointer;
  transition: background .12s ease, box-shadow .12s ease, transform .06s ease;
}
.bef-tab:hover{ transform: translateY(-1px); }
.bef-tab.active{
  background: #fff; color: var(--bef-accent);
  box-shadow: 0 4px 12px rgba(2,132,199,.14);
}
.bef-tab-icon{ display:inline-flex; width:14px; height:14px; opacity:.95; }
.bef-tab-icon svg{ width:14px; height:14px; display:block; }

/* --------- Panels / Content --------- */
/* Σταθερό/ίδιο ύψος περιεχομένου στο desktop */
.bef-panels{
  padding: 16px; flex: 1 1 auto; overflow: auto; background: var(--bef-bg);
  min-height: 0;
}
@media (min-width: 821px){
  .bef-panels{ min-height: 520px; } /* προσαρμόσ' το αν θες */
}

.bef-panel{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: var(--bef-gap);
}
@media (max-width: 1200px){
  .bef-panel{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 820px){
  .bef-panel{ grid-template-columns: 1fr; }
}

/* Grid helpers για custom layout Tab 1 */
.bef-col-12{ grid-column: span 3; }
.bef-col-6 { grid-column: span 2; }
.bef-col-4 { grid-column: span 1; }
@media (max-width:1200px){
  .bef-col-12{ grid-column: 1 / -1; }
  .bef-col-6 { grid-column: span 2; }
  .bef-col-4 { grid-column: span 1; }
}
@media (max-width:820px){
  .bef-col-12, .bef-col-6, .bef-col-4{ grid-column: 1 / -1; }
}

/* --------- Fields / Inputs --------- */
.bef-field{ display: grid; gap: 6px; }
.bef-field label{
  font-size: 11px; font-weight: 700; color: var(--bef-muted);
}

.bef-field input[type="text"],
.bef-field input[type="email"],
.bef-field input[type="search"],
.bef-field input[type="number"],
.bef-field input[type="date"],
.bef-field input[type="time"],
.bef-field select,
.bef-field textarea{
  width: 100%;
  font-size: 13px;
  padding: 9px 10px;
  border-radius: 10px;
  border: 1px solid var(--bef-border);
  background: #fff; color: var(--bef-text);
  outline: none;
  transition: border-color .12s ease, box-shadow .12s ease, background .12s ease;
}
.bef-field input:focus,
.bef-field select:focus,
.bef-field textarea:focus{
  border-color: var(--bef-accent);
  box-shadow: var(--bef-focus);
}
.bef-field textarea{ min-height: 90px; resize: vertical; }

.bef-field input[readonly],
.bef-field select[readonly],
.bef-field textarea[readonly]{
  background: var(--bef-surface);
  color: var(--bef-muted);
  cursor: default;
}

.bef-field input[type=number]::-webkit-outer-spin-button,
.bef-field input[type=number]::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.bef-field input[type=number]{ -moz-appearance: textfield; }

/* --------- Remote search (dropdown style) --------- */
.bef-field.bef-remote .bef-remote-box{ position: relative; }
.bef-field.bef-remote input[type="search"]{
  -webkit-appearance: none;
  appearance: none;
  font-size: 13px;
  padding-right: 36px;
  border: 1px solid var(--bef-border);
  background: #fff; color: var(--bef-text);
  border-radius: 10px;
}
.bef-remote-list{
  position: absolute; left: 0; right: 0; top: calc(100% + 6px);
  z-index: calc(var(--bef-z) + 2);
  max-height: 320px; overflow: auto;
  background: #fff;
  border: 1px solid var(--bef-border);
  border-radius: 12px;
  box-shadow: 0 12px 28px rgba(2, 6, 23, .12);
  padding: 4px 0;
}
.bef-remote-item{
  appearance: none;
  display: flex; align-items: center; justify-content: space-between;
  gap: 8px;
  width: 100%;
  text-align: left;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  padding: 8px 12px;
  color: var(--bef-text);
  cursor: pointer;
  font-size: 13px;
  border-radius: 8px;
}
.bef-remote-item:hover{ background: var(--bef-surface); }
.bef-remote-item .bef-item-label{ font-weight: 600; }
.bef-remote-item small{ color: var(--bef-muted); font-size: 12px; }

/* Utility για να κρύβεται το πεδίο (π.χ. Πτήση Άφιξης όταν δεν είναι Αεροδρόμιο) */
.bef-hidden{ display: none !important; }

/* --------- Footer --------- */
.bef-footer{
  position: sticky; bottom: 0; z-index: 1;
  display: flex; align-items: center; gap: 10px;
  padding: 11px 16px 14px; background: #335782;
  border-top: 1px solid var(--bef-border);
}
.bef-status{ flex: 1; font-size: 11px; color: #e5edf8; }

.bef-footer .bef-cancel,
.bef-footer .bef-save{
  appearance: none;
  border: 1px solid var(--bef-border);
  background: #fff; color: var(--bef-text);
  padding: 8px 12px; border-radius: 10px;
  font-weight: 700; font-size: 13px; cursor: pointer;
  transition: transform .06s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
}
.bef-footer .bef-cancel:hover{ background: var(--bef-surface); border-color:#dbe3ea; }
.bef-footer .bef-save{
  background: var(--bef-accent); color: #fff; border-color: var(--bef-accent);
  box-shadow: 0 8px 16px rgba(14,165,233,.22);
}
.bef-footer .bef-save:hover{ background: var(--bef-accent-600); border-color: var(--bef-accent-600); }
.bef-footer .bef-save[disabled],
.bef-footer .bef-save[data-loading]{ opacity: .75; cursor: default; }

/* --------- Toast --------- */
.bef-toast{
  position: fixed; left: 50%; bottom: 24px;
  transform: translateX(-50%) translateY(18px);
  background: #111827; color:#fff;
  padding: 11px 14px; border-radius: 12px;
  box-shadow: 0 10px 20px rgba(0,0,0,.2);
  opacity: 0; transition: opacity .2s ease, transform .2s ease;
  z-index: 2147483647 !important; pointer-events: none;
  font-weight: 700; font-size: 16px;
}
.bef-toast.show{ opacity: 1; transform: translateX(-50%) translateY(0); }
.bef-toast.bef-ok{ background: #065f46; }
.bef-toast.bef-err{ background: #991b1b; }

/* --------- Error block --------- */
.bef-error{
  padding: 16px; color: #ffffff; background: #e72828;
  border: 1px solid #fee2e2; border-radius: 12px;
}

/* Elementor consistency */
.elementor-widget .bef-wrapper select,
.elementor-widget .bef-wrapper input,
.elementor-widget .bef-wrapper textarea{ font: inherit; }
/* ==== FIX: Σταθερό ύψος panel στο desktop (ίδιο σε όλα τα tabs) ==== */
:root{
  --bef-panel-height-desktop: 410px; /* αν θες άλλο, άλλαξέ το */
}
@media (min-width: 821px){
  .bef-panels{
    height: var(--bef-panel-height-desktop); /* σταθερό */
    min-height: 0;              /* για να δουλεύει σωστά το overflow */
    overflow-y: auto;
  }
}

/* ==== FIX: Time & Place explicit grid (2-2-2 / 3 / 3 / full) ==== */
.bef-panel[data-tab="timeplace"]{
  /* 6 στήλες => 1/2 = span 3, 1/3 = span 2 */
  grid-template-columns: repeat(6, minmax(0,1fr)) !important;
}
.bef-panel[data-tab="timeplace"] .bef-col-12{ grid-column: 1 / -1 !important; }
.bef-panel[data-tab="timeplace"] .bef-col-6 { grid-column: span 3 !important; }  /* μισή σειρά */
.bef-panel[data-tab="timeplace"] .bef-col-4 { grid-column: span 2 !important; }  /* 1/3 σειράς */

/* ==== FIX: Τα στοιχεία γεμίζουν ΠΑΝΤΑ τη στήλη (όχι μικρά select) ==== */
.bef-field{ min-width: 0; } /* για να μην «σπρώχνουν» οι στήλες */
.bef-field input,
.bef-field select,
.bef-field textarea{
  width: 100% !important;
  min-width: 0 !important;
  display: block;
}

/* ==== Remote Search: ίδιο ύφος με inputs + καθαρή λίστα ==== */
.bef-field.bef-remote input[type="search"]{
  font-size: 13px;
  padding-right: 36px;
  border: 1px solid var(--bef-border);
  background: #fff;
  color: var(--bef-text);
  border-radius: 10px;
}
.bef-remote-list{
  border: 1px solid var(--bef-border);
  border-radius: 12px;
  box-shadow: 0 12px 28px rgba(2, 6, 23, .12);
  max-height: 320px;
  overflow: auto;
}
.bef-remote-item{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  padding: 8px 12px;
  font-size: 13px;
  color: var(--bef-text);
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  border-radius: 8px;
  cursor: pointer;
}
.bef-remote-item:hover{ background: var(--bef-surface); }
.bef-remote-item .bef-item-label{ font-weight: 600; }
.bef-remote-item small{ color: var(--bef-muted); font-size: 12px; }

/* Χρήσιμο για το Tab 1 όταν κρύβουμε/δείχνουμε την Πτήση Άφιξης */
.bef-hidden{ display: none !important; }
/* ===== TAB 1 (Χρόνος & Τοποθεσίες) — ΑΚΡΙΒΩΣ 2-2-2 / 3 / 3 / FULL ===== */
/* Δίνουμε μεγαλύτερη ειδικότητα από το .bef-modal .bef-panel { ... !important } */
@media (min-width: 821px){
  .bef-modal .bef-panel[data-tab="timeplace"]{
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important; /* 6-cols */
    gap: 14px !important;
  }
  /* spans για τα helper classes που βάζει το JS */
  .bef-modal .bef-panel[data-tab="timeplace"] .bef-col-12{ grid-column: 1 / -1 !important; }
  .bef-modal .bef-panel[data-tab="timeplace"] .bef-col-6 { grid-column: span 3 !important; } /* μισή σειρά */
  .bef-modal .bef-panel[data-tab="timeplace"] .bef-col-4 { grid-column: span 2 !important; } /* 1/3 σειράς */
}

/* Μεσαία & mobile όπως πριν (2/1 στήλες) */
@media (max-width: 1200px){
  .bef-modal .bef-panel[data-tab="timeplace"]{ grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}
@media (max-width: 820px){
  .bef-modal .bef-panel[data-tab="timeplace"]{ grid-template-columns: 1fr !important; }
}

/* Τα στοιχεία να γεμίζουν ΠΑΝΤΑ την στήλη (όχι μικρά select) */
.bef-field{ min-width: 0; }
.bef-field input,
.bef-field select,
.bef-field textarea{
  width: 100% !important;
  min-width: 0 !important;
  display: block;
}

/* ===== Σταθερό ύψος panel στο desktop (ίδιο σε όλα τα tabs) ===== */
:root{ --bef-panel-height-desktop: 410px; } /* άλλαξέ το αν θες */
@media (min-width: 821px){
  .bef-panels{
    height: var(--bef-panel-height-desktop);
    min-height: 0;
    overflow-y: auto;
  }
}

/* ===== Remote search: ίδιο ύφος με τα inputs, χωρίς «κουτάκια» ===== */
.bef-field.bef-remote input[type="search"]{
  font-size: 13px;
  padding: 7px 36px 7px 9px;
  border: 1px solid var(--bef-border);
  background: #fff;
  color: var(--bef-text);
  border-radius: 10px;
}
.bef-remote-list{
  border: 1px solid var(--bef-border);
  border-radius: 12px;
  box-shadow: 0 12px 28px rgba(2,6,23,.12);
  max-height: 320px; overflow: auto;
}
.bef-remote-item{
  background: transparent !important;
  border: 0 !important; box-shadow: none !important; outline: none !important;
  padding: 8px 12px;
  font-size: 13px; color: var(--bef-text);
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  border-radius: 8px; cursor: pointer;
}
.bef-remote-item:hover{ background: var(--bef-surface); }
.bef-remote-item .bef-item-label{ font-weight: 600; }
.bef-remote-item small{ color: var(--bef-muted); font-size: 12px; }

/* Χρήσιμο για να κρύβεται η «Πτήση Άφιξης» όταν δεν είναι Αεροδρόμιο */
.bef-hidden{ display: none !important; }
/* Κεντράρισμα καθ’ ύψος στο tab Μισθωτής (desktop) */
@media (min-width: 821px){
  .bef-panels{
    height: var(--bef-panel-height-desktop); /* ήδη 410px από πριν */
  }
  .bef-panel[data-tab="customer"]{
    height: 100%;
    align-content: center;   /* κεντράρει τα grid-tracks όταν περισσεύει ύψος */
  }
}
/* ==== Κεντράρισμα καθ’ ύψος σε ΟΛΑ τα tabs (desktop) ==== */
@media (min-width: 821px){
  .bef-panels{
    height: var(--bef-panel-height-desktop, 410px); /* κράτα τη μεταβλητή σου */
  }
  .bef-panel{
    height: 100%;
    align-content: center;     /* κεντράρει τα grid-tracks όταν περισσεύει ύψος */
  }
}
