/*
Theme Name: Christin – Leichter leben
Theme URI: https://christin-telemann.de/
Description: Deutsches Child-Theme für Christin Telemanns Community rund um ein leichteres Leben.
Author: Christin Telemann
Template: coaching/coaching
Version: 1.0.1
Text Domain: christin-leichter-leben
*/

:root {
  --thim-body-primary-color: #aa5d38;
  --thim-button-hover-color: #824425;
  --thim-font-title-color: #25352d;
  --thim-font-body-font-family: "Nunito", Arial, sans-serif;
  --thim-font-title-font-family: "Abhaya Libre", Georgia, serif;
  --thim-main-menu-font-family: "Nunito", Arial, sans-serif;
  --thim-main-menu-font-size: 15px;
  --thim-main-menu-text-transform: none;
  --thim-main-menu-text-color: #25352d;
  --thim-main-menu-hover-color: #aa5d38;
}

/* Header: replace the imported Life-Coaching identity with Christin's logo. */
body .thim-ekit__header,
body .thim-ekit__header__inner,
body .thim-ekit__header .elementor-section,
body .thim-ekit__header .elementor-container,
body .thim-ekit__header .elementor-column,
body .thim-ekit__header .elementor-widget-wrap {
  background: #fffdf9 !important;
}

/* The imported demo preloader can remain visible in some browsers and hides
   the complete page. Christin’s site does not need this decorative loader. */
body #preload {
  display: none !important;
}

body.thim-body-preload > :not(#preload) {
  opacity: 1 !important;
  filter: none !important;
}

body .thim-ekit__header .thim-ekit-site-logo a {
  display: block;
  width: 82px;
  height: 82px;
  min-height: 82px;
  background: url("/logo.jpeg") center / contain no-repeat;
  text-decoration: none !important;
}

body .thim-ekit__header .thim-ekit-site-logo img {
  display: none !important;
}

body .thim-ekit__header .thim-ekit-site-logo a::before,
body .thim-ekit__header .thim-ekit-site-logo a::after {
  content: none !important;
}

body .thim-ekit__header .thim-ekits-menu__nav-link,
body .thim-ekit__header .thim-ekits-menu__mobile,
body .thim-ekit__header .thim-link-login a,
body .thim-ekit__header .minicart-icon svg path {
  color: #25352d !important;
  stroke: currentColor !important;
}

body .thim-ekit__header .thim-ekits-menu__nav-link:hover,
body .thim-ekit__header .thim-ekits-menu__nav-link:focus,
body .thim-ekit__header .thim-ekits-menu__nav-link.active {
  color: #8b4d2d !important;
}

/* No search, account popup or shopping cart is needed in the free community
   launch. Removing these inherited demo controls keeps the header focused. */
body .thim-ekit__header .widget_search,
body .thim-ekit__header .thim-login-popup,
body .thim-ekit__header .thim-ekits-mini-cart {
  display: none !important;
}

@media (max-width: 767px) {
  body .thim-ekit__header .thim-ekit-site-logo a {
    width: 64px;
    height: 64px;
    min-height: 64px;
  }
}

body {
  font-family: "Nunito", Arial, sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
  color: #25352d;
  background: #fffdf9;
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
  font-family: "Abhaya Libre", Georgia, serif;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none !important;
  text-wrap: balance;
}

/* One calm type scale for Elementor, courses and the community pages.
   The imported demo used several unrelated scales; these values keep long
   German headings readable and give normal text more breathing room. */
body h1 {
  font-size: clamp(2.35rem, 4.15vw, 4.35rem);
  line-height: 1.08;
}

body h2 {
  font-size: clamp(1.85rem, 2.75vw, 2.75rem);
  line-height: 1.16;
}

body h3 {
  font-size: clamp(1.4rem, 1.85vw, 1.85rem);
  line-height: 1.25;
}

body h4,
body h5,
body h6 {
  font-size: clamp(1.15rem, 1.4vw, 1.35rem);
  line-height: 1.35;
}

