/*
 * Dashen UC — Elementor Compatibility CSS v3
 * Every rule here targets Elementor's native widget output.
 * CSS classes are applied via: widget Advanced → CSS Classes
 * Section/column classes via: Advanced → CSS Classes (same field)
 */

/* ── Global font ───────────────────────────────── */
[class*="dc-"] .elementor-heading-title,
[class*="dc-"] .elementor-text-editor,
[class*="dc-"] .elementor-button,
[class*="dc-"] .elementor-accordion-title,
[class*="dc-"] .elementor-tab-content {
  font-family: 'Alexandria', sans-serif !important;
}
[class*="dc-"] { direction: rtl; }

/* ═══════════════════════════════════════════════
   HERO SECTION  (css_classes: dc-hero on section)
   ═══════════════════════════════════════════════ */
.dc-hero.elementor-section { overflow: hidden; }

/* Hero h1 (widget _css_classes: dc-hero-h1) */
.dc-hero-h1 .elementor-heading-title {
  font-size: 62px !important;
  font-weight: 900 !important;
  color: #fff !important;
  line-height: 1.1 !important;
  letter-spacing: -1.5px !important;
}

/* Hero subtitle text */
.dc-hero-p .elementor-text-editor p {
  color: rgba(255,255,255,0.88) !important;
  font-size: 16.5px !important;
  line-height: 1.9 !important;
}

/* Hero button */
.dc-hero-btn .elementor-button {
  background: #fff !important;
  color: #3d8018 !important;
  border-radius: 14px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  padding: 14px 28px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.18) !important;
  border: none !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.dc-hero-btn .elementor-button:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 14px 32px rgba(0,0,0,0.25) !important;
  color: #3d8018 !important;
}

/* Hero images */
.dc-photo-main .elementor-widget-container img {
  border-radius: 24px !important;
  border: 4px solid rgba(255,255,255,0.3) !important;
  box-shadow: 0 20px 48px rgba(0,0,0,0.28) !important;
  width: 100% !important;
  height: 260px !important;
  object-fit: cover !important;
}
.dc-photo-mini .elementor-widget-container img {
  border-radius: 16px !important;
  border: 3px solid rgba(255,255,255,0.3) !important;
  box-shadow: 0 10px 28px rgba(0,0,0,0.2) !important;
  width: 100% !important;
  height: 160px !important;
  object-fit: cover !important;
}

/* ═══════════════════════════════════════════════
   STATS  (css_classes: dc-stat-card on each COLUMN)
   ═══════════════════════════════════════════════ */
