/* ============================================================
   Grace Home — PODSTRONY (projekt). Wymaga gh-home.css (tokeny .ghh-*).
   Wzorce wg "Grace Home Brandbook" (Claude Design): hero tekstowy,
   siatka ekspertow, filary, standardy. Klasy podstron: .ghs-*
   ============================================================ */

/* ---------- HERO podstrony (ciemny, tekstowy) ---------- */
body.ghh .ghs-hero { position:relative; background:var(--ghh-dark2); padding:216px 48px 120px; overflow:hidden; margin:0; }
body.ghh .ghs-hero::after { content:""; position:absolute; right:-140px; bottom:-200px; width:560px; height:560px;
  border-radius:50%; background:radial-gradient(circle, rgba(180,136,76,.26), transparent 68%); pointer-events:none; }
.ghs-hero .ghh-wrap { position:relative; z-index:2; } /* NIE '>': Gutenberg wstawia __inner-container */

/* Wariant ze zdjeciem: filtry i zachowanie jak hero na stronaglowna2
   (ken-burns ghhZoom + scrim pionowy + poziomy gradient od lewej + text-shadow) */
body.ghh .ghs-hero--img .bg { position:absolute !important; inset:0; margin:0 !important; z-index:0; overflow:hidden; }
body.ghh .ghs-hero--img .bg img { width:100%; height:100%; object-fit:cover; animation:ghhZoom 12s ease-in-out infinite alternate; }
body.ghh .ghs-hero--img::before { content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(180deg,rgba(24,17,13,.5) 0%,rgba(24,17,13,.15) 35%,rgba(24,17,13,.35) 65%,rgba(24,17,13,.82) 100%); }
body.ghh .ghs-hero--img::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  width:auto; height:auto; border-radius:0; right:0; bottom:0;
  background:linear-gradient(90deg, rgba(24,17,13,.62) 0%, rgba(24,17,13,.34) 34%, rgba(24,17,13,0) 62%); }
.ghh .ghs-hero--img h1, .ghs-hero--img .ghh-eyebrow { text-shadow:0 2px 18px rgba(20,14,11,.55); }
.ghs-hero--img .ghh-lead { color:rgba(251,247,240,.92); text-shadow:0 1px 14px rgba(20,14,11,.6); }
@media (prefers-reduced-motion: reduce) { body.ghh .ghs-hero--img .bg img { animation:none; } }
.ghh .ghs-hero h1 { font-weight:500; color:var(--ghh-cream); font-size:clamp(42px,5.4vw,84px);
  line-height:1.02; letter-spacing:-.01em; max-width:18ch; text-wrap:balance; }
.ghh .ghs-hero h1 em { font-style:italic; color:var(--ghh-peach); }
.ghs-hero .ghh-lead { color:rgba(251,247,240,.78); max-width:56ch; margin-top:26px; }
.ghs-hero .ghh-morelink { margin-top:40px; }

/* ---------- HERO SLIDER (zdjecia najnowszych ofert, crossfade z gh-home.js) ---------- */
body.ghh .ghs-hero--slider { display:flex; flex-direction:column; justify-content:center;
  min-height:640px; height:82vh; padding:120px 48px 170px; }
/* flex + margin:auto zweza wrap do tresci i centruje — wymuszamy pelna szerokosc,
   zeby naglowek siedzial przy lewej krawedzi siatki jak na pozostalych podstronach */
body.ghh .ghs-hero--slider .ghh-wrap { width:100%; }
body.ghh .ghs-slides { position:absolute !important; inset:0; z-index:0; margin:0 !important; }
body.ghh .ghs-slides .ghh-hero__slide { position:absolute; inset:0; display:block; opacity:0; transition:opacity 1.4s ease; }
body.ghh .ghs-slides .ghh-hero__slide.is-active { opacity:1; }
body.ghh .ghs-slides .ghh-hero__slide img { width:100%; height:100%; object-fit:cover; animation:ghhZoom 12s ease-in-out infinite alternate; }
@media (prefers-reduced-motion: reduce) { body.ghh .ghs-slides .ghh-hero__slide img { animation:none; } }
/* podpis aktywnej oferty — czesc slajdu, znika razem z nim */
.ghs-slides .cap { position:absolute; right:48px; bottom:150px; z-index:2; display:flex; flex-direction:column; gap:3px;
  background:rgba(28,20,16,.68); backdrop-filter:blur(10px); border:1px solid rgba(239,203,172,.22);
  border-radius:4px; padding:16px 20px 15px; max-width:340px; text-align:left; }
