/* Általános WP-tartalom (index.php) */
.wrap.prose{max-width:760px;padding-block:clamp(2rem,5vw,4rem)}
.prose img{max-width:100%;height:auto}
.prose article+article{margin-top:2.5rem}
.prose .alignleft{float:left;margin:0 1.5rem 1rem 0}.prose .alignright{float:right;margin:0 0 1rem 1.5rem}
.prose .aligncenter{display:block;margin-inline:auto}
.screen-reader-text{position:absolute;left:-9999px}

/* ---------- Ingatlanlista és adatlap ---------- */
.card--sold .card__img img { filter: grayscale(.85); opacity: .75; }
.listing-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 28px; margin: 0; }
.listing-facts dt { font-size: .75rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--clay); }
.listing-facts dd { margin: 4px 0 0; font: 400 1.35rem/1.3 var(--serif); color: var(--ink); }
.listing-hero img { width: 100%; aspect-ratio: 16 / 8; object-fit: cover; }
.listing-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.listing-gallery img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.listing-contact { display: grid; gap: 8px; max-width: 760px; }
.listing-form .wpcf7-form p { margin: 0 0 16px; }
.listing-form label { display: block; font-size: .8rem; font-weight: 600; letter-spacing: .04em; color: var(--paper); }
.listing-form input:not([type=submit]):not([type=checkbox]), .listing-form textarea, .listing-form select {
  width: 100%; margin-top: 6px; padding: 13px 14px; border: 1px solid rgba(250,248,244,.3); border-radius: var(--radius);
  background: rgba(250,248,244,.06); color: var(--paper); font: 400 1rem/1.4 var(--sans);
}
.listing-form input:focus, .listing-form textarea:focus { outline: none; border-color: var(--paper); }
.listing-form input[type=submit] { padding: 14px 26px; border: 1px solid var(--paper); border-radius: var(--radius); background: var(--paper); color: var(--ink); font-weight: 600; }
.listing-form input[type=submit]:hover { background: var(--clay); border-color: var(--clay); color: var(--paper); }
.listing-form .wpcf7-not-valid-tip, .listing-form .wpcf7-response-output { color: #E1A486; font-size: .85rem; }
@media (max-width: 800px) { .listing-gallery { grid-template-columns: 1fr 1fr; } .listing-facts { grid-template-columns: 1fr 1fr; } }

/* ==========================================================================
   Régi sablonok (bérbeadás/eladás folyamat, home staging, tanácsadás, felmérés,
   köszönő oldal, ingatlankezelés) – az új tokenekkel
   ========================================================================== */
.container { width: 100%; max-width: calc(var(--wrap) + 2 * var(--gutter)); margin-inline: auto; padding-inline: var(--gutter); }
.text-center { text-align: center; }
.mb-5 { margin-bottom: 2.5rem; }
.padding { padding-block: var(--section); }
.row.justify-content-center { display: flex; justify-content: center; }
.col-lg-8 { width: 100%; max-width: 760px; }

/* hero-k */
.lakasok-hero, .hs-hero, .tan-hero, .if-hero, .im-hero { padding-block: clamp(56px, 8vw, 112px) clamp(40px, 5vw, 64px); background: var(--sand); }
.lakasok-hero h1, .hs-hero h1, .tan-hero h1, .if-hero h1, .im-hero h1 { font-size: clamp(2.2rem, 4.2vw, 3.6rem); max-width: 18ch; }
.lakasok-hero-subtitle, .hs-hero-subtitle, .tan-hero-subtitle, .if-hero-subtitle, .im-hero-subtitle { margin-top: 20px; max-width: 60ch; font-size: 1.15rem; color: var(--ink-2); }
.content-area .container { padding-block: clamp(48px, 6vw, 88px); }
.content-area > .site-main > .container:has(.contact-section) { padding-block: 0; }

/* kapcsolati blokk (sötét) */
.contact-section.bg-dark { background: var(--ink); color: #C9D0CC; }
.contact-section.bg-dark h2 { color: var(--paper); font-size: clamp(1.8rem, 3vw, 2.6rem); text-transform: none; }
.contact-section .container { padding-block: 0; }

/* folyamat-lépések (bérbeadás / eladás) */
.szolgaltatasok-wrapper { display: grid; gap: 0; max-width: 860px; margin-inline: auto; }
.service-step { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 24px; padding-block: 36px; border-top: 1px solid var(--line); }
.service-step:last-child { border-bottom: 1px solid var(--line); }
.step-number span { font: 300 3rem/1 var(--serif); color: var(--clay); }
.step-icon svg { width: 32px; height: 32px; stroke: var(--clay); margin-bottom: 12px; }
.step-title { font-size: 1.6rem; margin-bottom: 8px; }
.step-description { color: var(--muted); }
.services-cta { margin-top: clamp(48px, 6vw, 80px); padding: clamp(32px, 5vw, 64px); background: var(--sand); text-align: center; }
.cta-content { display: grid; gap: 16px; justify-items: center; }
.cta-button, .im-btn-primary, .ty-btn-primary {
  display: inline-flex; align-items: center; gap: 10px; padding: 14px 26px; border: 1px solid var(--ink); border-radius: var(--radius);
  background: var(--ink); color: var(--paper); font-weight: 600; transition: background .2s, border-color .2s;
}
.cta-button svg { width: 18px; height: 18px; stroke: currentColor; }
.cta-button:hover, .im-btn-primary:hover, .ty-btn-primary:hover { background: var(--clay); border-color: var(--clay); }
.im-btn-secondary { display: inline-flex; padding: 14px 26px; border: 1px solid var(--ink); color: var(--ink); font-weight: 600; }
.im-cta { margin-top: clamp(48px, 6vw, 80px); padding: clamp(32px, 5vw, 64px); background: var(--sand); text-align: center; display: grid; gap: 16px; justify-items: center; }
.im-cta-buttons { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }

/* home staging, tanácsadás */
.hs-intro-text, .tan-intro-text, .if-intro { max-width: 760px; margin-inline: auto; font-size: 1.1rem; line-height: 1.75; }
.hs-intro-text p + p, .tan-intro-text p + p, .if-intro p + p { margin-top: 1em; }
.hs-info-box, .tan-info-box { max-width: 860px; margin: clamp(32px, 4vw, 56px) auto 0; padding: clamp(28px, 4vw, 48px); background: var(--white); border: 1px solid var(--line); }
.hs-info-box ul { padding-left: 1.1em; display: grid; gap: .8em; margin: 20px 0 0; }
.hs-closing-message a { color: var(--clay); text-decoration: underline; text-underline-offset: 3px; }
.tan-highlight-section { max-width: 1000px; margin: clamp(32px, 4vw, 56px) auto 0; }
.tan-highlight-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin-top: 24px; }
.tan-highlight-item { padding: 24px; border: 1px solid var(--line); background: var(--white); }
.tan-highlight-icon { font-size: 1.6rem; margin-bottom: 8px; }
.tan-highlight-item h4 { font-size: 1.15rem; }
.tan-highlight-item p { font-size: .9rem; color: var(--muted); }

/* felmérési űrlap */
.if-form-section .container { padding-top: 0; }
.if-form-container { max-width: 800px; margin-inline: auto; padding: clamp(24px, 4vw, 48px); background: var(--white); border: 1px solid var(--line); }
.if-form-container h3 { text-align: center; margin-bottom: 28px; }
.if-form-container .wpcf7-form p { margin: 0 0 16px; }
.if-form-container label { display: block; font-size: .8rem; font-weight: 600; letter-spacing: .04em; color: var(--ink-2); }
.if-form-container input:not([type=submit]):not([type=checkbox]):not([type=radio]), .if-form-container textarea, .if-form-container select {
  width: 100%; margin-top: 6px; padding: 13px 14px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); font: 400 1rem/1.4 var(--sans); color: var(--ink);
}
.if-form-container input[type=submit] { padding: 14px 26px; border: 1px solid var(--ink); border-radius: var(--radius); background: var(--ink); color: var(--paper); font-weight: 600; }
.if-form-container input[type=submit]:hover { background: var(--clay); border-color: var(--clay); }
.if-form-container .wpcf7-not-valid-tip { color: #B3261E; font-size: .85rem; }
.if-form-container .form-row { display: flex; gap: 20px; }
.if-form-container .form-row > p { flex: 1; }

/* köszönő oldal */
.ty-page-section { min-height: 60vh; display: grid; place-items: center; padding: clamp(56px, 8vw, 112px) var(--gutter); }
.ty-page-card { max-width: 560px; text-align: center; display: grid; gap: 20px; justify-items: center; }
.ty-checkmark-circle { width: 72px; height: 72px; border-radius: 50%; background: var(--clay-soft); display: grid; place-items: center; }
.ty-checkmark { width: 14px; height: 26px; border: solid var(--clay); border-width: 0 3px 3px 0; transform: translateY(-3px) rotate(45deg); }
.ty-info-box { padding: 14px 20px; background: var(--sand); }

/* ingatlankezelés (régi oldal) */
.im-intro, .im-services, .im-benefits, .im-process { margin-bottom: clamp(48px, 6vw, 88px); }
.im-section-title { text-align: center; margin-bottom: clamp(28px, 4vw, 48px); }
.im-services-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 24px; }
.im-service-card { padding: 28px; background: var(--white); border: 1px solid var(--line); display: grid; gap: 12px; align-content: start; }
.im-service-icon { font-size: 1.8rem; }
.im-service-card ul { margin: 0; padding-left: 1.1em; color: var(--muted); font-size: .95rem; }
.im-benefits-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 20px; }
.im-benefit-item { padding: 24px; background: var(--sand); display: grid; gap: 10px; align-content: start; }
.im-benefit-item h4 { font-size: 1.1rem; }
.im-benefit-number, .im-step-number { font: 300 2.4rem/1 var(--serif); color: var(--clay); }
.im-process-steps { display: grid; max-width: 860px; margin-inline: auto; }
.im-process-step { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 20px; padding-block: 28px; border-top: 1px solid var(--line); }
.im-process-step:last-child { border-bottom: 1px solid var(--line); }
.im-step-content p { color: var(--muted); }

@media (max-width: 800px) {
  .tan-highlight-grid { grid-template-columns: 1fr 1fr; }
  .service-step, .im-process-step { grid-template-columns: 56px minmax(0, 1fr); gap: 14px; }
  .if-form-container .form-row { flex-direction: column; gap: 0; }
}
