/*
Theme Name: WpResidence Child
Template: wpresidence
*/

/* ─────────────────────────────────────────────────────────
   MOBIL FEJLÉC RÖGZÍTÉS
────────────────────────────────────────────────────────── */
@media only screen and (max-width: 768px) {
  .mobile_header,
  .header_wrapper {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 99999 !important;
    background: #001a33 !important;
  }

  .user_menu_wrapper {
    position: absolute !important;
    right: 15px;
    top: 12px;
    z-index: 100000 !important;
  }

  .leaflet-container { z-index: 1 !important; }

  .content_wrapper,
  .submit_container,
  .main-content {
    padding-top: 130px !important;
  }

  .ui-slider { max-width: 500px; margin: 15px auto; }
  .ui-slider-horizontal { height: 10px; }
  .ui-slider-handle { height: 20px; width: 20px; top: -6px; }
  .ui-slider-range { height: 10px; }
}

/* ─────────────────────────────────────────────────────────
   KÖTELEZŐ MEZŐK / DISABLED GOMBOK
────────────────────────────────────────────────────────── */
.required-field.invalid,
input.form-control.required-field:invalid,
select.required-field:invalid,
textarea.required-field:invalid{
  border: 2px solid #e74c3c !important;
  background: #fff6f6 !important;
  transition: border .2s, background .2s;
}

button[disabled],
input[type="submit"][disabled]{
  opacity: .5 !important;
  pointer-events: none !important;
  background: #bbb !important;
  color: #fff !important;
  cursor: not-allowed !important;
  filter: grayscale(1) !important;
  box-shadow: none !important;
}

/* Számmezők – görgő tiltása */
input[type=number]:focus { pointer-events: none; }
input[type=number] { -moz-appearance: textfield; }
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }

/* ─────────────────────────────────────────────────────────
   MOBIL: OWL SLIDER HÁTTÉR KÉP MEGJELENÍTÉS
────────────────────────────────────────────────────────── */
@media (max-width: 600px){
  #owl-demo .item,
  .owl-carousel .item{
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-color: #fff !important;
  }
  .dashboard_hello_section h2{ font-size: 6vw !important; }
}

/* ─────────────────────────────────────────────────────────
   MOBIL: STÁTUSZ SZALAGOK ÚJRARENDEZÉSE
────────────────────────────────────────────────────────── */
@media (max-width: 767px) {
    .status-wrapper.verticalstatus,
    .single-content .verticalstatus {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: flex-end !important;
        align-items: flex-start !important;
        gap: 6px;
        padding: 8px 4px 0 4px;
        position: absolute !important;
        top: 10px !important;
        right: 10px !important;
        left: auto !important;
        width: auto !important;
        max-width: 95vw;
        z-index: 10;
        pointer-events: none !important;
    }

    .slider-property-status,
    .ribbon-wrapper-akcios,
    .ribbon-wrapper-csere,
    .ribbon-wrapper-eladva,
    .ribbon-wrapper-felujitott,
    .ribbon-wrapper-koltozheto,
    .ribbon-wrapper-piaci-ar-alatt,
    .ribbon-wrapper-surgos,
    .ribbon-wrapper-tehermentes,
    .ribbon-wrapper-uj-epitesu {
        writing-mode: horizontal-tb !important;
        transform: none !important;
        display: inline-flex !important;
        align-items: center !important;
        height: auto !important;
        float: none !important;
        white-space: normal !important;
        min-width: 0 !important;
        max-width: 90vw !important;
        width: auto !important;
        margin: 0 !important;
        pointer-events: auto !important;
    }
}

/* ─────────────────────────────────────────────────────────
   HIRDETÉS FELADÁS CTA A MENÜBEN
────────────────────────────────────────────────────────── */
.menu-item-cta-post{ margin-left:auto; }
.menu-item-cta-post .cta-post-link{
  display:inline-block;
  padding:10px 16px;
  border-radius:9999px;
  background:#1a73e8;
  color:#fff !important;
  font-weight:600;
  line-height:1;
  box-shadow:0 2px 6px rgba(0,0,0,.1);
  transition:transform .05s ease, filter .15s ease;
}
.menu-item-cta-post .cta-post-link:hover{ filter:brightness(.92); transform:translateY(-1px); }
.menu-item-cta-post .cta-plus{ margin-right:8px; font-weight:700; }

.header_wrapper .menu-item-cta-post,
.master_header .menu-item-cta-post{ margin-left:auto; }

@media (max-width:1024px){
  .menu-item-cta-post{ margin-left:0; }
  .menu-item-cta-post .cta-post-link{ width:100%; text-align:center; margin:10px 0; }
}

/* ─────────────────────────────────────────────────────────
   SINGLE: GALÉRIA – PORTRÉ KÉPEK VÁGÁS NÉLKÜL
────────────────────────────────────────────────────────── */
body.single-estate_property .lightbox_property_slider #owl-demo .item > a,
body.single-estate_property .property_media #owl-demo .item > a,
body.single-estate_property #owl-demo .item > a,
body.single-estate_property .lightbox_property_slider .owl-item .item > a,
body.single-estate_property .property_media .owl-item .item > a{
  display:block !important;
  width:100% !important;
  height:100% !important;
  background-size:contain !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  background-color:#000 !important; /* letterbox */
}