.ghs-slides .cap i { font-style:normal; font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--ghh-peach); }
.ghs-slides .cap b { font-family:'Cormorant Garamond',serif; font-weight:600; font-size:19px; line-height:1.2; color:var(--ghh-cream);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ghs-slides .cap > span { font-size:12.5px; color:rgba(251,247,240,.75); }
.ghh-hero__slide:hover .cap { border-color:rgba(239,203,172,.5); }
body.ghh .ghs-hero--slider .ghh-search-belt { padding-bottom:48px; }

/* ---------- OFERTY: jasny wariant sekcji z gridem ---------- */
body.ghh .ghh-offers.ghs-offers--light { background:var(--ghh-cream2); }
.ghs-offers--light .ghh-offer { box-shadow:0 26px 55px -42px rgba(46,33,27,.45); }

/* ---------- CTA (ciemny pasek z przyciskami) ---------- */
body.ghh .ghs-cta { background:var(--ghh-dark2); padding:110px 48px; text-align:center; margin:0; }
.ghs-cta .ghh-lead { color:rgba(251,247,240,.75); max-width:58ch; margin:22px auto 42px; }
.ghs-cta .btns { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
a.ghs-btn { display:inline-flex; align-items:center; padding:16px 34px; background:var(--ghh-bronze);
  color:var(--ghh-cream) !important; font-size:13px; letter-spacing:.16em; text-transform:uppercase; font-weight:500;
  border-radius:2px; border:1px solid var(--ghh-bronze); transition:background .35s ease, border-color .35s ease; }
a.ghs-btn:hover { background:var(--ghh-bronze2); border-color:var(--ghh-bronze2); }
a.ghs-btn--outline { background:transparent; border-color:rgba(251,247,240,.45); }
a.ghs-btn--outline:hover { background:var(--ghh-bronze); border-color:var(--ghh-bronze); }

/* ---------- ZESPOL: siatka ekspertow (karty jak na glownej) ---------- */
.ghs-team .ghh-team-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:28px;
  max-width:1304px; margin:0 auto; padding:0 48px; }
body.ghh .ghh-team-grid .ghh-team-card { flex:none; max-width:none; }
body.ghh .ghh-team-grid .ghh-team-card .ph { height:auto; aspect-ratio:3 / 4; }
.ghh-team-card .more { display:inline-flex; align-items:center; gap:8px; margin-top:16px;
  font-size:12px; letter-spacing:.14em; text-transform:uppercase; font-weight:500;
  color:var(--ghh-ink) !important; border-bottom:1px solid var(--ghh-bronze); padding-bottom:4px; }

/* ---------- FILARY (sekcja ciemna, 3 karty) ---------- */
body.ghh .ghs-pillars { background:var(--ghh-dark); padding:110px 48px; margin:0; }
.ghs-pillars .ghh-secheadc { text-align:center; margin-bottom:60px; }
.ghs-pillars-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; max-width:1304px; margin:0 auto; }
.ghs-pillar { background:rgba(251,247,240,.045); border:1px solid rgba(239,203,172,.16); border-radius:4px;
  padding:44px 38px; transition:border-color .4s ease, background .4s ease; }
.ghs-pillar:hover { border-color:rgba(239,203,172,.45); background:rgba(251,247,240,.07); }
.ghs-pillar .n { font-family:'Cormorant Garamond',serif; font-size:22px; color:var(--ghh-peach); margin-bottom:20px; }
.ghs-pillar h3 { font-weight:600; font-size:30px; color:var(--ghh-cream); margin-bottom:14px; }
.ghs-pillar p { font-size:15px; line-height:1.75; font-weight:300; color:rgba(251,247,240,.72); }

/* ---------- STANDARDY (sekcja jasna, 6 zasad) ---------- */
body.ghh .ghs-stds { background:var(--ghh-cream2); padding:110px 48px; margin:0; }
.ghs-stds .ghh-secheadc { text-align:center; margin-bottom:26px; }
.ghs-stds .intro { max-width:72ch; margin:0 auto 62px; text-align:center; }
.ghs-stds-grid { display:grid; grid-template-columns:repeat(3,1fr); max-width:1304px; margin:0 auto;
  border-top:1px solid rgba(51,37,30,.14); border-bottom:1px solid rgba(51,37,30,.14); }
.ghs-std { padding:44px 38px 48px; border-right:1px solid rgba(51,37,30,.14); }
.ghs-std:nth-child(3n) { border-right:none; }
.ghs-std:nth-child(n+4) { border-top:1px solid rgba(51,37,30,.14); }
.ghs-std .n { font-family:'Cormorant Garamond',serif; font-size:20px; color:var(--ghh-bronze); margin-bottom:18px; }
.ghs-std h3 { font-weight:600; font-size:24px; color:var(--ghh-ink); margin-bottom:12px; }
.ghs-std p { font-size:14.5px; line-height:1.75; font-weight:300; color:var(--ghh-ink2); }
.ghs-stds .outro { max-width:66ch; margin:56px auto 0; text-align:center; }
.ghs-stds .outro .ghh-morelink { margin-top:26px; justify-content:center; display:inline-flex; }