.dc-stat-card > .elementor-widget-wrap {
  background: #fff;
  border-radius: 20px;
  padding: 28px 24px !important;
  text-align: center;
  box-shadow: 0 4px 20px rgba(123,186,66,0.12);
  margin: 8px;
  position: relative;
  overflow: hidden;
  border: 2px solid transparent;
  transition: border-color 0.25s ease, transform 0.25s ease;
}
.dc-stat-card > .elementor-widget-wrap::before {
  content: '';
  position: absolute;
  top: 0; right: 0; left: 0;
  height: 4px;
  background: linear-gradient(90deg, #7BBA42, #9dd158);
}
.dc-stat-card > .elementor-widget-wrap:hover {
  border-color: #7BBA42;
  transform: translateY(-4px);
}
.dc-stat-card .elementor-heading-title {
  font-size: 40px !important;
  font-weight: 800 !important;
  color: #7BBA42 !important;
  line-height: 1 !important;
  margin-bottom: 6px !important;
}
.dc-stat-card .elementor-text-editor p {
  color: #666 !important;
  font-size: 14px !important;
  margin: 0 !important;
}

/* ═══════════════════════════════════════════════
   SHARED SECTION HEADINGS
   ═══════════════════════════════════════════════ */
.dc-section-tag .elementor-heading-title {
  display: inline-block !important;
  background: #e8f7d6 !important;
  color: #4a9522 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 6px 18px !important;
  border-radius: 999px !important;
}
.dc-section-title .elementor-heading-title {
  font-size: 38px !important;
  font-weight: 800 !important;
  color: #2d6e12 !important;
  line-height: 1.2 !important;
}
.dc-section-sub .elementor-text-editor p {
  color: #666 !important;
  font-size: 16px !important;
  line-height: 1.8 !important;
}

/* ═══════════════════════════════════════════════
   AREA CARDS  (css_classes: dc-area-card on inner COLUMN)
   ═══════════════════════════════════════════════ */
.dc-area-card > .elementor-widget-wrap {
  background: #fff !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 20px rgba(123,186,66,0.12) !important;
  margin: 8px !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
  padding: 0 !important;
}
.dc-area-card > .elementor-widget-wrap:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 32px rgba(123,186,66,0.22) !important;
}
.dc-area-card .elementor-widget-image,
.dc-area-card .elementor-widget-image .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
  line-height: 0 !important;
}
.dc-area-card .elementor-widget-image img {
  width: 100% !important;
  height: 185px !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  display: block !important;
}
.dc-area-card .elementor-widget-heading {
  padding: 14px 16px 0 !important;
}
.dc-area-card .elementor-heading-title {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #2d6e12 !important;
  margin: 0 !important;
}
.dc-area-card .elementor-widget-text-editor {
  padding: 4px 16px 0 !important;
}
.dc-area-card .elementor-text-editor p {
  font-size: 12px !important;
  color: #888 !important;
  margin: 0 !important;
}
.dc-area-card .elementor-widget-button {
  padding: 8px 12px 12px !important;
}
.dc-area-card .elementor-button {
  background: transparent !important;
  color: #7BBA42 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 0 !important;
  box-shadow: none !important;
  border: none !important;
}

/* ═══════════════════════════════════════════════
   HOW IT WORKS  (css_classes: dc-step-card on inner column)
   ═══════════════════════════════════════════════ */