/* Ha a téma cover-t erőltet ugyanitt, üssük felül */
body.single-estate_property .lightbox_property_slider #owl-demo .item > a[style*="background-size: cover"],
body.single-estate_property .property_media #owl-demo .item > a[style*="background-size: cover"]{
  background-size:contain !important;
}

/* ─────────────────────────────────────────────────────────
   STICKY/EDGE STABIL – animációk tiltása (globál)
────────────────────────────────────────────────────────── */
.is_sticky .master_header,
.master_header.sticky,
.header_transparent .master_header,
.is_sticky .header_wrapper,
.header_wrapper.sticky,
.is_sticky .mobile_header{
  transition:none !important;
  animation:none !important;
}

/* ─────────────────────────────────────────────────────────
   DASHBOARD (felhasználói vezérlőpult) – fix fejléc csak itt
   Edge ugrálás/jitter fix + mindig látható menü
────────────────────────────────────────────────────────── */
body.user_dashboard .header_wrapper,
body.user_dashboard .master_header{
  position: fixed !important;
  top: 0 !important;
  left: 0; right: 0;
  z-index: 100000 !important;
  background: #ffffff !important;      /* átlátszó helyett fix háttér */
  box-shadow: 0 2px 8px rgba(0,0,0,.06);/* enyhe árnyék – nem animáljuk */
  transform: none !important;           /* Edge remegés ellen */
  will-change: auto !important;
}

/* Admin bar mellett ne fedje egymást */
.admin-bar.user_dashboard .header_wrapper,
.admin-bar.user_dashboard .master_header{
  top: 32px !important;
}

/* Tartalom toljuk lejjebb, hogy ne csússzon a fejléc alá */
body.user_dashboard .content_wrapper,
body.user_dashboard .dashboard_page,
body.user_dashboard .dashboard-margin{
  padding-top: 96px !important; /* ha magasabb a fejléc, állítsd 110–130px-re */
}

/* Ha a téma külön mobil-fejlécet is rajzol dashboardon, tiltás/fix */
body.user_dashboard .mobile_header{
  position: fixed !important;
  top: 0 !important;
  left: 0; right: 0;
  z-index: 100001 !important;
  background:#ffffff !important;
  transform: none !important;
}

/* ─────────────────────────────────────────────────────────
   LAPOZÓ (WP-PageNavi) – BALRA IGAZÍTOTT, KÉK, SZÖGLETES
────────────────────────────────────────────────────────── */
.half-pagination{
  text-align:left !important;
  margin:12px 0 26px 12px !important;
}

.half-pagination .wp-pagenavi{
  display:inline-flex !important;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  justify-content:flex-start;
  margin:0 !important;
  padding:0 !important;
}

.half-pagination .wp-pagenavi .pages{
  margin-right:8px;
  color:#5f6b7a;
  font-weight:600;
}

.half-pagination .wp-pagenavi a,
.half-pagination .wp-pagenavi span{
  display:inline-block;
  padding:8px 14px;
  background:#0073e6;
  color:#fff !important;
  border:none !important;
  border-radius:4px;
  text-decoration:none !important;
  font-weight:600;
  line-height:1;
  transition: background .2s, transform .1s, box-shadow .2s;
  box-shadow:0 2px 4px rgba(0,0,0,.15);
}

.half-pagination .wp-pagenavi span.current{
  background:#003d80 !important;
  box-shadow:0 3px 6px rgba(0,0,0,.25);
}

.half-pagination .wp-pagenavi a:hover{
  background:#005bb5;
  transform:translateY(-1px);
}

.half-pagination .wp-pagenavi .extend{
  background:transparent !important;
  color:#0073e6 !important;
  box-shadow:none !important;
}

.half-pagination .wp-pagenavi a.first,
.half-pagination .wp-pagenavi a.last,
.half-pagination .wp-pagenavi a.previouspostslink,
.half-pagination .wp-pagenavi a.nextpostslink{
  background:#0073e6 !important;
  color:#fff !important;
}

