/*
Theme Name: Zet-Home Pro Ingatlan
Theme URI: https://example.com/zethome-pro-ingatlan
Author: Zet-Home Ingatlan Iroda
Author URI: https://example.com
Description: Modern, mobilbarát ingatlanos WordPress sablon Zet-Home részére. Egyedi ingatlan tartalomtípus, kártyás lista, részletes adatlap, keresőszűrők.
Version: 1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: zethome-pro
*/

:root {
  --zh-green: #0C8F6A;
  --zh-gold: #E0B55A;
  --zh-dark: #111827;
  --zh-light: #f3f4f6;
}

*,
*::before,
*::after { box-sizing: border-box; }

body {
  margin: 0;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--zh-light);
  color: var(--zh-dark);
}

a { color: var(--zh-green); text-decoration: none; }
a:hover { text-decoration: underline; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  background: #fff;
  border-bottom: 1px solid #e5e7eb;
}
.site-header-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: .4rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.site-branding { display:flex; align-items:center; gap:.6rem; }
.site-title { font-size:1.1rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.site-tagline { font-size:.7rem; text-transform:uppercase; letter-spacing:.16em; color:#6b7280; }
.site-logo-fallback {
  width:40px; height:40px; border-radius:12px;
  background:linear-gradient(135deg,var(--zh-green),#22c392);
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-weight:700; font-size:.8rem;
}

.main-nav ul {
  list-style:none; margin:0; padding:0;
  display:flex; gap:.6rem;
  font-size:.78rem; text-transform:uppercase; letter-spacing:.16em;
}
.main-nav a {
  padding:.35rem .7rem; border-radius:999px; color:#374151;
}
.main-nav a:hover,
.main-nav .current-menu-item>a {
  background:var(--zh-green); color:#fff;
}

/* HERO */

.hero { background: radial-gradient(circle at top left,#defce7,#f9fafb); border-bottom:1px solid #e5e7eb; }
.hero-inner {
  max-width:1200px; margin:0 auto;
  padding:2.1rem 1rem 1.8rem;
  display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1.5fr); gap:2rem;
}
.hero-title { font-size:2.1rem; font-weight:800; letter-spacing:-.03em; margin:.1rem 0 .5rem; }
.hero-subtitle { font-size:.98rem; color:#4b5563; max-width:32rem; }
.hero-tags { display:flex; flex-wrap:wrap; gap:.45rem; margin:1rem 0 1.3rem; }
.hero-tag {
  font-size:.75rem; padding:.35rem .7rem; border-radius:999px;
  border:1px solid rgba(12,143,106,.35); background:rgba(12,143,106,.05); color:#065f46;
}
.hero-ctas { display:flex; flex-wrap:wrap; gap:.7rem; }
.btn-primary, .btn-secondary {
  border-radius:999px; border:none; padding:.65rem 1.1rem;
  font-size:.86rem; display:inline-flex; align-items:center; gap:.45rem; cursor:pointer;
}
.btn-primary { background:var(--zh-green); color:#fff; }
.btn-secondary { background:transparent; color:var(--zh-green); border:1px solid rgba(12,143,106,.7); }

.hero-card {
  background:#fff; border-radius:1.2rem; padding:1rem;
  box-shadow:0 18px 40px rgba(15,23,42,.16);
  font-size:.86rem; display:flex; flex-direction:column; gap:.4rem;
}
.hero-card-title { font-weight:600; }
.hero-card-meta { display:flex; flex-wrap:wrap; gap:.6rem; font-size:.8rem; color:#4b5563; }
.hero-card-highlight {
  margin-top:.3rem; background:#f9fafb; border-radius:.9rem; padding:.6rem .8rem; font-size:.8rem;
}

/* MAIN */

.site-main { max-width:1200px; margin:0 auto; padding:1.4rem 1rem 2.4rem; }
.section-title {
  font-size:.8rem; text-transform:uppercase;
  letter-spacing:.18em; color:#9ca3af; margin-bottom:.6rem;
}

/* FILTERS */

.property-filters {
  margin-bottom:1rem; padding:.75rem .9rem; border-radius:.9rem;
  background:#fff; border:1px solid #e5e7eb;
  display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:.6rem;
  font-size:.8rem;
}
.property-filters label { display:block; margin-bottom:.2rem; color:#6b7280; }
.property-filters input { width:100%; padding:.35rem .5rem; border-radius:.5rem; border:1px solid #d1d5db; font-size:.82rem; }
.property-filters .filter-actions { display:flex; align-items:flex-end; gap:.4rem; }
.property-filters .filter-actions input[type="submit"],
.property-filters .filter-actions a { flex:1; text-align:center; }

/* PROPERTY GRID */

.property-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:1rem;
}

.property-card {
  background:#fff; border-radius:1rem; overflow:hidden;
  border:1px solid #e5e7eb;
  display:flex; flex-direction:column; min-height:100%;
}
.property-thumb { position:relative; padding-top:62%; background:linear-gradient(135deg,#e5f9f3,#dbeafe); }
.property-thumb img {
  position:absolute; inset:.45rem;
  width:calc(100% - .9rem); height:calc(100% - .9rem);
  object-fit:cover; border-radius:.8rem;
}
.property-badge, .property-price {
  position:absolute; left:.8rem; font-size:.75rem;
  padding:.25rem .55rem; border-radius:999px; color:#fff;
}
.property-badge { top:.75rem; background:rgba(12,143,106,.95); }
.property-price { bottom:.75rem; background:rgba(0,0,0,.8); }

.property-content { padding:.8rem .9rem 1rem; display:flex; flex-direction:column; gap:.25rem; font-size:.86rem; }
.property-title { font-size:.98rem; font-weight:600; }
.property-location { font-size:.8rem; color:#6b7280; }
.property-meta { font-size:.8rem; color:#4b5563; }
.property-tags { display:flex; flex-wrap:wrap; gap:.3rem; margin-top:.35rem; }
.property-tag {
  font-size:.75rem; padding:.15rem .5rem; border-radius:999px;
  background:#f3f4f6; color:#4b5563;
}
.property-tag.gold { background:rgba(224,181,90,.14); color:#92400e; }
.property-readmore {
  margin-top:.4rem; font-size:.78rem;
  text-transform:uppercase; letter-spacing:.16em;
}

/* SINGLE INGATLAN */

.single-ingatlan-main {
  display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1.1fr); gap:1.5rem;
}
.single-hero h1 { margin:0 0 .4rem; font-size:1.6rem; }
.single-meta-line { font-size:.9rem; color:#4b5563; margin-bottom:.2rem; }
.single-price { font-size:1.1rem; font-weight:700; color:var(--zh-green); margin-top:.4rem; }
.single-gallery {
  margin:.7rem 0 1rem;
  display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:.6rem;
}
.single-gallery img { width:100%; border-radius:.9rem; }
.single-content { font-size:.94rem; line-height:1.7; }
.single-sidebox {
  background:#fff; border-radius:1rem; border:1px solid #e5e7eb;
  padding:.9rem 1rem; font-size:.86rem;
}
.single-sidebox h3 { margin-top:0; font-size:.9rem; }
.single-sidebox ul { margin:.3rem 0 .3rem 1.1rem; padding:0; }
.single-contact-box {
  margin-top:.9rem; padding:.7rem .8rem;
  border-radius:.9rem; background:#f9fafb; font-size:.86rem;
}

/* FOOTER */

.site-footer { border-top:1px solid #e5e7eb; background:#fff; }
.site-footer-inner {
  max-width:1200px; margin:0 auto; padding:.8rem 1rem 1rem;
  display:flex; flex-wrap:wrap; gap:.7rem; align-items:center; justify-content:space-between;
  font-size:.8rem;
}
.footer-contact-main { font-weight:600; }
.footer-contact-sub { font-size:.78rem; color:#6b7280; }
.footer-actions { display:flex; flex-wrap:wrap; gap:.45rem; }
.footer-btn {
  border-radius:999px; border:none; padding:.45rem .8rem;
  font-size:.78rem; display:inline-flex; align-items:center; gap:.4rem;
  cursor:pointer; background:var(--zh-green); color:#fff;
}
.footer-btn.secondary { background:transparent; color:var(--zh-green); border:1px solid var(--zh-green); }

/* GENERIC */

.page-title { font-size:1.4rem; margin:0 0 .6rem; }
.page-content { font-size:.95rem; line-height:1.7; }

/* RESPONSIVE */

@media (max-width: 900px) {
  .hero-inner { grid-template-columns:minmax(0,1fr); }
  .hero-card { order:-1; }
  .single-ingatlan-main { grid-template-columns:minmax(0,1fr); }
}
@media (max-width: 640px) {
  .site-header-inner { flex-direction:column; align-items:flex-start; }
  .main-nav ul { flex-wrap:wrap; row-gap:.2rem; }
}
