/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Doctor Check Engineering
Author URI: https://doctorcheck.vn/
Description: Astra Child Theme for Doctor Check - 100% Pixel-Perfect Fidelity to Figma
Version: 2.0.0
*/

/* -------------------------------------------------------------
   0. CSS RESETS & GLOBAL APP FRAMEWORK
------------------------------------------------------------- */
:root {
  --dc-dark-bg: #021115;
  --dc-card-dark: #042028;
  --dc-pricing-bg: #0E2E38;
  --dc-card-light: #F4F8F9;
  --dc-card-mint: #E8F4F6;
  --dc-primary-teal: #30D2BE;
  --dc-dark-teal: #0E3842;
  --dc-text-muted: #8FAFB5;
  --dc-radius-section: 32px;
}

html, body {
  margin: 0;
  padding: 0;
  font-family: 'Be Vietnam Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  background-color: var(--dc-dark-bg);
  color: #FFFFFF;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Hide Astra Default Header & Footer on the homepage to render custom Elementor shell */
.home .ast-site-header,
.home .ast-main-header-wrap,
.home .ast-primary-header-bar,
.home .site-footer,
.home .ast-small-footer {
  display: none !important;
}

.home #page,
.home #content,
.home .site-content {
  margin: 0 !important;
  padding: 0 !important;
  max-width: 100% !important;
  background: var(--dc-dark-bg) !important;
}

/* Center Mobile App Container on Large Screens */
.home .entry-content,
.home .elementor-6 {
  max-width: 480px !important;
  margin: 0 auto !important;
  background-color: var(--dc-dark-bg);
  position: relative;
  box-shadow: 0 0 60px rgba(0, 0, 0, 0.9);
  overflow-x: hidden;
  min-height: 100vh;
}

@media (max-width: 480px) {
  .home .entry-content,
  .home .elementor-6 {
    max-width: 100% !important;
    box-shadow: none !important;
  }
}

/* Elementor Global Overrides */
.elementor-column-gap-default > .elementor-column > .elementor-element-populated {
  padding: 0 !important;
}
.elementor-widget {
  margin-bottom: 0 !important;
}

/* -------------------------------------------------------------
   0. FLOATING ACTION BUTTON (HOTLINE)
------------------------------------------------------------- */
.dc-floating-wrap {
  position: fixed !important;
  right: 20px !important;
  bottom: 25px !important;
  z-index: 99999 !important;
  width: auto !important;
  margin: 0 !important;
}
.dc-floating-hotline a.elementor-button,
.dc-floating-hotline .elementor-button {
  width: 54px !important;
  height: 54px !important;
  border-radius: 50% !important;
  background: #135A68 !important;
  border: 2px solid var(--dc-primary-teal) !important;
  box-shadow: 0 6px 20px rgba(48, 210, 190, 0.45) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
}
.dc-floating-hotline a.elementor-button:hover {
  transform: scale(1.08) !important;
  box-shadow: 0 8px 26px rgba(48, 210, 190, 0.6) !important;
}
.dc-floating-hotline .elementor-button-icon {
  margin: 0 !important;
  color: #FFFFFF !important;
  font-size: 22px !important;
}

/* -------------------------------------------------------------
   1. DEDICATED HEADER BAR (SEPARATED TOP SECTION)
------------------------------------------------------------- */
.dc-header-bar {
  position: sticky !important;
  top: 0 !important;
  z-index: 10000 !important;
  background: rgba(2, 20, 25, 0.95) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-bottom: 1px solid rgba(48, 210, 190, 0.15) !important;
  padding: 10px 16px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.dc-header-bar > .elementor-container {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
}
.dc-header-bar .elementor-column:first-child {
  width: 75% !important;
  flex: 0 0 75% !important;
}
.dc-header-bar .elementor-column:last-child {
  width: 25% !important;
  flex: 0 0 25% !important;
  display: flex !important;
  justify-content: flex-end !important;
}
.dc-nav-logo img {
  max-height: 38px !important;
  width: auto !important;
  display: block !important;
}
.dc-nav-hamburger .elementor-icon {
  color: #FFFFFF !important;
  font-size: 22px !important;
  cursor: pointer !important;
}

/* -------------------------------------------------------------
   2. SECTION 1: HERO
------------------------------------------------------------- */
.dc-hero-section {
  background: url('assets/hero-bg.jpg') no-repeat top center / cover, #031E24 !important;
  padding: 24px 18px 44px !important;
  position: relative !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* Left-aligned H1 Block matching Figma */
.dc-hero-headline .elementor-heading-title {
  text-align: left !important;
  margin: 0 !important;
  padding: 0 !important;
}
.dc-hero-h1-lead {
  display: block;
  font-size: 20px;
  font-weight: 500;
  color: #FFFFFF;
  line-height: 1.35;
  margin-bottom: 6px;
  text-shadow: 0 2px 5px rgba(0, 0, 0, 0.7);
  text-align: left;
}
.dc-hero-h1-accent {
  display: block;
  font-size: 28px;
  font-weight: 800;
  color: var(--dc-primary-teal);
  line-height: 1.2;
  text-transform: uppercase;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.8);
  text-align: left;
}

/* 2x2 Glassmorphism Feature Grid */
.dc-hero-features-grid {
  border: 1.5px solid rgba(255, 255, 255, 0.25) !important;
  background: rgba(3, 30, 38, 0.6) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  margin: 24px auto 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
.dc-hero-features-grid:not(.dc-grid-row-2) {
  border-radius: 20px 20px 0 0 !important;
  border-bottom: none !important;
}
.dc-hero-features-grid.dc-grid-row-2 {
  border-radius: 0 0 20px 20px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.2) !important;
}

/* Force 2 columns side-by-side even on mobile */
.dc-hero-features-grid > .elementor-container {
  display: flex !important;
  flex-direction: row !important;
  width: 100% !important;
}
.dc-hero-features-grid .elementor-column {
  width: 50% !important;
  flex: 0 0 50% !important;
  max-width: 50% !important;
  box-sizing: border-box !important;
}
.dc-quadrant-col-1,
.dc-quadrant-col-3 {
  border-right: 1px solid rgba(255, 255, 255, 0.2) !important;
}

.dc-hero-feat-box {
  padding: 16px 10px !important;
  text-align: center !important;
}
.dc-hero-feat-box .elementor-icon-box-icon {
  margin-bottom: 8px !important;
}
.dc-hero-feat-box .elementor-icon-box-icon .elementor-icon {
  color: #FFFFFF !important;
  font-size: 22px !important;
}
.dc-hero-feat-box .elementor-icon-box-title {
  color: #FFFFFF !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  margin-bottom: 4px !important;
}
.dc-hero-feat-box .elementor-icon-box-description {
  color: rgba(255, 255, 255, 0.85) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  margin: 0 !important;
}

/* Standard Pill CTA Button */
.dc-cta-btn a.elementor-button,
.dc-cta-btn .elementor-button {
  background: linear-gradient(135deg, #30D2BE 0%, #20B2AA 100%) !important;
  color: #042028 !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  border-radius: 999px !important;
  padding: 14px 44px !important;
  box-shadow: 0 8px 24px rgba(48, 210, 190, 0.35) !important;
  display: inline-block !important;
  border: none !important;
  cursor: pointer !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
}
.dc-cta-btn a.elementor-button:hover,
.dc-cta-btn .elementor-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 28px rgba(48, 210, 190, 0.5) !important;
}
.dc-hero-cta-btn {
  margin: 28px auto 0 !important;
  text-align: center !important;
}

/* -------------------------------------------------------------
   3. SECTION 2: INTRO & 3 CORE VALUES
------------------------------------------------------------- */
.dc-intro-section {
  background-color: var(--dc-card-light) !important;
  border-radius: var(--dc-radius-section) var(--dc-radius-section) 0 0 !important;
  margin-top: -24px !important;
  position: relative !important;
  z-index: 2 !important;
  padding: 38px 18px 42px !important;
  box-sizing: border-box !important;
}
.dc-intro-title .elementor-heading-title {
  color: var(--dc-dark-teal) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-align: center !important;
  margin-bottom: 14px !important;
}
.dc-intro-desc {
  color: #2C4B52;
  font-size: 14.5px;
  line-height: 1.6;
  max-width: 380px;
  margin: 0 auto 24px;
  text-align: center;
}

/* Flanked Header: •─── 3 giá trị cốt lõi tại Doctor Check ───• */
.dc-flanked-title-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 28px 0 16px;
}
.dc-flank-line {
  flex: 1;
  height: 1.5px;
  background: #7FBAC4;
  position: relative;
}
.dc-flank-line.left::before {
  content: '';
  position: absolute;
  left: 0;
  top: -4px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #18606F;
}
.dc-flank-line.right::after {
  content: '';
  position: absolute;
  right: 0;
  top: -4px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #18606F;
}
.dc-flanked-text {
  font-size: 20px;
  font-weight: 700;
  color: var(--dc-dark-teal);
  line-height: 1.35;
  text-align: center;
  flex-shrink: 0;
}
.dc-mission-desc {
  color: #2C4B52;
  font-size: 14.5px;
  line-height: 1.6;
  max-width: 380px;
  margin: 0 auto 28px;
  text-align: center;
}

/* 3 Vertically Connected Circles */
.dc-values-vertical-chain {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 10px 0 28px;
}
.dc-circle-bubble {
  width: 125px;
  height: 125px;
  border-radius: 50%;
  background: radial-gradient(circle at 40% 40%, #EDF7F9 0%, #D8EFF3 100%);
  border: 1.5px solid #A2D8E2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(14, 56, 66, 0.08);
}
.dc-circle-name {
  font-size: 17px;
  font-weight: 700;
  color: var(--dc-dark-teal);
  margin-bottom: 2px;
}
.dc-circle-sub {
  font-size: 13.5px;
  font-weight: 400;
  color: var(--dc-dark-teal);
}
.dc-chain-connector {
  width: 2px;
  height: 32px;
  background: #8FC4CD;
  margin: 0 auto;
}
.dc-intro-cta-btn {
  margin-top: 10px !important;
  text-align: center !important;
}

/* -------------------------------------------------------------
   4. SECTION 3: CANCER SCREENING (TẦM SOÁT UNG THƯ)
------------------------------------------------------------- */
.dc-screening-section {
  background-color: var(--dc-card-dark) !important;
  border-radius: var(--dc-radius-section) var(--dc-radius-section) 0 0 !important;
  margin-top: -24px !important;
  position: relative !important;
  z-index: 3 !important;
  padding: 38px 18px 42px !important;
  box-sizing: border-box !important;
}
.dc-screening-title .elementor-heading-title {
  color: var(--dc-primary-teal) !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  text-align: center !important;
  margin-bottom: 20px !important;
}
.dc-screening-tabs {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-bottom: 22px;
}
.dc-tab-pill {
  border: 1.5px solid #1A5360;
  background: transparent;
  color: #B0D0D6;
  border-radius: 999px;
  padding: 8px 22px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
.dc-tab-pill.active {
  background: var(--dc-primary-teal);
  color: #042028;
  border-color: var(--dc-primary-teal);
  font-weight: 700;
}
.dc-stat-line {
  font-size: 15px;
  color: #FFFFFF;
  margin: 4px 0;
}
.dc-cyan-val {
  color: var(--dc-primary-teal);
  font-size: 17px;
  font-weight: 700;
}
.dc-stat-src {
  font-size: 13px;
  color: var(--dc-text-muted);
  font-style: italic;
  margin-top: 6px;
  margin-bottom: 22px;
}
.dc-screening-img img {
  border-radius: 18px !important;
  width: 100% !important;
  max-width: 420px !important;
  display: block !important;
  margin: 0 auto 16px !important;
}
.dc-screening-caption {
  font-size: 14.5px;
  color: #DEEFF2;
  line-height: 1.6;
  max-width: 390px;
  margin: 0 auto 24px;
  text-align: center;
}
.dc-cyan-txt {
  color: var(--dc-primary-teal);
  font-weight: 700;
}

/* Pricing Card Box */
.dc-pricing-card-box {
  background: var(--dc-pricing-bg);
  border: 1.5px solid rgba(48, 210, 190, 0.4);
  border-radius: 24px;
  overflow: hidden;
  max-width: 420px;
  margin: 0 auto 28px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  text-align: center;
}
.dc-pricing-badge {
  background: #DEEFF2;
  color: #042028;
  border-radius: 999px;
  padding: 8px 22px;
  font-weight: 800;
  font-size: 14.5px;
  display: inline-block;
  margin: 24px auto 14px;
  letter-spacing: 0.5px;
}
.dc-pricing-amount {
  font-size: 38px;
  font-weight: 800;
  color: var(--dc-primary-teal);
  margin-bottom: 16px;
}
.dc-pricing-divider {
  width: 82%;
  height: 1px;
  background: rgba(255, 255, 255, 0.15);
  margin: 0 auto 18px;
}
.dc-pricing-list-title {
  font-size: 15.5px;
  font-weight: 700;
  color: #FFFFFF;
  text-align: left;
  padding: 0 26px 8px;
}
.dc-pricing-bullets {
  list-style: none;
  padding: 0 26px 18px;
  margin: 0;
  text-align: left;
  color: rgba(255, 255, 255, 0.9);
  font-size: 14.5px;
  line-height: 2;
}
.dc-pricing-notice-box {
  background: #9FC8CF;
  color: #042028;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
  padding: 14px 20px;
  text-align: center;
  border-radius: 0 0 22px 22px;
}
.dc-screening-cta-btn {
  text-align: center !important;
}

/* -------------------------------------------------------------
   5. SECTION 4: FAQ (CÂU HỎI THƯỜNG GẶP)
------------------------------------------------------------- */
.dc-faq-section {
  background-color: var(--dc-card-light) !important;
  border-radius: var(--dc-radius-section) var(--dc-radius-section) 0 0 !important;
  margin-top: -24px !important;
  position: relative !important;
  z-index: 4 !important;
  padding: 38px 18px 42px !important;
  box-sizing: border-box !important;
}
.dc-faq-title .elementor-heading-title {
  color: var(--dc-dark-teal) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-align: center !important;
  margin-bottom: 24px !important;
}

/* Native Elementor Accordion Overrides */
.dc-faq-accordion-box .elementor-accordion {
  border: none !important;
}
.dc-faq-accordion-box .elementor-accordion .elementor-accordion-item {
  border: 1.5px solid var(--dc-dark-teal) !important;
  border-radius: 999px !important;
  background: #FFFFFF !important;
  margin-bottom: 12px !important;
  overflow: hidden !important;
  transition: border-radius 0.2s !important;
}
.dc-faq-accordion-box .elementor-accordion .elementor-accordion-item:has(.elementor-active),
.dc-faq-accordion-box .elementor-accordion .elementor-tab-title.elementor-active {
  border-radius: 20px 20px 0 0 !important;
}
.dc-faq-accordion-box .elementor-tab-title {
  padding: 10px 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: #FFFFFF !important;
}
.dc-faq-num {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--dc-dark-teal);
  color: #FFFFFF;
  font-weight: 700;
  font-size: 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 12px;
  flex-shrink: 0;
}
.dc-faq-accordion-box .elementor-accordion-title {
  order: 1 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--dc-dark-teal) !important;
  flex: 1 !important;
  text-align: left !important;
  display: flex !important;
  align-items: center !important;
}
.dc-faq-accordion-box .elementor-accordion-icon {
  order: 2 !important;
  margin-left: auto !important;
  color: var(--dc-dark-teal) !important;
  font-size: 14px !important;
}
.dc-faq-accordion-box .elementor-tab-content {
  padding: 12px 20px 18px !important;
  font-size: 13.5px !important;
  line-height: 1.6 !important;
  color: #2C4B52 !important;
  text-align: left !important;
  border-top: none !important;
  background: #FFFFFF !important;
  border-radius: 0 0 20px 20px !important;
}
.dc-faq-cta-btn {
  margin-top: 20px !important;
  text-align: center !important;
}

/* -------------------------------------------------------------
   6. SECTION 5: SERVICES (DỊCH VỤ NỔI BẬT)
------------------------------------------------------------- */
.dc-services-section {
  background-color: var(--dc-card-dark) !important;
  border-radius: var(--dc-radius-section) var(--dc-radius-section) 0 0 !important;
  margin-top: -24px !important;
  position: relative !important;
  z-index: 5 !important;
  padding: 38px 16px 42px !important;
  box-sizing: border-box !important;
}
.dc-services-title .elementor-heading-title {
  color: var(--dc-primary-teal) !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  text-align: center !important;
  margin-bottom: 24px !important;
}

/* Force 2 Columns on Mobile */
.dc-services-grid-row > .elementor-container {
  display: flex !important;
  flex-direction: row !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
  width: 100% !important;
}
.dc-services-grid-row .elementor-column {
  width: 50% !important;
  flex: 0 0 50% !important;
  max-width: calc(50% - 6px) !important;
  box-sizing: border-box !important;
}
.dc-service-card-item {
  border: 1.5px solid rgba(255, 255, 255, 0.35) !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, 0.02) !important;
  padding: 22px 12px !important;
  min-height: 135px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  box-sizing: border-box !important;
}
.dc-service-card-item .elementor-icon-box-icon {
  margin-bottom: 10px !important;
}
.dc-service-card-item .elementor-icon-box-icon .elementor-icon {
  color: var(--dc-primary-teal) !important;
  font-size: 24px !important;
}
.dc-service-card-item .elementor-icon-box-title {
  color: #FFFFFF !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}
.dc-services-cta-btn {
  margin-top: 18px !important;
  text-align: center !important;
}

/* -------------------------------------------------------------
   7. SECTION 6: TESTIMONIALS (HƠN 13.000 KHÁCH HÀNG HÀI LÒNG)
------------------------------------------------------------- */
.dc-testimonials-section {
  background-color: var(--dc-card-mint) !important;
  border-radius: var(--dc-radius-section) var(--dc-radius-section) 0 0 !important;
  margin-top: -24px !important;
  position: relative !important;
  z-index: 6 !important;
  padding: 38px 0 28px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
.dc-testimonials-title .elementor-heading-title {
  color: var(--dc-dark-teal) !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-align: center !important;
  margin-bottom: 24px !important;
  padding: 0 20px !important;
}

/* Generic Swiper Carousel Styling */
.dc-carousel-container {
  width: 100%;
  position: relative;
  overflow: visible !important;
}
.dc-testimonials-swiper,
.dc-media-swiper {
  width: 100%;
  overflow: visible !important;
  padding: 10px 0 38px !important;
}

/* Testimonial Slide Structure */
.dc-testimonial-slide {
  width: 82% !important;
  max-width: 340px !important;
  box-sizing: border-box !important;
  transition: transform 0.35s ease, opacity 0.35s ease !important;
  height: auto !important;
  display: flex !important;
}
.dc-testimonial-slide:not(.swiper-slide-active) {
  opacity: 0.82;
  transform: scale(0.95);
}
.dc-testimonial-slide.swiper-slide-active {
  opacity: 1;
  transform: scale(1);
}
.dc-testimonial-card-main {
  background: #FFFFFF;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(14, 56, 66, 0.12);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  border: 1px solid rgba(14, 56, 66, 0.06);
}
.dc-testimonial-card-top {
  padding: 22px 18px 16px;
  text-align: center;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.dc-testimonial-headline {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--dc-dark-teal);
  line-height: 1.45;
  text-transform: uppercase;
  margin: 0 0 12px;
}
.dc-testimonial-quote {
  font-size: 13px;
  line-height: 1.6;
  color: #2C4B52;
  margin: 0 0 14px;
  flex: 1;
}
.dc-testimonial-divider {
  height: 1px;
  background: #D0E4E7;
  margin: 0 auto 12px;
  width: 85%;
}
.dc-testimonial-author {
  font-size: 13px;
  font-style: italic;
  font-weight: 600;
  color: var(--dc-dark-teal);
}
.dc-testimonial-card-bottom {
  width: 100%;
  line-height: 0;
  margin: 0;
  padding: 0;
}
.dc-testimonial-photo {
  width: 100%;
  height: auto;
  display: block;
}

/* -------------------------------------------------------------
   8. SECTION 7: MEDIA (DOCTOR CHECK TRÊN TRUYỀN THÔNG)
------------------------------------------------------------- */
.dc-media-section {
  background-color: var(--dc-card-mint) !important;
  padding: 8px 0 42px !important;
  position: relative !important;
  z-index: 7 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
.dc-media-title .elementor-heading-title {
  color: var(--dc-dark-teal) !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-align: center !important;
  margin-bottom: 24px !important;
  padding: 0 20px !important;
}

/* Media Slide Structure */
.dc-media-slide {
  width: 78% !important;
  max-width: 320px !important;
  box-sizing: border-box !important;
  transition: transform 0.35s ease, opacity 0.35s ease !important;
  height: auto !important;
  display: flex !important;
}
.dc-media-slide:not(.swiper-slide-active) {
  opacity: 0.82;
  transform: scale(0.95);
}
.dc-media-slide.swiper-slide-active {
  opacity: 1;
  transform: scale(1);
}
.dc-media-card-main {
  background: #FFFFFF;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(14, 56, 66, 0.1);
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  border: 1px solid rgba(14, 56, 66, 0.06);
}
.dc-media-card-top {
  width: 100%;
  line-height: 0;
}
.dc-media-photo {
  width: 100%;
  height: auto;
  display: block;
}
.dc-media-card-bottom {
  padding: 16px 18px 20px;
  text-align: left;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.dc-media-source {
  font-size: 11px;
  font-weight: 700;
  color: var(--dc-dark-teal);
  text-transform: uppercase;
  margin-bottom: 6px;
  letter-spacing: 0.5px;
}
.dc-media-headline {
  font-size: 14.5px;
  font-weight: 700;
  color: #111111;
  line-height: 1.4;
  margin: 0;
  flex: 1;
}
.dc-media-cta-btn {
  text-align: center !important;
  padding: 0 20px !important;
}
.dc-flanked-divider-only {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 380px;
  margin: 32px auto 0;
  padding: 0 20px;
  box-sizing: border-box;
}
.dc-flank-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #18606F;
  flex-shrink: 0;
}
.dc-flank-line-full {
  flex: 1;
  height: 1.5px;
  background: #7FBAC4;
}

/* Swiper Pagination Bullets (Teal/Cyan themed) */
.dc-testimonials-pagination,
.dc-media-pagination {
  position: relative !important;
  bottom: 0 !important;
  margin-top: 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.dc-testimonials-pagination .swiper-pagination-bullet,
.dc-media-pagination .swiper-pagination-bullet {
  width: 8px !important;
  height: 8px !important;
  background: #7FBAC4 !important;
  opacity: 0.5 !important;
  transition: all 0.25s ease !important;
  border-radius: 50% !important;
  margin: 0 4px !important;
  cursor: pointer !important;
}
.dc-testimonials-pagination .swiper-pagination-bullet-active,
.dc-media-pagination .swiper-pagination-bullet-active {
  width: 22px !important;
  border-radius: 999px !important;
  background: var(--dc-primary-teal) !important;
  opacity: 1 !important;
}


/* -------------------------------------------------------------
   9. SECTION 8: 8 REASONS (8 LÝ DO CHỌN DOCTOR CHECK)
------------------------------------------------------------- */
.dc-reasons-section {
  background-color: var(--dc-card-dark) !important;
  border-radius: var(--dc-radius-section) var(--dc-radius-section) 0 0 !important;
  margin-top: -24px !important;
  position: relative !important;
  z-index: 8 !important;
  padding: 38px 18px 42px !important;
  box-sizing: border-box !important;
}
.dc-reasons-title .elementor-heading-title {
  color: var(--dc-primary-teal) !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  text-align: center !important;
  margin-bottom: 24px !important;
}
.dc-reasons-list {
  max-width: 420px;
  margin: 0 auto 28px;
}
.dc-reason-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 4px;
  border-bottom: 1px solid rgba(48, 210, 190, 0.22);
  text-align: left;
  gap: 12px;
}
.dc-reason-num {
  font-size: 18px;
  font-weight: 700;
  color: var(--dc-primary-teal);
  min-width: 24px;
  flex-shrink: 0;
}
.dc-reason-text {
  font-size: 15px;
  font-weight: 500;
  color: #FFFFFF;
  line-height: 1.4;
  flex: 1;
}
.dc-reason-chevron {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.dc-reasons-cta-btn {
  text-align: center !important;
}

/* -------------------------------------------------------------
   10. SECTION 9: FINAL CTA
------------------------------------------------------------- */
.dc-final-cta-section {
  background: url('assets/final-cta-bg.jpg') no-repeat center center / cover, #031E24 !important;
  padding: 68px 26px 56px !important;
  position: relative !important;
  z-index: 9 !important;
  text-align: left !important;
  box-sizing: border-box !important;
  min-height: 520px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}
.dc-final-cta-section > .elementor-container {
  width: 100% !important;
  max-width: 100% !important;
}
.dc-final-quote-mark {
  font-size: 32px;
  line-height: 1;
  color: var(--dc-primary-teal);
  margin-bottom: 2px;
  display: block;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-weight: 800;
  text-align: left;
}
.dc-final-cta-title {
  text-align: left !important;
  margin: 0 !important;
  padding: 0 !important;
}
.dc-final-cta-title .elementor-heading-title {
  color: #FFFFFF !important;
  text-align: left !important;
  margin: 0 !important;
  padding: 0 !important;
}
.dc-final-h2-main {
  font-size: 30px;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1.25;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.7);
  letter-spacing: -0.3px;
}
.dc-final-h2-sub {
  font-size: 18px;
  font-weight: 500;
  color: #FFFFFF;
  line-height: 1.4;
  margin: 12px 0 6px;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.7);
}
.dc-final-h2-accent {
  font-size: 35px;
  font-weight: 800;
  color: var(--dc-primary-teal);
  line-height: 1.15;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.85);
  display: block;
  letter-spacing: -0.5px;
}
.dc-final-btn {
  text-align: center !important;
  margin-top: 50px !important;
}
.dc-final-btn a.elementor-button,
.dc-final-btn .elementor-button {
  background: linear-gradient(135deg, #30D2BE 0%, #20B2AA 100%) !important;
  color: #042028 !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  border-radius: 999px !important;
  padding: 14px 48px !important;
  box-shadow: 0 8px 24px rgba(48, 210, 190, 0.35) !important;
  display: inline-block !important;
  border: none !important;
  cursor: pointer !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
}
.dc-final-btn a.elementor-button:hover,
.dc-final-btn .elementor-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 28px rgba(48, 210, 190, 0.55) !important;
}

/* -------------------------------------------------------------
   11. SECTION 10: FOOTER
------------------------------------------------------------- */
.dc-footer-section {
  background-color: #021419 !important;
  padding: 36px 20px 24px !important;
  position: relative !important;
  z-index: 10 !important;
  box-sizing: border-box !important;
}
.dc-footer-logo img {
  max-height: 36px !important;
  width: auto !important;
  margin-bottom: 20px !important;
  display: block !important;
}
.dc-footer-contacts {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  text-align: left;
}
.dc-footer-contacts li {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #FFFFFF;
  font-size: 14px;
  margin-bottom: 12px;
  line-height: 1.4;
}
.dc-footer-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  flex-shrink: 0;
}
.dc-footer-socials {
  display: flex;
  gap: 14px;
  margin-bottom: 28px;
}
.dc-social-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1.5px solid var(--dc-primary-teal);
  color: var(--dc-primary-teal);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: all 0.2s;
}
.dc-social-icon:hover {
  background: var(--dc-primary-teal);
  color: #021419;
}
.dc-copyright-seal-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  padding-top: 18px;
  margin-top: 10px;
}
.dc-copyright-text {
  font-size: 13px;
  color: var(--dc-text-muted);
  margin: 0;
  text-align: left;
}
.dc-certification-seal {
  display: inline-flex;
  align-items: center;
}
