/* 2026-10-23 client-review fixes, loaded after the main site stylesheet on every public page.
   Section spacing, higher-contrast lead form, form-only contact block (ajanlatkeres) and the mobile quote dialog (quote-popover.js). */

/* More air above section tags that follow other content. */
:is(p, ul, ol, table, div, h3) + :is(.section-subtitle, .hz-pill-badge) { margin-top: 56px; }
@media (max-width: 992px) {
  .block .split, .split { row-gap: 72px; }
}

/* Higher-contrast form controls. */
.contact-right label, .quote-dialog label { color: #0b2338; }
.contact-right input, .contact-right textarea,
.quote-dialog input, .quote-dialog textarea {
  background: #fff; border: 1.5px solid #8796a8; color: #0b2338;
}
.contact-right input::placeholder, .contact-right textarea::placeholder,
.quote-dialog input::placeholder, .quote-dialog textarea::placeholder { color: #5d6b7a; opacity: 1; }
.contact-right input:focus, .contact-right textarea:focus,
.quote-dialog input:focus, .quote-dialog textarea:focus {
  outline: 3px solid #2f7fd133; border-color: var(--brand, #1e6fbf);
}
.contact-right .service-btn, .quote-dialog .service-btn {
  background: #fff; border: 1.5px solid #8796a8; color: #0b2338; font-weight: 600;
}
.contact-right .service-btn.active, .quote-dialog .service-btn.active {
  background: var(--brand, #1e6fbf); border-color: var(--brand, #1e6fbf); color: #fff;
}
.contact-right .service-btn.active i, .contact-right .service-btn.active svg { color: #fff !important; stroke: currentColor; }
.contact-right { border: 1.5px solid #c3ccd6; }

/* Form-only contact block (no dark info card). */
.contact-grid.contact-grid--form-only { grid-template-columns: 1fr; max-width: 860px; margin: 0 auto; }

/* Both phone numbers inside the dark contact card. */
.contact-info-block .phone-pair a { display: block; color: inherit; text-decoration: none; }

/* Mobile quote dialog opened by the sticky "Ajánlatkérés" button. */
.quote-dialog {
  position: fixed; inset: 0; margin: auto; height: fit-content;
  width: min(560px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); padding: 0;
  border: 0; border-radius: 14px; background: #fff; color: #0b2338; overflow: auto;
}
.quote-dialog::backdrop { background: #0b2338b3; }
.quote-dialog .quote-dialog-inner { padding: 22px 18px 20px; }
.quote-dialog .quote-dialog-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 8px; }
.quote-dialog h2 { font-size: 1.5rem; margin: 0; color: #0b2338; }
.quote-dialog .quote-dialog-close {
  flex: none; width: 44px; height: 44px; border: 1.5px solid #8796a8; border-radius: 10px;
  background: #fff; font-size: 1.6rem; line-height: 1; color: #0b2338; cursor: pointer;
}
.quote-dialog .quote-phones { margin: 0 0 16px; font-size: .95rem; color: #33475b; }
.quote-dialog .quote-phones a { color: var(--brand, #1e6fbf); font-weight: 700; white-space: nowrap; }
.quote-dialog label { display: block; font-weight: 700; font-size: .9rem; margin: 12px 0 6px; }
.quote-dialog input, .quote-dialog textarea { width: 100%; padding: 12px; border-radius: 8px; font: inherit; font-size: 1rem; }
.quote-dialog textarea { min-height: 96px; resize: vertical; }
.quote-dialog .service-btn-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.quote-dialog .service-btn { min-height: 44px; border-radius: 8px; padding: 8px 10px; font: inherit; font-size: .9rem; text-align: left; cursor: pointer; }
.quote-dialog .btn-submit { margin-top: 16px; width: 100%; min-height: 50px; }

/* 2026-10-23 SEO heading levels. Elements that moved one heading level or became plain blocks keep their exact old look. */
.post-card h2{font-family:Manrope,sans-serif;font-size:1.2rem;line-height:1.35;color:var(--brand-dark);margin:0;text-wrap:wrap}
.legacy-article h2.legacy-h3{font-size:23px;line-height:1.35;margin:1.5rem 0 .75rem;text-wrap:wrap}
.info-card div.info-card-title{font-family:Manrope,sans-serif;font-weight:700;font-size:1.2rem;line-height:1.3;color:var(--brand-dark);margin:6px 0 0}
.stat-item .stat-number{font-family:Manrope,sans-serif;font-weight:700;font-size:clamp(2.5rem,5vw,4rem);color:var(--white);margin:0 0 5px;line-height:1;word-break:break-word;hyphens:auto}
.hz-experience-badge .hz-badge-figure{font-family:Manrope,sans-serif;font-weight:700;letter-spacing:-.02em;font-size:3rem;color:var(--hz-brand);margin:0;line-height:1}
.sd2-feature-card h3{font-size:1.4rem;margin-bottom:10px;color:var(--brand-dark)}
.accordion-content h3{font-size:2rem;margin-bottom:10px;color:var(--white);text-shadow:none}
.team-card h3{font-size:1.4rem;color:var(--brand-dark);margin-bottom:5px}
.footer-col h3{font-size:1.4rem;margin-bottom:25px;color:var(--white);position:relative;padding-bottom:15px}
@media (max-width:767px){
.info-card>div.info-card-title{grid-column:2;grid-row:1;margin:0;font-size:1.1rem}
.info-card:has(>.meta.figure)>div.info-card-title{grid-row:2}
.info-card div.info-card-title a{display:inline-flex;align-items:center;min-height:40px}
.stats-grid .stat-item .stat-number{font-size:1.9rem;margin-bottom:6px}
.stats-grid .stat-item.stat-item--highlight .stat-number{color:#fff!important}
.sd2-feature-card h3{font-size:1.1rem;margin-bottom:4px}
.materials-section .accordion-content h3{font-size:1.15rem;margin-bottom:4px}
.accordion-content h3.no-break-headline,.footer-col h3.no-break-headline{white-space:normal;overflow-wrap:anywhere}
.team-card h3{font-size:1.2rem}
.footer-col h3{margin-bottom:16px}
}
@media (max-width:768px){
.hz-experience-badge .hz-badge-figure{font-size:2.2rem;margin-bottom:8px}
}
