/* ============================================================
   FRONT PAGE — Rossis Real Estate
   Φορτώνεται ΜΟΝΟ στην αρχική σελίδα (front-page.php).
   Όλα τα selectors έχουν πρόθεμα "rf-" ώστε να μην συγκρούονται
   με κλάσεις του WPResidence ή άλλων σελίδων του site.
   Βασισμένο στο εγκεκριμένο demo (index.html).
   ============================================================ */

/* ===== HERO ===== */
.rf-hero{ position:relative; height:440px; overflow:hidden; background:#0a1a12; }
.rf-hero-bg{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,26,18,.55) 0%, rgba(10,26,18,.4) 50%, rgba(10,26,18,.8) 100%), linear-gradient(135deg, #2d5a3d 0%, #1d4029 50%, #0f2818 100%); }
.rf-hero-slide{ position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transition:opacity 1.5s ease-in-out; }
.rf-hero-slide.active{ opacity:1; }
.rf-hero-overlay{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,26,18,.55) 0%, rgba(10,26,18,.45) 50%, rgba(10,26,18,.85) 100%); z-index:2; }
.rf-hero-content{ position:relative; z-index:3; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:0 40px; color:#fff; height:100%; }
.rf-hero-eyebrow{ font-size:11px; letter-spacing:4px; color:#a3d9b0; margin-bottom:18px; font-weight:500; text-transform:uppercase; display:flex; align-items:center; gap:10px; }
.rf-hero-eyebrow::before, .rf-hero-eyebrow::after{ content:''; width:30px; height:1px; background:#a3d9b0; }
.rf-hero h1{ font-family:'Playfair Display', serif; font-weight:700; font-size:56px; line-height:1.05; letter-spacing:-1.5px; color:#fff; margin-bottom:18px; max-width:780px; }
.rf-hero h1 em{ font-style:italic; color:#7dd394; font-weight:500; }
.rf-hero-sub{ font-size:15px; color:rgba(255,255,255,.85); font-weight:300; letter-spacing:.3px; max-width:580px; line-height:1.6; margin:0 auto; }
.rf-hero-sub-line{ display:block; }
.rf-hero-sub-line + .rf-hero-sub-line{ margin-top:2px; }
.rf-hero-dots{ position:absolute; bottom:18px; left:50%; transform:translateX(-50%); display:flex; gap:7px; z-index:4; }
.rf-hero-dot{ width:28px; height:3px; background:rgba(255,255,255,.35); border:none; cursor:pointer; border-radius:2px; padding:0; transition:background .3s; }
.rf-hero-dot.active{ background:#7dd394; }

/* ===== LISTINGS (Επιλεγμένα / Πρόσφατα) ===== */
.rf-listings-section{ padding:60px 40px 40px; }
.rf-sec-head{ display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:30px; }
.rf-sec-head.center{ display:block; text-align:center; }
.rf-sec-eyebrow{ font-size:11px; letter-spacing:3px; color:var(--rossis-green, #1d6b3a); margin-bottom:8px; text-transform:uppercase; font-weight:500; }
.rf-sec-title{ font-family:'Playfair Display', serif; font-weight:700; font-size:32px; color:#1a1a1a; letter-spacing:-.5px; }
.rf-sec-more{ font-size:11px; letter-spacing:2px; color:var(--rossis-green, #1d6b3a); text-decoration:none; text-transform:uppercase; font-weight:500; }
.rf-cards{ display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; }

.rf-card{ background:#fff; border:1px solid #eee; border-radius:4px; overflow:hidden; transition:transform .2s, border-color .2s; text-decoration:none; color:inherit; display:block; }
.rf-card:hover{ transform:translateY(-2px); border-color:var(--rossis-green, #1d6b3a); }
.rf-card-img{ height:180px; position:relative; overflow:hidden; background:#e5ece7; }
.rf-card-img img{ width:100%; height:100%; object-fit:cover; display:block; }
.rf-badge{ position:absolute; top:14px; left:14px; font-size:9px; letter-spacing:1.5px; padding:5px 11px; border-radius:2px; font-weight:600; }
.rf-b-sale{ background:#1d6b3a; color:#fff; }
.rf-b-rent{ background:#234e6c; color:#fff; }
.rf-b-feat{ position:absolute; top:14px; right:14px; background:rgba(255,255,255,.95); color:#1d6b3a; font-size:9px; letter-spacing:1.5px; padding:4px 9px; border-radius:2px; font-weight:600; }
.rf-card-body{ padding:18px; }
.rf-c-price{ font-family:'Playfair Display', serif; font-weight:700; font-size:22px; color:var(--rossis-green, #1d6b3a); margin-bottom:4px; }
.rf-c-title{ font-size:14px; font-weight:500; color:#1a1a1a; margin-bottom:6px; }
.rf-c-loc{ font-size:12px; color:#888; margin-bottom:14px; display:flex; align-items:center; gap:5px; }
.rf-c-meta{ display:flex; gap:16px; border-top:1px solid #f0f0f0; padding-top:12px; flex-wrap:wrap; }
.rf-c-mi{ font-size:11px; color:#888; display:flex; align-items:center; gap:5px; }
.rf-empty-state{ padding:40px 20px; text-align:center; color:#888; font-size:14px; border:1px dashed #ddd; border-radius:6px; }

/* ===== WHY US ===== */
.rf-why{ background:#f8f8f5; padding:60px 40px; border-top:1px solid #ececec; }
.rf-why-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:28px; margin-top:36px; }
.rf-why-item{ text-align:center; padding:24px 14px; }
.rf-why-icon{ width:54px; height:54px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; margin:0 auto 16px; color:var(--rossis-green, #1d6b3a); font-size:22px; border:1px solid #d8e7dc; }
.rf-why-title{ font-size:14px; font-weight:600; color:#1a1a1a; margin-bottom:8px; }
.rf-why-desc{ font-size:12px; color:#888; line-height:1.7; }

/* ===== CONTACT (mini) ===== */
.rf-contact-section{ display:grid; grid-template-columns:1fr 1fr; background:#0f3d1f; color:#fff; }
.rf-contact-left{ padding:50px 44px; border-right:1px solid rgba(255,255,255,.1); }
.rf-contact-left h2{ font-family:'Playfair Display', serif; font-weight:700; font-size:32px; margin-bottom:12px; letter-spacing:-.5px; color:#fff; }
.rf-contact-left p{ font-size:14px; color:rgba(255,255,255,.65); line-height:1.8; margin-bottom:28px; }
.rf-contact-info{ display:flex; flex-direction:column; gap:12px; }
.rf-ci-row{ display:flex; align-items:center; gap:12px; font-size:13px; color:rgba(255,255,255,.85); }
.rf-ci-row.multi{ align-items:flex-start; }
.rf-ci-row.multi div div{ line-height:1.7; }
.rf-ci-icon{ color:#7dd394; font-size:16px; flex-shrink:0; }
.rf-contact-right{ padding:50px 44px; }
.rf-form{ display:flex; flex-direction:column; gap:12px; }
.rf-frow{ display:flex; gap:12px; }
.rf-frow .rf-finp{ flex:1; }
.rf-finp, .rf-fsel, .rf-farea{ background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); color:#fff; padding:13px 16px; border-radius:3px; font-family:'Inter', sans-serif; font-size:13px; outline:none; width:100%; }
.rf-finp::placeholder, .rf-farea::placeholder{ color:rgba(255,255,255,.4); }
.rf-farea{ resize:none; }
.rf-fsel{ cursor:pointer; }
.rf-fsel option{ background:#fff; color:#1a1a1a; }
.rf-fsub{ background:#7dd394; color:#0f3d1f; border:none; padding:14px; border-radius:3px; font-size:13px; cursor:pointer; letter-spacing:.5px; font-weight:600; margin-top:4px; }
.rf-fsub:hover{ background:#8fe0a3; }
.rf-form-msg{ padding:12px 14px; border-radius:3px; font-size:13px; margin-bottom:4px; }
.rf-form-msg.sent{ background:rgba(125,211,148,.15); border:1px solid rgba(125,211,148,.4); color:#7dd394; }
.rf-form-msg.error{ background:rgba(220,90,90,.15); border:1px solid rgba(220,90,90,.4); color:#f0a3a3; }

/* ===== RESPONSIVE — TABLET ===== */
@media (max-width: 1024px){
  .rf-hero{ height:380px; }
  .rf-hero-content{ padding:0 24px; }
  .rf-hero h1{ font-size:42px; }
  .rf-hero-sub{ font-size:14px; }
  .rf-listings-section, .rf-why{ padding:40px 20px; }
  .rf-cards, .rf-why-grid{ grid-template-columns:repeat(2, 1fr); }
  .rf-why-grid{ gap:18px; }
  .rf-contact-section{ grid-template-columns:1fr; }
  .rf-contact-right{ border-top:1px solid rgba(255,255,255,.08); }
  .rf-contact-left, .rf-contact-right{ padding:36px 28px; }
}

/* ===== RESPONSIVE — MOBILE ===== */
@media (max-width: 768px){
  .rf-hero{ height:auto; min-height:380px; padding:80px 0; }
  .rf-hero-content{ padding:0 20px; position:relative; inset:auto; }
  .rf-hero h1{ font-size:32px; letter-spacing:-1px; line-height:1.1; }
  .rf-hero-sub{ font-size:13px; padding:0 8px; }
  .rf-hero-eyebrow{ font-size:10px; letter-spacing:2px; }
  .rf-hero-eyebrow::before, .rf-hero-eyebrow::after{ width:18px; }
  .rf-listings-section, .rf-why{ padding:40px 14px; }
  .rf-sec-head{ flex-direction:column; align-items:flex-start; gap:8px; }
  .rf-sec-title{ font-size:24px; }
  .rf-cards, .rf-why-grid{ grid-template-columns:1fr; }
  .rf-why-grid{ gap:20px; }
  .rf-contact-section{ grid-template-columns:1fr; }
  .rf-contact-left, .rf-contact-right{ padding:28px 20px; border-right:none; }
  .rf-contact-right{ border-top:1px solid rgba(255,255,255,.08); }
  .rf-frow{ flex-direction:column; }
}

@media (max-width: 380px){
  .rf-hero h1{ font-size:26px; }
  .rf-sec-title{ font-size:20px; }
}
