/* ========================================================================
   ZEMČÁK Reality – /kontakt clean premium v4
   Cieľ po kontrole desktopu:
   - horný CTA blok bez čierneho pozadia,
   - newsletter samostatne,
   - kontaktný formulár samostatne,
   - pôvodné Drupal formuláre presúva JS do správnych slotov.
   ======================================================================== */

.zr-contact-clean,
.path-kontakt {
  --zr-orange: #F9A11B;
  --zr-orange-dark: #c87300;
  --zr-navy: #101827;
  --zr-ink: #172033;
  --zr-muted: #667085;
  --zr-line: rgba(16, 24, 39, .12);
  --zr-soft: #f6f8fb;
  --zr-white: #fff;
  --zr-radius-xl: 1.45rem;
  --zr-shadow: 0 1.2rem 3rem rgba(16,24,39,.10);
  color: var(--zr-ink);
}

.zr-contact-clean {
  background: linear-gradient(180deg, #fff 0%, #f8fafc 46%, #fff 100%);
  padding: clamp(1.4rem, 3vw, 3rem) 0 clamp(3rem, 6vw, 5rem);
}

.zr-contact-clean *,
.zr-contact-clean *::before,
.zr-contact-clean *::after { box-sizing: border-box; }

.zr-contact-clean__container {
  width: min(100% - 2rem, 74rem);
  margin-inline: auto;
}

.zr-contact-kicker {
  margin: 0 0 .7rem;
  color: var(--zr-orange-dark);
  font-size: .76rem;
  font-weight: 950;
  letter-spacing: .14em;
  text-transform: uppercase;
}

/* Horný CTA blok – biely, bez tmavej bubliny. */
.zr-contact-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(17rem, 23rem);
  gap: clamp(1.2rem, 3vw, 2.4rem);
  align-items: end;
  border: 1px solid var(--zr-line);
  border-radius: 1.75rem;
  padding: clamp(1.45rem, 3.2vw, 2.65rem);
  background:
    radial-gradient(circle at 6% 0%, rgba(249,161,27,.16), transparent 20rem),
    linear-gradient(135deg, #fff 0%, #fbfcff 100%);
  color: var(--zr-ink);
  box-shadow: var(--zr-shadow);
}

.zr-contact-cta h1 {
  margin: 0;
  max-width: 50rem;
  color: var(--zr-navy);
  font-size: clamp(2.05rem, 4.5vw, 4.4rem);
  font-weight: 950;
  line-height: .98;
  letter-spacing: -.055em;
}

.zr-contact-cta p:not(.zr-contact-kicker) {
  margin: 1rem 0 0;
  max-width: 43rem;
  color: var(--zr-muted);
  font-size: clamp(1rem, 1.1vw, 1.12rem);
  line-height: 1.65;
}

.zr-contact-cta__actions {
  display: grid;
  gap: .7rem;
}

.zr-contact-btn {
  min-height: 3.2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: .8rem 1.05rem;
  font-weight: 950;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}

.zr-contact-btn--primary {
  background: var(--zr-orange);
  color: #111827;
  box-shadow: 0 .9rem 1.8rem rgba(249,161,27,.25);
}

.zr-contact-btn--secondary {
  background: #fff;
  color: var(--zr-navy);
  border: 1px solid rgba(16,24,39,.14);
}

.zr-contact-btn--ghost {
  border: 1px solid rgba(16,24,39,.18);
  color: var(--zr-navy);
  background: rgba(255,255,255,.68);
}

.zr-contact-btn:hover {
  transform: translateY(-2px);
  color: inherit;
  box-shadow: 0 .9rem 1.8rem rgba(16,24,39,.10);
}

.zr-contact-newsletter,
.zr-contact-write,
.zr-contact-company,
.zr-contact-content-source:not(.zr-contact-content-source--processed) {
  margin-top: clamp(1rem, 2.4vw, 1.6rem);
  border: 1px solid var(--zr-line);
  border-radius: var(--zr-radius-xl);
  background: rgba(255,255,255,.96);
  box-shadow: 0 .75rem 1.8rem rgba(16,24,39,.07);
}

.zr-contact-newsletter {
  padding: clamp(1.25rem, 2.6vw, 2rem);
  display: grid;
  grid-template-columns: minmax(18rem, .85fr) minmax(0, 1.15fr);
  gap: 1.2rem 2.4rem;
  align-items: start;
}

.zr-contact-newsletter__content,
.zr-contact-write__content {
  min-width: 0;
}

.zr-contact-newsletter h2,
.zr-contact-write h2,
.zr-contact-company h2 {
  margin: 0;
  color: var(--zr-navy);
  font-size: clamp(1.45rem, 2vw, 2.15rem);
  font-weight: 950;
  line-height: 1.08;
  letter-spacing: -.04em;
}

.zr-contact-newsletter p:not(.zr-contact-kicker),
.zr-contact-write p,
.zr-contact-company span,
.zr-contact-company a {
  color: var(--zr-muted);
  line-height: 1.65;
}

.zr-contact-write {
  display: grid;
  grid-template-columns: minmax(16rem, 25rem) minmax(0, 1fr);
  gap: clamp(1rem, 3vw, 2.2rem);
  padding: clamp(1.25rem, 2.6vw, 2rem);
}

.zr-contact-write__content {
  border-radius: 1.1rem;
  background: #fff;
}

.zr-contact-content-source {
  padding: clamp(1rem, 2vw, 1.5rem);
}

.zr-contact-content-source--processed {
  display: none !important;
}

.zr-contact-write__content #block-zemcak-page-title,
.zr-contact-write__content .block-page-title-block,
.zr-contact-write__content .page-title,
.zr-contact-newsletter__content #block-zemcak-page-title,
.zr-contact-newsletter__content .block-page-title-block,
.zr-contact-newsletter__content .page-title,
.zr-contact-clean .webform-confirmation__back {
  display: none !important;
}

.zr-contact-newsletter__content form,
.zr-contact-newsletter__content .webform-submission-form,
.zr-contact-write__content form,
.zr-contact-write__content .webform-submission-form {
  display: grid;
  gap: .85rem;
}

.zr-contact-clean input[type="text"],
.zr-contact-clean input[type="email"],
.zr-contact-clean input[type="tel"],
.zr-contact-clean textarea,
.zr-contact-clean select {
  width: 100%;
  min-height: 3rem;
  border: 1px solid rgba(16,24,39,.14);
  border-radius: .9rem;
  padding: .8rem .95rem;
  background: #fff;
  color: var(--zr-ink);
  box-shadow: none;
}

.zr-contact-clean textarea { min-height: 8rem; resize: vertical; }
.zr-contact-clean label { color: var(--zr-navy); font-weight: 850; }

.zr-contact-clean input[type="submit"],
.zr-contact-clean button[type="submit"] {
  width: max-content;
  min-height: 3.05rem;
  border: 0;
  border-radius: 999px;
  padding: .78rem 1.35rem;
  background: var(--zr-orange);
  color: #111827;
  font-weight: 950;
  cursor: pointer;
  box-shadow: 0 .75rem 1.5rem rgba(249,161,27,.22);
}

.zr-contact-clean input[type="submit"]:hover,
.zr-contact-clean button[type="submit"]:hover {
  transform: translateY(-1px);
}

.zr-contact-company {
  padding: clamp(1.25rem, 2.6vw, 2rem);
}

.zr-contact-company__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .75rem;
  margin-top: 1rem;
}