body p,
body li {
  line-height: 1.7;
}

body .elementor-widget-text-editor,
body .elementor-widget-text-editor p,
body .entry-content,
body .entry-content p {
  font-size: 1rem;
  line-height: 1.7;
}

body .thim-ekit__header .thim-ekits-menu__nav-link {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.35;
}

body button,
body input,
body select,
body textarea,
body .button,
body .thim-button-primary {
  font-family: "Nunito", Arial, sans-serif;
}

body input,
body select,
body textarea {
  font-size: 1rem;
  line-height: 1.5;
}

body .button,
body .thim-button-primary,
body input[type='submit'] {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
  min-height: 48px;
}

/* The page content already contains the meaningful H1. The imported theme
   adds a second title plus a visual breadcrumb above it, which is redundant. */
body .thim-ekit__breadcrumbs,
body .thim-ekit-page-title,
body .thim-ekits-page-title {
  display: none !important;
}

body .thim-ekit__page-title,
body .thim-ekit__page-title .elementor-container,
body .thim-ekit__page-title .elementor-section {
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Elementor template 9187 is the inherited visual page-title area. The
   individual pages already provide their own heading and introduction. */
body #main-content > .elementor.elementor-9187 {
  display: block !important;
}

body #main-content > .elementor.elementor-9187 .elementor-section {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 14px 0 !important;
  background: #fbf8f2 !important;
}

body #main-content > .elementor.elementor-9187 .elementor-widget-wrap {
  min-height: 0 !important;
  padding: 0 !important;
}

body #main-content > .elementor.elementor-9187 .thim-ekit-breadcrumb {
  display: block !important;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
  color: #5d675f;
  font-size: .92rem;
}

body #main-content > .elementor.elementor-9187 .thim-ekit-breadcrumb a {
  color: #25352d;
}

body #main-content > .content-area,
body #main-content > .content-area > .site-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body .ct-site h1,
body .ct-site h2,
body .ct-site h3 {
  text-transform: none !important;
}

body .ct-site {
  font-size: 1rem;
  line-height: 1.7;
}

body .ct-site h1 {
  font-size: clamp(2.35rem, 4.15vw, 4.35rem);
  line-height: 1.08;
}

body .ct-site h2 {
  font-size: clamp(1.85rem, 2.75vw, 2.75rem);
  line-height: 1.16;
}

body .ct-site h3 {
  font-size: clamp(1.4rem, 1.85vw, 1.85rem);
  line-height: 1.25;
}

@media (max-width: 767px) {
  body {
    font-size: 17px;
  }

  body h1,
  body .ct-site h1 {
    font-size: clamp(2.2rem, 10.4vw, 3rem);
    line-height: 1.11;
  }

  body h2,
  body .ct-site h2 {
    font-size: clamp(1.7rem, 7.8vw, 2.25rem);
    line-height: 1.18;
  }

  body h3,
  body .ct-site h3 {
    font-size: clamp(1.32rem, 6vw, 1.6rem);
  }

  body .elementor-widget-text-editor,
  body .elementor-widget-text-editor p,
  body .entry-content,
  body .entry-content p {
    font-size: 1rem;
    line-height: 1.68;
  }
}

/* WordPress and Elementor content outside the community templates. These
   selectors cover legal pages, blog posts, the contact page and native course
   templates without changing the visual structure of their Elementor layouts. */
body .elementor-widget-container > .elementor-heading-title,
body .elementor-widget-heading .elementor-heading-title,
body .entry-title {
  text-wrap: balance;
}

body .elementor-widget-text-editor ul,
body .elementor-widget-text-editor ol,
body .entry-content ul,
body .entry-content ol {
  padding-left: 1.35em;
}

body .elementor-widget-text-editor li + li,
body .entry-content li + li {
  margin-top: .5em;
}

/* Contact Form 7 appears on the contact page as well as in the WhatsApp
   registration. It therefore receives the same accessible text sizing. */