/* ---------- KONTAKT: karty oddzialow ---------- */
.ghs-offices { display:grid; grid-template-columns:1fr 1fr; gap:28px; max-width:1304px; margin:0 auto; }
.ghs-office { background:#fff; border:1px solid rgba(51,37,30,.1); border-radius:4px; padding:46px 42px;
  box-shadow:0 30px 60px -45px rgba(46,33,27,.35); transition:border-color .4s ease, box-shadow .4s ease; }
.ghs-office:hover { border-color:rgba(180,136,76,.45); box-shadow:0 34px 70px -42px rgba(46,33,27,.45); }
.ghs-office .tag { font-family:'Cormorant Garamond',serif; font-size:20px; color:var(--ghh-bronze); margin-bottom:16px; }
.ghs-office h3 { font-weight:600; font-size:28px; color:var(--ghh-ink); margin-bottom:8px; }
.ghs-office .addr { font-size:15px; line-height:1.7; font-weight:300; color:var(--ghh-ink2); margin-bottom:26px; }
.ghs-office .rows { display:flex; flex-direction:column; gap:12px; margin-bottom:28px; }
.ghs-office .rows a { display:inline-flex; align-items:center; gap:10px; color:var(--ghh-ink); font-size:15px; }
.ghs-office .rows a:hover { color:var(--ghh-bronze2); }

/* ---------- KONTAKT: klauzula RODO (details) ---------- */
.ghs-rodo { max-width:1304px; margin:56px auto 0; border-top:1px solid rgba(51,37,30,.14); padding-top:26px; }
.ghs-rodo summary { cursor:pointer; list-style:none; display:inline-flex; align-items:center; gap:10px;
  font-size:12px; letter-spacing:.16em; text-transform:uppercase; font-weight:500; color:var(--ghh-mut2); }
.ghs-rodo summary::-webkit-details-marker { display:none; }
.ghs-rodo summary::after { content:"+"; font-size:16px; color:var(--ghh-bronze); }
.ghs-rodo[open] summary::after { content:"–"; }
.ghs-rodo summary:hover { color:var(--ghh-ink); }
.ghs-rodo p, .ghs-rodo ul { font-size:13px; line-height:1.75; font-weight:300; color:var(--ghh-mut2); margin:14px 0 0; }
.ghs-rodo ul { padding-left:20px; }

/* ---------- KALKULATOR kosztow transakcji ---------- */
.ghs-calc { display:grid; grid-template-columns:1fr 1.05fr; gap:0; max-width:1304px; margin:0 auto;
  background:#fff; border:1px solid rgba(51,37,30,.1); border-radius:4px; overflow:hidden;
  box-shadow:0 30px 60px -45px rgba(46,33,27,.35); }
.ghs-calc .in { padding:48px 44px; }
.ghs-calc .lbl { display:block; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--ghh-mut2);
  font-weight:500; margin:0 0 12px; }
.ghs-calc .in > .lbl + .lbl { margin-top:0; }
.ghs-calc .opts { display:flex; flex-direction:column; gap:10px; margin-bottom:30px; }
.ghs-calc .opt { display:flex; align-items:center; gap:12px; border:1px solid #D8D0C0; border-radius:4px;
  padding:14px 16px; cursor:pointer; font-size:15px; color:var(--ghh-ink); transition:border-color .3s ease, background .3s ease; }
.ghs-calc .opt input { accent-color:var(--ghh-bronze); width:16px; height:16px; flex:none; margin:0; }
.ghs-calc .opt:hover { border-color:var(--ghh-bronze); }
.ghs-calc .opt:has(input:checked) { border-color:var(--ghh-bronze); background:var(--ghh-cream); }
.ghs-calc .row { display:flex; gap:14px; margin-bottom:26px; }
.ghs-calc .row > div { flex:1; }
.ghs-calc .row .cur { flex:0 0 108px; }
.ghs-calc input[type=text], .ghs-calc select { width:100%; height:50px; border:1px solid #D8D0C0; border-radius:4px;
  background:#FBF9F4; padding:0 14px; font-family:'Jost',sans-serif; font-size:16px; color:var(--ghh-ink); outline:none;
  transition:border-color .3s ease, box-shadow .3s ease; }