/* Mobil finomhangolás */
@media (max-width:480px){
  .half-pagination{ margin:8px 0 18px 8px !important; }
  .half-pagination .wp-pagenavi{
    gap:3px !important;
    white-space:nowrap !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .half-pagination .wp-pagenavi::-webkit-scrollbar{ display:none; }
  .half-pagination .wp-pagenavi a,
  .half-pagination .wp-pagenavi span{
    padding:6px 10px !important;
    font-size:12px !important;
    border-radius:4px !important;
    line-height:1.1 !important;
  }
  .half-pagination .wp-pagenavi .pages{ display:none !important; }
}

@media (min-width:481px) and (max-width:768px){
  .half-pagination .wp-pagenavi{ gap:4px !important; }
  .half-pagination .wp-pagenavi a,
  .half-pagination .wp-pagenavi span{
    padding:7px 12px !important;
    font-size:13px !important;
  }
}

/* (opcionális) Találati darabszám doboz – ha később újra használod */
.results-count{
  width:100%;
  margin:8px 0 12px 0;
  padding:6px 10px;
  background:#e8f1fe;
  color:#0b57d0;
  font-weight:700;
  border-left:3px solid #1a73e8;
  border-radius:4px;
}

/* ── CSS-only megoldás: LAPOZÁS előnyben, nagyítás kikapcsol ── */
/* a képek ne fogják meg az érintést; a slider kapja meg a swipe-ot */
.mfp-content img,
.wpresidence_lightbox img,
.lightbox_property_slider .owl-item img,
.property_media .owl-item img {
  pointer-events: none !important;   /* ↔ swipe a slideré lesz */
  -webkit-user-drag: none !important;
  user-select: none !important;
  touch-action: pan-x !important;    /* vízszintes mozdulat = lapozás */
}

/* a színpad kifejezetten kezelje a vízszintes pan-t */
.lightbox_property_slider .owl-stage,
.lightbox_property_slider .owl-stage-outer,
.property_media .owl-stage,
.property_media .owl-stage-outer,
#property_lightbox,
.mfp-wrap {
  touch-action: pan-x !important;
}

/* ───────────── ÁLLÓ KÉPEK TELJES MEGJELENÍTÉSE ───────────── */
body.single-estate_property .owl-carousel .item > a,
body.single-estate_property .lightbox_property_slider .owl-carousel .item > a,
body.single-estate_property .property_media .owl-carousel .item > a {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 2 !important; /* vagy állítsd át, ha inkább portrait: 2/3 */
  background-size: contain !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-color: #000 !important; /* letterbox sáv */
}

/* Lightbox / kinagyított nézet – ne vágjon */
#property_lightbox img,
.mfp-img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 90vh !important;
  display: block !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  background-color: #000 !important;
}
/* Vágás tiltása: inline stílusban lévő 'background-size: cover' felülírása */
body.single-estate_property .owl-item > div[style*="background-size: cover"],
body.single-estate_property .owl-item > a[style*="background-size: cover"],
body.single-estate_property .owl-carousel .item[style*="background-size: cover"],
body.single-estate_property .property_media .owl-item[style*="background-size: cover"] {
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-color: #000 !important; /* letterbox, ha nem tölti ki */
}
/* ─────────────────────────────────────────────────────────
   FEJLÉC REMEGÉS (JITTER) FIX – MINDEN OLDALON
   Nem módosít semmilyen színt vagy elrendezést.
────────────────────────────────────────────────────────── */
.master_header,
.header_wrapper,
.header_wrapper.sticky,
.master_header.sticky,
.header_transparent .master_header,
.is_sticky .header_wrapper {
  transform: none !important;
  transition: none !important;
  animation: none !important;
  will-change: unset !important;
  backface-visibility: hidden !important;
}

/* ────────────────────────────────────────────────
   LIGHTBOX – TELJES KÉP, VILÁGOS ÁTTETSZŐ HÁTTÉR
────────────────────────────────────────────────── */
.lightbox_property_wrapper,
.lightbox_property_wrapper_level2,
.lightbox_property_content,
.lightbox_property_slider,
.lightbox_property_slider .owl-stage-outer,
.lightbox_property_slider .owl-stage,
.lightbox_property_slider .owl-item,
.lightbox_property_slider .item {
  height: 100vh !important;
  min-height: 100vh !important;
  max-height: 100vh !important;
  background-color: rgba(255,255,255,0.85) !important; /* világos áttetsző háttér */
  overflow: hidden !important;
  backdrop-filter: blur(3px) !important; /* enyhe elmosás, mint az eredetiben */
}

/* A lightbox tartalom mindig teljes képernyő legyen */
.lightbox_property_content {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* A kép (vagy háttérkép) ne legyen vágva */
.lightbox_property_slider .item {
  background-size: contain !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* A <img> címke mindig illeszkedjen a viewporthoz */
.lightbox_property_slider .item img {
  object-fit: contain !important;
  width: auto !important;
  height: auto !important;
  max-width: 100vw !important;
  max-height: 100vh !important;
  display: block !important;
  margin: auto !important;
}

/* Mobilon se legyen levágás, még tall képeknél sem */
@media (max-width: 768px) {
  .lightbox_property_slider,
  .lightbox_property_slider .item,
  .lightbox_property_slider .owl-stage-outer {
    height: 100vh !important;
    min-height: 100vh !important;
  }
  .lightbox_property_slider .item img {
    max-height: 95vh !important;
  }
}



/* ─────────────────────────────────────────────────────────
   MOBILON – képfeltöltő szekció szép elrendezése (üres és feltöltött állapot)
────────────────────────────────────────────────────────── */
@media (max-width: 600px) {
  #upload-container,
  #aaiu-upload-container {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 0 auto !important;
  }

  .drag-and-drop,
  .rh_drag_and_drop_wrapper {
    display: block !important;
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    box-sizing: border-box !important;
    border: 2px dashed #ccc !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-radius: 0 !important;
    background: #f8f8f8 !important;
    padding: 20px 12px !important;
    text-align: center !important;
    overflow: visible !important;
  }

  #imagelist:empty ~ .drag-and-drop,
  .drag-and-drop:only-child {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    min-height: 260px !important;
  }

  .drag-and-drop p,
  .drag-and-drop span,
  .drag-and-drop strong {
    display: block !important;
    text-align: center !important;
    line-height: 1.4 !important;
    max-width: 90% !important;
    white-space: normal !important;
    word-break: break-word !important;
    margin: 6px auto !important;
  }
}

/* ─────────────────────────────────────────────────────────
   JAVÍTÁS: Képfeltöltés alatti szöveg levágása (mobil)
────────────────────────────────────────────────────────── */
@media (max-width: 768px) {

  /* fő feltöltő wrapper */
  #upload-container,
  #aaiu-upload-container {
    position: static !important;
    overflow: visible !important;
    height: auto !important;
    min-height: unset !important;
    display: block !important;
  }

  /* drag & drop doboz */
  #aaiu-upload-container .drag-and-drop,
  #aaiu-upload-container .rh_drag_and_drop_wrapper {
    position: relative !important;
    overflow: visible !important;
    min-height: 260px !important;
    height: auto !important;
    padding: 20px 12px 80px !important; /* extra tér alul */
    background: #f9f9f9 !important;
    border: 2px dashed #ccc !important;
    box-sizing: border-box !important;
  }

  /* a hosszú magyarázó szöveg látható legyen */
  p.full_form.full_form_image {
    display: block !important;
    position: relative !important;
    overflow: visible !important;
    margin-top: 16px !important;
    padding: 0 10px 60px !important;
    line-height: 1.6 !important;
    white-space: normal !important;
    word-break: break-word !important;
    background: transparent !important;
    z-index: 5 !important;
  }

  /* hogy ne csússzon össze az alatta lévő videófeltöltés */
  #aaiu-upload-container + p.full_form {
    margin-bottom: 40px !important;
  }
}