.zr-contact-company__grid > div {
  min-width: 0;
  border-radius: 1rem;
  background: var(--zr-soft);
  padding: .9rem;
}

.zr-contact-company strong {
  display: block;
  margin-bottom: .25rem;
  color: var(--zr-navy);
  font-size: .8rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.zr-contact-company a { text-decoration: none; font-weight: 850; }

@media (max-width: 62rem) {
  .zr-contact-cta,
  .zr-contact-newsletter,
  .zr-contact-write { grid-template-columns: 1fr; }
  .zr-contact-company__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 36rem) {
  .zr-contact-clean__container { width: min(100% - 1rem, 100%); }
  .zr-contact-cta,
  .zr-contact-newsletter,
  .zr-contact-write,
  .zr-contact-company { border-radius: 1.1rem; }
  .zr-contact-company__grid { grid-template-columns: 1fr; }
}


/* ========================================================================
   ZEMČÁK Reality – V8 Kontakt title/spacing
   Page title na /kontakt má byť čistý ako /reality, nie sivý banner.
   ======================================================================== */

body.path-kontakt .zr-contact-hero {
  margin-top: 1rem !important;
}


/* ========================================================================
   ZEMČÁK Reality – V9 Kontakt page cleanup
   Zabezpečí, že vlastná kontakt stránka začína rovno prémiovým hero blokom,
   bez starého sivého H1 banneru.
   ======================================================================== */

body.path-kontakt .zr-contact-page,
body.path-kontakt .zr-contact-hero {
  margin-top: 1.25rem !important;
}

body.path-kontakt .zr-contact-hero .zr-contact-eyebrow,
body.path-kontakt .zr-contact-hero .zr-overline,
body.path-kontakt .zr-section-label {
  color: #f9a11b !important;
  font-size: .76rem !important;
  font-weight: 900 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}


/* V10 Kontakt – starý sivý H1 page-title je vypnutý, stránka používa jednotný oranžový label. */
body.path-kontakt .layout-container main > div:first-child:has(h1),
body.path-kontakt .layout-container main > .region-content:first-child,
body.path-kontakt .layout-container main h1.page-title,
body.path-kontakt .layout-container main .page-title {
  display: none !important;
}

body.path-kontakt .zr-page-unified-heading {
  display: block !important;
}


/* V11 – /kontakt: starý page title a sivý pás nevypisujeme ani vizuálne. */
body.path-kontakt main .block-page-title-block,
body.path-kontakt main #block-zemcak-page-title,
body.path-kontakt main h1.page-title,
body.path-kontakt main .page-title {
  display: none !important;
}

body.path-kontakt .zr-page-unified-heading {
  width: min(100% - 2rem, 74rem) !important;
  max-width: 74rem !important;
  margin: 0 auto !important;
  padding: clamp(1.45rem, 2.2vw, 2.1rem) 0 .6rem !important;
}


/* FINAL PROFESSIONAL COPY – /kontakt starting process. */
.zr-contact-start {
  margin-top: clamp(1rem,2.4vw,1.6rem);
  padding: clamp(1.25rem,2.6vw,2rem);
  border: 1px solid var(--zr-line); border-radius: var(--zr-radius-xl);
  background: #fff; box-shadow: 0 .75rem 1.8rem rgba(16,24,39,.07);
}
.zr-contact-start__intro { max-width: 48rem; margin-bottom: 1.2rem; }
.zr-contact-start__intro h2 { margin: 0; color: var(--zr-navy); font-size: clamp(1.55rem,2.6vw,2.45rem); line-height: 1.05; letter-spacing: -.04em; }
.zr-contact-start__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .8rem; }
.zr-contact-start__grid article { padding: 1rem; border-radius: 1rem; background: var(--zr-soft); }
.zr-contact-start__grid span { color: var(--zr-orange-dark); font-size: .82rem; font-weight: 950; }
.zr-contact-start__grid h3 { margin: .5rem 0 .4rem; color: var(--zr-navy); font-size: 1.05rem; }
.zr-contact-start__grid p { margin: 0; color: var(--zr-muted); line-height: 1.55; }
.zr-contact-clean .antibot-no-js,
.zr-contact-clean .captcha__description,
.zr-contact-clean .form-item-captcha-response .description { display: none !important; }
@media (max-width:47.98rem) { .zr-contact-start__grid { grid-template-columns: 1fr; } }