.dc-steps-section { background: #ffffff; }
.dc-step-card > .elementor-widget-wrap {
  text-align: center !important;
  padding: 32px 20px !important;
}
.dc-step-card .elementor-widget-html {
  margin-bottom: 4px !important;
}
.dc-step-card .elementor-heading-title {
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #2d6e12 !important;
  margin-bottom: 8px !important;
}
.dc-step-card .elementor-text-editor p {
  color: #666 !important;
  font-size: 14.5px !important;
  line-height: 1.75 !important;
}

/* ═══════════════════════════════════════════════
   FEATURED PROJECT  (css_classes: dc-feat-el on section)
   ═══════════════════════════════════════════════ */
.dc-feat-el .elementor-widget-image img {
  border-radius: 24px !important;
  box-shadow: 0 24px 60px rgba(0,0,0,0.14) !important;
  width: 100% !important;
  object-fit: cover !important;
}
.dc-feat-title .elementor-heading-title {
  font-size: 34px !important;
  font-weight: 800 !important;
  color: #2d6e12 !important;
  line-height: 1.2 !important;
}
.dc-feat-desc .elementor-text-editor p {
  color: #555 !important;
  font-size: 16px !important;
  line-height: 1.85 !important;
}
.dc-feat-desc .elementor-text-editor strong { color: #3d8018 !important; }
.dc-feat-btn .elementor-button {
  background: #7BBA42 !important;
  color: #fff !important;
  border-radius: 12px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  padding: 14px 28px !important;
  box-shadow: 0 8px 24px rgba(123,186,66,0.35) !important;
  border: none !important;
  transition: background 0.25s ease, transform 0.25s ease !important;
}
.dc-feat-btn .elementor-button:hover {
  background: #4a9522 !important;
  transform: translateY(-3px) !important;
  color: #fff !important;
}

/* ═══════════════════════════════════════════════
   WHY DASHEN  (css_classes: dc-trust-card on column)
   ═══════════════════════════════════════════════ */
.dc-trust-card > .elementor-widget-wrap {
  background: #fff !important;
  border-radius: 20px !important;
  padding: 36px 24px !important;
  text-align: center !important;
  box-shadow: 0 4px 24px rgba(123,186,66,0.1) !important;
  border: 2px solid transparent !important;
  margin: 8px !important;
  transition: border-color 0.25s ease, transform 0.25s ease !important;
}
.dc-trust-card > .elementor-widget-wrap:hover {
  border-color: #7BBA42 !important;
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 40px rgba(123,186,66,0.2) !important;
}
.dc-trust-title .elementor-heading-title {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #2d6e12 !important;
  margin-bottom: 10px !important;
}
.dc-trust-desc .elementor-text-editor p {
  color: #666 !important;
  font-size: 14.5px !important;
  line-height: 1.75 !important;
  margin: 0 !important;
}

/* ═══════════════════════════════════════════════
   TESTIMONIALS  (css_classes: dc-testi-card on column)
   ═══════════════════════════════════════════════ */
.dc-testi-card > .elementor-widget-wrap {
  background: #fff !important;
  border-radius: 20px !important;
  padding: 32px 28px !important;
  box-shadow: 0 4px 20px rgba(123,186,66,0.08) !important;
  border: 2px solid #f0f0f0 !important;
  margin: 8px !important;
  transition: border-color 0.25s ease !important;
}
.dc-testi-card > .elementor-widget-wrap:hover {
  border-color: #c6e8a0 !important;
}
.dc-testi-text .elementor-text-editor p {
  color: #444 !important;
  font-size: 15.5px !important;
  line-height: 1.85 !important;
  font-style: italic !important;
}
.dc-testi-name .elementor-heading-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #2d6e12 !important;
  margin-bottom: 2px !important;
}
.dc-testi-role .elementor-text-editor p {
  color: #888 !important;
  font-size: 13px !important;
  margin: 0 !important;
}

/* ═══════════════════════════════════════════════
   FAQ  (css_classes: dc-faq-el on section)
   ═══════════════════════════════════════════════ */
.dc-faq-accordion .elementor-accordion-item {
  border: 2px solid #e8f7d6 !important;
  border-radius: 16px !important;
  margin-bottom: 12px !important;
  overflow: hidden;
  background: #fff;
}
.dc-faq-accordion .elementor-accordion-title {
  font-family: 'Alexandria', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #2d6e12 !important;
  padding: 20px 24px !important;
  background: #fff !important;
}
.dc-faq-accordion .elementor-accordion-title:hover { color: #7BBA42 !important; }
.dc-faq-accordion .elementor-accordion-icon { color: #7BBA42 !important; }
.dc-faq-accordion .elementor-tab-content {
  font-family: 'Alexandria', sans-serif !important;
  color: #555 !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
  padding: 12px 24px 20px !important;
  background: #f4faf0 !important;
}

/* ═══════════════════════════════════════════════
   CTA  (css_classes: dc-cta-el on section)
   ═══════════════════════════════════════════════ */
.dc-cta-title .elementor-heading-title {
  font-size: 46px !important;
  font-weight: 800 !important;
  color: #fff !important;
  line-height: 1.15 !important;
}
.dc-cta-sub .elementor-text-editor p {
  color: rgba(255,255,255,0.88) !important;
  font-size: 17px !important;
  line-height: 1.8 !important;
  margin: 0 !important;
}
.dc-btn-wa .elementor-button {
  background: #25D366 !important;
  color: #fff !important;
  border-radius: 14px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  padding: 16px 36px !important;
  box-shadow: 0 8px 28px rgba(37,211,102,0.4) !important;
  border: none !important;
  transition: transform 0.2s ease !important;
}
.dc-btn-wa .elementor-button:hover {
  transform: translateY(-3px) !important;
  background: #1fb959 !important;
  color: #fff !important;
}
.dc-btn-phone .elementor-button {
  background: rgba(255,255,255,0.18) !important;
  color: #fff !important;
  border: 2px solid rgba(255,255,255,0.5) !important;
  border-radius: 14px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  padding: 16px 36px !important;
  backdrop-filter: blur(8px);
  transition: background 0.2s ease !important;
}
.dc-btn-phone .elementor-button:hover {
  background: rgba(255,255,255,0.28) !important;
  color: #fff !important;
}
