/* ============================================================
   ΣΕΛΙΔΑ ΑΚΙΝΗΤΟΥ (single-estate_property) — Rossis Real Estate
   Φορτώνεται ΜΟΝΟ στη σελίδα μεμονωμένου ακινήτου.
   Δικά μας στοιχεία: πρόθεμα "rp-" (Rossis Property).
   Όλα τα υπόλοιπα (gallery/lightbox, overview, features accordion,
   real Leaflet map, agent + contact form, similar listings) είναι
   ΠΡΑΓΜΑΤΙΚΟ markup του WPResidence — εδώ μόνο τα ξαναστυλίζουμε.
   ============================================================ */

.rp-breadcrumb{ font-size:11px; color:#888; letter-spacing:.5px; padding:14px 40px; background:#fafaf8; border-bottom:1px solid #ececec; }
.rp-breadcrumb a{ color:var(--rossis-green,#1d6b3a); text-decoration:none; }

/* --- Gallery: πραγματικές φωτογραφίες (wpestate_generate_property_slider_image_ids),
   ίδιο grid με το demo, ανοίγει το ΠΡΑΓΜΑΤΙΚΟ lightbox (image_gallery.php στο
   footer) μέσω .lightbox_trigger + data-slider-no — ίδια σειρά εικόνων. --- */
.rp-gallery{ display:grid; grid-template-columns:2fr 1fr 1fr; grid-template-rows:200px 200px; gap:6px; padding:24px 40px 0; }
.rp-gallery .rp-g-item{ display:block; position:relative; overflow:hidden; border-radius:6px; background:#e8ece9; cursor:pointer; }
.rp-gallery .rp-g-item img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.rp-gallery .rp-g-main{ grid-row:1/3; }
.rp-g-tag{ position:absolute; top:14px; left:14px; z-index:2; font-size:10px; letter-spacing:1.5px; padding:5px 12px; border-radius:2px; font-weight:600; color:#fff; text-transform:uppercase; }
.rp-g-tag.rp-g-tag-sale{ background:var(--rossis-green,#1d6b3a); }
.rp-g-tag.rp-g-tag-rent{ background:#234e6c; }
.rp-g-more{ position:absolute; inset:0; background:rgba(0,0,0,.5); color:#fff; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:500; }
/* λιγότερες από 5 φωτό: το grid απλά συρρικνώνεται φυσικά χωρίς κενά κουτιά */
.rp-gallery.rp-gallery-count-1{ grid-template-columns:1fr; grid-template-rows:420px; }
.rp-gallery.rp-gallery-count-2{ grid-template-columns:2fr 1fr; grid-template-rows:420px; }
.rp-gallery.rp-gallery-count-2 .rp-g-main{ grid-row:1; }
.rp-gallery.rp-gallery-count-3{ grid-template-columns:2fr 1fr; }
/* ΣΗΜΑΝΤΙΚΟ: grid-template-rows ΠΡΕΠΕΙ να έχει ρητό ύψος (px), ΟΧΙ fr.
   Το μόνο παιδί κάθε .rp-g-item είναι η <img> με position:absolute (βγαίνει
   από το normal flow), άρα δεν συνεισφέρει καθόλου ύψος στο grid cell της.
   Με "1fr 1fr" (χωρίς ρητό ύψος στο ίδιο το .rp-gallery) το grid δεν είχε
   τίποτα να μοιράσει και κατέρρεε σε ~μηδενικό ύψος — οι φωτογραφίες
   "χάνονταν" σε ΚΑΘΕ ακίνητο με ΑΚΡΙΒΩΣ 4 φωτογραφίες (π.χ. Μεγανήσι). */
.rp-gallery.rp-gallery-count-4{ grid-template-columns:2fr 1fr 1fr; grid-template-rows:200px 200px; }
.rp-gallery.rp-gallery-count-4 .rp-g-item:nth-child(4){ grid-row:2; grid-column:2; }

/* --- Layout: κεντρική στήλη + aside (πράκτορας/φόρμα) --- */
.rp-detail-content{ display:grid; grid-template-columns:1fr 360px; gap:32px; padding:32px 40px; align-items:start; }
.rp-main-col{ min-width:0; }

/* --- Τίτλος / τιμή / διεύθυνση / ενέργειες: πραγματικό
   property_header_area_template.php (title_section.php +
   address_under_title.php + property_header_social_fav_and_print.php),
   αναδιατάσσεται με flex order για να ταιριάξει με το demo. --- */
.rp-main-col .wpresidence_property_page_title_area{
  display:flex; flex-direction:column; position:relative; margin-bottom:24px; padding-right:140px;
}
.rp-main-col .single_property_labels{ order:1; display:flex; gap:6px; flex-wrap:wrap; margin-bottom:8px; }
.rp-main-col .single_property_labels .property_title_label{
  background:var(--rossis-green,#1d6b3a); color:#fff; font-size:10px; letter-spacing:1px;
  padding:4px 10px; border-radius:2px; text-transform:uppercase; font-weight:600;
}
.rp-main-col .single_property_labels .property_title_label.actioncat{ background:#234e6c; }
/* Το πρώτο label είναι το πραγματικό property_action_category (τύπος
   κτιρίου, π.χ. Μονοκατοικία/Διαμέρισμα) — οικόπεδα/αγροτεμάχια δεν έχουν
   αυτόν τον όρο (λογικό, δεν είναι κτίρια) και το div έβγαινε άδειο, μόνο
   το πράσινο φόντο χωρίς κείμενο ("μικρό τετραγωνάκι"). Κρύβεται όταν είναι κενό. */
.rp-main-col .single_property_labels .property_title_label:empty{ display:none; }
.rp-main-col h1.entry-title.entry-prop{
  order:2; font-family:'Playfair Display', serif; font-weight:700; font-size:30px;
  color:#1a1a1a; letter-spacing:-.5px; line-height:1.2; margin:0;
}
.rp-main-col .property_categs{ order:3; font-size:13px; color:#666; margin-top:8px; display:flex; align-items:flex-start; gap:6px; }
.rp-main-col .property_categs i{ color:var(--rossis-green,#1d6b3a); margin-top:2px; }
.rp-main-col .price_area{ order:4; margin-top:18px; }
.rp-main-col .price_area .listing_unit_price_wrapper{
  font-family:'Playfair Display', serif; font-weight:700; font-size:38px; color:var(--rossis-green,#1d6b3a);
}
.rp-main-col .price_area .second_price_area:empty{ display:none; }
.rp-main-col .price_area .second_price_area{ font-size:13px; color:#888; margin-bottom:4px; }

/* Share/Print: το child override property_header_social_fav_and_print.php
   βάζει πραγματικά inline SVG (δεν εξαρτώνται από icon-fonts — το FA FREE
   πακέτο δεν έχει καθόλου περίγραμμα καρδιάς σε regular βάρος, γι' αυτό και
   το favorite icon παρακάτω παίρνει ρητό font-weight fallback). Text
   ("Share"/"Favorite"/"Print") κρύβεται με font-size:0, όχι text-indent,
   ώστε να μη μετατοπίζει τυχόν pseudo-elements/παιδιά. */
.rp-main-col .prop_social{ position:absolute; top:0; right:0; display:flex; gap:8px; }
.rp-main-col .prop_social .title_share{
  width:38px; height:38px; border:1px solid #e0e0e0; background:#fff; border-radius:50%;
  display:flex; align-items:center; justify-content:center; color:#666; cursor:pointer;
  font-size:0; line-height:0; overflow:hidden;
}
.rp-main-col .prop_social .title_share svg,
.rp-main-col .prop_social .title_share i{ flex-shrink:0; }
.rp-main-col .prop_social .title_share i{ font-size:15px; line-height:1; }
.rp-main-col .prop_social .title_share i.far.fa-heart{ font-weight:900; } /* FA free δεν έχει outline heart — solid πάντα */
.rp-main-col .prop_social .title_share.isfavorite,
.rp-main-col .prop_social .title_share.isfavorite i{ color:#c0392b; }
.rp-main-col .prop_social .title_share:hover{ border-color:var(--rossis-green,#1d6b3a); color:var(--rossis-green,#1d6b3a); }

/* --- Overview (Επισκόπηση): δωμάτια/μπάνια/τ.μ./γκαράζ/έτος — πραγματικό
   wpestate_property_overview_v2(), σέβεται το wp_estate_property_overview_order --- */
.rp-main-col .property-page-overview-details-wrapper{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(110px,1fr)); gap:0;
  border:1px solid #ececec; border-radius:6px; overflow:hidden; margin-bottom:32px; background:#fff;
}
.rp-main-col .overview_element{ padding:18px 10px; text-align:center; border-right:1px solid #ececec; border-bottom:none; margin:0 !important; list-style:none; }
.rp-main-col .overview_element:last-child{ border-right:none; }
.rp-main-col .overview_element svg{ width:22px; height:22px; color:var(--rossis-green,#1d6b3a); fill:currentColor; margin-bottom:6px; }
.rp-main-col .overview_element .first_overview{ display:flex !important; flex-direction:column; align-items:center; gap:4px; }
.rp-main-col .overview_element li:last-child{ font-size:13px; font-weight:600; color:#1a1a1a; }
.rp-main-col .overview_element .overview_inline_label{ font-size:11px; color:#888; letter-spacing:.5px; text-transform:uppercase; }

/* --- Περιγραφή --- */
.rp-main-col .wpestate_property_description .panel-title,
.rp-main-col .single-overview-section .panel-title{
  font-family:'Playfair Display', serif; font-weight:700; font-size:20px; color:#1a1a1a; margin:0 0 14px;
}
.rp-main-col .wpestate_property_description .panel-body{ font-size:14px; line-height:1.8; color:#444; }
.rp-main-col .wpestate_property_description{ margin-bottom:8px; }

/* --- Παροχές / Χάρτης: πραγματικό Bootstrap accordion (ήδη ανοιχτό by
   default, "collapse show"). Ξαναστυλίζουμε το header σαν απλό section
   heading — η λειτουργία collapse/expand παραμένει, δεν πειράζει. --- */
.rp-main-col .accordion.property-panel{ border:none; margin:28px 0; }
.rp-main-col .accordion-item{ border:none; }
.rp-main-col .accordion-header{ margin:0; }
.rp-main-col .accordion-button{
  all:unset; cursor:pointer; display:block; width:100%;
  font-family:'Playfair Display', serif; font-weight:700; font-size:20px; color:#1a1a1a;
  padding:0 0 14px; border-bottom:1px solid #ececec; margin-bottom:18px;
}
.rp-main-col .accordion-button::after{ display:none; }
.rp-main-col .accordion-body{ padding:0; }

/* --- Παροχές: πραγματικό markup wpestate_property_features_v2() —
   ομάδες (π.χ. "Εξωτερικά Χαρακτηριστικά"/"Εσωτερικά Χαρακτηριστικά").
   ΠΡΟΣΟΧΗ: τόσο ο wrapper ΚΑΘΕ ομάδας (.listing_detail.col-md-12.row.
   feature_block_X) ΟΣΟ ΚΑΙ κάθε μεμονωμένο χαρακτηριστικό μέσα σε αυτήν
   (.listing_detail.col-md-4) έχουν την ΙΔΙΑ κλάση "listing_detail" — γι'
   αυτό στοχεύουμε ρητά το ".col-md-4" για τα φύλλα, και ξαναφτιάχνουμε
   τον wrapper ομάδας σε CSS Grid 3 στηλών (σαν το demo .amenities) αντί
   να αφήσουμε το Bootstrap row/col, που έσπαγε (μόνο 2 στήλες με κενά)
   επειδή το παλιότερο flex+gap rule εφαρμοζόταν και στον wrapper. --- */
.rp-main-col .listing_detail.row{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:8px 12px;
  margin:0 0 22px; padding:0; width:100%;
}
.rp-main-col .feature_chapter_name{
  grid-column:1/-1; font-family:'Playfair Display', serif; font-weight:700;
  font-size:14px; color:#1a1a1a; margin:6px 0 2px; padding:0; width:auto;
}
.rp-main-col .listing_detail.col-md-4{
  display:flex; align-items:center; gap:8px; font-size:13px; color:#333;
  padding:10px 12px; background:#f5faf6; border-radius:4px; margin:0; width:auto;
}
.rp-main-col .listing_detail.col-md-4.not_present{ background:transparent; color:#bbb; text-decoration:line-through; }
.rp-main-col .listing_detail.col-md-4 i,
.rp-main-col .listing_detail.col-md-4 svg{ color:var(--rossis-green,#1d6b3a); flex-shrink:0; width:14px; height:14px; }
.rp-main-col .listing_detail.col-md-4.not_present i,
.rp-main-col .listing_detail.col-md-4.not_present svg{ color:#ccc; }
@media (max-width:600px){
  .rp-main-col .listing_detail.row{ grid-template-columns:1fr; }
}

/* Χάρτης: πραγματικό Leaflet/OSM ([property_page_map] shortcode) */
.rp-main-col .google_map_shortcode_wrapper{ border-radius:6px; overflow:hidden; border:1px solid #d8e7dc; }
.rp-main-col .googleMap_shortcode_class{ border-radius:6px; }

/* --- Aside: πραγματικός πράκτορας + πραγματική φόρμα ενδιαφέροντος
   (wpestate_property_agent_area_v2 → agentdetails.php + contact_form_simple.php) --- */
.rp-aside{ position:sticky; top:20px; }
.rp-aside .wpestate_single_agent_details_wrapper{
  background:#fff; border:1px solid #ececec; border-radius:8px; padding:24px;
  box-shadow:0 4px 20px rgba(0,0,0,.04); display:block;
}
.rp-aside .agentpic-wrapper{ display:flex; align-items:center; gap:12px; padding-bottom:18px; border-bottom:1px solid #ececec; margin-bottom:18px; width:auto; float:none; }
/* Το πραγματικό λογότυπο της επιχείρησης (uploads/2022/03/1.png) είναι
   πλατύ/οριζόντιο (525x328px) — με background-size:cover μέσα σε κύκλο
   54x54 κοβόταν στα πλάγια ("φαγωμένο"). Contain-fit μέσα σε στρογγυλεμένο
   τετράγωνο badge δείχνει ολόκληρο το λογότυπο χωρίς παραμόρφωση.
   ΣΗΜΕΙΩΣΗ specificity: το πραγματικό theme έχει κανόνα
   ".wpestate_agent_details_wrapper .agentpic-wrapper .agent-listing-img-wrapper"
   (3 κλάσεις, width:100% + agentpict height:260px) — πιο ειδικός από ένα
   απλό ".rp-aside .agent-listing-img-wrapper" (2 κλάσεις), γι' αυτό
   προσθέτουμε ρητά την κλάση wpestate_agent_details_wrapper (υπάρχει ήδη
   στο πραγματικό markup) για να κερδίσουμε χωρίς !important. */
.rp-aside .wpestate_agent_details_wrapper .agentpic-wrapper .agent-listing-img-wrapper{
  width:56px; height:56px; border-radius:10px; overflow:hidden; flex-shrink:0;
  background:#f5faf6; display:flex; align-items:center; justify-content:center;
}
.rp-aside .wpestate_agent_details_wrapper .agentpic-wrapper .agent-listing-img-wrapper .agentpict{
  width:100%; height:100%; background-size:contain; background-repeat:no-repeat; background-position:center;
}
.rp-aside .agent_details{ width:auto; float:none; }
.rp-aside .agent_details h3{ font-size:14px; font-weight:600; color:#1a1a1a; margin:0 0 2px; }
.rp-aside .agent_details h3 a{ color:inherit; text-decoration:none; }
.rp-aside .agent_position{ font-size:11px; color:#888; }
.rp-aside .agent_unit_social_single{ display:flex; gap:8px; margin-top:10px; }
.rp-aside .custom_details_container:empty{ display:none; }

.rp-aside .wpestate_contact_form_parent .lightbox_enquire,
.rp-aside form[id*="contact"] > h4,
.rp-aside .contact_form_title,
.rp-aside .wpestate_property_contact_form_title{
  font-size:11px; letter-spacing:2px; color:var(--rossis-green,#1d6b3a); font-weight:600;
  text-transform:uppercase; margin:18px 0 12px;
}
.rp-aside form{ display:flex; flex-direction:column; gap:10px; }
.rp-aside input[type="text"],
.rp-aside input[type="email"],
.rp-aside input[type="tel"],
.rp-aside textarea,
.rp-aside select{
  padding:10px 12px; border:1px solid #e0e0e0; border-radius:3px;
  font-family:'Inter', sans-serif; font-size:13px; outline:none; width:100%;
}
.rp-aside textarea{ resize:none; min-height:80px; }
.rp-aside .agent_submit_class,
.rp-aside button[type="submit"],
.rp-aside input[type="submit"]{
  background:var(--rossis-green,#1d6b3a); color:#fff; border:none; padding:12px;
  border-radius:3px; font-size:13px; font-weight:500; cursor:pointer; letter-spacing:.3px; width:100%;
}
.rp-aside .agent_submit_class:hover,
.rp-aside button[type="submit"]:hover{ background:var(--rossis-green-dark,#155730); }

@media (max-width:992px){
  .rp-gallery{ padding:20px 20px 0; }
  .rp-detail-content{ grid-template-columns:1fr; padding:24px 20px; }
  .rp-aside{ position:static; }
}
@media (max-width:600px){
  .rp-breadcrumb{ padding:12px 16px; }
  .rp-gallery{ grid-template-columns:1fr 1fr; grid-template-rows:140px 140px; }
  .rp-main-col .wpresidence_property_page_title_area{ padding-right:0; }
  .rp-main-col .prop_social{ position:static; margin-top:14px; }
  .rp-main-col h1.entry-title.entry-prop{ font-size:24px; }
  .rp-main-col .price_area .listing_unit_price_wrapper{ font-size:28px; }
}

/* --- Παρόμοια ακίνητα: πραγματικό query + κάρτες (property_unit_type1.php
   override, ίδιο με τη λίστα αγγελιών) — νέο πλαίσιο grid εδώ, δεν
   αγγίζει το #listing_ajax_container scoping της λίστας. --- */
#property_similar_listings{ padding:40px; background:#fafaf8; border-top:1px solid #ececec; margin:0; }
#property_similar_listings .agent_listings_title_similar{
  font-family:'Playfair Display', serif; font-weight:700; font-size:24px; color:#1a1a1a; margin-bottom:24px;
}
/* το πραγματικό markup: .listing_wrapper > .property_listing.property_unit_type1,
   ίδιο σύστημα καρτών με τη λίστα αγγελιών — grid 3 στηλών όπως το demo */
#property_similar_listings.wpresidence_realtor_listings_wrapper{ display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; }
#property_similar_listings .listing_wrapper{ width:100%; }
#property_similar_listings .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;
  background:#fff; transition:border-color .2s, transform .2s; cursor:pointer;
}
#property_similar_listings .property_listing.property_unit_type1:hover{ border-color:var(--rossis-green,#1d6b3a); transform:translateY(-2px); }
#property_similar_listings .listing-unit-img-wrapper{ position:relative; overflow:hidden; height:140px; margin:0; }
#property_similar_listings .listing-unit-img-wrapper .carousel,
#property_similar_listings .listing-unit-img-wrapper .carousel-inner,
#property_similar_listings .listing-unit-img-wrapper .carousel-item{ height:100%; }
#property_similar_listings .listing-unit-img-wrapper img{ display:block; height:100%; width:100%; object-fit:cover; }
#property_similar_listings .listing-unit-img-wrapper .prop_new_details{ display:none; }
#property_similar_listings .action_tag_wrapper,
#property_similar_listings .property_categories_type1_wrapper{ display:none; }
#property_similar_listings .property-unit-information-wrapper{ min-width:0; padding:12px 16px; display:flex; flex-direction:column; justify-content:center; gap:2px; }
#property_similar_listings .listing_unit_price_wrapper{ font-family:'Playfair Display', serif; font-weight:700; font-size:16px; color:var(--rossis-green,#1d6b3a); }
#property_similar_listings h4{ font-size:12px; font-weight:600; color:#1a1a1a; margin:2px 0; }
#property_similar_listings .property_address_type1_wrapper{ font-size:10px; color:#888; display:flex; align-items:center; gap:4px; overflow:hidden; white-space:nowrap; }
#property_similar_listings .rl-card-meta,
#property_similar_listings .property_details_type1_wrapper{ display:none; }

/* --- Χάρτης: όταν το ακίνητο δεν έχει καταχωρημένες συντεταγμένες
   (property_latitude/longitude κενά), το theme περνάει data-cur_lat=""
   / data-cur_long="" στο Leaflet, το οποίο τα διαβάζει ως 0,0 (μέση
   Ατλαντικού) — βγαίνει ένα άχρωμο/μπλε κουτί χωρίς νόημα με το
   price-pin να αιωρείται. Αντί γι' αυτό, κρύβουμε ολόκληρη την
   ενότητα «Χάρτης» για αυτά τα ακίνητα (λίγες περιπτώσεις πλήρως
   χωρίς δεδομένα τοποθεσίας) — καθαρότερο από σπασμένο χάρτη. */
.accordion.property-panel:has(.googleMap_shortcode_class[data-cur_lat=""]){
  display:none !important;
}

@media (max-width:900px){
  #property_similar_listings.wpresidence_realtor_listings_wrapper{ grid-template-columns:1fr; }
  #property_similar_listings{ padding:28px 20px; }
}
