/* ==========================================================================
   FizioTérkép – Profil szerkesztés UI (egységesítve a registration.css stílussal)
   ========================================================================== */
:root{
  --fz-primary: #64b19a;
  --fz-primary-2: #9edbc8;
  --fz-text: #0f172a;
  --fz-muted: #4b5563;
  --fz-bg: #f9fbfd;
  --fz-accent: #e2e8f0;
  --fz-radius: 12px;
  --fz-shadow: 0 6px 18px rgba(15,23,42,0.08);
  --fz-shadow-soft: 0 4px 12px rgba(15,23,42,0.06);
  --fz-focus: 0 0 0 3px rgba(100,177,154,0.35);
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* ==========================================================================
   Sidebar (tabs)
   ========================================================================== */
.sidebar{
  flex: 0 0 240px;
  background: #fff;
  padding: 1.5rem;
  border: 1px solid var(--fz-accent);
  border-radius: var(--fz-radius);
  box-shadow: var(--fz-shadow-soft);
  position: sticky;
  top: 20px;
}

.sidebar ul{
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: .3rem;
}

/* régi működéshez: li továbbra is kattintható */
.sidebar li{
  padding: .6rem .8rem;
  border-radius: 10px;
  color: var(--fz-text);
  font-weight: 500;
  border: 1px solid transparent;
  transition: background .2s ease, box-shadow .2s ease, border-color .2s ease;
  cursor: pointer;
}
.sidebar li:hover{ background: var(--fz-bg); border-color: var(--fz-accent); }
.sidebar li.active{ background: var(--fz-primary); color: #fff; border-color: var(--fz-primary); box-shadow: var(--fz-shadow-soft); }

/* új anchoros viselkedés */
.sidebar a.scroll-link { text-decoration:none; display:block; padding:.6rem .8rem; border-radius:10px; color:var(--fz-text); border:1px solid transparent; }
.sidebar a.scroll-link:hover{ background:var(--fz-bg); border-color:var(--fz-accent); }
.sidebar a.scroll-link.active{ background:var(--fz-primary); color:#fff; border-color:var(--fz-primary); }

.sidebar-footer{
  margin-top: 1.2rem;
  border-top: 1px solid var(--fz-accent);
  padding-top: 1rem;
}

.logout-link{
  display: inline-block;
  background: #f59e0b;
  color: #fff;
  padding: .5rem 1rem;
  border-radius: 8px;
  text-decoration: none;
  transition: transform .15s ease, box-shadow .15s ease;
}
.logout-link:hover{ transform: translateY(-1px); box-shadow: var(--fz-shadow-soft); }

/* ==========================================================================
   Main content
   ========================================================================== */
.main-content{
  flex: 1;
  min-width: 0;
  background: #fff;
  padding: 2rem;
  border: 1px solid var(--fz-accent);
  border-radius: var(--fz-radius);
  box-shadow: var(--fz-shadow-soft);
  background: linear-gradient(180deg, #ffffff 0%, #f9fbfd 100%);
}

.main-content h2{
  font-size: 1.6rem;
  font-weight: 800;
  color: var(--fz-text);
  margin: 0 0 1rem;
}

.main-content p.sub,
.main-content .subtitle{
  color: var(--fz-muted);
  margin: 0 0 1rem;
  line-height: 1.6;
}

/* ==========================================================================
   Form styling (same as registration.css)
   ========================================================================== */
.fiziomap-profile-edit-form{ max-width: 880px; margin: 0 auto; }
.fiziomap-profile-edit-form .form-group{ margin-bottom: 1rem; }

.fiziomap-profile-edit-form label{
  display: block;
  margin-bottom: .3rem;
  font-weight: 600;
  color: var(--fz-text);
}

.fiziomap-profile-edit-form input[type="text"],
.fiziomap-profile-edit-form input[type="email"],
.fiziomap-profile-edit-form input[type="url"],
.fiziomap-profile-edit-form input[type="number"],
.fiziomap-profile-edit-form textarea,
.fiziomap-profile-edit-form select{
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--fz-accent);
  border-radius: 10px;
  background: #fff;
  color: var(--fz-text);
  font-size: 15px;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
  margin-bottom: .6rem;
}
.fiziomap-profile-edit-form textarea{ resize: vertical; min-height: 96px; }
.fiziomap-profile-edit-form input:focus,
.fiziomap-profile-edit-form textarea:focus,
.fiziomap-profile-edit-form select:focus{
  border-color: var(--fz-primary);
  outline: none;
  box-shadow: var(--fz-focus);
}

/* Checkbox / multiselect lists */
.fiziomap-profile-edit-form .checkbox-group{ display:flex; flex-wrap:wrap; gap:.6rem; }
.fiziomap-profile-edit-form .checkbox-group label{ display:flex; align-items:center; gap:.3rem; font-weight:400; color:var(--fz-text); }

/* ==========================================================================
   Kétoszlopos grid layout desktopon
   ========================================================================== */

.form-section-fields {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

@media (min-width: 768px) {
  .form-section-fields {
    grid-template-columns: 1fr 1fr;
    gap: 2rem 1.5rem;
  }
  
  /* Egész szélességű mezők (pl. bio, hosszú szövegek) */
  .form-group.full-width {
    grid-column: 1 / -1;
  }
}

/* ==========================================================================
   Form row layout
   ========================================================================== */
.form-row{ display:flex; gap:1rem; flex-wrap:wrap; }
.form-row .form-group.half{ flex: 1 1 48%; min-width: 260px; }
.form-row .form-group.third{ flex: 1 1 30%; min-width: 200px; }

/* ==========================================================================
   Form actions / buttons
   ========================================================================== */
.form-actions{ margin-top:1.6rem; display:flex; gap:.8rem; justify-content:flex-end; flex-wrap:wrap; }

.fiziomap-profile-edit-form button,
.fiziomap-profile-edit-form input[type="submit"],
.fz-btn,
.button,
.button-primary{
  display: inline-block;
  padding: 10px 18px;
  border-radius: 10px;
  border: none;
  background: linear-gradient(90deg, #64b19a, #117486);
  color: #fff;
  font-weight: 600;
  font-size: 16px;
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(15,23,42,0.08);
  transition: transform .15s ease, box-shadow .15s ease, opacity .2s ease;
}
.fiziomap-profile-edit-form button:hover,
.fiziomap-profile-edit-form input[type="submit"]:hover,
.fz-btn:hover,
.button:hover,
.button-primary:hover{
  transform: translateY(-1px);
  box-shadow: var(--fz-shadow);
  opacity: .95;
}

.btn-ghost{ background: transparent; color: var(--fz-primary); border: 2px solid var(--fz-primary); }
.btn-ghost:hover{ background: var(--fz-bg); }

.remove-office{ background:#ef4444; }
.remove-office:hover{ background:#dc2626; }

/* Kilépés gomb régi blokkhoz */
.profile-buttons a.button{ background: transparent; border: 2px solid var(--fz-primary); color: var(--fz-primary); }
.profile-buttons a.button:hover{ background: var(--fz-primary); color: #fff; }

/* ==========================================================================
   Alerts (success / error messages)
   ========================================================================== */
.success{ color:#065f46; background:#ecfdf5; border-left:4px solid #34d399; padding:1rem; margin-bottom:1rem; border-radius:8px; }
.error{ color:#7f1d1d; background:#fef2f2; border-left:4px solid #fca5a5; padding:1rem; margin-bottom:1rem; border-radius:8px; }

/* ==========================================================================
   Tab visibility
   ========================================================================== */
.tab-content.hidden{ display:none; }

/* ==========================================================================
   Profil szakaszolás és térkép javítások
   ========================================================================== */
.profile-section{
  background:#fff;
  border:1px solid var(--fz-accent);
  border-radius: var(--fz-radius);
  box-shadow: var(--fz-shadow-soft);
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}
.profile-section h2,
.profile-section h3{
  font-weight:800;
  color:var(--fz-text);
  margin-bottom:.8rem;
  border-bottom:1px solid var(--fz-accent);
  padding-bottom:.4rem;
}
.profile-section label{ display:block; margin-bottom:.9rem; font-weight:600; color:var(--fz-text); }

/* Office item kártya */
.office-item{
  border:1px solid var(--fz-accent);
  border-radius:8px;
  padding:1rem;
  margin-bottom:1.5rem;
  background:#f9fafb;
}

/* Map container – egységes */
.map-picker, .leaflet-map-container{
  height: 280px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: var(--fz-shadow-soft);
  border: 1px solid var(--fz-accent);
  margin-top: .8rem;
}

/* ==========================================================================
   Custom multiselect – egyszerű, tiszta verzió
   ========================================================================== */
.custom-multiselect{ margin-bottom: 1.5rem; }
.custom-multiselect h3{
  font-size: 1.6rem;
  font-weight: 800;
  color: var(--fz-text);
  margin-bottom: 1rem;
  border-bottom: 1px solid var(--fz-accent);
  padding-bottom: 0.4rem;
}
.custom-dropdown{
  width:100%;
  padding:10px 12px;
  border:1px solid var(--fz-accent);
  border-radius:10px;
  background:#fff;
  color:var(--fz-text);
  font-size:15px;
  cursor:pointer;
  transition: border-color .2s ease, box-shadow .2s ease;
  margin-bottom:.5rem;
}
.custom-dropdown:focus{ border-color:var(--fz-primary); box-shadow:var(--fz-focus); outline:none; }
.selected-items{ display:flex; flex-wrap:wrap; gap:8px; min-height:20px; padding:0; margin-top:0; }
.selected-items:empty{ display:none; }
.chip{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--fz-primary); color:#fff;
  padding:8px 12px; border-radius:8px; font-size:14px; font-weight:500;
  transition: background .2s ease;
}
.chip:hover{ background:#549180; }
.chip span{ line-height:1.2; }
.chip .remove-chip{
  background:none; border:none; color:#fff; font-size:20px; font-weight:700; cursor:pointer;
  padding:0; margin:0; line-height:1; width:20px; height:20px; display:flex; align-items:center; justify-content:center;
}
.chip .remove-chip:hover{ background: rgba(255,255,255,0.25); border-radius:4px; }

/* ==========================================================================
   Select2 customizálás – JAVÍTOTT VERZIÓ
   ========================================================================== */
.select2-container{ width:100% !important; }
.select2-container--default .select2-selection--multiple{
  border:1px solid var(--fz-accent) !important;
  border-radius:10px !important;
  padding:8px 10px !important;
  min-height:46px !important;
  background:#fff !important;
  box-sizing:border-box !important;
  display:block !important;
}
.select2-container--default .select2-selection--multiple:focus,
.select2-container--default.select2-container--focus .select2-selection--multiple{
  border-color:var(--fz-primary) !important;
  box-shadow:var(--fz-focus) !important;
  outline:none !important;
}
.select2-container--default .select2-selection--multiple .select2-search--inline{ display:block !important; width:100% !important; }
.select2-container--default .select2-selection--multiple .select2-search__field{
  width:100% !important; min-width:200px !important; padding:6px !important; margin:0 !important;
  border:none !important; outline:none !important; color:var(--fz-text) !important; font-size:15px !important;
}
.select2-container--default .select2-selection--multiple .select2-search__field::placeholder{ color:var(--fz-muted) !important; opacity:.6 !important; }
.select2-container--default .select2-selection--multiple .select2-selection__rendered{
  display:flex !important; flex-wrap:wrap !important; gap:8px !important; padding:0 !important; margin-top:8px !important; list-style:none !important;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice{
  background:var(--fz-primary) !important; color:#fff !important; border:none !important; border-radius:8px !important;
  padding:8px 12px !important; margin:0 !important; font-weight:500 !important; font-size:14px !important; display:inline-flex !important; align-items:center !important; gap:8px !important; line-height:1.4 !important;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{
  color:#fff !important; font-size:18px !important; font-weight:700 !important; margin-left:4px !important; background:none !important; cursor:pointer !important; order:2 !important; transition: all .2s ease !important;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{ color:#fee !important; background: rgba(255,255,255,0.25) !important; border-radius:4px !important; padding:0 4px !important; }
.select2-dropdown{ border:1px solid var(--fz-accent) !important; border-radius:10px !important; box-shadow: var(--fz-shadow) !important; margin-top:4px !important; }
.select2-container--default .select2-results__option{ padding:10px 12px !important; font-size:15px !important; }
.select2-container--default .select2-results__option--highlighted[aria-selected]{ background-color:var(--fz-primary) !important; color:#fff !important; }
.select2-container--default .select2-results__option[aria-selected="true"]{ background-color:var(--fz-primary-2) !important; color:var(--fz-text) !important; }
/* Ha nincs kiválasztott elem, ne legyen nagy üres hely */
.select2-container--default .select2-selection--multiple:not(:has(.select2-selection__choice)) .select2-selection__rendered{ margin-top:0 !important; }

/* ==========================================================================
   Sticky mentés sáv
   ========================================================================== */
.save-bar{
  position: sticky;
  bottom: 0;
  z-index: 1000; /* biztosan a térkép fölé kerüljön */
  background: linear-gradient(180deg,#ffffff 0%, #f9fbfd 100%);
  border-top: 1px solid var(--fz-accent);
  padding: 12px 16px;
  display: flex;
  gap: .6rem;
  justify-content: flex-end;
}
.save-bar .save-btn{
  padding: 10px 18px; border-radius: 10px; border: none;
  background: linear-gradient(90deg, #64b19a, #117486);
  color:#fff; font-weight:600; cursor:pointer; box-shadow: var(--fz-shadow-soft);
}
.save-bar .cancel-btn{
  background: transparent; color: var(--fz-primary);
  border: 2px solid var(--fz-primary); border-radius:10px;
  padding: 8px 14px; font-weight:600; cursor:pointer;
}

/* ==========================================================================
   Collapsible blokkok (térképek) – KOMPAKT VERZIÓ
   ========================================================================== */

.collapsible {
  border: 1px solid var(--fz-accent);
  border-radius: 10px;
  background: #fff;
  box-shadow: var(--fz-shadow-soft);
  margin-bottom: 1rem;
  transition: box-shadow 0.2s ease;
}

.collapsible:hover {
  box-shadow: var(--fz-shadow);
}

.collapsible-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  cursor: pointer;
  user-select: none;
  transition: background 0.2s ease;
  border-radius: 10px;
}

.collapsible-header:hover {
  background: var(--fz-bg);
}

/* Cím + előnézet wrapper */
.collapsible-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
}

.collapsible-title .map-icon {
  font-size: 20px;
  opacity: 0.7;
}

.collapsible-header h4 {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  color: var(--fz-text);
}

/* Cím előnézet (kis szürke szöveg) */
.address-preview {
  font-size: 13px;
  color: var(--fz-muted);
  font-weight: 400;
  margin-left: 0.5rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 300px;
}

/* Chevron animáció */
.collapsible-header .chev {
  transition: transform 0.3s ease;
  font-size: 16px;
  color: var(--fz-muted);
}

.collapsible.open .collapsible-header .chev {
  transform: rotate(180deg);
}

/* Collapsible body – smooth animáció */
.collapsible-body {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  padding: 0 16px;
  transition: max-height 0.4s ease, opacity 0.3s ease, padding 0.3s ease;
}

.collapsible.open .collapsible-body {
  max-height: 1200px; /* Elég nagy, hogy minden térkép beleférjen */
  opacity: 1;
  padding: 0 16px 16px 16px;
}

/* Térkép mérete kisebb, ha nincs kinyitva */
.collapsible:not(.open) .map-picker {
  display: none;
}

/* ==========================================================================
   Egyéb utilok + reszponzivitás
   ========================================================================== */
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }
.grid-2 { display:grid; grid-template-columns: 1fr 1fr; gap:1rem; }
@media (max-width: 980px){ .grid-2 { grid-template-columns: 1fr; } }

@media (max-width: 980px){
  .profile-edit-wrapper{ flex-direction: column; gap: 1rem; padding: 24px; margin-left: 0; width: 100%; max-width: 100%; }
  .sidebar{ position: static; width: 100%; }
}
@media (max-width: 768px){
  .form-row .form-group.half,
  .form-row .form-group.third{ flex: 1 1 100%; min-width: 0; }
}
@media (max-width: 600px){
  .main-content{ padding: 1.25rem; }
  .fiziomap-profile-edit-form{ padding: 0; }
}

/* prefer-reduced-motion: kevesebb animáció */
@media (prefers-reduced-motion: reduce){
  *{ transition: none !important; }
}
/* === HOTFIX 1: Profilkép kemény korlát (felülbírál bármit) ================= */
.profile-picture-preview{ max-width: 140px; }
.profile-picture-preview img{
  width: 120px !important;
  height: 120px !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  display: block !important;
  border: 3px solid var(--fz-primary);
  box-shadow: var(--fz-shadow-soft);
}

/* Bizonyos böngészők natív file-preview-ját rejtsük el, nehogy külön kép jelenjen meg */
.file-upload-wrapper img { display: none !important; }

/* === HOTFIX 2: Full-width hack kikapcsolása problémás témáknál ============ */
/* Ha a mostani téma/oldal builder konténeres, térjünk vissza a „középre 80%” verzióra. */
.profile-edit-wrapper{
  width: 80% !important;
  max-width: 1200px !important;
  margin: 20px auto !important;
  padding: 0 !important;
  background: transparent !important;
}

/* Sidebar sticky csak desktopon legyen feltűnő */
@media (max-width: 980px){
  .sidebar{ position: static !important; }
}

/* Mentéssáv ne takarjon ki semmit, mindig a tartalom felett maradjon */
.save-bar{ z-index: 9999 !important; }
/* 1) Ne legyen keskeny – normál tartalomszélesség */
.profile-edit-wrapper{
  width: min(1200px, 95vw) !important;
  max-width: none !important;
  margin: 24px auto !important;
  padding: 0 !important;
  background: transparent !important;
}

/* 2) A belső form ne szűkítsen (eddig 880px volt) */
.fiziomap-profile-edit-form{
  max-width: 100% !important;
}

/* csak az ÚJ sáv maradjon, a régi gombsor tűnjön el */
.profile-buttons { display: none !important; }
/* FIX (nem sticky) mentéssáv – mindig az ablak alján */
.save-bar{
  position: fixed !important;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: min(1200px, 95vw);
  z-index: 9999;
  background: linear-gradient(180deg,#ffffff 0%, #f9fbfd 100%);
  border-top: 1px solid var(--fz-accent);
  padding: 12px 16px;
  display: flex;
  gap: .6rem;
  justify-content: flex-end;
  box-shadow: 0 -6px 18px rgba(15,23,42,.06);
}

/* hogy a fix sáv ne takarja ki az alját: adjunk helyet alul */
.fiziomap-profile-edit-form{ padding-bottom: 100px !important; }

/* gombstílus (marad) */
.save-bar .save-btn {
  padding: 10px 18px;
  border-radius: 10px;
  border: none;
  background: linear-gradient(90deg, #64b19a, #117486);
  color:#fff; font-weight:600; cursor:pointer;
  box-shadow: var(--fz-shadow-soft);
}
.save-bar .cancel-btn {
  background: transparent; color: var(--fz-primary);
  border: 2px solid var(--fz-primary); border-radius:10px;
  padding: 8px 14px; font-weight:600; cursor:pointer;
}
/* Régi gombsor teljes tiltása, bárhogy is került be */
.fiziomap-profile-edit-form .profile-buttons,
.fiziomap-profile-edit-form .profile-buttons *,
.fiziomap-profile-edit-form .profile-buttons .button,
.fiziomap-profile-edit-form .profile-buttons .button-primary {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
.sidebar a.scroll-link {
  text-decoration: none;
  display: block;
  padding: .6rem .8rem;
  border-radius: 10px;
  color: var(--fz-text);
  border: 1px solid transparent;
}
.sidebar a.scroll-link:hover {
  background: var(--fz-bg);
  border-color: var(--fz-accent);
}
/* opcionális: aktív elem kézi kiemeléshez (smooth-scroll után hozzáadjuk JS-sel) */
.sidebar a.scroll-link.active {
  background: var(--fz-primary);
  color: #fff;
  border-color: var(--fz-primary);
}
/* Oldalsáv – fő és almenü */
.sidebar .menu { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .3rem; }
.sidebar .menu-item > a { display: block; padding: .6rem .8rem; border-radius: 10px; color: var(--fz-text); text-decoration: none; border: 1px solid transparent; }
.sidebar .menu-item > a:hover { background: var(--fz-bg); border-color: var(--fz-accent); }
.sidebar .menu-item.active > a,
.sidebar a.scroll-link.active { background: var(--fz-primary); color: #fff; border-color: var(--fz-primary); }

.sidebar .menu-item.has-sub .caret { float: right; opacity: .7; }

/* Almenü (Adatok alatt) */
.sidebar .submenu {
  list-style: none;
  padding: .4rem 0 .6rem 0;
  margin: 0 .2rem 0 .2rem;
  border-left: 2px solid var(--fz-accent);
}
.sidebar .submenu li a {
  display: block;
  padding: .4rem .6rem .4rem 1rem;
  border-radius: 8px;
  color: var(--fz-text);
  text-decoration: none;
  border: 1px solid transparent;
  font-weight: 500;
}
.sidebar .submenu li a:hover { background: var(--fz-bg); border-color: var(--fz-accent); }

/* mobilon kicsit szorosabb */
@media (max-width: 980px){
  .sidebar .submenu { border-left: none; padding-left: .2rem; }
  .sidebar .submenu li a { padding-left: .8rem; }
}
/* ===============================================
   Sidebar – finomított spacing + hierarchikus színezés
   =============================================== */

/* --- Főmenü --- */
.sidebar .menu {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.15rem; /* volt 0.3 – csökkentett térköz */
}

.sidebar .menu-item > a {
  display: block;
  padding: 0.45rem 0.75rem; /* kompaktabb */
  border-radius: 8px;
  color: var(--fz-text);
  text-decoration: none;
  border: 1px solid transparent;
  font-weight: 600;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.sidebar .menu-item > a:hover {
  background: var(--fz-bg);
  border-color: var(--fz-accent);
}

.sidebar .menu-item.active > a,
.sidebar a.scroll-link.active {
  background: var(--fz-primary);
  color: #fff;
  border-color: var(--fz-primary);
}

/* --- Almenü (Adatok alatt) --- */
.sidebar .menu-item.has-sub .caret {
  float: right;
  opacity: 0.6;
  font-size: 0.8em;
}

.sidebar .submenu {
  list-style: none;
  padding: 0.25rem 0 0.4rem 0.75rem;
  margin: 0;
  border-left: 2px solid var(--fz-accent);
}

.sidebar .submenu li a {
  display: block;
  padding: 0.35rem 0.6rem;
  border-radius: 6px;
  color: var(--fz-text);
  text-decoration: none;
  font-weight: 500;
  font-size: 0.95em;
  border: 1px solid transparent;
  transition: background 0.2s ease, border-color 0.2s ease;
}

/* almenü hover: csak finom háttér, nem zöld */
.sidebar .submenu li a:hover {
  background: var(--fz-bg);
  border-color: var(--fz-accent);
  color: var(--fz-text);
}

/* almenü aktív állapot: halvány zöld keret, fehér háttér */
.sidebar .submenu li a.active {
  background: #fff;
  border-color: var(--fz-primary);
  color: var(--fz-primary);
  font-weight: 600;
}

/* --- Reszponzív finomítás --- */
@media (max-width: 980px){
  .sidebar .submenu {
    border-left: none;
    padding-left: 0.5rem;
  }
  .sidebar .menu-item > a {
    padding: 0.5rem 0.6rem;
  }
}
/* ===== Almenü (Adatok alatti lista) – kompakt, nem zöld háttér ===== */

.sidebar .submenu {
  list-style: none !important;
  margin: 0 !important;
  padding: 0.2rem 0 0.4rem 0.75rem !important;
  border-left: 2px solid var(--fz-accent) !important;
  background: transparent !important;      /* 🔸 semleges háttér */
}

.sidebar .submenu li {
  margin: 0 !important;
  padding: 0 !important;
}

.sidebar .submenu li a {
  display: block;
  padding: 0.25rem 0.6rem !important;      /* 🔸 kisebb térköz */
  margin: 0.1rem 0 !important;
  border-radius: 6px !important;
  font-size: 0.93em !important;
  font-weight: 500 !important;
  color: var(--fz-text) !important;
  background: transparent !important;      /* 🔸 teljesen fehér háttér helyett átlátszó */
  border: 1px solid transparent !important;
  text-decoration: none !important;
  transition: background .15s ease, border-color .15s ease;
}

/* Hover – finom szürke háttér, nem zöld */
.sidebar .submenu li a:hover {
  background: #f3f4f6 !important;          /* világos szürke */
  border-color: var(--fz-accent) !important;
  color: var(--fz-text) !important;
}

/* Aktív almenü – csak keret */
.sidebar .submenu li a.active {
  background: #fff !important;
  border-color: var(--fz-primary) !important;
  color: var(--fz-primary) !important;
  font-weight: 600 !important;
}

/* Főmenü és almenü közötti távolság minimalizálása */
.sidebar .menu-item.has-sub { margin-bottom: 0.2rem !important; }

/* Mobilon még szorosabb */
@media (max-width: 980px){
  .sidebar .submenu {
    border-left: none !important;
    padding-left: 0.4rem !important;
  }
  .sidebar .submenu li a {
    padding: 0.3rem 0.5rem !important;
  }
}
/* ===== SUBMENU HOTFIX: ne örököljön zöld hátteret, legyen kompakt ===== */

/* 1) Csak a felső szint legyen "tab" – az almenü LI-k ne örököljenek */
.sidebar .submenu li {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.sidebar .submenu li:hover,
.sidebar .submenu li.active {
  background: transparent !important;
}

/* 2) Az ANCHOR-aktív zöldet tiltsuk az almenüben */
.sidebar .submenu a.scroll-link.active {
  background: transparent !important;
  color: var(--fz-primary) !important;
  border-color: var(--fz-primary) !important;
}

/* 3) Almenü linkek kompakt paddings + kisebb gap */
.sidebar > .menu { gap: 0.10rem !important; }           /* főmenü közti térköz még kisebb */
.sidebar .submenu {
  background: transparent !important;
  border-left: 2px solid var(--fz-accent) !important;
  padding: 0.15rem 0 0.25rem 0.6rem !important;
  margin: 0 !important;
}
.sidebar .submenu li a {
  display: block;
  padding: 0.22rem 0.5rem !important;                   /* kisebb belső térköz */
  margin: 0.04rem 0 !important;                         /* sorok közti minimális tér */
  border-radius: 6px !important;
  font-size: 0.92em !important;
  line-height: 1.2 !important;
  color: var(--fz-text) !important;
  background: transparent !important;                   /* NEM zöld */
  border: 1px solid transparent !important;
}
.sidebar .submenu li a:hover {
  background: #f3f4f6 !important;                       /* finom szürke hover */
  border-color: var(--fz-accent) !important;
}

/* 4) Biztonság kedvéért: a zöld "active" csak a FŐ szintre vonatkozzon */
.sidebar > .menu > .menu-item.active > a {
  background: var(--fz-primary) !important;
  color: #fff !important;
  border-color: var(--fz-primary) !important;
}
/* ===== Sidebar és almenü: stabil sticky viselkedés ===== */

/* A teljes oldalsáv tapad a viewport tetejéhez és görgethető, ha hosszú */
.sidebar{
  position: sticky !important;
  top: 16px;                  /* mennyire legyen "lejjebb" a tetejétől */
  max-height: calc(100vh - 32px);
  overflow: auto;             /* ha hosszú a lista, belül görögjön */
  z-index: 10;
}

/* Az "Adatok" fő tétel fejléce is tapadjon a saját listáján belül,
   így az almenü görgetése közben is látszik a cím */
.sidebar .menu-item.has-sub > a{
  position: sticky;
  top: 0;                     /* a sidebar top-jához igazodik */
  background: #fff;           /* hogy ne ütközzön a mögötte görgetett elemekkel */
  z-index: 2;
  border-bottom: 1px solid var(--fz-accent);
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}

/* A tapadó fejléc alatt az almenü indul – tetején egy kis belső tér */
.sidebar .submenu{
  padding-top: .25rem !important;
}

/* Mobilon a sticky zavaró tud lenni: ott kikapcsoljuk */
@media (max-width: 980px){
  .sidebar{
    position: static !important;
    max-height: none;
    overflow: visible;
  }
  .sidebar .menu-item.has-sub > a{
    position: static;
    border-bottom: 0;
  }
}
/* ==========================================================================
   Sidebar (tabs) – Tapadó, kompakt, dinamikus magasság
   ========================================================================== */

.sidebar {
  flex: 0 0 220px; /* Keskenyebb (volt 240px) */
  background: #fff;
  padding: 1rem; /* Kisebb padding (volt 1.5rem) */
  border: 1px solid var(--fz-accent);
  border-radius: var(--fz-radius);
  box-shadow: var(--fz-shadow-soft);
  
  /* ✅ STICKY – tapad az oldal tetejéhez */
  position: sticky;
  top: 20px;
  align-self: flex-start;
  
  /* ✅ Nincs görgő, dinamikus magasság */
  max-height: none; /* Töröljük a max-height korlátozást */
  overflow: visible; /* Nem lesz belső görgő */
}

.sidebar ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.15rem; /* Szűkebb térköz (volt 0.3rem) */
}

/* Főmenü gombok – kompaktabb */
.sidebar .menu-item > a {
  display: block;
  padding: 0.5rem 0.7rem; /* Kisebb padding (volt 0.6rem 0.8rem) */
  border-radius: 8px; /* Kisebb lekerekítés (volt 10px) */
  color: var(--fz-text);
  text-decoration: none;
  border: 1px solid transparent;
  font-weight: 600;
  font-size: 14px; /* Kisebb betű (volt 15px) */
  transition: background 0.2s ease, border-color 0.2s ease;
}

.sidebar .menu-item > a:hover {
  background: var(--fz-bg);
  border-color: var(--fz-accent);
}

.sidebar .menu-item.active > a,
.sidebar a.scroll-link.active {
  background: var(--fz-primary);
  color: #fff;
  border-color: var(--fz-primary);
}

/* Chevron ikon (▾) */
.sidebar .menu-item.has-sub .caret {
  float: right;
  opacity: 0.6;
  font-size: 0.8em;
}

/* Almenü (Adatok alatt) – kompaktabb */
.sidebar .submenu {
  list-style: none !important;
  margin: 0 !important;
  padding: 0.15rem 0 0.25rem 0.6rem !important; /* Kisebb padding */
  border-left: 2px solid var(--fz-accent) !important;
  background: transparent !important;
}

.sidebar .submenu li {
  margin: 0 !important;
  padding: 0 !important;
}

.sidebar .submenu li a {
  display: block;
  padding: 0.3rem 0.5rem !important; /* Kisebb térköz (volt 0.35rem 0.6rem) */
  margin: 0.05rem 0 !important;
  border-radius: 6px !important;
  font-size: 13px !important; /* Kisebb betű (volt 14px) */
  font-weight: 500 !important;
  color: var(--fz-text) !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  text-decoration: none !important;
  transition: background .15s ease, border-color .15s ease;
}

/* Hover – finom szürke háttér */
.sidebar .submenu li a:hover {
  background: #f3f4f6 !important;
  border-color: var(--fz-accent) !important;
  color: var(--fz-text) !important;
}

/* Aktív almenü – csak keret */
.sidebar .submenu li a.active {
  background: #fff !important;
  border-color: var(--fz-primary) !important;
  color: var(--fz-primary) !important;
  font-weight: 600 !important;
}

/* Sidebar footer (Kilépés gomb) */
.sidebar-footer {
  margin-top: 1rem; /* Kisebb térköz (volt 1.2rem) */
  border-top: 1px solid var(--fz-accent);
  padding-top: 0.8rem;
}

.logout-link {
  display: inline-block;
  background: #f59e0b;
  color: #fff;
  padding: 0.4rem 0.8rem; /* Kisebb gomb (volt 0.5rem 1rem) */
  border-radius: 8px;
  text-decoration: none;
  font-size: 13px; /* Kisebb betű */
  font-weight: 600;
  transition: transform .15s ease, box-shadow .15s ease;
}

.logout-link:hover {
  transform: translateY(-1px);
  box-shadow: var(--fz-shadow-soft);
}

/* Mobilon kikapcsoljuk a sticky-t */
@media (max-width: 980px) {
  .sidebar {
    position: static !important;
    flex: 1 1 100%;
    width: 100%;
  }
}

/* ==========================================================================
   Sikeres mentés toast animáció + vizuális visszajelzés
   ========================================================================== */

/* Zöld sikeres mentés üzenet fade-in animációval */
.notice.notice-success.fade-in {
  animation: fadeInSlide 0.4s ease-out;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: #ecfdf5;
  border-left: 4px solid #10b981;
  color: #065f46;
  padding: 1rem 1.25rem;
  border-radius: 8px;
  margin-bottom: 1.5rem;
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.15);
}

.notice.notice-success .success-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: #10b981;
  color: #fff;
  border-radius: 50%;
  font-weight: 700;
  font-size: 16px;
}

/* Fade-in slide animáció */
@keyframes fadeInSlide {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ==========================================================================
   Sticky mentés sáv – TELJESEN ÁTLÁTSZÓ blur + űrlap teljes szélességében
   ========================================================================== */

.save-bar {
  position: fixed !important;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: 100%; /* Teljes képernyő szélesség */
  max-width: none; /* Nincs korlátozás */
  z-index: 9999;
  
  /* 🔸 MAJDNEM TELJESEN ÁTLÁTSZÓ glassmorphism */
  background: rgba(255, 255, 255, 0.15); /* Nagyon átlátszó! */
  backdrop-filter: blur(32px) saturate(200%);
  -webkit-backdrop-filter: blur(32px) saturate(200%);
  
  /* Finomabb árnyék */
  box-shadow: 0 -8px 40px rgba(15, 23, 42, 0.08);
  border-top: 1px solid rgba(100, 177, 154, 0.2);
  
  padding: 18px 24px;
  display: flex;
  gap: 1rem;
  justify-content: center; /* Középre igazítva */
  align-items: center;
  
  /* Smooth megjelenés */
  animation: slideUp 0.3s ease-out;
}

/* Ha az űrlap szélessége korlátozott, a gombok blokkja követi */
.save-bar::before {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: min(1200px, 95vw);
  height: 100%;
  pointer-events: none;
}

/* Gombok wrapper – követi az űrlap szélességét */
.save-bar > * {
  position: relative;
  z-index: 1;
}

/* Slide-up animáció */
@keyframes slideUp {
  from {
    transform: translateX(-50%) translateY(100%);
    opacity: 0;
  }
  to {
    transform: translateX(-50%) translateY(0);
    opacity: 1;
  }
}

/* Mentés gomb stílusa */
.save-bar .save-btn {
  position: relative;
  padding: 13px 28px;
  border-radius: 11px;
  border: none;
  background: linear-gradient(90deg, #64b19a, #117486);
  color: #fff;
  font-weight: 600;
  font-size: 16px;
  cursor: pointer;
  box-shadow: 0 4px 20px rgba(100, 177, 154, 0.35);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.save-bar .save-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 24px rgba(100, 177, 154, 0.45);
}

.save-bar .save-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

/* Betöltési ikon animáció */
.save-bar .btn-loader {
  display: inline-block;
  animation: pulse 1s ease-in-out infinite;
}

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

/* Mégse gomb */
.save-bar .cancel-btn {
  background: rgba(255, 255, 255, 0.7);
  color: var(--fz-primary);
  border: 2px solid var(--fz-primary);
  border-radius: 11px;
  padding: 11px 22px;
  font-weight: 600;
  font-size: 16px;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.15s ease;
}

.save-bar .cancel-btn:hover {
  background: rgba(255, 255, 255, 0.95);
  transform: translateY(-1px);
}

/* Hogy a fix sáv ne takarja ki az oldal alját */
.fiziomap-profile-edit-form {
  padding-bottom: 120px !important;
}

/* ==========================================================================
   Reszponzivitás
   ========================================================================== */

@media (max-width: 768px) {
  .save-bar {
    padding: 14px 18px;
    gap: 0.7rem;
  }

  .save-bar .save-btn {
    padding: 11px 18px;
    font-size: 15px;
  }

  .save-bar .cancel-btn {
    padding: 9px 16px;
    font-size: 15px;
  }
}

/* ==========================================================================
   Prefer reduced motion
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
  .save-bar {
    animation: none !important;
  }
  
  .save-bar .btn-loader {
    animation: none !important;
  }
}

/* ==========================================================================
   Nyilvános profil előnézet (szerkesztőben)
   ========================================================================== */

.profile-public-preview {
  border: 2px solid #f59e0b;
  position: relative;
}

.profile-public-preview::before {
  content: '👁️ ÉLŐÉLŐ ELŐNÉZET';
  position: absolute;
  top: -12px;
  left: 20px;
  background: #f59e0b;
  color: #fff;
  padding: 4px 12px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.5px;
}

.public-profile-preview {
  background: #fff;
  border-radius: 12px;
  padding: 2rem;
  margin-top: 1rem;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
}

/* Fejléc */
.preview-profile-header {
  text-align: center;
  padding-bottom: 1.5rem;
  border-bottom: 2px solid var(--fz-accent);
  margin-bottom: 1.5rem;
}

.preview-photo-container {
  margin-bottom: 1rem;
}

.preview-profile-photo {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid var(--fz-primary);
  box-shadow: 0 4px 16px rgba(100, 177, 154, 0.3);
}

.preview-photo-placeholder {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: var(--fz-accent);
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 4px dashed var(--fz-primary);
  opacity: 0.6;
  font-size: 36px;
}

.preview-photo-placeholder small {
  font-size: 12px;
  color: var(--fz-muted);
  margin-top: 4px;
}

.preview-profile-name {
  font-size: 1.8rem;
  font-weight: 800;
  color: var(--fz-text);
  margin: 0 0 1rem 0;
}

.preview-profile-description {
  text-align: left;
  background: var(--fz-bg);
  padding: 1rem 1.5rem;
  border-radius: 10px;
  margin-top: 1rem;
}

.preview-profile-description h4 {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--fz-text);
  margin: 0 0 0.75rem 0;
}

.preview-profile-description p,
.preview-profile-description div {
  font-size: 15px;
  line-height: 1.7;
  color: var(--fz-text);
  margin: 0;
}

/* Szakasz blokkók */
.preview-contact-section,
.preview-academic-section,
.preview-social-section {
  background: var(--fz-bg);
  padding: 1rem 1.5rem;
  border-radius: 10px;
  margin-bottom: 1rem;
}

.preview-contact-section h4,
.preview-academic-section h4,
.preview-social-section h4 {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--fz-text);
  margin: 0 0 0.75rem 0;
}

.preview-contact-section p,
.preview-academic-section p {
  font-size: 14px;
  color: var(--fz-text);
  margin: 0.5rem 0;
}

.preview-social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.social-preview-link {
  display: inline-block;
  background: var(--fz-primary);
  color: #fff;
  padding: 6px 14px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.15s ease;
}

.social-preview-link:hover {
  background: #58a285;
  transform: translateY(-1px);
}

/* Footer megjegyzés */
.preview-footer-note {
  margin-top: 1rem;
  padding: 12px 16px;
  background: rgba(245, 158, 11, 0.1);
  border-left: 3px solid #f59e0b;
  border-radius: 8px;
  font-size: 14px;
  color: var(--fz-text);
  line-height: 1.5;
}
/* ==========================================================================
   Form styling – KOMPAKT VERZIÓ
   ========================================================================== */

.fiziomap-profile-edit-form {
  max-width: 100%;
}

.fiziomap-profile-edit-form .form-group {
  margin-bottom: 0.8rem; /* Kisebb térköz (volt 1rem) */
}

.fiziomap-profile-edit-form label {
  display: block;
  margin-bottom: 0.4rem; /* Kisebb térköz (volt 0.5rem) */
  font-weight: 600;
  font-size: 14px; /* Kisebb betű (volt 15px vagy 16px) */
  color: var(--fz-text);
  line-height: 1.3;
}

.fiziomap-profile-edit-form input[type="text"],
.fiziomap-profile-edit-form input[type="email"],
.fiziomap-profile-edit-form input[type="url"],
.fiziomap-profile-edit-form input[type="number"],
.fiziomap-profile-edit-form textarea,
.fiziomap-profile-edit-form select {
  width: 100%;
  padding: 8px 10px; /* Kisebb padding (volt 10px 12px) */
  border: 1px solid var(--fz-accent);
  border-radius: 8px; /* Kisebb lekerekítés (volt 10px) */
  background: #fff;
  color: var(--fz-text);
  font-size: 14px; /* Kisebb betű (volt 15px) */
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
  margin-bottom: 0; /* Töröljük a margin-t */
}

.fiziomap-profile-edit-form textarea {
  resize: vertical;
  min-height: 80px; /* Kisebb textarea (volt 96px) */
}

.fiziomap-profile-edit-form input:focus,
.fiziomap-profile-edit-form textarea:focus,
.fiziomap-profile-edit-form select:focus {
  border-color: var(--fz-primary);
  outline: none;
  box-shadow: var(--fz-focus);
}

/* Field hints (mikrocímkék) – KISEBB BETŰ */
.field-hint {
  font-size: 12px; /* Kisebb (volt 13px vagy 14px) */
  color: var(--fz-muted);
  margin-top: 0.3rem; /* Kisebb térköz (volt 0.5rem) */
  margin-bottom: 0.6rem; /* Kisebb térköz */
  line-height: 1.4;
  font-style: italic;
}

/* Checkbox / multiselect lists */
.fiziomap-profile-edit-form .checkbox-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem; /* Kisebb térköz (volt 0.6rem) */
}

.fiziomap-profile-edit-form .checkbox-group label {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-weight: 400;
  color: var(--fz-text);
  font-size: 13px; /* Kisebb betű */
}

/* ==========================================================================
   Profil szakaszolás – KOMPAKT VERZIÓ
   ========================================================================== */

.profile-section {
  background: #fff;
  border: 1px solid var(--fz-accent);
  border-radius: var(--fz-radius);
  box-shadow: var(--fz-shadow-soft);
  padding: 1.2rem; /* Kisebb padding (volt 1.5rem) */
  margin-bottom: 1.2rem; /* Kisebb térköz (volt 1.5rem) */
}

.profile-section h2,
.profile-section h3 {
  font-weight: 800;
  font-size: 1.3rem; /* Kisebb (volt 1.4rem vagy 1.5rem) */
  color: var(--fz-text);
  margin-bottom: 0.6rem; /* Kisebb térköz (volt 0.8rem) */
  border-bottom: 1px solid var(--fz-accent);
  padding-bottom: 0.3rem; /* Kisebb térköz (volt 0.4rem) */
}

.profile-section label {
  display: block;
  margin-bottom: 0.6rem; /* Kisebb térköz (volt 0.9rem) */
  font-weight: 600;
  font-size: 14px; /* Kisebb betű */
  color: var(--fz-text);
}

/* Office item kártya */
.office-item {
  border: 1px solid var(--fz-accent);
  border-radius: 8px;
  padding: 0.8rem; /* Kisebb padding (volt 1rem) */
  margin-bottom: 1rem; /* Kisebb térköz (volt 1.5rem) */
  background: #f9fafb;
}

/* ==========================================================================
   Kétoszlopos grid layout – KOMPAKT VERZIÓ
   ========================================================================== */

.form-section-fields {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem; /* Kisebb térköz (volt 1.5rem) */
}

@media (min-width: 768px) {
  .form-section-fields {
    grid-template-columns: 1fr 1fr;
    gap: 1.2rem 1rem; /* Kisebb térköz (volt 2rem 1.5rem) */
  }
  
  .form-group.full-width {
    grid-column: 1 / -1;
  }
}

/* ==========================================================================
   Form row layout – KOMPAKT VERZIÓ
   ========================================================================== */

.form-row {
  display: flex;
  gap: 0.8rem; /* Kisebb térköz (volt 1rem) */
  flex-wrap: wrap;
}

.form-row .form-group.half {
  flex: 1 1 48%;
  min-width: 240px; /* Kisebb minimum (volt 260px) */
}

.form-row .form-group.third {
  flex: 1 1 30%;
  min-width: 180px; /* Kisebb minimum (volt 200px) */
}

/* ==========================================================================
   Form actions / buttons
   ========================================================================== */

.form-actions {
  margin-top: 1.2rem; /* Kisebb térköz (volt 1.6rem) */
  display: flex;
  gap: 0.6rem; /* Kisebb térköz (volt 0.8rem) */
  justify-content: flex-end;
  flex-wrap: wrap;
}

.fiziomap-profile-edit-form button,
.fiziomap-profile-edit-form input[type="submit"],
.fz-btn,
.button,
.button-primary {
  display: inline-block;
  padding: 8px 16px; /* Kisebb gomb (volt 10px 18px) */
  border-radius: 8px; /* Kisebb lekerekítés (volt 10px) */
  border: none;
  background: linear-gradient(90deg, #64b19a, #117486);
  color: #fff;
  font-weight: 600;
  font-size: 14px; /* Kisebb betű (volt 16px) */
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(15,23,42,0.08);
  transition: transform .15s ease, box-shadow .15s ease, opacity .2s ease;
}

.fiziomap-profile-edit-form button:hover,
.fiziomap-profile-edit-form input[type="submit"]:hover,
.fz-btn:hover,
.button:hover,
.button-primary:hover {
  transform: translateY(-1px);
  box-shadow: var(--fz-shadow);
  opacity: .95;
}
/* ==========================================================================
   Radio button group – KOMPAKT VERZIÓ (Hogyan dolgozol?)
   ========================================================================== */

.fiziomap-profile-edit-form input[type="radio"] {
  accent-color: var(--fz-primary);
  width: 16px;
  height: 16px;
  margin: 0 0.3rem 0 0; /* Kisebb térköz */
  vertical-align: middle;
}

.fiziomap-profile-edit-form label input[type="radio"] {
  margin-right: 0.4rem; /* Kisebb térköz a szöveg előtt */
}

/* Radio button blokkok kompaktabbak */
.fiziomap-profile-edit-form .form-group label {
  display: flex;
  align-items: center;
  gap: 0.4rem; /* Kisebb térköz (volt 0.5rem vagy több) */
  margin-bottom: 0.4rem; /* Kisebb térköz a következő opcióig */
  line-height: 1.3;
}

/* Ha van <br> tag a label után, töröljük a térközt */
.fiziomap-profile-edit-form label br {
  display: none;
}

/* ==========================================================================
   Select2 customizálás – KOMPAKT VERZIÓ
   ========================================================================== */

.select2-container {
  width: 100% !important;
  margin-top: 0 !important; /* Nincs extra térköz */
}

.select2-container--default .select2-selection--multiple {
  border: 1px solid var(--fz-accent) !important;
  border-radius: 8px !important; /* Kisebb lekerekítés (volt 10px) */
  padding: 6px 8px !important; /* Kisebb padding (volt 8px 10px) */
  min-height: 38px !important; /* Kisebb magasság (volt 46px) */
  background: #fff !important;
  box-sizing: border-box !important;
  display: block !important;
}

.select2-container--default .select2-selection--multiple:focus,
.select2-container--default.select2-container--focus .select2-selection--multiple {
  border-color: var(--fz-primary) !important;
  box-shadow: var(--fz-focus) !important;
  outline: none !important;
}

.select2-container--default .select2-selection--multiple .select2-search--inline {
  display: block !important;
  width: 100% !important;
}

.select2-container--default .select2-selection--multiple .select2-search__field {
  width: 100% !important;
  min-width: 180px !important; /* Kisebb minimum (volt 200px) */
  padding: 4px !important; /* Kisebb padding (volt 6px) */
  margin: 0 !important;
  border: none !important;
  outline: none !important;
  color: var(--fz-text) !important;
  font-size: 14px !important; /* Kisebb betű (volt 15px) */
}

.select2-container--default .select2-selection--multiple .select2-search__field::placeholder {
  color: var(--fz-muted) !important;
  opacity: .6 !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__rendered {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important; /* Kisebb térköz (volt 8px) */
  padding: 0 !important;
  margin-top: 4px !important; /* Kisebb térköz (volt 8px) */
  list-style: none !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background: var(--fz-primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 6px !important; /* Kisebb lekerekítés (volt 8px) */
  padding: 5px 10px !important; /* Kisebb padding (volt 8px 12px) */
  margin: 0 !important;
  font-weight: 500 !important;
  font-size: 13px !important; /* Kisebb betű (volt 14px) */
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important; /* Kisebb térköz (volt 8px) */
  line-height: 1.3 !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  color: #fff !important;
  font-size: 16px !important; /* Kisebb (volt 18px) */
  font-weight: 700 !important;
  margin-left: 3px !important; /* Kisebb térköz (volt 4px) */
  background: none !important;
  cursor: pointer !important;
  order: 2 !important;
  transition: all .2s ease !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
  color: #fee !important;
  background: rgba(255,255,255,0.25) !important;
  border-radius: 4px !important;
  padding: 0 3px !important;
}

.select2-dropdown {
  border: 1px solid var(--fz-accent) !important;
  border-radius: 8px !important; /* Kisebb lekerekítés (volt 10px) */
  box-shadow: var(--fz-shadow) !important;
  margin-top: 3px !important; /* Kisebb térköz (volt 4px) */
}

.select2-container--default .select2-results__option {
  padding: 8px 10px !important; /* Kisebb padding (volt 10px 12px) */
  font-size: 14px !important; /* Kisebb betű (volt 15px) */
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: var(--fz-primary) !important;
  color: #fff !important;
}

.select2-container--default .select2-results__option[aria-selected="true"] {
  background-color: var(--fz-primary-2) !important;
  color: var(--fz-text) !important;
}

/* Ha nincs kiválasztott elem, ne legyen nagy üres hely */
.select2-container--default .select2-selection--multiple:not(:has(.select2-selection__choice)) .select2-selection__rendered {
  margin-top: 0 !important;
}

/* ==========================================================================
   Label + input közötti térköz csökkentése
   ========================================================================== */

.fiziomap-profile-edit-form label + input,
.fiziomap-profile-edit-form label + select,
.fiziomap-profile-edit-form label + textarea,
.fiziomap-profile-edit-form label + .select2-container {
  margin-top: 0.3rem; /* Kisebb térköz (volt 0.5rem vagy több) */
}

/* Ha van field-hint, akkor is kompakt legyen */
.field-hint + input,
.field-hint + select,
.field-hint + textarea,
.field-hint + .select2-container {
  margin-top: 0.4rem;
}
/* ==========================================================================
   Reszponzivitás – Mobil és tablet
   ========================================================================== */

/* Tablet (768px - 980px) */
@media (max-width: 980px) {
  .profile-edit-wrapper {
    flex-direction: column;
    gap: 1rem;
    padding: 20px;
    width: 100%;
    max-width: 100%;
    margin: 0;
  }
  
  .sidebar {
    position: static !important;
    flex: 1 1 100%;
    width: 100%;
    max-height: none;
    overflow: visible;
  }
  
  .main-content {
    width: 100%;
    padding: 1.5rem;
  }
  
  /* Kétoszlopos grid egyszóposra tablet alatt */
  .form-section-fields {
    grid-template-columns: 1fr !important;
    gap: 0.8rem;
  }
}

/* Mobil (768px alatt) */
@media (max-width: 768px) {
  .profile-edit-wrapper {
    padding: 12px;
    width: 100%;
    margin: 0;
  }
  
  .main-content {
    padding: 1rem;
    border-radius: 8px;
  }
  
  .profile-section {
    padding: 1rem;
    margin-bottom: 1rem;
    border-radius: 8px;
  }
  
  .profile-section h2,
  .profile-section h3 {
    font-size: 1.2rem;
  }
  
  /* Form row layout – egyszópos */
  .form-row {
    flex-direction: column;
    gap: 0.6rem;
  }
  
  .form-row .form-group.half,
  .form-row .form-group.third {
    flex: 1 1 100%;
    min-width: 0;
  }
  
  /* Input mezők teljes szélességben */
  .fiziomap-profile-edit-form input,
  .fiziomap-profile-edit-form select,
  .fiziomap-profile-edit-form textarea {
    width: 100%;
    font-size: 16px; /* iOS zoom elkerülése */
  }
  
  /* Gombok teljes szélességben */
  .fiziomap-profile-edit-form button,
  .fz-btn,
  .button {
    width: 100%;
    padding: 10px 16px;
  }
  
  /* Mentés sáv mobilon */
  .save-bar {
    width: 100%;
    padding: 12px 16px;
    gap: 0.6rem;
    border-radius: 0;
    left: 0;
    transform: none;
  }
  
  .save-bar .save-btn,
  .save-bar .cancel-btn {
    flex: 1;
    padding: 10px 16px;
    font-size: 15px;
  }
}

/* Kis mobil (480px alatt) */
@media (max-width: 480px) {
  .profile-edit-wrapper {
    padding: 8px;
  }
  
  .main-content {
    padding: 0.8rem;
  }
  
  .profile-section {
    padding: 0.8rem;
  }
  
  .sidebar {
    padding: 0.8rem;
  }
  
  /* Sidebar menü egyszópos */
  .sidebar .menu-item > a {
    font-size: 13px;
    padding: 0.5rem 0.6rem;
  }
  
  .sidebar .submenu li a {
    font-size: 12px;
    padding: 0.3rem 0.4rem !important;
  }
  
  /* Form inputok kisebb betűvel, de min 16px iOS miatt */
  .fiziomap-profile-edit-form label {
    font-size: 13px;
  }
  
  .field-hint {
    font-size: 11px;
  }
  
  /* Gombok kisebb szöveg */
  .fiziomap-profile-edit-form button,
  .fz-btn {
    font-size: 14px;
    padding: 9px 14px;
  }
}

/* ==========================================================================
   Horizontal scroll fix – ULTRA KRITIKUS (375px)
   ========================================================================== */

* {
  box-sizing: border-box;
}

html {
  overflow-x: hidden;
  width: 100%;
}

body {
  overflow-x: hidden;
  max-width: 100vw;
  margin: 0;
  padding: 0;
}

/* Minden konténer max 100% széles */
.fiziomap-profile-edit-form,
.profile-edit-wrapper,
.main-content,
.sidebar,
.profile-section,
.tab-content,
form {
  max-width: 100%;
  overflow-x: hidden;
  box-sizing: border-box;
}

/* ==========================================================================
   375px mobilra optimalizált layout
   ========================================================================== */

@media (max-width: 480px) {
  /* Body padding nulla, hogy ne nyúljon ki */
  body {
    padding: 0 !important;
  }
  
  /* Profile wrapper teljes szélesség, 0 padding */
  .profile-edit-wrapper {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
  }
  
  /* Main content kisebb padding */
  .main-content {
    padding: 8px !important;
    margin: 0 !important;
    width: 100% !important;
  }
  
  /* Profile section kisebb padding */
  .profile-section {
    padding: 12px !important;
    margin-bottom: 12px !important;
    border-radius: 8px;
  }
  
  /* Sidebar 0 margin, kisebb padding */
  .sidebar {
    padding: 10px !important;
    margin: 0 0 12px 0 !important;
    width: 100% !important;
  }
  
  /* Címek kisebb betűvel */
  .profile-section h2,
  .profile-section h3 {
    font-size: 1.1rem !important;
    margin-bottom: 0.6rem;
  }
  
  /* Label kisebb */
  .fiziomap-profile-edit-form label {
    font-size: 13px !important;
  }
  
  /* Input mezők teljes szélesség, padding fix */
  .fiziomap-profile-edit-form input[type="text"],
  .fiziomap-profile-edit-form input[type="email"],
  .fiziomap-profile-edit-form input[type="url"],
  .fiziomap-profile-edit-form input[type="number"],
  .fiziomap-profile-edit-form input[type="file"],
  .fiziomap-profile-edit-form textarea,
  .fiziomap-profile-edit-form select {
    width: 100% !important;
    max-width: 100% !important;
    padding: 8px 10px !important;
    font-size: 16px !important; /* iOS zoom fix */
    box-sizing: border-box !important;
  }
  
  /* Textarea kisebb magasság */
  .fiziomap-profile-edit-form textarea {
    min-height: 80px !important;
  }
  
  /* Field hint még kisebb */
  .field-hint {
    font-size: 11px !important;
    margin-top: 0.25rem;
    margin-bottom: 0.5rem;
  }
  
  /* Form row egyszópos */
  .form-row {
    flex-direction: column;
    gap: 0.5rem;
  }
  
  .form-row .form-group {
    width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 100%;
  }
  
  /* Gombok teljes szélesség */
  .fiziomap-profile-edit-form button,
  .fz-btn,
  .button {
    width: 100% !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
  }
  
  /* Select2 teljes szélesség */
  .select2-container {
    width: 100% !important;
    max-width: 100% !important;
  }
  
  .select2-container--default .select2-selection--multiple {
    width: 100% !important;
    max-width: 100% !important;
    padding: 6px 8px !important;
  }
  
  .select2-container--default .select2-selection--multiple .select2-search__field {
    min-width: 0 !important;
    width: 100% !important;
    font-size: 16px !important;
  }
  
  /* Collapsible kompakt */
  .collapsible {
    margin-bottom: 10px;
  }
  
  .collapsible-header {
    padding: 8px 10px !important;
    font-size: 13px !important;
  }
  
  .collapsible-body {
    padding: 0 10px 10px 10px !important;
  }
  
  /* Térképek kisebb magasság */
  .map-picker,
  #fiziomap-map,
  #group-class-map,
  #homevisit-map {
    height: 180px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  
  /* Office item kompakt */
  .office-item {
    padding: 10px !important;
    margin-bottom: 10px;
  }
  
  /* Mentés sáv FIX – TELJES SZÉLESSÉG */
  .save-bar {
    position: fixed;
    bottom: 0;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    padding: 10px 12px !important;
    margin: 0 !important;
    transform: none !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
    display: flex;
    gap: 8px;
  }
  
  .save-bar .save-btn,
  .save-bar .cancel-btn {
    flex: 1;
    padding: 10px 14px !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
  }
  
  /* Preview kártyák kompakt */
  .public-profile-preview {
    padding: 12px !important;
  }
  
  .preview-profile-photo,
  .preview-photo-placeholder {
    width: 80px !important;
    height: 80px !important;
  }
  
  .preview-profile-name {
    font-size: 1.3rem !important;
  }
  
  .preview-contact-section,
  .preview-academic-section,
  .preview-social-section {
    padding: 10px 12px !important;
  }
  
  /* Sidebar menü kompakt */
  .sidebar .menu-item > a {
    font-size: 13px !important;
    padding: 8px 10px !important;
  }
  
  .sidebar .submenu li a {
    font-size: 12px !important;
    padding: 6px 8px !important;
  }
  
  .sidebar-footer {
    margin-top: 10px;
    padding-top: 10px;
  }
  
  .logout-link {
    font-size: 13px;
    padding: 8px 12px;
  }
}

/* ==========================================================================
   Extra kis mobil (360px alatt) – iPhone SE, stb.
   ========================================================================== */

@media (max-width: 375px) {
  .profile-section {
    padding: 10px !important;
  }
  
  .main-content {
    padding: 6px !important;
  }
  
  .profile-section h2 {
    font-size: 1rem !important;
  }
  
  .fiziomap-profile-edit-form label {
    font-size: 12px !important;
  }
  
  .field-hint {
    font-size: 10px !important;
  }
  
  .save-bar {
    padding: 8px 10px !important;
  }
  
  .save-bar .save-btn,
  .save-bar .cancel-btn {
    padding: 9px 12px !important;
    font-size: 13px !important;
  }
}
/* ==========================================================================
   Form input/select betűméret – DESKTOP
   ========================================================================== */

.fiziomap-profile-edit-form input[type="text"],
.fiziomap-profile-edit-form input[type="email"],
.fiziomap-profile-edit-form input[type="url"],
.fiziomap-profile-edit-form input[type="number"],
.fiziomap-profile-edit-form input[type="file"],
.fiziomap-profile-edit-form textarea,
.fiziomap-profile-edit-form select {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid var(--fz-accent);
  border-radius: 8px;
  background: #fff;
  color: var(--fz-text);
  font-size: 14px; /* ✅ DESKTOP: 14px (volt 15px) */
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
  margin-bottom: 0;
}

/* Select2 input mező betűméret */
.select2-container--default .select2-selection--multiple .select2-search__field {
  font-size: 14px !important; /* ✅ Desktop 14px */
}

/* Select2 kiválasztott elemek (chipek) */
.select2-container--default .select2-selection--multiple .select2-selection__choice {
  font-size: 13px !important; /* ✅ Chipek 13px */
}

/* Select2 dropdown lista */
.select2-container--default .select2-results__option {
  font-size: 14px !important; /* ✅ Dropdown 14px */
}
/* ==========================================================================
   Nyilvános profil előnézet – NARANCSSÁRGA BADGE FIX
   ========================================================================== */

.profile-public-preview {
  border: 2px solid #f59e0b;
  position: relative;
  padding-top: 2rem; /* ✅ Extra padding a badge alá */
}

.profile-public-preview::before {
  content: '👁️ ÉLŐ ELŐNÉZET';
  position: absolute;
  top: -12px;
  left: 50%; /* ✅ Középre igazítva (volt 20px) */
  transform: translateX(-50%); /* ✅ Centralizálás */
  background: #f59e0b;
  color: #fff;
  padding: 4px 12px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.5px;
  white-space: nowrap; /* ✅ Nem törik új sorba */
  z-index: 10;
  max-width: calc(100% - 40px); /* ✅ Ne lógjon ki */
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Mobil fix – kisebb betű, ha kell */
@media (max-width: 480px) {
  .profile-public-preview::before {
    font-size: 10px;
    padding: 3px 10px;
    left: 50%;
    transform: translateX(-50%);
    max-width: calc(100% - 20px);
  }
}
/* ==========================================================================
   375px mobilra – Betűméret konzisztencia
   ========================================================================== */

@media (max-width: 480px) {
  /* Input mezők 14px marad (nem 16px) */
  .fiziomap-profile-edit-form input[type="text"],
  .fiziomap-profile-edit-form input[type="email"],
  .fiziomap-profile-edit-form input[type="url"],
  .fiziomap-profile-edit-form input[type="number"],
  .fiziomap-profile-edit-form input[type="file"],
  .fiziomap-profile-edit-form textarea,
  .fiziomap-profile-edit-form select {
    font-size: 14px !important; /* ✅ Mobil is 14px (iOS zoom nincs, mert akkora mint desktop) */
  }
  
  /* Select2 mező 14px */
  .select2-container--default .select2-selection--multiple .select2-search__field {
    font-size: 14px !important;
  }
  
  /* Select2 chipek kisebbek */
  .select2-container--default .select2-selection--multiple .select2-selection__choice {
    font-size: 12px !important;
    padding: 4px 8px !important;
  }
  
  /* Select2 dropdown */
  .select2-container--default .select2-results__option {
    font-size: 14px !important;
    padding: 8px 10px !important;
  }
}

/* Extra kis mobil (360px) – még kisebb lehet */
@media (max-width: 375px) {
  .fiziomap-profile-edit-form input,
  .fiziomap-profile-edit-form select,
  .fiziomap-profile-edit-form textarea {
    font-size: 13px !important;
  }
  
  .select2-container--default .select2-selection--multiple .select2-search__field {
    font-size: 13px !important;
  }
}
/* ==========================================================================
   Kompakt collapsible header, címek – Mobil (375px)
   ========================================================================== */

@media (max-width: 480px) {
  .collapsible-title h4,
  .collapsible-title .map-icon,
  .collapsible-header h4,
  .collapsible-title span,
  .collapsible-header .chev {
    font-size: 13px !important;   /* Legyen egységesen kisebb a #, cím, ikon és chevron is */
    line-height: 1.2;
    font-weight: 700;
  }

  .collapsible-header {
    padding: 8px 9px !important;
    min-height: 0 !important;
  }

  .address-preview {
    font-size: 11px !important;
    max-width: 120px;
  }

  .collapsible-title {
    gap: 0.35rem !important;
  }
}

/* Kisebb mobil (375px) még tovább csökkentjük */
@media (max-width: 375px) {
  .collapsible-title h4,
  .collapsible-header h4 {
    font-size: 12px !important;
  }

  .address-preview {
    font-size: 10px !important;
    max-width: 90px;
  }
}
/* ==========================================================================
   Kompakt inline checkbox elrendezés
   ========================================================================== */
.not-accepting-row {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0.3rem 0 0.8rem 0;
  font-weight: 500;
  font-size: 14px;
  cursor: pointer;
  user-select: none;
}

.not-accepting-row input[type="checkbox"] {
  margin: 0;
  accent-color: var(--fz-primary);
  width: 17px;
  height: 17px;
  vertical-align: middle;
}
.profile-public-preview::before {
  content: '👁️ ÉLŐ ELŐNÉZET';
  position: absolute;
  top: -11px;
  left:55px;
  background: #f59e0b;
  color: #fff;
  padding: 4px 12px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.5px;
  z-index: 12;
  white-space: nowrap;
  box-shadow: 0 1px 5px rgba(0,0,0,0.06);
}
@media (max-width: 480px) {
  .profile-public-preview::before {
    font-size: 10px;
    padding: 3px 8px;
    left: 55px; /* Ne legyen már középen mobilon, hanem szorosan a doboz sarkán marad */
    top: -10px;
  }
}
.profile-public-preview {
  background: #fff8e1;
  border: 2px solid #f59e0b;
  border-radius: 15px;
  box-shadow: 0 2px 10px rgba(245,158,11, 0.06);
  padding: 1rem 1.1rem 1.1rem 1.1rem;
  margin-top: 1rem;
  position: relative;
  overflow: visible;
}

@media (max-width: 480px) {
  .profile-public-preview {
    padding: 10px 4px 12px 4px;
    border-radius: 11px;
    font-size: 13px;
  }
}
/* === FINAL FIX: profile layout === */
.profile-edit-wrapper {
  display: flex;
  gap: 2rem;
  align-items: flex-start;

  width: min(1200px, 96vw);
  margin: 24px auto;

  padding: 0;
  background: transparent;

  box-sizing: border-box;
}
/* ==========================================================================
   SAVE BAR – ULTRA KOMPAKT: keskeny, alacsony, mobil-barát
   ========================================================================== */

.save-bar {
    position: fixed !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    bottom: 0 !important;
    width: min(1200px, 95vw) !important;
    z-index: 999999 !important;
    
    background: rgba(255, 255, 255, 0.05) !important;
    backdrop-filter: blur(20px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
    
    box-shadow: 0 -4px 20px rgba(15, 23, 42, 0.04) !important;
    border-top: 1px solid rgba(100, 177, 154, 0.1) !important;
    
    padding: 10px 20px !important; /* ✅ Alacsonyabb (volt 10px) */
    display: flex !important;
    gap: 0.6rem !important; /* ✅ Szűkebb (volt 0.7rem) */
    justify-content: flex-end !important;
    align-items: center !important;
    height: 60px !important; /* ✅ FIX magasság (alacsony) */
    min-height: 52px !important;
    max-height: 52px !important;
}

/* ✅ Fölötte lévő elem RESET – ne legyen margin/padding */
.save-bar::before {
    display: none !important;
}

/* ✅ MINDEN GOMB – KOMPAKT */
.save-bar button,
.save-bar .save-btn,
.save-bar .publish-btn,
.save-bar .cancel-btn,
.save-bar .delete-btn {
    height: 32px !important; /* ✅ Alacsonyabb (volt 36px) */
    min-height: 32px !important;
    max-height: 32px !important;
    padding: 0 20px !important; /* ✅ Keskenyebb (volt 20px) */
    border-radius: 6px !important; /* ✅ Kisebb lekerekítés */
    font-weight: 600 !important;
    font-size: 13px !important; /* ✅ Kisebb betű */
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
    vertical-align: middle !important;
    margin: 0 !important;
    align-self: center !important;
    transition: all 0.3s ease !important;
}

/* Mentés gomb (zöld) */
.save-btn {
    background: #10b981 !important;
    color: white !important;
    border: none !important;
}

.save-btn:hover {
    background: #059669 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3) !important;
}

.save-btn:disabled {
    background: #9ca3af !important;
    cursor: not-allowed !important;
    transform: none !important;
}

/* Közzététel gomb (kék-lila gradient) */
.publish-btn {
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%) !important;
    color: white !important;
    border: none !important;
}

.publish-btn::before {
    content: '📍';
    font-size: 14px; /* ✅ Kisebb ikon */
}

.publish-btn:hover {
    background: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(59, 130, 246, 0.4) !important;
}

/* Mégse gomb */
.cancel-btn {
    background: rgba(255, 255, 255, 0.7) !important;
    color: #64748b !important;
    border: 2px solid #cbd5e1 !important;
    padding: 0 14px !important; /* ✅ Keret miatt -2px */
}

.cancel-btn:hover {
    background: rgba(255, 255, 255, 0.95) !important;
    border-color: #64748b !important;
    color: #334155 !important;
    transform: translateY(-1px) !important;
}

/* Danger Zone */
.danger-zone {
    margin-left: auto !important;
    padding-left: 12px !important; /* ✅ Keskenyebb (volt 16px) */
    border-left: 2px solid #fee2e2 !important;
    display: flex !important;
    align-items: center !important;
    height: 32px !important; /* ✅ Gombokkal egyforma */
    min-height: 32px !important;
    max-height: 32px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.delete-btn {
    background: transparent !important;
    color: #dc2626 !important;
    border: 1.5px solid #fecaca !important;
    padding: 0 14px !important;
    font-size: 12px !important; /* ✅ Kisebb betű */
    font-weight: 500 !important;
}

.delete-btn:hover {
    background: #fee2e2 !important;
    border-color: #dc2626 !important;
    color: #991b1b !important;
}

.delete-btn::before {
    content: '🗑️';
    margin-right: 4px;
    font-size: 13px;
}

/* Űrlap padding */
.fiziomap-profile-edit-form {
    padding-bottom: 70px !important; /* ✅ Kisebb (volt 80px) */
}

/* ✅ MOBIL – Sticky sáv KIKAPCSOLVA, INLINE gombok */
@media (max-width: 768px) {
    .save-bar {
        position: static !important; /* ✅ Nem sticky! */
        transform: none !important;
        left: auto !important;
        width: 100% !important;
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
        padding: 12px 16px !important;
        gap: 8px !important;
        flex-wrap: wrap !important;
        margin-top: 20px !important;
        border-radius: 8px !important;
        background: rgba(255, 255, 255, 0.9) !important; /* ✅ Kevésbé átlátszó */
    }
    
    .save-bar button,
    .save-bar .save-btn,
    .save-bar .publish-btn,
    .save-bar .cancel-btn {
        flex: 1 1 calc(50% - 4px) !important; /* ✅ Két oszlop */
        min-width: 0 !important;
        height: 40px !important; /* ✅ Nagyobb mobil gomb */
        font-size: 14px !important;
    }
    
    .delete-btn {
        flex: 1 1 100% !important; /* ✅ Teljes szélességben */
        height: 40px !important;
    }
    
    .danger-zone {
        width: 100% !important;
        margin-left: 0 !important;
        padding-left: 0 !important;
        border-left: none !important;
        border-top: 2px solid #fee2e2 !important;
        padding-top: 10px !important;
        margin-top: 8px !important;
        height: auto !important;
        max-height: none !important;
    }
    
    /* Mobilon ne legyen extra padding az űrlap alján */
    .fiziomap-profile-edit-form {
        padding-bottom: 20px !important;
    }
}
/* =========================================================
   HOTFIX – SAVE BAR: ne csússzanak a gombok + legyen szélesebb
   (csak a save-bar-t érinti)
   ========================================================= */

.save-bar{
  /* szélesség: kicsit tágabb, kevésbé "keskeny doboz" */
  width: min(1000px, 96vw) !important;

  /* a magasság ellentmondásait kiütjük */
  height: auto !important;
  min-height: 56px !important;
  max-height: none !important;

  /* stabil vertikális igazítás */
  display: flex !important;
  align-items: center !important;

  /* ne legyen túl magas */
  padding: 10px 16px !important;
}

/* Minden gomb / link egységesen középre és baseline-hibák nélkül */
.save-bar button,
.save-bar a,
.save-bar input[type="submit"]{
  margin: 0 !important;
  line-height: 1 !important;
  vertical-align: middle !important;
  align-self: center !important;
}

/* Pseudo ikonok se toljonak magasságot */
.save-bar .publish-btn::before,
.save-bar .delete-btn::before{
  line-height: 1 !important;
  display: inline-block !important;
}
/* =========================================================
   Office cím + térkép elrendezés
   ========================================================= */

.office-address-row{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.75rem;
  align-items: end;
}

.office-address-field{
  display: block;
}

/* A gomb ne legyen túl magas */
.office-address-row .map-locate-btn{
  white-space: nowrap;
  height: 40px;
  padding: 0 14px;
  font-size: 14px;
}

/* Térkép mindig új sor, teljes szélesség */
.office-item .map-picker{
  margin-top: 0.75rem;
  width: 100%;
}

/* Mobilon egymás alá kerül */
@media (max-width: 768px){
  .office-address-row{
    grid-template-columns: 1fr;
  }

  .office-address-row .map-locate-btn{
    width: 100%;
  }
}
.fz-checklist{
  margin: 14px 0 18px;
  padding: 14px;
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 14px;
  background: var(--card, #fff);
}

.fz-checklist__head{
  display:flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.fz-checklist__title{
  font-weight: 700;
}

.fz-checklist__summary{
  font-size: 14px;
}

.fz-checklist__summary.is-ok{ opacity: .9; }
.fz-checklist__summary.is-bad{ opacity: .9; }

.fz-checklist__list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.fz-checkrow{
  padding: 10px 12px;
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 12px;
  background: var(--bg-soft, #f8fafc);
}

.fz-checkrow.is-ok{
  background: #f0fdf4;
  border-color: #86efac;
}

.fz-checkrow.is-bad{
  background: #fff7ed;
  border-color: #fdba74;
}

.fz-checklabel{
  font-weight: 600;
}

.fz-checkstatus{
  float: right;
  font-weight: 700;
  font-size: 13px;
}

.fz-checkhint{
  margin-top: 6px;
  font-size: 13px;
  opacity: .9;
}

.fz-checklink{
  color: inherit;
  text-decoration: none;
  display: block;
}
.fz-checklink:hover{
  text-decoration: underline;
}

@media (max-width: 640px){
  .fz-checkstatus{
    float: none;
    display: block;
    margin-top: 4px;
  }
}
