/*
Theme Name: Агентство нерухомості Гайсина
Theme URI: https://gaysin.org/
Description: Дочірня тема ListingHive для агентства нерухомості, послуг БТІ та новин ринку.
Author: Агентство нерухомості Гайсина
Template: listinghive
Version: 1.1.0
Text Domain: gaysin-agency
*/

:root {
  --ga-ink: #17221d;
  --ga-green: #214e3d;
  --ga-green-dark: #15382c;
  --ga-clay: #b35f3f;
  --ga-paper: #f5f0e6;
  --ga-white: #fffdf8;
  --ga-line: rgba(23, 34, 29, .15);
  --ga-muted: #667069;
  --ga-shadow: 0 20px 55px rgba(23, 34, 29, .10);
}

body { color: var(--ga-ink); background: var(--ga-white); }
body, button, input, textarea, select { font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
h1, h2, h3, .site-title { font-family: Georgia, "Times New Roman", serif; letter-spacing: -.025em; }
.header-navbar { background: rgba(255,253,248,.96); border-bottom: 1px solid var(--ga-line); }
.header-logo__name, .header-logo__name:hover { color: var(--ga-green-dark); }
.header-navbar__menu > ul > li > a { color: var(--ga-ink); }
.button, button, input[type=submit], .hp-form__button { border-radius: 3px; background: var(--ga-green); }
.button:hover, button:hover, input[type=submit]:hover { background: var(--ga-green-dark); }

.ga-home { overflow: hidden; }
.ga-shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.ga-eyebrow { margin: 0 0 18px; color: var(--ga-clay); font-size: 12px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.ga-section { padding: 92px 0; }
.ga-section--paper { background: var(--ga-paper); }
.ga-heading { max-width: 720px; margin-bottom: 44px; }
.ga-heading h2 { margin: 0 0 14px; color: var(--ga-ink); font-size: clamp(34px, 5vw, 56px); line-height: 1.03; }
.ga-heading p { color: var(--ga-muted); font-size: 18px; }

.ga-hero { position: relative; padding: 84px 0 82px; background: var(--ga-paper); }
.ga-hero:after { content: ""; position: absolute; inset: 0 0 0 55%; opacity: .2; background-image: linear-gradient(var(--ga-green) 1px, transparent 1px), linear-gradient(90deg, var(--ga-green) 1px, transparent 1px); background-size: 42px 42px; pointer-events: none; }
.ga-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items: center; }
.ga-hero h1 { max-width: 760px; margin: 0 0 24px; color: var(--ga-ink); font-size: clamp(48px, 6.5vw, 84px); line-height: .98; }
.ga-hero__lead { max-width: 640px; margin: 0 0 32px; color: #4d5a53; font-size: 20px; line-height: 1.7; }
.ga-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.ga-btn { display: inline-flex; min-height: 50px; padding: 0 23px; align-items: center; justify-content: center; border: 1px solid var(--ga-green); border-radius: 3px; background: var(--ga-green); color: white !important; font-size: 14px; font-weight: 800; text-decoration: none !important; }
.ga-btn--light { background: transparent; color: var(--ga-green) !important; }
.ga-btn--clay { border-color: var(--ga-clay); background: var(--ga-clay); }
.ga-hero__card { position: relative; min-height: 410px; padding: 42px; display: flex; flex-direction: column; justify-content: flex-end; border-radius: 4px; background: linear-gradient(145deg, rgba(21,56,44,.95), rgba(33,78,61,.84)); box-shadow: var(--ga-shadow); color: white; }
.ga-hero__card:before { content: "БТІ"; position: absolute; top: 28px; right: 32px; color: rgba(255,255,255,.12); font: 700 110px/1 Georgia,serif; }
.ga-hero__card strong { position: relative; font: 700 34px/1.15 Georgia,serif; }
.ga-hero__card span { position: relative; margin-top: 14px; color: rgba(255,255,255,.76); line-height: 1.6; }

.ga-services { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--ga-line); border-left: 1px solid var(--ga-line); }
.ga-service { min-height: 260px; padding: 30px; border-right: 1px solid var(--ga-line); border-bottom: 1px solid var(--ga-line); background: var(--ga-white); }
.ga-service__number { display: block; margin-bottom: 48px; color: var(--ga-clay); font-size: 12px; font-weight: 800; }
.ga-service h3 { margin: 0 0 12px; font-size: 25px; line-height: 1.1; }
.ga-service p { margin: 0; color: var(--ga-muted); line-height: 1.6; }

.ga-listings { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.ga-property { overflow: hidden; border: 1px solid var(--ga-line); border-radius: 4px; background: white; box-shadow: 0 12px 35px rgba(23,34,29,.06); }
.ga-property__image { display: block; aspect-ratio: 4/3; overflow: hidden; background: #d9dfd8; }
.ga-property__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.ga-property:hover img { transform: scale(1.035); }
.ga-property__placeholder { height: 100%; display: grid; place-items: center; color: var(--ga-green); font: 700 26px Georgia,serif; background: linear-gradient(145deg,#e7eadf,#cbd6ca); }
.ga-property__body { padding: 24px; }
.ga-property__meta { color: var(--ga-clay); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.ga-property h3 { margin: 10px 0 7px; font-size: 25px; }
.ga-property h3 a { color: var(--ga-ink); text-decoration: none; }
.ga-property p { color: var(--ga-muted); }

.ga-news { display: grid; grid-template-columns: 1.25fr .75fr; gap: 48px; }
.ga-post { padding: 24px 0; border-top: 1px solid var(--ga-line); }
.ga-post:first-child { padding-top: 0; border-top: 0; }
.ga-post time { color: var(--ga-clay); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.ga-post h3 { margin: 10px 0; font-size: clamp(25px, 3vw, 36px); }
.ga-post h3 a { color: var(--ga-ink); text-decoration: none; }
.ga-news__aside { padding: 34px; background: var(--ga-green-dark); color: white; }
.ga-news__aside h3 { color: white; font-size: 32px; }
.ga-news__aside p { color: rgba(255,255,255,.72); }

.ga-cta { padding: 76px 0; background: var(--ga-clay); color: white; }
.ga-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.ga-cta h2 { max-width: 780px; margin: 0; color: white; font-size: clamp(36px,5vw,58px); }
.ga-cta .ga-btn { flex: none; border-color: white; background: white; color: var(--ga-clay) !important; }

.hp-listing--view-block { overflow: hidden; border-radius: 4px; box-shadow: 0 12px 36px rgba(23,34,29,.08); }
.hp-listing__title a, .hp-page__title { color: var(--ga-ink); }
.hp-listing__attribute--price { color: var(--ga-clay) !important; font-weight: 800; }
.site-footer { background: var(--ga-green-dark); color: rgba(255,255,255,.72); }
.site-footer a, .site-footer h3 { color: white; }

@media (max-width: 960px) {
  .ga-hero__grid, .ga-news { grid-template-columns: 1fr; }
  .ga-services { grid-template-columns: repeat(2,1fr); }
  .ga-listings { grid-template-columns: repeat(2,1fr); }
  .ga-hero__card { min-height: 300px; }
}
@media (max-width: 640px) {
  .ga-shell { width: min(100% - 28px, 1180px); }
  .ga-section { padding: 64px 0; }
  .ga-hero { padding: 54px 0; }
  .ga-hero__grid { gap: 36px; }
  .ga-hero h1 { font-size: 47px; }
  .ga-services, .ga-listings { grid-template-columns: 1fr; }
  .ga-service { min-height: auto; }
  .ga-service__number { margin-bottom: 24px; }
  .ga-cta__inner { align-items: flex-start; flex-direction: column; }
}
