/* Landing pages: replacements for the Elementor/ElementsKit scripts the old site used */
.cs-landing { background: #fff; }
.cs-landing .cs-svgicon { display: inline-block; width: 1em; height: 1em; vertical-align: -.125em; }
/* Elementor containers (flex) – the purged page CSS supplies the per-element values */
.cs-landing .e-con { display: var(--display); }

/* Swiper markup (image carousels, testimonials) rendered as scroll-snap sliders */
.cs-landing .swiper { overflow: hidden; position: relative; }
.cs-landing .swiper-wrapper { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; gap: var(--cs-swiper-gap, 0px); }
.cs-landing .swiper-wrapper::-webkit-scrollbar { display: none; }
.cs-landing .swiper-slide { flex: 0 0 calc((100% - (var(--e-image-carousel-slides-to-show, 1) - 1) * var(--cs-swiper-gap, 0px)) / var(--e-image-carousel-slides-to-show, 1)); scroll-snap-align: start; }
.cs-landing .elementor-image-carousel-wrapper { --cs-swiper-gap: 20px; }
.cs-landing .ekit-main-swiper .swiper-slide { flex-basis: 100%; }
.cs-landing .swiper-pagination { display: none; }
.cs-landing .elementor-swiper-button { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; cursor: pointer; font-size: 25px; color: rgba(238, 238, 238, .9); display: inline-flex; }
.cs-landing .elementor-swiper-button-prev { left: 10px; }
.cs-landing .elementor-swiper-button-next { right: 10px; }
@media (max-width: 767px) {
    .cs-landing .elementor-image-carousel-wrapper .swiper-slide { flex-basis: calc((100% - var(--cs-swiper-gap)) / 2); }
}

/* Appointment form (replaces MetForm) */
.cs-lp-form .cs-panel { height: 100%; }

/* YouTube placeholder: loads the player only on click */
.cs-lite-yt { position: relative; display: block; width: 100%; padding: 0; border: 0; background: #000; aspect-ratio: 16 / 9; overflow: hidden; }
.cs-lite-yt img { width: 100%; height: 100%; object-fit: cover; opacity: .9; }
.cs-lite-yt__play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 64px; color: #f00; }

/* Essential Addons accordion (hair transplant page) */
.cs-landing .eael-accordion-header { cursor: pointer; }
.cs-landing .eael-accordion-content { display: none; }
.cs-landing .eael-accordion-content.active { display: block; }
.cs-landing .eael-accordion-header .eael-advanced-accordion-icon-opened, .cs-landing .eael-accordion-header.active .eael-advanced-accordion-icon-closed { display: none; }
.cs-landing .eael-accordion-header.active .eael-advanced-accordion-icon-opened { display: inline-block; }

/* Essential Addons "fancy text": show the text without the typing script */
.cs-landing .eael-fancy-text-strings { display: inline-block !important; opacity: 1 !important; visibility: visible !important; }

/* The theme keeps the bottom margin on the last paragraph of text widgets */
.cs-landing .elementor-widget-text-editor p:last-child { margin-bottom: 1.75em; }

/* Landing-page form (MetForm 798 look) */
.cs-lp-form .cs-panel h2 { line-height: 45.5px; }
.cs-lp-form .cs-panel__note { margin: 20px 0 31.5px; font-size: 18px; line-height: 29.7px; }
.cs-lp-form .cs-form-msg:empty { display: none; }
.cs-lp-form .cs-panel { padding-bottom: 16px; }
.cs-lp-form .cs-form input, .cs-lp-form .cs-form textarea { font-family: var(--cs-font); font-size: 16px; font-weight: 600; line-height: 21px; border: 1px solid #eaeaea; border-radius: 0; background: #fafafa; box-shadow: none; }
.cs-lp-form .cs-form input { height: 47px; padding: 12px; }
.cs-lp-form .cs-form textarea { padding: 15px; }