body .wpcf7 label,
body .wpcf7 .wpcf7-list-item-label {
  font-size: 1rem;
  line-height: 1.55;
}

body .wpcf7 input[type='text'],
body .wpcf7 input[type='email'],
body .wpcf7 input[type='tel'],
body .wpcf7 textarea,
body .wpcf7 select {
  font-size: 1rem;
  line-height: 1.5;
}

body .wpcf7 textarea {
  min-height: 140px;
}

body .wpcf7 input[type='submit'] {
  font-size: 1rem;
  font-weight: 700;
}

/* Contact page: a calm, direct entry point instead of an isolated form. */
body .ct-contact-page.elementor-section {
  max-width: 1180px;
  margin: 0 auto;
  padding: clamp(42px, 7vw, 84px) clamp(24px, 5vw, 72px);
}

body .ct-contact-hero.elementor-section {
  max-width: none;
  background: #fbf8f2;
}

body .ct-contact-hero .elementor-container,
body .ct-contact-body .elementor-container {
  max-width: 1036px;
}

body .ct-contact-page .elementor-widget-heading h1,
body .ct-contact-page .elementor-widget-heading h2 {
  margin-bottom: .45em;
}

body .ct-contact-page .wpcf7 {
  padding: clamp(22px, 3vw, 32px);
  border: 1px solid #ded5c9;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(39, 42, 36, .05);
}

body .ct-contact-page .wpcf7 p {
  margin: 0 0 18px;
}

body .ct-contact-page .wpcf7 input[type='text'],
body .ct-contact-page .wpcf7 input[type='email'],
body .ct-contact-page .wpcf7 textarea {
  width: 100%;
  margin-top: 6px;
  padding: 11px 12px;
  border: 1px solid #8c968d;
  border-radius: 7px;
  background: #fff;
  color: #25352d;
}

body .ct-contact-page .wpcf7 input:focus,
body .ct-contact-page .wpcf7 textarea:focus {
  outline: 3px solid #143c82;
  outline-offset: 2px;
}

@media (max-width: 767px) {
  body .ct-contact-page.elementor-section {
    padding: 46px 22px;
  }
}

/* LearnPress course pages still use parts of the imported theme. Align their
   title, curriculum and meta text with the site-wide reading rhythm. */
body.single-lp_course .thim-ekit-single-course__title,
body.single-lp_course .thim-ekit-single-course__title h1,
body.single-lp_course .elementor-widget-thim-ekits-course-title h1 {
  font-size: clamp(2.35rem, 4.15vw, 4.35rem);
  line-height: 1.08;
  letter-spacing: 0;
}

body.single-lp_course .thim-ekit-single-course__short-description,
body.single-lp_course .course-description,
body.single-lp_course .course-tab-panel,
body.single-lp_course .course-section__description,
body.single-lp_course .course-item__title,
body.single-lp_course .course-item__meta,
body.single-lp_course .thim-ekit-single-course__meta {
  font-size: 1rem;
  line-height: 1.65;
}

body.single-lp_course .course-section__title,
body.single-lp_course .lp-course-curriculum__title,
body.single-lp_course .thim-ekit-single-course__tabs .thim-ekit-tablist__item {
  font-family: "Nunito", Arial, sans-serif;
  font-size: 1.08rem;
  font-weight: 700;
  line-height: 1.35;
}

body.single-lp_course .course-item__link,
body.single-lp_course .thim-ekit-single-course__meta,
body.single-lp_course .thim-ekit-single-course__meta a {
  line-height: 1.5;
}

@media (max-width: 767px) {
  body.single-lp_course .thim-ekit-single-course__title,
  body.single-lp_course .thim-ekit-single-course__title h1,
  body.single-lp_course .elementor-widget-thim-ekits-course-title h1 {
    font-size: clamp(2.2rem, 10.4vw, 3rem);
    line-height: 1.11;
  }
}