/* ────────────────────────────────────────────────
   MOBIL LOGIN DRAWER – eredeti WpResidence működés megtartása
   (jobbról beúszó panel, nem fix középre)
────────────────────────────────────────────────── */
@media (max-width: 768px) {
  /* alap: a login drawer jobbról beúszik, ne fixáljuk! */
  .mobilewrapper-user,
  .mobilewrapper-login {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    height: 100vh !important;
    width: 100vw !important;
    max-width: 100% !important;
    background: rgba(0,0,0,0.6) !important; /* sötétített háttér */
    z-index: 100002 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    transition: transform 0.35s ease !important;
  }

  /* a belső login box */
  .mobilewrapper-user .wpestate_login_form_wrapper,
  .mobilewrapper-login .wpestate_login_form_wrapper {
    background: #001a33 !important;
    color: #fff !important;
    padding: 24px 18px !important;
    width: 90vw !important;
    max-width: 420px !important;
    height: 100vh !important;
    overflow-y: auto !important;
    box-shadow: -3px 0 8px rgba(0,0,0,0.25) !important;
  }

  /* bezárás gomb a jobb felső sarokban */
  .mobilewrapper-user .wpestate_modal_close,
  .mobilewrapper-login .wpestate_modal_close {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    z-index: 100003 !important;
  }

  /* amikor nyitva van: ne görgessen a háttér */
  body.drawer-open {
    overflow: hidden !important;
    height: 100vh !important;
    position: fixed !important;
    width: 100% !important;
  }
}

/* ────────────────────────────────────────────────
   MOBIL BAL OLDALI MENÜ – fix drawer + scroll lock
   (nem tolja/mozgatja az oldalt, csak a menü görgethető)
────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  /* amikor a JS ráteszi: body scroll lock */
  body.mobilemenu-open,
  body.mobilemenu-open html {
    overflow: hidden !important;
    height: 100% !important;
  }

  /* alap wrapper mindig fix a viewporton, overlayt adunk rá */
  .mobilewrapper {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 100003 !important;
    pointer-events: none !important;         /* csak akkor kattintható, ha open */
  }

  /* overlay a háttérre */
  .mobilewrapper::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.55);
    opacity: 0;
    transition: opacity .25s ease;
  }

  /* amikor nyitva a menü */
  .mobilewrapper.open {
    pointer-events: auto !important;
  }
  .mobilewrapper.open::before {
    opacity: 1;
  }

  /* A tényleges bal oldali panel – csak ez görgethető */
  .mobilewrapper .mobilemenu,
  .mobilewrapper .mobilemenu-inner,
  .mobilewrapper .mobilemenu-container {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    height: 100vh !important;
    width: min(88vw, 360px) !important;
    max-width: 360px !important;
    background: #001a33 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    box-shadow: 3px 0 12px rgba(0,0,0,.35) !important;
    transform: translateX(-100%) !important;
    transition: transform .35s ease !important;
    will-change: transform;
    z-index: 100004 !important;
  }
  .mobilewrapper.open .mobilemenu,
  .mobilewrapper.open .mobilemenu-inner,
  .mobilewrapper.open .mobilemenu-container {
    transform: translateX(0) !important;
  }

  /* Bezáró gomb pozíciója a menün belül */
  .mobilewrapper .mobilemenu-close {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    z-index: 100005 !important;
  }

  /* A háttéroldalt TILOS mozgatni/animálni, fixáljuk */
  body.mobilemenu-open #all_wrapper,
  body.mobilemenu-open .site,
  body.mobilemenu-open .content_wrapper,
  body.mobilemenu-open .master_header,
  body.mobilemenu-open .header_wrapper,
  body.mobilemenu-open .elementor,
  body.mobilemenu-open .elementor-location-header {
    transform: none !important;
    position: relative !important;
    touch-action: none !important;
    overscroll-behavior: none !important;
  }
}


