  /* ================= 33) LUXURY SEKCIJA (334570a) — MOBILNI =================
     Na mobilnom koristi POSEBNU uspravnu HD sliku (Luxury-mobileNEW-scaled.png, 1600x1708) umjesto
     desktop siroke panorame — puni visoki hero OSTRO (cover je downscale-uje, ne uvecava). Desktop
     NETAKNUT (svoja slika). Puna visina hero-a (Elementor default 932px/vh). Naslov "Luxury"(d16c475)
     i tekst(30769e2) manji + odvojeni(margin-top 90) + podignuti(translateY -90); dugme "Discover
     More"(2765787) na dnu (margin-top:auto). Elementor ID-evi stabilni.
     ISTORIJA: prije je i mobilni koristio desktop panoramu (800x343 low-res served) -> mutno; probano
     smanjenje visine na 640px (interim) pa VRACENO kad je dodata prava mobilna slika. */
  @media (max-width:768px){
    /* ⚠️ VRH SEKCIJE SE SIJECE NA TELEFONU (2026-07-12): Elementor sekciji je min-height:100vh; a 100vh na
       mobilnom = NAJVECA visina (adresna traka SAKRIVENA). Kad je adresna traka VIDLJIVA, stvarni prostor je
       manji pa sekcija (visoka 100vh) NE STANE -> vrh (nebo/naslov) ispada van ekrana. U iframe preview-u
       (nema adresne trake) izgleda savrseno -> zato se nije vidjelo. FIX: 100svh (STABILNA mala visina =
       racuna adresnu traku KAO dvh, ali se NE mijenja pri skrolu). ⚠️ 100dvh je BUGOVAO: dinamicka visina
       se mijenja kad se traka sakrije/pojavi pri skrolu -> sadrzaj (naslov/tekst/dugme) SKACE i djeluje
       necentrirano. svh rjesava jer je fiksna. 100vh je fallback za stare browsere (bez svh). */
    body.home .elementor-element-334570a{ min-height:100vh !important; min-height:100svh !important; }
    body.home .elementor-element-334570a{ background-image:url("https://realscan.me/wp-content/uploads/2026/07/Luxury-mobileNEW-scaled.png") !important; background-position:50% 50% !important; background-size:cover !important; }
    body.home .elementor-element-d16c475 .elementor-heading-title{ font-size:64px !important; line-height:1.05 !important; }
    body.home .elementor-element-30769e2, body.home .elementor-element-30769e2 p{ font-size:21px !important; line-height:1.55 !important; }
    /* ⚠️ 2026-07-23 FIX (naslov "Luksuz" ISPADAO IZNAD FOTKE na telefonu):
       Ranije je ovdje stajalo `transform:translateY(-90px)` na naslovu+tekstu (podizanje radi kompozicije).
       Naslov time uvijek krece 90px IZNAD vrha svog kontejnera — a koliko ima mjesta iznad zavisi od
       visine ekrana: (visina_sekcije - 618)/2. Na visokim telefonima (>=778px) ima, na nizim (Galaxy
       360x800, iPhone SE, svaki gdje je 100svh < 778) NEMA -> naslov izlazi iznad slike.
       Prelazak na CRNOGORSKI je to pogorsao: CG pasus je duzi od engleskog -> blok visi -> jos manje mjesta.
       RJESENJE: bez podizanja (radi na SVIM visinama).
       ⭐ KOMPOZICIJA (2026-07-23, druga iteracija): prvo rjesenje je samo sklonilo lift pa je ispalo
       „amaterski" — naslov pribijen uz vrh, dugme pinovano na dno (margin-top:auto), velika praznina dolje.
       SAD: naslov+tekst+dugme su JEDNA CJELINA centrirana po vertikali, sa ujednacenim ritmom
       (naslov —40px— tekst —48px— dugme). Praznina gore == praznina dolje na SVAKOJ visini ekrana
       (izmjereno: 360x600 → 83/83, 390x844 → 202/202). Dugme vise NIJE pinovano na dno. */
    body.home .elementor-element-334570a > .e-con-inner{ justify-content:center !important; }
    body.home .elementor-element-334570a .e-child{ justify-content:center !important; }
    /* Razmak naslov-tekst 104px (84 + gap 20): korisnik trazio da naslov stoji NA POLA izmedju gornje
       ivice slike i teksta. Izmjereno 390x844: naslov na 170, polovina (tekst/2) = 171 → odstupanje 1px,
       a cjelina i dalje balansirana (170 gore / 170 dolje). Na nizim ekranima sve ostaje unutar slike. */
    body.home .elementor-element-30769e2{ margin-top:84px !important; }
    body.home .elementor-element-2765787{ margin-top:28px !important; margin-bottom:0 !important; }  /* + gap 20 = 48px iznad dugmeta */
  }

  /* ================= 34) LISTINGS SWIPE (mobilni) — jedna kartica, prevlacenje prstom =================
     Kad ima 2+ nekretnine, na mobilnom se prikazuje JEDNA kartica; prevlacenjem lijevo/desno kartica
     se malo pomjeri za prstom (IZA NJE NEMA druge kartice), i kad se prevuce dovoljno zamijeni se
     sljedecom/prethodnom SEKVENCIJALNO (nikad dvije kartice odjednom). Klasu .rs-swipe-on dodaje JS
     (Function PHP.txt, rsListingSwipe) samo kad ima 2+ kartica i sirina <=768; bez JS-a = normalna
     vertikalna lista (fallback). Kartice = .item-listing-wrap u .listing-view unutar .property-cards-module.
     Indikatori ISPOD (.rs-swipe-nav = strelice + tackice) = JS kreira; ISTI izgled/funkcija kao Services
     carousel (radi ujednacenosti). Nekretnine su BOUND (ne wrap) pa je strelica na kraju liste .rs-dim. */
  body.home .rs-swipe-nav{ display:none; }   /* skriven po defaultu (desktop / bez JS-a) */
  @media (max-width:768px){
    body.home .property-cards-module.rs-swipe-on{ overflow:hidden !important; touch-action:pan-y; position:relative; }
    body.home .property-cards-module.rs-swipe-on .item-listing-wrap{ width:100% !important; will-change:transform, opacity; }
    /* nav ISPOD kartica = strelice (46px zlatni krug) + tackice (7px; aktivna = izduzena zlatna) — ISTO kao Services carousel. */
    body.home .rs-swipe-nav{ display:flex !important; align-items:center; justify-content:space-between; margin:16px 4px 4px; }   /* margina 4px (bilo 20) -> krugovi do ivica kartice, kao Services (bili preuski) */
    /* JACA zlatna (#bd8b1e) jer je nav na BIJELOJ pozadini (listings sekcija) — svijetlo zlato (#f0c96c) se nije vidjelo. */
    body.home .rs-swipe-nav button{ width:46px; height:46px; padding:0; border-radius:999px; display:grid; place-items:center; cursor:pointer; background:rgba(189,139,30,0.10); border:1.5px solid #bd8b1e; color:#bd8b1e; transition:.2s ease; }
    body.home .rs-swipe-nav button:active{ transform:scale(0.92); }
    body.home .rs-swipe-nav button.rs-dim{ opacity:0.32; pointer-events:none; }   /* na kraju liste (nekretnine ne wrap-uju) */
    body.home .rs-swipe-nav svg{ width:20px; height:20px; }
    body.home .rs-swipe-dots{ display:flex; gap:7px; }
    body.home .rs-swipe-dots i{ width:7px; height:7px; border-radius:50%; background:rgba(189,139,30,0.42); transition:.25s ease; }   /* neaktivne = muted zlato, vidljivo na bijeloj (bilo bijelo=nevidljivo, pa 0.30 preslabo) */
    body.home .rs-swipe-dots i.on{ background:#bd8b1e; width:20px; border-radius:4px; }   /* aktivna = jaca zlatna, vidljiva na bijeloj */
  }

  /* ================= 34b) LISTINGS SWIPE — TELEFON + TABLET PORTRET (769-1024) — VERTIKALNA KARTICA ======
     2026-07-15 (korisnik): property kartice VERTIKALNE + swipe SAMO na tablet PORTRETU (834) i telefonu;
     tablet LANDSCAPE (1194) ostaje HORIZONTALNA lista (kao desktop). Zato prag ≤1024 (ne 1200): 834=portret
     swipe, 1194=landscape horizontalno. JS prag isto ≤1024 (inc/03).
     Ovdje: swipe aktivacija + VERTIKALNI raspored (Houzez v10 je `flex-lg-row`=horizontalan >=992; forsiramo
     column) + kartica VECA/centrirana (max-width:640 -> ~512, bilo 440->352 = sitno) + nav (strelice/tackice)
     + replika mobilnog izgleda (gradijent + velicine teksta iz css/06 <=768).
     SVE scope-ovano na `.rs-swipe-on` (samo aktivna swipe kartica) da ne curi na druge liste. */
  /* ⚠️ SPECIFICNOST: sve card-rule nose `.item-wrap-v10` (klasa na .item-listing-wrap) jer inace GUBE od
     mog css/11 (`body.home .elementor-element-e799b65 .item-wrap > .item-body-wrap{flex:0 0 490px}` @>=1025,
     ista specificnost 0,4,1 ali css/11 se ucitava kasnije) i css/02 (`body.home .item-wrap{background:var(--rs-blue)}`).
     Dodatna klasa dize na 0,5,1 -> pobjedjuje bez obzira na redoslijed. Na ≤768 competitora nema (css/06 radi). */
  @media (min-width:769px) and (max-width:1024px){
    body.home .property-cards-module.rs-swipe-on{ overflow:hidden !important; touch-action:pan-y; position:relative; }
    body.home .property-cards-module.rs-swipe-on .item-listing-wrap{ will-change:transform, opacity; }
    /* ZOOM OFF na swipe kartici (2026-07-15, korisnik: tekst presitan): css/11 sek.41 (lin.103) stavlja
       zoom:0.8 na property-cards-module (za STARI full-width tablet layout, da se footer red ne lomi). Kod
       swipe-a je footer VEC stack-ovan (kolona, dole), pa zoom nije potreban — a smanjivao je SVE 20%
       (tekst ~17px sitno, slika 4/3 previsoka). Visa specificnost (0,4,1 s e799b65) da nadjaca css/11
       (0,3,1, kasniji load). Footer Call/Email/WhatsApp ostaje u 1 redu i bez zooma (provjereno). */
    body.home .elementor-element-e799b65 .property-cards-module.rs-swipe-on{ zoom:normal !important; }
    /* GLAVNA SLIKA nizja (korisnik: gornja slika prevelika). Bila aspect-ratio:4/3 (384->480 bez zooma);
       fiksna visina 300 + object-fit:cover (crop, ne razvlaci). Male 360/video slike netaknute. */
    body.home .property-cards-module.rs-swipe-on .item-wrap-v10 .item-header-wrap-left .item-v10-image{ aspect-ratio:auto !important; height:300px !important; }
    body.home .property-cards-module.rs-swipe-on .item-wrap-v10 .item-header-wrap-left .item-v10-image img{ height:100% !important; width:100% !important; object-fit:cover !important; }
    /* VERTIKALNO: Houzez v10 `.item-wrap` i `.item-header-wrap` su flex-row na >=992 -> column.
       body-wrap ima `flex:0 0 490px; min-width:490` (moj css/11 @>=1025) -> min-width:0 da se skupi na sirinu kartice. */
    body.home .property-cards-module.rs-swipe-on .item-wrap-v10 .item-wrap{ flex-direction:column !important; }
    body.home .property-cards-module.rs-swipe-on .item-wrap-v10 .item-header-wrap{ flex-direction:column !important; width:100% !important; min-width:0 !important; flex:0 0 auto !important; }
    body.home .property-cards-module.rs-swipe-on .item-wrap-v10 .item-body-wrap{ width:100% !important; min-width:0 !important; max-width:100% !important; flex:1 1 auto !important; }
    /* JEDNA kartica centrirana. max-width:470 (korisnik: bila prosirena 560 -> glavna slika djelovala
       deformisano/razvucena; suzeno HORIZONTALNO, visina ista). object-fit:cover na slici = crop bez deforma. */
    body.home .property-cards-module.rs-swipe-on .item-listing-wrap.item-wrap-v10{ max-width:470px !important; margin-left:auto !important; margin-right:auto !important; }

    /* nav ISPOD kartica = strelice + tackice (identicno ≤768 bloku iznad; centrirano ~sirina kartice) */
    body.home .rs-swipe-nav{ display:flex !important; align-items:center; justify-content:space-between; margin:16px auto 4px; max-width:470px; }
    body.home .rs-swipe-nav button{ width:46px; height:46px; padding:0; border-radius:999px; display:grid; place-items:center; cursor:pointer; background:rgba(189,139,30,0.10); border:1.5px solid #bd8b1e; color:#bd8b1e; transition:.2s ease; }
    body.home .rs-swipe-nav button:active{ transform:scale(0.92); }
    body.home .rs-swipe-nav button.rs-dim{ opacity:0.32; pointer-events:none; }
    body.home .rs-swipe-nav svg{ width:20px; height:20px; }
    body.home .rs-swipe-dots{ display:flex; gap:7px; }
    body.home .rs-swipe-dots i{ width:7px; height:7px; border-radius:50%; background:rgba(189,139,30,0.42); transition:.25s ease; }
    body.home .rs-swipe-dots i.on{ background:#bd8b1e; width:20px; border-radius:4px; }

    /* --- KARTICA VIZUELNO KAO MOBILNI (replika css/06 <=768; scope .rs-swipe-on .item-wrap-v10) --- */
    body.home .property-cards-module.rs-swipe-on .item-wrap-v10 .item-wrap{ background-image:linear-gradient(180deg, rgb(74,115,171) 0%, rgb(34,64,106) 45%, rgb(12,28,48) 100%) !important; background-color:transparent !important; }
    /* ⭐ 2026-07-15 DARK FIX: swipe pravilo iznad (spec 0,5,1) je NADJACAVALO opsti dark override
       (css/03: html.rs-dark ... .item-wrap = 0,3,1) SAMO u ovom tablet opsegu (769-1024) -> u tamnoj temi
       je kartica pokazivala SVIJETLI plavi gradient (na ≤768 nema swipe rule pa dark pobjedjuje, ok).
       Ovdje dark verzija sa html.rs-dark prefiksom (spec 0,6,2) pobjedjuje -> solid --rs-dark-lux (rgb 7,17,28),
       identicno desktop dark kartici. Svijetla tema netaknuta (prefiks html.rs-dark). [[project_realscan_website_mobile]] */
    html.rs-dark body.home .property-cards-module.rs-swipe-on .item-wrap-v10 .item-wrap{ background-image:none !important; background-color:var(--rs-dark-lux) !important; }
    /* VELICINE TEKSTA (2026-07-15, korisnik: donji tekst presitan). Bez zooma (gore) su ovo STVARNE px;
       podignute iznad mobilnih (21/17/13...) jer je tablet kartica veca (~560): price 24, title 20, itd. */
    body.home .property-cards-module.rs-swipe-on .item-wrap-v10 .item-wrap .price{ font-size:24px !important; font-weight:800 !important; letter-spacing:-0.01em !important; }
    body.home .property-cards-module.rs-swipe-on .item-wrap-v10 .item-wrap .item-sub-price, body.home .property-cards-module.rs-swipe-on .item-wrap-v10 .item-wrap .item-sub-price .price, body.home .property-cards-module.rs-swipe-on .item-wrap-v10 .item-wrap .item-sub-price *{ font-size:13.5px !important; font-weight:400 !important; opacity:0.75 !important; letter-spacing:0 !important; }
    body.home .property-cards-module.rs-swipe-on .item-wrap-v10 .item-wrap .item-title, body.home .property-cards-module.rs-swipe-on .item-wrap-v10 .item-wrap .item-title a{ font-size:20px !important; font-weight:600 !important; line-height:1.25 !important; }
    body.home .property-cards-module.rs-swipe-on .item-wrap-v10 .item-wrap .item-address{ font-size:14px !important; opacity:0.75 !important; }
    body.home .property-cards-module.rs-swipe-on .item-wrap-v10 .item-wrap .item-amenities, body.home .property-cards-module.rs-swipe-on .item-wrap-v10 .item-wrap .item-amenities *{ font-size:15px !important; }
    body.home .property-cards-module.rs-swipe-on .item-wrap-v10 .item-wrap .h-type, body.home .property-cards-module.rs-swipe-on .item-wrap-v10 .item-wrap .h-type *{ font-size:12px !important; font-weight:700 !important; letter-spacing:0.09em !important; opacity:0.7 !important; }
    body.home .property-cards-module.rs-swipe-on .item-wrap-v10 .item-wrap .rs-date-txt, body.home .property-cards-module.rs-swipe-on .item-wrap-v10 .item-wrap .item-date{ font-size:13px !important; opacity:0.7 !important; }
    /* footer (autor + Call/Email/WhatsApp) uspravno, centrirano — kao mobilni */
    body.home .property-cards-module.rs-swipe-on .item-wrap-v10 .item-footer-author-tool-wrap{ flex-direction:column !important; align-items:stretch !important; text-align:start !important; gap:10px !important; padding-right:20px !important; }
    body.home .property-cards-module.rs-swipe-on .item-wrap-v10 .item-footer-author-tool-wrap .item-author-wrap{ justify-content:flex-start !important; width:100% !important; }
    body.home .property-cards-module.rs-swipe-on .item-wrap-v10 .item-buttons-wrap.rs-cta3{ width:auto !important; align-self:center !important; justify-content:center !important; gap:12px !important; }
    /* pilule/ikonice preko slike diskretnije (kao mobilni) */
    body.home .property-cards-module.rs-swipe-on .item-wrap-v10 .btn-360, body.home .property-cards-module.rs-swipe-on .item-wrap-v10 .btn-video{ padding:4px 10px !important; font-size:12px !important; }
    body.home .property-cards-module.rs-swipe-on .item-wrap-v10 .item-tools{ transform:scale(0.85) !important; transform-origin:right center !important; }
  }

  /* ================= 35) 360/VIDEO POPUP (na karticama nekretnina) =================
     Klik na "360° Tour" / "Video" badge na kartici otvara POPUP sa Realsee turom / YouTube videom
     (umjesto odlaska na stranicu). JS (Function PHP.txt, rsMediaPopup) dohvati stranicu nekretnine,
     izvuce realsee(360)/youtube(video) iframe. VIDEO se pusta kroz NAS Plyr player (ne YT UI):
     JS ucita Plyr (cdn.plyr.io/3.7.8, isto kao single-property) i napravi Plyr YouTube player.
     Radi na svim stranicama sa karticama. */
  .rs-media-modal{ position:fixed; inset:0; z-index:2147483000; display:none; }
  .rs-media-modal.rs-open{ display:block; }
  .rs-media-backdrop{ position:absolute; inset:0; background:rgba(4,10,20,.9); backdrop-filter:blur(3px); }
  .rs-media-box{ position:absolute; inset:0; margin:auto; width:min(94vw,1100px); height:min(88vh,680px); display:flex; align-items:center; justify-content:center; }
  .rs-media-frame{ width:100%; height:100%; border-radius:14px; overflow:hidden; background:#000; box-shadow:0 24px 70px rgba(0,0,0,.65); border:1px solid rgba(240,201,108,.35); display:flex; align-items:center; justify-content:center; }
  .rs-media-frame iframe{ width:100%; height:100%; border:0; display:block; }
  .rs-media-frame .rs-plyr-host{ width:100%; }   /* Plyr video (16:9) centriran u okviru */
  .rs-media-loading{ color:#f0c96c; font-size:15px; letter-spacing:.05em; }
  .rs-media-close{ position:absolute; top:-46px; right:0; width:40px; height:40px; border-radius:50%; border:1px solid rgba(240,201,108,.5); background:rgba(7,17,28,.7); color:#f0c96c; cursor:pointer; display:flex; align-items:center; justify-content:center; padding:0; }
  .rs-media-close svg{ width:18px; height:18px; display:block; }   /* SVG × = savrseno centriran */
  @media (max-width:768px){
    .rs-media-box{ width:100vw; height:100vh; height:100svh; }   /* svh = stabilna visina (stane s adresnom trakom, ne skace) */
    .rs-media-frame{ border-radius:0; border:0; }
    /* X (close) FIKSIRAN na vrh-desno EKRANA + safe-area (notch) + veci + max z-index -> uvijek dostupan;
       ne blokira ga browser/fullscreen UI. Prije: top:14px u full-screen okviru -> vrh pod adresnom trakom.
       Isti fix kao za 360 popup (.rs-360-popup-close). */
    .rs-media-close{ position:fixed !important; top:calc(env(safe-area-inset-top,0px) + 14px) !important; right:calc(env(safe-area-inset-right,0px) + 14px) !important; left:auto !important; bottom:auto !important; width:46px !important; height:46px !important; background:rgba(7,17,28,.9) !important; z-index:2147483647 !important; box-shadow:0 2px 12px rgba(0,0,0,.6) !important; }
  }

