/* ============================================================
   ΛΙΣΤΑ ΑΓΓΕΛΙΩΝ (/advanced-search/) — Rossis Real Estate
   Φορτώνεται ΜΟΝΟ στη σελίδα αποτελεσμάτων αναζήτησης.
   Δικά μας στοιχεία: πρόθεμα "rl-" (Rossis Listings).
   Πραγματικά στοιχεία του WPResidence (κάρτες/pagination/sort/view-toggle)
   επανασχεδιάζονται ΧΩΡΙΣ να αλλάζουν IDs/κλάσεις που χρειάζεται το JS.
   ============================================================ */

.rl-page-head{ background:#f5faf6; padding:32px 40px; border-bottom:1px solid #e0e8e2; }
.rl-breadcrumb{ font-size:11px; color:#888; letter-spacing:.5px; margin-bottom:10px; }
.rl-breadcrumb a{ color:var(--rossis-green,#1d6b3a); text-decoration:none; }
/* (2026-10-06) Είναι <h1> για SEO — η σελίδα δεν είχε καθόλου H1, ενώ η
   /akinita/ που αντικαθιστά είχε. Ήταν <div> πριν, οπότε εδώ ακυρώνονται
   ΟΛΑ όσα φέρνει ο h1 από μόνος του (margin/μέγεθος/γραμματοσειρά του
   γονικού theme), ώστε η εμφάνιση να μείνει pixel-identical:
   το line-height:inherit αναπαράγει αυτό που είχε ως div. Ο επιλογέας
   είναι σκόπιμα πιο βαρύς (.rl-page-head h1.rl-page-title) γιατί το
   γονικό theme στυλίζει τα h1 με μεγαλύτερη βαρύτητα από ένα σκέτο
   .rl-page-title. */
.rl-page-head h1.rl-page-title{ margin:0; padding:0; line-height:inherit; font-family:'Playfair Display', serif; font-weight:700; font-size:32px; color:#1a1a1a; letter-spacing:-.5px; }
.rl-page-meta{ font-size:13px; color:#666; margin-top:6px; }
.rl-page-meta b{ color:var(--rossis-green,#1d6b3a); font-weight:600; }

/* Το [rossis_search] έχει ήδη δικό του στυλ· εδώ αφαιρούμε το αρνητικό
   margin-overlap (σχεδιασμένο για πάνω από hero) αφού εδώ μπαίνει κάτω
   από το page-head. */
.rl-page-head + .rossis-search{ margin-top:24px; }

.rl-main-layout{ display:grid; grid-template-columns:260px 1fr; gap:0; align-items:start; }

.rl-sidebar{ padding:24px 28px; border-right:1px solid #ececec; background:#fafaf8; }
.rl-sb-close{ display:none; }
.rl-sb-section{ margin-bottom:24px; padding-bottom:24px; border-bottom:1px solid #ececec; }
.rl-sb-section:last-of-type{ border-bottom:none; }
.rl-sb-section h4{ font-size:12px; font-weight:600; color:#1a1a1a; margin-bottom:12px; text-transform:uppercase; letter-spacing:.8px; }
.rl-sb-check{ display:flex; align-items:center; gap:8px; font-size:13px; color:#555; margin-bottom:8px; cursor:pointer; }
.rl-sb-check input{ accent-color:var(--rossis-green,#1d6b3a); width:14px; height:14px; }
.rl-count{ margin-left:auto; font-size:11px; color:#aaa; }
/* (2026-08-27) Παιδιά ιεραρχίας (π.χ. Μονοκατοικία κάτω από «Κατοικία») — οπτική εσοχή, βλ. search_normal_map_core.php. */
.rl-sb-check-child{ margin-left:22px; }
.rl-sb-select{ width:100%; padding:8px 10px; border:1px solid #e0e0e0; border-radius:3px; font-family:'Inter', sans-serif; font-size:12px; outline:none; margin-bottom:8px; background:#fff; }
.rl-sb-select:focus{ border-color:var(--rossis-green,#1d6b3a); }
.rl-sb-submit{ display:block; width:100%; padding:10px; background:var(--rossis-green,#1d6b3a); color:#fff; border:none; border-radius:3px; font-size:12px; font-weight:600; letter-spacing:.3px; cursor:pointer; margin-top:4px; }
.rl-sb-submit:hover{ background:var(--rossis-green-dark,#155730); }
.rl-sb-clear{ display:block; width:100%; text-align:center; padding:9px; background:transparent; color:#888; border:1px solid #e0e0e0; border-radius:3px; font-size:11px; font-weight:500; letter-spacing:.5px; text-transform:uppercase; cursor:pointer; margin-top:8px; text-decoration:none; }
.rl-sb-clear:hover{ border-color:#ccc; color:#555; }
.rl-filter-toggle{ display:none; align-items:center; gap:8px; padding:10px 16px; background:var(--rossis-green,#1d6b3a); color:#fff; border:none; border-radius:3px; font-size:12px; font-weight:500; cursor:pointer; }

.rl-listings-area{ padding:24px 28px; }
.rl-list-toolbar{ display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; padding-bottom:16px; border-bottom:1px solid #ececec; gap:16px; flex-wrap:wrap; }
.rl-lt-info{ font-size:13px; color:#666; }
.rl-lt-info b{ color:#1a1a1a; font-weight:600; }
.rl-lt-controls{ display:flex; gap:14px; align-items:center; flex-wrap:wrap; }

/* --- Κάρτες: πραγματικό markup WPResidence, τύπος "type1" ---------------
   Grid 180px + 1fr, ΑΚΡΙΒΩΣ όπως .list-grid/.lcard του demo (aggelies.html,
   γραμμές ~194-215): εικόνα αριστερά (180px) / πληροφορίες δεξιά.
   wp_estate_unit_card_type=5→1: το type1 έχει ήδη τοποθεσία (address) και
   προαιρετική σειρά agent (την κρύβουμε: property_card_agent_show_row=no).
   Κάναμε μικρό override 2 αρχείων (child theme, ίδιο locate_template
   pattern με το search_normal_map_core.php):
   - property_unit_type1.php: η τιμή μπαίνει πριν τον τίτλο (όχι πάνω στην
     εικόνα), όπως demo — ΜΟΝΟ αλλαγή σειράς, καμία λογική/δεδομένα άλλαξαν.
   - property_card_details_type1.php: ελληνικά label + εικονίδια αντί για
     αγγλικά "X Rooms · Y Bath · ID · Size", + πραγματικός κωδικός (post ID)
     κάτω, όπως το "Κωδικός: RR-nnnn" (.lc-code) του demo.

   ΣΗΜΑΝΤΙΚΟ (bugfix): το γονικό theme έχει κανόνα `#listing_ajax_container{
   display:flex;...}` με ID selector — νικάει οποιοδήποτε δικό μας `.rl-cards{
   display:grid}` (class) ΑΝΕΞΑΡΤΗΤΑ από τη σειρά φόρτωσης των αρχείων, γι'
   αυτό εμφανιζόταν μόνο 1 στήλη. Λύση: χρησιμοποιούμε το ίδιο #ID στους
   δικούς μας κανόνες ώστε να έχουμε εγγυημένα μεγαλύτερη ειδικότητα.
   Ομοίως, το γονικό `.property_unit_type1 .listing-unit-img-wrapper{
   height:auto}` (2 κλάσεις) έχει ΙΣΗ ειδικότητα με το δικό μας αντίστοιχο
   `.rl-cards .listing-unit-img-wrapper{...}` — με height:auto (χωρίς σαφές
   ύψος) οι απόγονοι (.carousel/.carousel-inner/.carousel-item/img με
   height:100%) δεν έχουν ορισμένο ύψος αναφοράς και καταρρέουν σε 0 (γι'
   αυτό δεν φαίνονταν καθόλου οι φωτογραφίες). Λύση: #ID selector + ρητό,
   σταθερό height (όχι min-height/auto) σε κάθε επίπεδο της αλυσίδας.
   --------------------------------------------------------------------- */
#listing_ajax_container.rl-cards{ display:grid; grid-template-columns:repeat(2, 1fr); gap:16px; }
@media (max-width:1024px){
  #listing_ajax_container.rl-cards{ grid-template-columns:1fr; }
}
.rl-cards .listing_wrapper{ width:100%; }

.rl-cards .property_listing.property_unit_type1{
  display:grid; grid-template-columns:180px 1fr; align-items:stretch;
  overflow:hidden; position:relative; border:1px solid #ececec; border-radius:6px;
  transition:border-color .2s, transform .2s; background:#fff; cursor:pointer;
}
.rl-cards .property_listing.property_unit_type1:hover{ border-color:var(--rossis-green,#1d6b3a); transform:translateY(-2px); }

/* --- Ολόκληρη η κάρτα κλικαμπλή (stretched-link pattern) ---------------
   Η κάρτα εδώ ΕΧΕΙ εσωτερικά interactive στοιχεία (favorite, βελάκια
   carousel), οπότε δεν τη μετατρέπουμε σε ένα <a> (θα υπήρχαν nested <a>
   μέσα στο slider). Αντ' αυτού: το <a> του τίτλου παίρνει ::after με
   position:absolute; inset:0 που καλύπτει ΟΛΗ την κάρτα (η κάρτα είναι
   ήδη position:relative), και τα εσωτερικά κουμπιά ανεβαίνουν πάνω από
   αυτό με μεγαλύτερο z-index ώστε να παραμένουν ανεξάρτητα κλικαμπλά. */
.rl-cards .property-unit-information-wrapper h4 a{ position:static; }
.rl-cards .property-unit-information-wrapper h4 a::after{
  content:""; position:absolute; inset:0; z-index:1;
}
.rl-cards .carousel-control-prev,
.rl-cards .carousel-control-next{ z-index:2; }
/* Σημ.: .icon-fav έχει ήδη z-index:2 παρακάτω (μαζί με τη θέση του). */

/* --- Εικόνα (αριστερά) — ρητό height (όχι min-height) σε κάθε επίπεδο --- */
#listing_ajax_container .listing-unit-img-wrapper{ position:relative; overflow:hidden; height:180px; margin:0; }
#listing_ajax_container .listing-unit-img-wrapper .carousel,
#listing_ajax_container .listing-unit-img-wrapper .carousel-inner,
#listing_ajax_container .listing-unit-img-wrapper .carousel-item{ height:100%; }
/* ΔΙΑΓΝΩΣΗ (φωτό αόρατες, 2ο εύρημα): με position:absolute;inset:0 ΜΑΖΙ με
   ρητό height:100%/width:100% πάνω σε <img> μέσα σε wrapper με δικό του
   ΡΗΤΟ πλάτος (180px, από το grid-template-columns:180px 1fr της κάρτας),
   το Chrome υπολογίζει το replaced-element box ως 0×0 (over-constrained
   inset+size σε αλυσίδα εμφωλευμένων ποσοστών ύψους) — επιβεβαιώθηκε με
   απομονωμένο test (ίδιο markup+CSS εκτός σελίδας, χωρίς JS/δίκτυο/cache).
   Λύση: ΧΩΡΙΣ position:absolute — η εικόνα μένει στην κανονική ροή και
   γεμίζει το wrapper μέσω height/width:100% + object-fit:cover, ίδιο
   οπτικό αποτέλεσμα χωρίς το bug. */
#listing_ajax_container .listing-unit-img-wrapper img{ display:block; height:100%; width:100%; object-fit:cover; }

/* ΔΙΑΓΝΩΣΗ (φωτό αόρατες): το .prop_new_details (+ .prop_new_details_back,
   .featured_gradient μέσα του) είναι ένα αδιαφανές σκούρο layer πάνω στη
   φωτογραφία (position:absolute; inset:0; z-index:9· background-color:
   #1d293e + gradient), σχεδιασμένο ΑΡΧΙΚΑ από το theme για να δίνει
   αντίθεση στη λευκή τιμή που κανονικά εμφανίζεται ΠΑΝΩ στην εικόνα.
   Εμείς μετακινήσαμε την τιμή στο info panel (property_unit_type1.php
   override) — το layer έμεινε ορφανό, άχρηστο, αλλά ενεργό: μέχρι το
   προηγούμενο fix ήταν αόρατο επειδή ο wrapper είχε ύψος 0· μόλις δώσαμε
   ρητό height:180px "ξύπνησε" και κάλυπτε πλήρως τη φωτογραφία (z-index:9
   > το z-index:auto του carousel). Λύση: το κρύβουμε εντελώς εδώ. */
#listing_ajax_container .listing-unit-img-wrapper .prop_new_details{ display:none; }

.rl-cards .status-wrapper{ position:absolute; top:10px; left:10px; z-index:2; display:flex; gap:6px; }
/* Κρύβουμε το badge "Τύπου κτιρίου" (π.χ. Μονοκατοικία) και το duplicate
   "Κατηγορία in Τύπος" κείμενο — το demo δείχνει μόνο Πώληση/Ενοικίαση,
   ο τύπος φαίνεται ήδη στον τίτλο. */
.rl-cards .action_tag_wrapper,
.rl-cards .property_categories_type1_wrapper{ display:none; }
.rl-cards .ribbon-inside{ font-size:9px; letter-spacing:1px; padding:5px 10px; border-radius:2px; font-weight:600; text-transform:uppercase; color:#fff !important; display:inline-block; }
.rl-cards .ribbon-inside.Αγορά{ background:var(--rossis-green,#1d6b3a); }
.rl-cards .ribbon-inside.Ενοικίαση{ background:#234e6c; }
.rl-cards .icon-fav{ position:absolute; top:10px; right:10px; z-index:2; }
.rl-cards .featured_div{ font-size:0; position:absolute; top:44px; left:10px; z-index:2; background:rgba(255,255,255,.95); color:var(--rossis-green,#1d6b3a); padding:4px 9px; border-radius:2px; }
.rl-cards .featured_div::before{ content:"ΠΡΟΤΕΙΝΟΜΕΝΟ"; font-size:9px; letter-spacing:1px; font-weight:600; }

/* --- Πληροφορίες (δεξιά), ίδια σειρά με .lc-body του demo --- */
.rl-cards .property-unit-information-wrapper{ min-width:0; padding:16px 18px; display:flex; flex-direction:column; justify-content:space-between; }
.rl-cards .property-unit-information-wrapper .listing_unit_price_wrapper{ font-family:'Playfair Display', serif; font-weight:700; font-size:22px; color:var(--rossis-green,#1d6b3a); margin-bottom:4px; }
.rl-cards .property-unit-information-wrapper h4{
  font-size:14px; font-weight:600; color:#1a1a1a; margin:0 0 4px; line-height:1.3;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.rl-cards .property-unit-information-wrapper h4 a{ text-decoration:none; color:inherit; }
.rl-cards .property_address_type1_wrapper{ font-size:11px; color:#888; display:flex; align-items:center; gap:4px; margin-bottom:10px; overflow:hidden; white-space:nowrap; }
.rl-cards .property_address_type1_wrapper i{ color:var(--rossis-green,#1d6b3a); flex-shrink:0; font-size:11px; }
.rl-cards .property_address_type1_wrapper span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rl-cards .rl-card-meta{ display:flex; gap:10px; flex-wrap:wrap; border-top:1px solid #f0f0f0; padding-top:10px; }
.rl-cards .rl-card-meta-item{ font-size:11px; color:#666; display:flex; align-items:center; gap:4px; }
.rl-cards .rl-card-meta-item i{ color:#888; }
.rl-cards .rl-card-code{ font-size:10px; color:#aaa; margin-top:8px; letter-spacing:.5px; }

@media (max-width:768px){
  .rl-cards .property_listing.property_unit_type1{ grid-template-columns:1fr; }
  #listing_ajax_container .listing-unit-img-wrapper{ height:200px; }
  .rl-cards .property-unit-information-wrapper{ padding:14px 16px; }
}

/* --- Pagination: πραγματικό markup (ul.pagination.pagination_nojax)
   Το κουμπί (border/background/radius/μέγεθος) ζει ΜΟΝΟ στο εσωτερικό
   <a>/<span> (το κλικαμπλ στοιχείο). Το <li> είναι εντελώς "διάφανο" —
   το parent theme (main.css: .pagination>li>a{background:#fff;
   border:1px solid #f1f8ff;...}) στυλίζει ΚΑΙ αυτό το <a> ανεξάρτητα,
   που πριν δημιουργούσε ένα δεύτερο, αχνό εσωτερικό πλαίσιο μέσα στο
   δικό μας κουτί του <li>. --- */
.pagination.pagination_nojax{ display:flex; justify-content:center; gap:6px; margin-top:32px; flex-wrap:wrap; list-style:none; padding:0; }
.pagination.pagination_nojax li{ border:none !important; background:transparent !important; padding:0 !important; margin:0 !important; box-shadow:none !important; border-radius:0 !important; float:none !important; }
.pagination.pagination_nojax li > a,
.pagination.pagination_nojax li > span{
  min-width:36px; height:36px; padding:0 12px !important; margin:0 !important;
  display:flex; align-items:center; justify-content:center;
  background:#fff !important; border:1px solid #e0e0e0 !important; border-radius:3px !important;
  box-shadow:none !important; font-size:13px; color:#555; text-decoration:none;
}
.pagination.pagination_nojax li.active > a,
.pagination.pagination_nojax li.active > span{
  background:var(--rossis-green,#1d6b3a) !important; border-color:var(--rossis-green,#1d6b3a) !important;
  color:#fff; font-weight:600;
}
.pagination.pagination_nojax li > a:hover,
.pagination.pagination_nojax li > span:hover{
  border-color:var(--rossis-green,#1d6b3a) !important; background:#fff !important; color:var(--rossis-green,#1d6b3a);
}
.pagination.pagination_nojax li.active > a:hover,
.pagination.pagination_nojax li.active > span:hover{ color:#fff; }

/* --- Sort dropdown / view toggle: κρατάμε IDs/λειτουργία, μόνο διάκενα/μέγεθος --- */
.rl-lt-controls #a_filter_order,
.rl-lt-controls .listing_filter_select{ font-size:12px; }
.rl-lt-controls .wpestate_list_grid_filter_wiew_wrapper{ display:flex; border:1px solid #e0e0e0; border-radius:3px; overflow:hidden; }
.rl-lt-controls .listing_filter_views{ padding:8px 12px; cursor:pointer; color:#888; }
.rl-lt-controls .listing_filter_views .icon_selected{ color:var(--rossis-green,#1d6b3a); }

/* --- Ενότητα χάρτη (κάτω μέρος, όχι half-map split — διακριτικό, premium) --- */
.rl-map-section{ padding:50px 40px; background:#fafaf8; border-top:1px solid #ececec; }
.rl-map-head{ margin-bottom:24px; }
.rl-map-eyebrow{ font-size:11px; letter-spacing:3px; color:var(--rossis-green,#1d6b3a); margin-bottom:6px; text-transform:uppercase; font-weight:600; }
.rl-map-title{ font-family:'Playfair Display', serif; font-weight:700; font-size:24px; color:#1a1a1a; letter-spacing:-.5px; }
.rl-map-frame{ border-radius:8px; overflow:hidden; border:1px solid #d8e7dc; box-shadow:0 4px 20px rgba(0,0,0,.04); }
.rl-map-frame #gmap_wrapper{ border-radius:8px; }

@media (max-width:768px){
  .rl-map-section{ padding:32px 16px; }
}

@media (max-width:992px){
  .rl-main-layout{ grid-template-columns:1fr; }
  .rl-sidebar{
    position:fixed; top:0; left:-100%; width:85%; max-width:320px; height:100vh;
    z-index:200; transition:left .3s ease; overflow-y:auto; border-right:none;
    box-shadow:4px 0 20px rgba(0,0,0,.1); background:#fff;
  }
  .rl-sidebar.rl-open{ left:0; }
  .rl-sb-close{ display:block; background:transparent; border:none; cursor:pointer; padding:4px; color:#1a1a1a; font-size:20px; float:right; }
  .rl-filter-toggle{ display:inline-flex; }
  .rl-list-toolbar{ flex-direction:column; align-items:stretch; }
}

/* --- Fix: overlap κινητού μενού (hamburger) με το sidebar φίλτρων ---
   Το κινητό μενού του WPResidence (#mobilewrapper_links / #mobilewrapperuser,
   βιβλιοθήκη Slideout.js) ΔΕΝ έχει ΚΑΘΟΛΟΥ δικό του z-index (ελέγχθηκε στο
   scss/headers/_mobile_header.scss του γονικού theme) — άρα σε στοίβαγμα
   (z-index:auto) χάνει από το δικό μας .rl-sidebar (z-index:200, ακριβώς
   από πάνω). Αν ο χρήστης άνοιγε τα φίλτρα ΚΑΙ μετά το hamburger μενού
   (χωρίς να κλείσει πρώτα τα φίλτρα), το sidebar ζωγραφιζόταν ΠΑΝΩ από το
   μενού, μπλέκοντας τα δύο οπτικά — δεν διαβαζόταν/πατιόταν τίποτα σωστά.
   Λύση: (1) το κινητό μενού παίρνει σαφώς μεγαλύτερο z-index, ΚΑΙ (2) όσο
   είναι ανοιχτό, το sidebar φίλτρων κρύβεται/απενεργοποιείται πλήρως ώστε
   να μην παρεμβαίνει καθόλου. Το Slideout.js προσθέτει την κλάση
   "slideout-open" στο #all_wrapper όσο είναι ανοιχτό οποιοδήποτε από τα
   δύο κινητά μενού (links ή user) — το χρησιμοποιούμε ως hook. Αφορά ΜΟΝΟ
   αυτή τη σελίδα (listings.css φορτώνει μόνο εδώ) — καμία επίδραση στο
   desktop (το hamburger μενού δεν υπάρχει καν εκεί) ή στη λειτουργικότητα
   φίλτρων/μενού. */
#mobilewrapper_links,
#mobilewrapperuser{ z-index:9999; }

#all_wrapper.slideout-open .rl-sidebar{
  visibility:hidden;
  pointer-events:none;
}