/* ────────────────────────────────────────────────
   BAL OLDALI MOBILMENÜ – kattintható menüpontok fix
────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  /* A teljes wrapper kattintható, ne tiltson pointert */
  .mobilewrapper {
    pointer-events: auto !important;
  }

  /* Az overlay (a sötét háttér) csak vizuális, nem fogjon eseményt */
  .mobilewrapper::before {
    pointer-events: none !important;
  }

  /* A menüpanel maga (kék rész) fogadja az eseményeket */
  .mobilewrapper .mobilemenu,
  .mobilewrapper .mobilemenu-inner,
  .mobilewrapper .mobilemenu-container {
    pointer-events: auto !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    height: 100vh !important;
    width: min(88vw, 360px) !important;
    background: #001a33 !important;
    overflow-y: auto !important;
    box-shadow: 3px 0 12px rgba(0,0,0,.35) !important;
    transform: translateX(0) !important;
    z-index: 100004 !important;
  }

  /* Bezárás gomb maradjon legfelül */
  .mobilewrapper .mobilemenu-close {
    z-index: 100010 !important;
    position: absolute !important;
    top: 10px !important;
    right: 14px !important;
    color: #fff !important;
    font-size: 28px !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
  }

  /* Biztos, hogy ne legyen duplikált X */
  .mobilewrapper .mobilemenu-close::before,
  .mobilewrapper .mobilemenu-close::after {
    content: none !important;
  }
}

/* ────────────────────────────────────────────────
   BAL OLDALI MOBILMENÜ – végleges fix (2025-11-03)
────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  /* Biztosan az utolsó érték maradjon érvényben */
  .mobilewrapper {
    pointer-events: auto !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 100003 !important;
  }

  .mobilewrapper.open::before {
    opacity: 1 !important;
    pointer-events: none !important;
  }

  .mobilewrapper .mobilemenu,
  .mobilewrapper .mobilemenu-inner,
  .mobilewrapper .mobilemenu-container {
    pointer-events: auto !important;
    z-index: 100004 !important;
  }

  .mobilewrapper .mobilemenu-close {
    z-index: 100010 !important;
    cursor: pointer !important;
    touch-action: manipulation !important;
  }
}


/* ─────────────────────────────────────────────────────────
   KÉPFORGATÁS FIX – STABIL MAGASSÁG + GOMB POZÍCIÓ JAVÍTÁS
────────────────────────────────────────────────────────── */
#imagelist,
#aaiu-upload-container,
.submit_container {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
}

.uploaded_images,
.uploaded_thumb {
  position: relative !important;
  display: inline-block !important;
  margin: 5px !important;
  background: #fff !important;
  border-radius: 6px !important;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1) !important;
  width: auto !important;
  min-width: 180px !important;
  max-width: 300px !important;
  overflow: hidden !important;
}

.uploaded_images img,
.uploaded_thumb img,
.uploaded_images canvas,
.uploaded_thumb canvas {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: 280px !important;
  border-radius: 6px !important;
  object-fit: contain !important;
}

.rotate-btn,
.rotate-left,
.rotate-right {
  position: absolute !important;
  bottom: 8px !important;
  background: #1a73e8 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 50% !important;
  width: 32px !important;
  height: 32px !important;
  font-size: 16px !important;
  line-height: 30px !important;
  text-align: center !important;
  cursor: pointer !important;
  z-index: 10 !important;
  box-shadow: 0 2px 5px rgba(0,0,0,0.25) !important;
  transition: all 0.15s ease !important;
}

.rotate-left { right: 48px !important; }
.rotate-right { right: 8px !important; }

.rotate-left:hover,
.rotate-right:hover {
  background: #0c5cd6 !important;
  transform: translateY(-2px) !important;
}

/* ─────────────────────────────────────────────────────────
   MOBILON – képfeltöltő szekció szép elrendezése
────────────────────────────────────────────────────────── */
@media (max-width: 600px) {
  #upload-container,
  #aaiu-upload-container {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 0 auto !important;
  }

  .drag-and-drop,
  .rh_drag_and_drop_wrapper {
    display: block !important;
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    border: 2px dashed #ccc !important;
    background: #f8f8f8 !important;
    padding: 20px 12px !important;
    text-align: center !important;
  }
}

/* ─────────────────────────────────────────────────────────
   JAVÍTÁS: Képfeltöltés alatti szöveg levágása (mobil)
────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  #upload-container,
  #aaiu-upload-container { position: static!important;overflow:visible!important;height:auto!important;min-height:unset!important;display:block!important;}
  #aaiu-upload-container .drag-and-drop { position:relative!important;overflow:visible!important;min-height:260px!important;padding:20px 12px 80px!important;background:#f9f9f9!important;border:2px dashed #ccc!important;}
  p.full_form.full_form_image { display:block!important;margin-top:16px!important;padding:0 10px 60px!important;line-height:1.6!important;background:transparent!important;}
  #aaiu-upload-container + p.full_form { margin-bottom:40px!important;}
}


/* ────────────────────────────────────────────────
   HEADER – gyors, remegésmentes váltás (nem fix) 2025.november 1. után
────────────────────────────────────────────────── */
body:not(.home) .master_header,
body:not(.home) .header_wrapper {
  position: relative !important; /* nem fix, marad a dokumentumfolyamban */
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 100000 !important;
  background-color: #001a33 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
  transition: all 0.15s ease-out !important; /* gyorsabb, de sima átmenet */
}