.ghs-calc input[type=text]:focus, .ghs-calc select:focus { border-color:var(--ghh-bronze); background:#fff;
  box-shadow:0 0 0 3px rgba(180,136,76,.16); }
.ghs-calc .hint { font-size:12.5px; color:var(--ghh-mut2); line-height:1.6; font-weight:300; }
.ghs-calc .out { background:var(--ghh-dark2); color:var(--ghh-cream); padding:48px 44px; display:flex; flex-direction:column; }
.ghs-calc .out .lbl { color:var(--ghh-peach); }
.ghs-calc .r { display:flex; justify-content:space-between; align-items:baseline; gap:16px;
  padding:11px 0; border-bottom:1px solid rgba(239,203,172,.14); font-size:14px; }
.ghs-calc .r .k { color:rgba(251,247,240,.66); font-weight:300; }
.ghs-calc .r .v { font-variant-numeric:tabular-nums; white-space:nowrap; }
.ghs-calc .r--sum { border-bottom:none; padding-top:18px; font-size:15px; }
.ghs-calc .r--sum .k { color:var(--ghh-cream); font-weight:400; }
.ghs-calc .total { margin-top:auto; padding-top:22px; border-top:1px solid rgba(239,203,172,.35); display:flex;
  justify-content:space-between; align-items:baseline; gap:16px; }
.ghs-calc .total .k { font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--ghh-peach); }
.ghs-calc .total .v { font-family:'Cormorant Garamond',serif; font-size:clamp(28px,2.6vw,40px); font-weight:600;
  color:var(--ghh-cream); font-variant-numeric:tabular-nums; white-space:nowrap; }
.ghs-calc-note { max-width:1304px; margin:22px auto 0; font-size:12.5px; color:var(--ghh-mut2); font-weight:300; line-height:1.7; }

/* ---------- ZGLOS NIERUCHOMOSC: uklad + restyling formularza pluginu ---------- */
.ghs-lead-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:56px; max-width:1304px; margin:0 auto; align-items:start; }
.ghs-steps { display:flex; flex-direction:column; gap:34px; }
.ghs-step .n { font-family:'Cormorant Garamond',serif; font-size:20px; color:var(--ghh-bronze); margin-bottom:10px; }
.ghs-step h3 { font-weight:600; font-size:24px; color:var(--ghh-ink); margin-bottom:8px; }
.ghs-step p { font-size:14.5px; line-height:1.7; font-weight:300; color:var(--ghh-ink2); }
.ghs-lead-aside .info { display:flex; flex-direction:column; gap:20px; margin-top:40px; padding-top:34px; border-top:1px solid rgba(51,37,30,.14); }

.ghs-lead form { background:#fff; border:1px solid rgba(51,37,30,.1); border-radius:4px; padding:44px 40px;
  box-shadow:0 30px 60px -45px rgba(46,33,27,.35); }
.ghs-lead .row { display:block; margin:0; }
.ghs-lead .row.gx-5 { display:grid; grid-template-columns:1fr 1fr; gap:0 32px; }
.ghs-lead .row.gx-5 > .col-md-6 { width:100%; max-width:100%; padding:0; }
.ghs-lead .row > .col-12 { width:100%; max-width:100%; padding:0; }
/* form-row: [label] [input] [opcjonalny sufiks m2 / select waluty] */
.ghs-lead .form-row { display:flex; flex-wrap:wrap; align-items:center; gap:0 10px; margin-bottom:16px;
  height:auto !important; min-height:0; } /* rodzic daje .form-row sztywne 41px (uklad label-obok) — tresc wystawala i wiersze nachodzily */
.ghs-lead .form-row > div { padding:0; margin:0; }
.ghs-lead .form-row > div:first-child { flex:0 0 100%; width:100%; max-width:100%; }
.ghs-lead .form-row > div:nth-child(2) { flex:1 1 0; width:auto; max-width:none; min-width:0; }
.ghs-lead .form-row > div:nth-child(n+3) { flex:0 0 auto; width:auto; max-width:none; }
.ghs-lead .form-row p { margin:0; font-size:13px; color:var(--ghh-mut2); }
.ghs-lead select[name="priceCurrency"] { width:92px; }
.ghs-lead label { display:block; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ghh-mut2);
  font-weight:500; margin-bottom:7px; }
.ghs-lead input[type=text], .ghs-lead input[type=number], .ghs-lead input[type=email],
.ghs-lead select, .ghs-lead textarea { width:100%; height:46px; border:1px solid #D8D0C0; border-radius:4px;
  background:#FBF9F4; padding:0 13px; font-family:'Jost',sans-serif; font-size:15px; color:var(--ghh-ink);
  outline:none; transition:border-color .3s ease, box-shadow .3s ease; }
