/* CT-készülék landing — csak uj-csucstechnologias-ct-keszulek-a-medicare-ben (CtKeszulekEnhanceHtml) */

:root {
  --ct-navy: var(--navy, #1e3a50);
  --ct-ink: var(--text, #2c3e50);
  --ct-teal: var(--brand, #4a8ea6);
  --ct-teal-deep: var(--brand-dark, #3a7a94);
  --ct-ice: var(--brand-pale, #e8f4f8);
  --ct-mist: var(--bg, #edf1f5);
  --ct-line: var(--border, #dbe2ea);
  --ct-soft: var(--text-mid, #5a6b7d);
}

body.subpage-fallback-t2:has(.ct-page) #fallbackSecBody.tpl-section {
  padding-top: 36px !important;
  padding-bottom: 72px !important;
  background: var(--white, #fff) !important;
}

.wp-import-content .ct-page,
#fallbackSecBody .ct-page {
  width: 100%;
  max-width: none;
  margin: 0;
  color: var(--text, #2c3e50);
  font-family: inherit;
}

.ct-page * {
  box-sizing: border-box;
}

.ct-kicker {
  display: inline-block;
  margin: 0 0 12px !important;
  padding: 0 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--brand, #4a8ea6) !important;
  background: none !important;
  border: 0 !important;
}

.ct-section-head {
  margin: 0 0 28px;
  max-width: 40rem;
}

/* Tipográfia: ugyanaz, mint a többi aloldalon (wp-import / tpl-prose) */
.ct-section-head h2,
.ct-intro__copy h2,
.ct-comfort h2,
.ct-gallery__head h3,
.ct-feat h3 {
  font-family: inherit !important;
  color: var(--navy, #1e3a50) !important;
  -webkit-text-fill-color: var(--navy, #1e3a50) !important;
  background: none !important;
  letter-spacing: -0.2px;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

.ct-section-head h2,
.ct-intro__copy h2,
.ct-comfort h2 {
  margin: 0 0 0.5rem !important;
  font-size: clamp(1.35rem, 2.2vw, 1.75rem) !important;
}

.ct-gallery__head h3 {
  margin: 0 0 0.5rem !important;
  font-size: clamp(1.15rem, 1.8vw, 1.35rem) !important;
}

.ct-feat h3 {
  margin: 0 0 6px !important;
  font-size: 1.05rem !important;
  line-height: 1.35 !important;
}

body.subpage-fallback-t2 .tpl-section--white .tpl-prose .ct-page .ct-section-head p,
body.subpage-fallback-t2 .tpl-section--white .tpl-prose .ct-page .ct-lead,
body.subpage-fallback-t2 .tpl-section--white .tpl-prose .ct-page .ct-comfort p,
body.subpage-fallback-t2 .tpl-section--white .tpl-prose .ct-page .ct-gallery__head p,
body.subpage-fallback-t2 .tpl-section--white .tpl-prose .ct-page .ct-feat p,
.wp-import-content .ct-page .ct-section-head p,
.wp-import-content .ct-page .ct-lead,
.wp-import-content .ct-page .ct-comfort p,
.wp-import-content .ct-page .ct-gallery__head p,
.wp-import-content .ct-page .ct-feat p,
.ct-section-head p,
.ct-lead,
.ct-comfort p,
.ct-gallery__head p,
.ct-feat p {
  margin: 0 !important;
  font-family: inherit !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
  color: var(--text, #2c3e50) !important;
  -webkit-text-fill-color: var(--text, #2c3e50) !important;
  letter-spacing: normal;
  opacity: 1 !important;
}

/* —— Intro —— */
.ct-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 36px 44px;
  align-items: center;
  margin: 0 0 48px;
  padding: 8px 0 8px;
}

.ct-intro__copy h2 {
  max-width: none;
}

.ct-lead {
  margin: 0 0 22px !important;
  max-width: 40rem;
}

.ct-intro__actions,
.ct-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}

.ct-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 22px !important;
  border-radius: 12px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border: 1px solid transparent;
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.ct-btn:hover {
  transform: translateY(-1px);
}

.ct-btn--primary {
  background: var(--brand, #4A8EA6) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.ct-btn--primary:hover {
  background: var(--brand-dark, #3A7A94) !important;
  color: #fff !important;
}

.ct-btn--ghost {
  background: #fff !important;
  color: var(--ct-navy) !important;
  -webkit-text-fill-color: var(--ct-navy) !important;
  border-color: #c5d3de !important;
}
.ct-btn--ghost:hover {
  border-color: var(--ct-navy) !important;
}

.ct-btn--light {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border-color: rgba(255, 255, 255, 0.35) !important;
}
.ct-btn--light:hover {
  background: rgba(255, 255, 255, 0.22) !important;
}

.ct-intro__media {
  margin: 0 !important;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid var(--ct-line);
  box-shadow: 0 18px 40px -24px rgba(22, 50, 74, 0.45);
  background: #fff;
  position: relative;
  line-height: 0;
}

.ct-intro__media img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center center;
}

/* —— Comfort —— */
.ct-comfort {
  margin: 0 0 48px;
}

.ct-comfort__inner {
  padding: 28px 32px;
  border-radius: 18px;
  background: linear-gradient(135deg, #fff 0%, var(--ct-ice) 100%);
  border: 1px solid rgba(42, 122, 148, 0.18);
  box-shadow: 0 10px 28px -22px rgba(22, 50, 74, 0.35);
}

/* —— Features —— */
.ct-features {
  margin: 0 0 56px;
}

.ct-feat-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.ct-feat {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px 16px;
  align-items: start;
  padding: 20px 18px 18px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid var(--ct-line);
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.ct-feat:hover {
  border-color: rgba(42, 122, 148, 0.35);
  box-shadow: 0 14px 30px -22px rgba(22, 50, 74, 0.4);
}

.ct-feat__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--ct-ice);
  color: var(--ct-teal-deep);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
}

/* —— Install —— */
.ct-install {
  margin: 0 0 56px;
}

.ct-install__pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.ct-install__pair figure {
  margin: 0 !important;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid var(--ct-line);
  background: #fff;
  box-shadow: 0 14px 32px -24px rgba(22, 50, 74, 0.4);
}

.ct-install__pair img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1.05;
  object-fit: cover;
}

/* —— Galleries —— */
.ct-cases {
  margin: 0 0 56px;
}

.ct-gallery {
  margin: 0 0 28px;
  padding: 22px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid var(--ct-line);
}

.ct-gallery__head {
  margin: 0 0 16px;
  max-width: 42rem;
}

.ct-gallery__grid {
  display: grid;
  gap: 10px;
}

.ct-gallery__grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.ct-gallery__grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.ct-gallery__grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ct-gallery__shot {
  margin: 0 !important;
  border-radius: 12px;
  overflow: hidden;
  background: #0e1f2b;
  border: 1px solid rgba(22, 50, 74, 0.08);
}

.ct-gallery__shot img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transition: transform 0.45s ease;
}

.ct-gallery__shot:hover img {
  transform: scale(1.035);
}

/* —— CTA —— */
.ct-cta {
  margin: 8px 0 0;
}

.ct-cta__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 22px 28px;
  padding: 36px 40px;
  border-radius: 22px;
  background:
    linear-gradient(135deg, #143048 0%, #1c4d63 48%, #24657d 100%);
  color: #fff;
  box-shadow: 0 22px 48px -28px rgba(16, 37, 54, 0.7);
}

.ct-cta__copy {
  max-width: 38rem;
}

body.subpage-fallback-t2 .tpl-section--white .tpl-prose .ct-page .ct-cta__copy h2,
.wp-import-content .ct-page .ct-cta__copy h2,
#fallbackSecBody .ct-page .ct-cta__copy h2,
.ct-cta__copy h2 {
  margin: 0 0 10px !important;
  font-family: inherit !important;
  font-size: clamp(1.35rem, 2.2vw, 1.75rem) !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  letter-spacing: -0.2px;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: none !important;
}

body.subpage-fallback-t2 .tpl-section--white .tpl-prose .ct-page .ct-cta__copy p,
.wp-import-content .ct-page .ct-cta__copy p,
#fallbackSecBody .ct-page .ct-cta__copy p,
.ct-cta__copy p {
  margin: 0 !important;
  font-family: inherit !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
  color: rgba(255, 255, 255, 0.92) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.92) !important;
}

.ct-cta .ct-btn--light {
  background: #ffffff !important;
  color: var(--ct-navy) !important;
  -webkit-text-fill-color: var(--ct-navy) !important;
  border-color: transparent !important;
}
.ct-cta .ct-btn--light:hover {
  background: #e8f2f6 !important;
  color: var(--ct-navy) !important;
}

/* —— Motion —— */
@media (prefers-reduced-motion: no-preference) {
  .ct-intro,
  .ct-comfort,
  .ct-features,
  .ct-install,
  .ct-gallery,
  .ct-cta {
    animation: ct-rise 0.7s ease both;
  }
  .ct-comfort { animation-delay: 0.06s; }
  .ct-features { animation-delay: 0.1s; }
  .ct-install { animation-delay: 0.14s; }
  .ct-cta { animation-delay: 0.18s; }
}

@keyframes ct-rise {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

/* —— Responsive —— */
@media (max-width: 900px) {
  .ct-intro {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .ct-intro__copy h2 {
    max-width: none;
  }
  .ct-intro__media {
    order: -1;
  }
  .ct-feat-grid {
    grid-template-columns: 1fr;
  }
  .ct-gallery__grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .ct-comfort__inner,
  .ct-gallery,
  .ct-cta__inner {
    padding: 20px 18px;
  }
  .ct-install__pair,
  .ct-gallery__grid--2,
  .ct-gallery__grid--3 {
    grid-template-columns: 1fr;
  }
  .ct-gallery__grid--4 {
    grid-template-columns: 1fr 1fr;
  }
  .ct-btn {
    width: 100%;
  }
}