/* Tartalom igazítása a nem fix fejléc miatt */
body:not(.home) .content_wrapper,
body:not(.home) .main-content,
body:not(.home) .submit_container,
body:not(.home) .listing_wrapper,
body:not(.home) .page-template,
body:not(.home) .property_page_container {
  padding-top: 0 !important; /* nincs szükség extra térre */
}

/* Fejléc elemek gyors váltása, animáció nélkül */
.master_header,
.header_wrapper,
.header_wrapper.sticky,
.master_header.sticky,
.header_transparent .master_header,
.is_sticky .header_wrapper {
  transform: none !important;
  transition: all 0.15s ease-out !important; /* gyors váltás sticky állapotban */
  animation: none !important;
  will-change: opacity, transform !important;
  backface-visibility: hidden !important;
}

/* Fejléc elemek z-index és láthatóság */
.master_header .header_wrapper,
.master_header .navbar,
.header_wrapper .menu,
.header_wrapper .logo {
  z-index: 100001 !important;
  position: relative !important;
}

/* ────────────────────────────────────────────────
   FEJLÉC SZÖVEG SZÍN FIX – látható legyen alapból
────────────────────────────────────────────────── */
body:not(.home) .master_header,
body:not(.home) .header_wrapper {
  background-color: #001a33 !important;
}

/* Menüelemek alapértelmezett színe */
body:not(.home) .header_wrapper .menu > li > a,
body:not(.home) .header_wrapper .menu > li > a:visited,
body:not(.home) .header_wrapper .menu > li > a:active {
  color: #ffffff !important; /* fehér szöveg */
  opacity: 1 !important;
}

/* Hover állapot (világoskék) */
body:not(.home) .header_wrapper .menu > li > a:hover {
  color: #66b3ff !important; /* világoskék hover */
}

/* Aktív menüpont (kék háttér + fehér szöveg) */
body:not(.home) .header_wrapper .menu > li.current-menu-item > a {
  color: #ffffff !important;
  background-color: #003366 !important;
  border-radius: 4px;
}

/* Ikonok (pl. Hirdetésfeladás gomb) mindig látszanak */
body:not(.home) .header_wrapper .user_menu,
body:not(.home) .header_wrapper .user_menu i,
body:not(.home) .header_wrapper .menu_user_tools,
body:not(.home) .header_wrapper .menu_user_tools i {
  color: #ffffff !important;
  fill: #ffffff !important;
  opacity: 1 !important;
}

/* ────────────────────────────────────────────────
   FEJ IKON – mindig látszódjon (SVG verzió)
────────────────────────────────────────────────── */
body:not(.home) .user_menu.user_not_loged svg {
  opacity: 1 !important;               /* mindig látszódjon */
  visibility: visible !important;      /* ne legyen rejtve */
  filter: none !important;
  display: inline-block !important;
  width: 25px !important;
  height: 25px !important;
  fill: #ffffff !important;            /* fehér ikon */
  color: #ffffff !important;
}

/* A teljes konténer is legyen aktív */
body:not(.home) .user_menu.user_not_loged {
  opacity: 1 !important;
  visibility: visible !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  pointer-events: auto !important;
  z-index: 99999 !important;
}

/* Hoverre világoskék árnyalat (ahogy a menü többi eleme is) */
body:not(.home) .user_menu.user_not_loged:hover svg {
  fill: #66b3ff !important;
  color: #66b3ff !important;
}

/* ────────────────────────────────────────────────
   FEJLÉC ALATTI TÉR – főoldal és aloldalak finomhangolása
────────────────────────────────────────────────── */
/* 🏠 FŐOLDAL – csak a HERO szekció (kék háttér + kereső) feljebb tolása */
body.home .elementor-section.elementor-element-7a470a6f {
  margin-top: -60px !important; /* finomhangolható: -15 → -40 között */
}

/* biztosítjuk, hogy a keresődoboz ne vágódjon le */
body.home .elementor-section.elementor-element-7a470a6f .elementor-container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}


/* 📄 ALAP OLDALAK – engedjük LEJJEBB a tartalmat (ne lógjon a fejlécbe) */
body:not(.home) .content_wrapper,
body:not(.home) .main-content,
body:not(.home) .submit_container,
body:not(.home) .property_page_container,
body:not(.home) .page-template,
body:not(.home) .listing_wrapper {
  margin-top: 50px !important; /* 70–100px között állítható */
  padding-top: 20px !important;
}

/* 🧭 EXTRA: ha admin bar is látszik (belépve), ne lógjon bele */
.admin-bar body:not(.home) .content_wrapper {
  margin-top: 112px !important;
}

/*Idáig jó 2025. november 10 */