.ghs-lead textarea { height:auto; min-height:110px; padding:11px 13px; }
.ghs-lead input:focus, .ghs-lead select:focus, .ghs-lead textarea:focus { border-color:var(--ghh-bronze);
  background:#fff; box-shadow:0 0 0 3px rgba(180,136,76,.16); }
.ghs-lead input[type=checkbox] { width:17px; height:17px; accent-color:var(--ghh-bronze); margin:2px 10px 0 0; }
.ghs-lead input[type=checkbox] + label, .ghs-lead label[for="data-processing-id"] { display:inline;
  font-size:12px; letter-spacing:0; text-transform:none; color:var(--ghh-mut2); line-height:1.6; font-weight:300; }
.ghs-lead input[type=submit] { display:inline-flex; align-items:center; padding:15px 34px; background:var(--ghh-bronze);
  color:var(--ghh-cream); border:none; border-radius:2px; font-family:'Jost',sans-serif; font-size:13px;
  letter-spacing:.16em; text-transform:uppercase; font-weight:500; cursor:pointer; transition:background .35s ease; margin-top:8px; }
.ghs-lead input[type=submit]:hover { background:var(--ghh-bronze2); }
.ghs-lead .asariwww_zglosform_container { margin:0; }
.ghs-lead .data-processing { display:flex; align-items:flex-start; margin:4px 0 14px; }
.ghs-lead .row.gx-3 { display:flex; flex-wrap:wrap; align-items:center; gap:14px 18px; margin:8px 0 0; }
.ghs-lead .row.gx-3 > div { width:auto; max-width:none; flex:none; padding:0; margin:0; }
.ghs-lead .row.gx-3 p { margin:0; font-size:12px; color:var(--ghh-mut2); font-weight:400; }
.ghs-lead input[name^="asariplug_cpt"] { width:132px; }
.ghs-lead .row.gx-3 input[type=submit] { margin-top:0; }
.ghs-lead hr { border:none; border-top:1px solid rgba(51,37,30,.12); margin:26px 0 0; width:100%; }
/* klauzula administratora: skrot + popup "czytaj wiecej" obsluguje plugin */
.ghs-lead .data-info { font-size:11.5px; line-height:1.65; color:var(--ghh-mut2); font-weight:300; margin-top:12px; }
.ghs-lead .data-info .popup-link { color:var(--ghh-bronze2); }

/* ---------- RWD ---------- */
@media (max-width: 1100px) {
  .ghs-team .ghh-team-grid { grid-template-columns:repeat(2,1fr); }
  .ghs-pillars-grid { grid-template-columns:1fr; max-width:640px; }
  .ghs-stds-grid { grid-template-columns:repeat(2,1fr); }
  .ghs-std:nth-child(3n) { border-right:1px solid rgba(51,37,30,.14); }
  .ghs-std:nth-child(2n) { border-right:none; }
  .ghs-std:nth-child(n+3) { border-top:1px solid rgba(51,37,30,.14); }
}
@media (max-width: 1100px) and (min-width: 761px) {
  .ghs-offices { gap:20px; }
  .ghs-office { padding:36px 30px; }
}
@media (max-width: 1100px) {
  .ghs-slides .cap { display:none; }
}
@media (max-width: 980px) {
  .ghs-calc { grid-template-columns:1fr; }
  .ghs-lead-grid { grid-template-columns:1fr; gap:44px; }
  .ghs-lead .row.gx-5 { grid-template-columns:1fr; }
}
@media (max-width: 760px) {
  body.ghh .ghs-hero { padding:160px 22px 80px; }
  body.ghh .ghs-hero--slider { padding:150px 22px 240px; height:auto; min-height:620px; }
  body.ghh .ghs-cta { padding:80px 22px; }
  .ghs-calc .in, .ghs-calc .out { padding:32px 24px; }
  .ghs-calc .row { flex-direction:column; }
  .ghs-calc .row .cur { flex:1; }
  .ghs-offices { grid-template-columns:1fr; }
  .ghs-office { padding:32px 26px; }
  body.ghh .ghs-pillars, body.ghh .ghs-stds { padding:80px 22px; }
  .ghs-team .ghh-team-grid { grid-template-columns:1fr; padding:0 22px; }
  .ghs-stds-grid { grid-template-columns:1fr; }
  .ghs-std { border-right:none !important; padding:34px 26px 38px; }
  .ghs-std:nth-child(n+2) { border-top:1px solid rgba(51,37,30,.14); }
  .ghs-pillar { padding:34px 28px; }
}