/* No decorative demo gallery: the site uses purposeful single images only. */
body .elementor-widget-gallery,
body .wp-block-gallery,
body .gallery:not(.woocommerce-product-gallery) {
  display: none !important;
}

body .site-content a:not(.ct-button) {
  text-underline-offset: 0.15em;
}

/* Shared keyboard focus: every interactive element remains visibly usable
   without a mouse, including Elementor navigation and LearnPress controls. */
body :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #143c82;
  outline-offset: 3px;
}

body .ct-button,
body .ct-link,
body .ct-site-footer a,
body .wpcf7 input[type='submit'] {
  min-height: 44px;
}

body .ct-site-footer a {
  display: inline-flex;
  align-items: center;
}

@media (max-width: 767px) {
  body .ct-actions {
    align-items: stretch;
    flex-direction: column;
  }

  body .ct-actions .ct-button,
  body .ct-actions .ct-link {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  body .ct-site-footer__bottom nav {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

body .thim-button-primary,
body .button,
body input[type='submit'] {
  border-radius: 7px;
}

.ct-course-intro {
  max-width: 760px;
  margin: 0 0 28px;
  padding: 18px 20px;
  border-left: 4px solid #aa5d38;
  background: #fbf8f2;
  color: #25352d;
}

.ct-not-found {
  max-width: 1180px;
  margin: 0 auto;
  padding: 96px 28px;
}

.ct-not-found__inner {
  max-width: 720px;
  padding: clamp(32px, 6vw, 68px);
  background: #fbf8f2;
}

.ct-not-found__eyebrow {
  margin: 0 0 10px;
  color: #aa5d38;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ct-not-found h1 {
  margin: 0 0 18px;
  color: #25352d;
}

.ct-not-found__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
  align-items: center;
  margin-top: 30px;
}

.ct-not-found__link {
  color: #25352d;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: .15em;
}

.thim-ekit__footer,
footer#colophon {
  display: none !important;
}

.ct-site-footer {
  margin-top: 72px;
  color: #ffffff;
  background: #17352a;
}

.ct-site-footer__inner {
  display: grid;
  grid-template-columns: 1.45fr repeat(3, 1fr);
  gap: 36px;
  max-width: 1180px;
  margin: 0 auto;
  padding: 64px clamp(24px, 5vw, 72px) 48px;
}

.ct-site-footer h2,
.ct-site-footer p {
  color: #ffffff !important;
}

.ct-site-footer h2 {
  margin: 0 0 14px;
  font-size: 1.35rem;
}

.ct-site-footer__brand h2 {
  font-size: clamp(2rem, 3vw, 2.9rem);
}

.ct-site-footer__brand p {
  max-width: 330px;
}

.ct-site-footer__eyebrow {
  margin: 0 0 8px;
  color: #ffd3ad !important;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ct-site-footer__column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 9px;
}

.ct-site-footer a {
  color: #ffffff !important;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
}

.ct-site-footer__button {
  display: inline-block;
  margin-top: 16px;
  padding: 12px 17px;
  border-radius: 7px;
  background: #ffd3ad;
  color: #17352a !important;
  font-weight: 700;
  text-decoration: none !important;
}

.ct-site-footer a.ct-site-footer__button {
  color: #17352a !important;
}

.ct-site-footer__text-link {
  margin-top: 7px;
  font-weight: 700;
}

.ct-site-footer__bottom {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  max-width: 1180px;
  margin: 0 auto;
  padding: 23px clamp(24px, 5vw, 72px);
  border-top: 1px solid rgba(255, 255, 255, .35);
  font-size: .9rem;
}

.ct-site-footer__bottom p {
  margin: 0;
}

.ct-site-footer__bottom nav {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 18px;
}

.ct-site-footer__bottom nav a {
  margin-right: 18px;
}

.ct-site-footer a:focus {
  outline: 3px solid #fff;
  outline-offset: 3px;
}

@media (max-width: 920px) {
  .ct-site-footer__inner {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .ct-site-footer {
    margin-top: 48px;
  }

  .ct-site-footer__inner {
    grid-template-columns: 1fr;
    gap: 32px;
    padding-top: 48px;
  }

  .ct-site-footer__bottom {
    flex-direction: column;
  }
}

@media (max-width: 767px) {
  body input,
  body button,
  body select,
  body textarea {
    min-height: 44px;
  }
}

/* WhatsApp-Begleitung: sichtbare, ruhige Anmeldung ohne Druck. */
.ct-whatsapp-start {
  background: #f1f3ed;
}

.ct-whatsapp-start > p,
.ct-whatsapp-start > ul,
.ct-whatsapp-start .wpcf7 {
  max-width: 760px;
}

.ct-whatsapp-start ul {
  padding-left: 1.25rem;
}

.ct-whatsapp-start .wpcf7 {
  margin-top: 28px;
  padding: clamp(22px, 4vw, 36px);
  border: 1px solid #d9d1c5;
  border-radius: 12px;
  background: #fffdf9;
  box-shadow: 0 5px 18px rgba(39, 42, 36, .06);
}

.ct-whatsapp-start .wpcf7 p {
  margin: 0 0 18px;
}

.ct-whatsapp-start .wpcf7 label {
  color: #25352d;
  font-weight: 700;
}

.ct-whatsapp-start .wpcf7 input[type="text"],
.ct-whatsapp-start .wpcf7 input[type="tel"],
.ct-whatsapp-start .wpcf7 input[type="email"] {
  width: 100%;
  min-height: 46px;
  margin-top: 6px;
  padding: 10px 12px;
  border: 1px solid #8c968d;
  border-radius: 7px;
  color: #25352d;
  background: #fff;
  font: inherit;
}

.ct-whatsapp-start .wpcf7 input:focus {
  outline: 3px solid #143c82;
  outline-offset: 2px;
}

.ct-whatsapp-start .wpcf7 .wpcf7-list-item {
  display: block;
  margin: 0 0 15px;
}

.ct-whatsapp-start .wpcf7 .wpcf7-list-item label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 400;
  line-height: 1.45;
}

.ct-whatsapp-start .wpcf7 input[type="checkbox"] {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  margin: 3px 0 0;
}

.ct-whatsapp-start .wpcf7-submit {
  min-height: 48px;
  padding: 12px 18px;
  border: 1px solid #aa5d38;
  border-radius: 7px;
  background: #aa5d38;
  color: #fff;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.ct-whatsapp-start .wpcf7-submit:hover,
.ct-whatsapp-start .wpcf7-submit:focus {
  background: #824425;
}

.ct-whatsapp-start .wpcf7-response-output {
  margin: 18px 0 0 !important;
  padding: 10px 12px !important;
  border-radius: 7px;
}

/* Kursübersicht: vorhandene Kurscover führen visuell durch die Auswahl. */
.ct-course-card {
  overflow: hidden;
  padding: 0 !important;
}

.ct-course-card__image {
  display: block;
  overflow: hidden;
  background: #eee5d7;
  aspect-ratio: 16 / 9;
}

.ct-course-card__image img {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  transition: transform .25s ease;
}

.ct-course-card__image:hover img,
.ct-course-card__image:focus img {
  transform: scale(1.025);
}

.ct-course-card__body {
  padding: 25px;
}

.ct-course-card__meta {
  margin: 0 0 8px;
  color: #a95d3a;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .06em;
  line-height: 1.35;
  text-transform: uppercase;
}

.ct-bridge {
  background: #f6efe7;
  border-radius: 24px;
}
.ct-bridge h2 { max-width: 760px; }
.ct-bridge article { background: rgba(255,255,255,.72); }

.ct-waitlist {
  max-width: 760px;
  margin-top: clamp(28px, 5vw, 48px);
  padding: clamp(22px, 4vw, 36px);
  border: 1px solid #ded5c9;
  border-radius: 16px;
  background: #fffdf9;
}

.ct-waitlist .wpcf7 input[type='text'],
.ct-waitlist .wpcf7 input[type='email'],
.ct-waitlist .wpcf7 select {
  width: 100%;
  margin-top: 6px;
  padding: 12px;
  border: 1px solid #77837b;
  border-radius: 7px;
  background: #fff;
  color: #25352d;
}

.ct-waitlist .wpcf7-list-item { margin-left: 0; }

.ct-real-countdown {
  max-width: 720px;
  margin: 28px 0;
  padding: 20px 24px;
  border-left: 5px solid #aa5d38;
  border-radius: 10px;
  background: #fffdf9;
}

.ct-real-countdown > b {
  display: block;
  font-size: 1.1rem;
}

.ct-real-countdown [data-countdown-output] {
  margin: 6px 0;
  color: #824425;
  font-weight: 800;
}

.ct-real-countdown.is-ended {
  border-left-color: #66736b;
}

.ct-availability {
  margin: 10px 0;
  color: #824425;
}

.ct-availability.is-full {
  color: #4f5e55;
}

.ct-course-card__body h2 {
  font-size: clamp(1.5rem, 2.2vw, 2rem);
}

/* Native WordPress course cards: editorial content remains editable on page. */
.ct-editor-course-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.ct-editor-course-card {
  overflow: hidden;
  border: 1px solid #e5ddd0;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 3px 12px rgba(39, 42, 36, .05);
}

.ct-editor-course-card__image {
  display: block;
  background: #eee5d7;
}

.ct-editor-course-card__image img {
  display: block !important;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.ct-editor-course-card__body {
  padding: 24px;
}

.ct-editor-course-card__body h2 {
  margin-top: 0;
  font-size: clamp(1.5rem, 2.2vw, 2rem);
}

@media (max-width: 900px) {
  .ct-editor-course-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .ct-editor-course-grid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ct-course-card__image img {
    transition: none;
  }
}

/* Homepage hero after the native Elementor migration.
 * The editable text and image live in the same Text Editor widget, so the
 * two-column layout belongs on its widget container rather than the section.
 */
body .ct-site.ct-hero.elementor-section {
  display: block;
}

body .ct-site.ct-hero > .elementor-container,
body .ct-site.ct-hero > .elementor-container > .elementor-column,
body .ct-site.ct-hero > .elementor-container > .elementor-column > .elementor-widget-wrap,
body .ct-site.ct-hero .elementor-widget-text-editor,
body .ct-site.ct-hero .elementor-widget-text-editor > .elementor-widget-container {
  width: 100%;
  min-height: inherit;
}

body .ct-site.ct-hero .elementor-widget-text-editor > .elementor-widget-container {
  display: flex;
  flex-direction: row;
  align-items: stretch;
}

body .ct-site.ct-hero .ct-hero-copy {
  display: flex;
  flex: 0 0 50%;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}

body .ct-site.ct-hero .ct-actions {
  align-items: flex-start;
  flex-direction: column;
  gap: 14px;
}

body .ct-site.ct-hero .ct-actions .ct-button,
body .ct-site.ct-hero .ct-actions .ct-link {
  flex: 0 0 auto;
  white-space: nowrap;
}

body .ct-site.ct-hero .elementor-widget-text-editor > .elementor-widget-container > img {
  display: block;
  flex: 0 0 50%;
  width: 100%;
  max-width: 50%;
  height: 100%;
  min-height: 460px;
  object-fit: cover;
}

@media (max-width: 767px) {
  body .ct-site.ct-hero .elementor-widget-text-editor > .elementor-widget-container {
    flex-direction: column;
  }

  body .ct-site.ct-hero .ct-hero-copy,
  body .ct-site.ct-hero .elementor-widget-text-editor > .elementor-widget-container > img {
    flex-basis: auto;
    max-width: 100%;
  }

  body .ct-site.ct-hero .elementor-widget-text-editor > .elementor-widget-container > img {
    min-height: 280px;
    max-height: 420px;
  }
}