/* Mobilnézet optimalizálás a login drawer-hez */
@media (max-width: 768px) {
  .login_form.wpestate_login_form_wrapper {
    width: 100vw !important;
    max-width: 100vw !important;
    height: auto !important;
    max-height: 95vh !important;
    padding: 20px 16px !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
  }

  .login_form.wpestate_login_form_wrapper input,
  .login_form.wpestate_login_form_wrapper button {
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

body.drawer-open {
  overflow-x: hidden !important;
}

.login_form.wpestate_login_form_wrapper {
  overflow-x: hidden !important;
}

/*módosítás*/
.mobilewrapper-user,
.mobilewrapper-login {
  width: 100vw !important;
  max-width: 100vw !important;
  overflow-x: hidden !important;
}


@media (max-width: 768px) {
  html, body {
    overflow-x: hidden !important;
    width: 100vw !important;
  }

  .mobilewrapper-user,
  .mobilewrapper-login {
    width: 100vw !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .login_form.wpestate_login_form_wrapper {
    width: calc(100vw - 32px) !important; /* padding beszámítva */
    max-width: 100vw !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }
}

@media (max-width: 768px) {
  html, body {
    overflow-x: hidden !important;
    width: 100% !important;
  }

  .mobilewrapper-user,
  .mobilewrapper-login {
    width: 100vw !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
    position: fixed !important;
    right: 0 !important;
    left: 0 !important;
  }

  .snap-drawers,
  .snap-drawer-right,
  .snap-drawer {
    width: 100vw !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  .login_form.wpestate_login_form_wrapper {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
    padding: 20px 16px !important;
  }

  .login_form.wpestate_login_form_wrapper input,
  .login_form.wpestate_login_form_wrapper button {
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* ───────────────────────────────────────────────
   FEHÉR RÉSZ JAVÍTÁSA – csak találati listán (desktopon)
────────────────────────────────────────────── */
@media (min-width: 1025px) {
  body.page-template-advanced_search_results,
  body.page-template-property_list,
  body.page-template-property_list.directory {
    /* Térkép és menü közti üres hely eltüntetése */
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body.page-template-advanced_search_results .content_wrapper,
  body.page-template-property_list .content_wrapper,
  body.page-template-property_list.directory .content_wrapper {
    margin-top: -20px !important; /* finomhangolható pl. -40 vagy -60 px */
    padding-top: 0 !important;
  }

  #google_map_prop_list_wrapper {
    margin-top: 5px !important; /* ez tolja fel a térképet */
  }
}


/* ───────────────────────────────────────────────
   /TESZT/ oldal: keresődoboz pozíció finomhangolás
   540px és 768px nézetekre (valós WpResidence szelektorokkal)
────────────────────────────────────────────── */

/* Tablet (iPad Mini, kb. 768px): LEJJEBB */
@media (min-width: 740px) and (max-width: 820px) {
  body.page-id-30774 .wpestate-adv-holder,
  body.page-id-30774 .adv_search_tab {
    position: relative !important;
    margin-top: 70px !important;
    z-index: 10 !important;
  }
}

/* Mobil (540px körül): FELJEBB */
@media (max-width: 560px) {
  body.page-id-30774 .wpestate-adv-holder,
  body.page-id-30774 .adv_search_tab {
    position: relative !important;
    margin-top: -40px !important;
    z-index: 10 !important;
  }
}

/* 1️⃣ Kisebb mobilok (pl. iPhone SE – 375 px): LEJJEBB */
@media (max-width: 400px) {
  body.page-id-30774 .wpestate-adv-holder,
  body.page-id-30774 .adv_search_tab {
    position: relative !important;
    margin-top: 10px !important; /* kicsit lejjebb */
    z-index: 10 !important;
  }
}

/* 2️⃣ iPhone XR / 414 px körül: FELJEBB (Elementor wrapperrel együtt) */
@media (min-width: 401px) and (max-width: 439px) {
  body.page-id-30774 .wpestate-adv-holder,
  body.page-id-30774 .adv_search_tab,
  body.page-id-30774 .elementor-widget-wrap .wpestate-adv-holder {
    position: relative !important;
    top: -15px !important; /* feljebb tolás */
    margin-top: 0 !important;
    z-index: 10 !important;
  }
}

/* 3️⃣ Nagyobb mobilok (pl. Surface Duo / 540 px): KICSIT FELJEBB */
@media (min-width: 440px) and (max-width: 560px) {
  body.page-id-30774 .wpestate-adv-holder,
  body.page-id-30774 .adv_search_tab {
    position: relative !important;
    margin-top: 25px !important; /* finom igazítás */
    z-index: 10 !important;
  }
}

/* ───────────────────────────────────────────────
   Pixel 3 XL (393 px körül) – keresődoboz feljebb tolása
────────────────────────────────────────────── */
@media (min-width: 380px) and (max-width: 400px) {
  body.page-id-30774 .wpestate-adv-holder,
  body.page-id-30774 .adv_search_tab,
  body.page-id-30774 .elementor-widget-wrap .wpestate-adv-holder {
    position: relative !important;
    top: -5px !important; /* finom feljebb tolás */
    margin-top: 0 !important;
    z-index: 10 !important;
  }
}

/* ───────────────────────────────────────────────
   Tablet nézet (pl. iPad Air 820px): kereső feljebb
────────────────────────────────────────────── */
@media (min-width: 800px) and (max-width: 860px) {
  body.page-id-30774 .wpestate-adv-holder,
  body.page-id-30774 .adv_search_tab,
  body.page-id-30774 .elementor-widget-wrap .wpestate-adv-holder {
    position: relative !important;
    top: 20px !important; /* feljebb tolás tablet nézethez */
    margin-top: 0 !important;
    z-index: 10 !important;
  }
}

/* ───────────────────────────────────────────────
   Nagyobb mobilok (pl. Surface Duo – 540 px): FELJEBB
────────────────────────────────────────────── */
@media (min-width: 520px) and (max-width: 560px) {
  body.page-id-30774 .wpestate-adv-holder,
  body.page-id-30774 .adv_search_tab,
  body.page-id-30774 .elementor-widget-wrap .wpestate-adv-holder {
    position: relative !important;
    top: -20px !important; /* finom feljebb tolás */
    margin-top: 0 !important;
    z-index: 10 !important;
  }
}

/* =========================================================
   WpResidence – Dupla H1 végleges javítás
   Page típusú oldalaknál a sablon H1 eltüntetése
========================================================= */

.page h1.entry-title {
    display: none;
}

/* ======================================================
   HAMBURGER / NAVICON SZÍN – FEJLÉC MARAD RÉGI
====================================================== */

/* Hamburger vonalak */
.navicon,
.navicon:before,
.navicon:after {
    background-color: #e53935 !important; /* piros */
}

/* Hover állapot */
.navicon-button:hover .navicon,
.navicon-button:hover .navicon:before,
.navicon-button:hover .navicon:after {
    background-color: #c62828 !important; /* sötétebb piros */
}

/* ======================================================
   WpResidence – Képfeltöltő EGYKATTINTÁS FIX
   iOS + Android + Desktop
   (Plupload / Moxie shim stabilizálás)
====================================================== */

/* A feltöltő konténer legyen pozicionálási referencia */
#aaiu-upload-container,
#drag-and-drop {
    position: relative !important;
}

/* A vizuális gomb marad látható,
   DE nem ő kapja a kattintást */
#aaiu-upload {
    position: relative !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

/* A plupload (moxie) shim fedje le PONTOSAN a gomb területét */
#drag-and-drop .moxie-shim,
#drag-and-drop .moxie-shim-html5 {
    position: absolute !important;
    inset: 0 !important;              /* top right bottom left = 0 */
    width: 100% !important;
    height: 100% !important;
    z-index: 10 !important;
    pointer-events: auto !important;
}

/* A valódi file input
   EZ kapja az első kattintást / tap-et */
#drag-and-drop .moxie-shim input[type="file"] {
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    cursor: pointer !important;

    /* iOS / Safari stabilitás */
    -webkit-appearance: none;
    appearance: none;
}

/* ======================================================
   iOS – Képfeltöltés gomb alatti infó szöveg
   (dupla kattintás szükséges)
====================================================== */

@supports (-webkit-touch-callout: none) {

    /* Maga a feltöltő gomb */
    #aaiu-upload {
        position: relative;
    }

    /* Szöveg közvetlenül a gomb alatt */
    #aaiu-upload::after {
        content: "dupla kattintás szükséges";
        display: block;
        margin-top: 6px;
        font-size: 11px;
        line-height: 1.3;
        color: #777;
        text-align: center;
        opacity: 0.85;
        pointer-events: none;
        font-weight: normal;
    }
}

/* TYPE 7 – CSAK FŰTÉS kap 🔥 ikont */

/* SVG ikon elrejtése CSAK fűtésnél */
.property_listing_details_v7_item[data-bs-original-title="Fűtés"] svg {
  display: none;
}
/* =========================================
   HERO – teljes viewport szélesség (NO BOX)
========================================= */
body.home .elementor-section.elementor-top-section:first-of-type {
  max-width: 100vw !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* ==========================================
   AI SZÖVEG GENERÁLÁSA – KIEMELT GOMB
========================================== */
.wp-core-ui .ai-generate-btn {
    background: linear-gradient(135deg, #4f46e5, #6366f1) !important;
    color: #ffffff !important;
    border: none !important;

    font-weight: 600;
    border-radius: 10px;
    padding: 10px 18px;

    box-shadow: 0 6px 18px rgba(79, 70, 229, 0.35);
    transition: all 0.25s ease;

    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* Hover */
.wp-core-ui .ai-generate-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(79, 70, 229, 0.45);
}

/* Active */
.wp-core-ui .ai-generate-btn:active {
    transform: translateY(0);
}

/* AI badge */
.wp-core-ui .ai-generate-btn::after {
    content: "AI";
    font-size: 11px;
    font-weight: 700;
    background: rgba(0, 0, 0, 0.25);
    padding: 2px 6px;
    border-radius: 6px;
}

.ai_valuation_button{
    display:inline-block !important;
    width:auto !important;
    min-width:210px !important;
    padding:12px 22px !important;
    margin:0 0 12px 0 !important;
    border:none !important;
    border-radius:10px !important;
    background:#6c63ff !important;
    color:#fff !important;
    font-size:15px !important;
    font-weight:600 !important;
    line-height:1.2 !important;
    cursor:pointer !important;
}

.ai_valuation_note{
    font-size:13px;
    line-height:1.4;
    opacity:.9;
}