/*
Theme Name:        CharterPeak Child
Theme URI:         https://charterpeak.in
Description:       Hello Elementor Child Theme for CharterPeak.in — ACCA Coaching Lead Gen
Author:            CharterPeak
Author URI:        https://charterpeak.in
Template:          hello-elementor
Version:           1.0.0
Text Domain:       charterpeak-child
Tags:              education, lead-generation, seo
*/

/* ============================================================
   GOOGLE FONTS
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,900;1,700&family=DM+Sans:wght@300;400;500;600;700&display=swap');

/* ============================================================
   CSS VARIABLES (Global Design Tokens)
   ============================================================ */
:root {
  --cp-gold:         #C9A84C;
  --cp-gold-light:   #E8C97A;
  --cp-gold-dark:    #9A7A2E;
  --cp-navy:         #0B1526;
  --cp-navy-mid:     #132035;
  --cp-navy-light:   #1E3050;
  --cp-cream:        #FAF7F0;
  --cp-cream-dark:   #F0EBE0;
  --cp-white:        #FFFFFF;
  --cp-text:         #1A1A2E;
  --cp-muted:        #5A6378;
  --cp-border:       rgba(201,168,76,0.2);
  --cp-green:        #2ECC71;
  --cp-font-display: 'Playfair Display', Georgia, serif;
  --cp-font-body:    'DM Sans', sans-serif;
  --cp-radius:       10px;
  --cp-radius-lg:    16px;
  --cp-shadow:       0 8px 32px rgba(0,0,0,0.10);
  --cp-shadow-lg:    0 24px 64px rgba(0,0,0,0.16);
}

/* ============================================================
   GLOBAL BASE OVERRIDES
   ============================================================ */
body {
  font-family: var(--cp-font-body) !important;
  background: var(--cp-cream) !important;
  color: var(--cp-text) !important;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--cp-font-display) !important;
  line-height: 1.22 !important;
}

a { text-decoration: none !important; }

/* ============================================================
   ELEMENTOR SECTION GLOBAL PADDING RESET
   ============================================================ */
.elementor-section.elementor-section-boxed > .elementor-container {
  max-width: 1200px;
}

/* ============================================================
   NAVBAR / HEADER
   ============================================================ */
.site-header,
#site-header,
.elementor-location-header {
  background: var(--cp-navy) !important;
  border-bottom: 1px solid var(--cp-border);
  position: sticky;
  top: 0;
  z-index: 9999;
  backdrop-filter: blur(12px);
}

.cp-logo {
  font-family: var(--cp-font-display) !important;
  font-size: 1.6rem !important;
  color: var(--cp-gold) !important;
  letter-spacing: 0.5px;
}
.cp-logo span { color: var(--cp-white); }

/* NAV LINKS */
.cp-nav a {
  color: rgba(255,255,255,0.80) !important;
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  transition: color 0.2s !important;
}
.cp-nav a:hover { color: var(--cp-gold) !important; }

/* CTA NAV BUTTON */
.cp-nav-cta a,
.cp-nav-cta .elementor-button {
  background: var(--cp-gold) !important;
  color: var(--cp-navy) !important;
  font-weight: 700 !important;
  border-radius: 5px !important;
  padding: 9px 22px !important;
  font-size: 0.88rem !important;
  transition: background 0.2s, transform 0.2s !important;
}
.cp-nav-cta a:hover,
.cp-nav-cta .elementor-button:hover {
  background: var(--cp-gold-light) !important;
  transform: translateY(-1px) !important;
}

/* ============================================================
   HERO SECTION  (.cp-hero)
   ============================================================ */
.cp-hero {
  background: var(--cp-navy) !important;
  position: relative;
  overflow: hidden;
  min-height: 100vh;
}

/* Decorative grid overlay */
.cp-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(201,168,76,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201,168,76,0.04) 1px, transparent 1px);
  background-size: 60px 60px;
  pointer-events: none;
  z-index: 0;
}

/* Glow orb */
.cp-hero::after {
  content: '';
  position: absolute;
  top: 10%;
  right: 10%;
  width: 600px;
  height: 600px;
  background: radial-gradient(ellipse, rgba(201,168,76,0.09) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

.cp-hero .elementor-container { position: relative; z-index: 2; }

/* Badge */
.cp-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(201,168,76,0.10);
  border: 1px solid rgba(201,168,76,0.30);
  padding: 6px 18px;
  border-radius: 100px;
  color: var(--cp-gold-light) !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.6px;
  font-family: var(--cp-font-body) !important;
  margin-bottom: 18px;
}
.cp-badge::before {
  content: '●';
  color: var(--cp-green);
  font-size: 0.5rem;
}

/* Hero Heading */
.cp-hero-h1 .elementor-heading-title {
  font-family: var(--cp-font-display) !important;
  font-size: clamp(2.2rem, 4vw, 3.4rem) !important;
  font-weight: 900 !important;
  line-height: 1.18 !important;
  color: var(--cp-white) !important;
}
.cp-hero-h1 em {
  font-style: normal;
  color: var(--cp-gold);
}

/* Hero Sub */
.cp-hero-sub .elementor-widget-text-editor {
  color: rgba(255,255,255,0.65) !important;
  font-size: 1.05rem !important;
  line-height: 1.75 !important;
}

/* Trust bar */
.cp-trust-bar .elementor-icon-list-item-text {
  color: rgba(255,255,255,0.60) !important;
  font-size: 0.85rem !important;
}
.cp-trust-bar .elementor-icon-list-icon i { color: var(--cp-gold) !important; }

/* ============================================================
   LEAD FORM CARD  (.cp-form-card)
   ============================================================ */
.cp-form-card {
  background: var(--cp-white) !important;
  border-radius: var(--cp-radius-lg) !important;
  padding: 36px 32px !important;
  box-shadow: var(--cp-shadow-lg) !important;
}

.cp-form-card .elementor-heading-title {
  font-family: var(--cp-font-display) !important;
  font-size: 1.3rem !important;
  color: var(--cp-navy) !important;
  margin-bottom: 4px !important;
}

/* Elementor Forms inside card */
.cp-form-card .elementor-field-group input,
.cp-form-card .elementor-field-group select,
.cp-form-card .elementor-field-group textarea {
  border: 1.5px solid #E5E8EF !important;
  border-radius: 6px !important;
  font-family: var(--cp-font-body) !important;
  font-size: 0.9rem !important;
  padding: 11px 14px !important;
  background: #FAFBFC !important;
  color: var(--cp-text) !important;
  transition: border-color 0.2s !important;
}
.cp-form-card .elementor-field-group input:focus,
.cp-form-card .elementor-field-group select:focus {
  border-color: var(--cp-gold) !important;
  background: var(--cp-white) !important;
  outline: none !important;
}
.cp-form-card .elementor-field-label {
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  color: var(--cp-muted) !important;
  letter-spacing: 0.3px !important;
}
.cp-form-card .elementor-button {
  background: var(--cp-navy) !important;
  color: var(--cp-white) !important;
  font-family: var(--cp-font-body) !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  border-radius: 6px !important;
  padding: 14px !important;
  width: 100% !important;
  border: none !important;
  transition: background 0.2s, transform 0.2s !important;
  cursor: pointer !important;
}
.cp-form-card .elementor-button:hover {
  background: var(--cp-navy-light) !important;
  transform: translateY(-1px) !important;
}

/* ============================================================
   STATS BAR  (.cp-stats-bar)
   ============================================================ */
.cp-stats-bar {
  background: var(--cp-navy-mid) !important;
  border-top: 1px solid var(--cp-border);
  border-bottom: 1px solid var(--cp-border);
}

.cp-stat-item {
  text-align: center;
  padding: 28px 10px;
  border-right: 1px solid var(--cp-border);
}
.cp-stat-item:last-child { border-right: none; }

.cp-stat-value {
  font-family: var(--cp-font-display) !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  color: var(--cp-gold) !important;
}
.cp-stat-label {
  color: rgba(255,255,255,0.45) !important;
  font-size: 0.72rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
}
.cp-stat-desc {
  color: rgba(255,255,255,0.60) !important;
  font-size: 0.80rem !important;
  margin-top: 3px !important;
}

/* ============================================================
   SECTION LABELS  (.cp-section-label)
   ============================================================ */
.cp-section-label .elementor-widget-text-editor,
.cp-section-label p {
  display: inline-block !important;
  background: rgba(201,168,76,0.10) !important;
  border: 1px solid rgba(201,168,76,0.25) !important;
  color: var(--cp-gold-dark) !important;
  padding: 4px 16px !important;
  border-radius: 100px !important;
  font-size: 0.74rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  margin-bottom: 10px !important;
  font-family: var(--cp-font-body) !important;
}

/* ============================================================
   SECTION HEADINGS
   ============================================================ */
.cp-section-title .elementor-heading-title {
  font-family: var(--cp-font-display) !important;
  font-size: clamp(1.7rem, 3vw, 2.4rem) !important;
  color: var(--cp-navy) !important;
  line-height: 1.25 !important;
}

.cp-section-title-light .elementor-heading-title {
  color: var(--cp-white) !important;
}

.cp-section-sub .elementor-widget-text-editor {
  color: var(--cp-muted) !important;
  font-size: 1rem !important;
  line-height: 1.75 !important;
  max-width: 600px !important;
}
.cp-section-sub-light .elementor-widget-text-editor {
  color: rgba(255,255,255,0.60) !important;
}

/* ============================================================
   ABOUT SECTION  (.cp-about)
   ============================================================ */
.cp-about { background: var(--cp-white) !important; }

.cp-about-text .elementor-widget-text-editor p {
  color: var(--cp-muted) !important;
  line-height: 1.80 !important;
  font-size: 0.97rem !important;
  margin-bottom: 16px !important;
}

/* Icon List for check points */
.cp-checklist .elementor-icon-list-item {
  padding: 11px 0 !important;
  border-bottom: 1px solid var(--cp-cream-dark) !important;
}
.cp-checklist .elementor-icon-list-item:last-child { border-bottom: none !important; }
.cp-checklist .elementor-icon-list-icon i { color: var(--cp-gold) !important; font-size: 0.85rem !important; }
.cp-checklist .elementor-icon-list-item-text { color: var(--cp-text) !important; font-size: 0.92rem !important; }

/* About Info Cards */
.cp-about-card {
  background: var(--cp-cream) !important;
  border: 1px solid var(--cp-cream-dark) !important;
  border-radius: var(--cp-radius) !important;
  padding: 22px 24px !important;
  margin-bottom: 16px !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
}
.cp-about-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: var(--cp-shadow) !important;
}
.cp-about-card .elementor-heading-title {
  font-size: 1rem !important;
  color: var(--cp-navy) !important;
  margin-bottom: 6px !important;
}
.cp-about-card .elementor-widget-text-editor {
  color: var(--cp-muted) !important;
  font-size: 0.87rem !important;
  line-height: 1.6 !important;
}

/* ============================================================
   FEES TABLE  (.cp-fees)
   ============================================================ */
.cp-fees { background: var(--cp-cream) !important; }

.cp-fees-table-wrap {
  background: var(--cp-white) !important;
  border-radius: var(--cp-radius) !important;
  overflow: hidden !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.06) !important;
}

/* Elementor Table widget */
.cp-fees-table table th {
  background: var(--cp-navy) !important;
  color: var(--cp-gold) !important;
  font-size: 0.80rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  padding: 16px 20px !important;
  font-family: var(--cp-font-body) !important;
}
.cp-fees-table table td {
  padding: 14px 20px !important;
  border-bottom: 1px solid #F0F2F5 !important;
  font-size: 0.92rem !important;
  color: var(--cp-text) !important;
}
.cp-fees-table table tr:last-child td {
  font-weight: 700 !important;
  color: var(--cp-navy) !important;
  background: rgba(201,168,76,0.05) !important;
}
.cp-fees-table table tr:hover td { background: #FAFBFC !important; }

/* Fees note box */
.cp-fees-note {
  background: rgba(201,168,76,0.08) !important;
  border: 1px solid rgba(201,168,76,0.22) !important;
  border-radius: 8px !important;
  padding: 16px 20px !important;
}
.cp-fees-note .elementor-widget-text-editor {
  color: var(--cp-muted) !important;
  font-size: 0.88rem !important;
  line-height: 1.65 !important;
}

/* ============================================================
   ELIGIBILITY  (.cp-elig)
   ============================================================ */
.cp-elig { background: var(--cp-white) !important; }

.cp-elig-card {
  background: var(--cp-cream) !important;
  border-radius: var(--cp-radius) !important;
  border-top: 3px solid var(--cp-gold) !important;
  padding: 26px 22px !important;
  height: 100% !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
}
.cp-elig-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 32px rgba(0,0,0,0.08) !important;
}
.cp-elig-card .elementor-heading-title {
  font-family: var(--cp-font-display) !important;
  font-size: 1.05rem !important;
  color: var(--cp-navy) !important;
  margin-bottom: 10px !important;
}
.cp-elig-card .elementor-widget-text-editor {
  color: var(--cp-muted) !important;
  font-size: 0.87rem !important;
  line-height: 1.65 !important;
}

/* Duration mini stats */
.cp-duration-stat {
  background: var(--cp-white) !important;
  border-radius: 8px !important;
  padding: 18px !important;
  text-align: center !important;
}
.cp-duration-num .elementor-heading-title {
  font-family: var(--cp-font-display) !important;
  font-size: 1.5rem !important;
  color: var(--cp-gold) !important;
  font-weight: 700 !important;
}
.cp-duration-sub .elementor-widget-text-editor {
  color: var(--cp-muted) !important;
  font-size: 0.82rem !important;
}

/* ============================================================
   DARK SECTIONS (institutes, salary, cta)
   ============================================================ */
.cp-dark { background: var(--cp-navy) !important; }

.cp-dark-mid { background: var(--cp-navy-mid) !important; }

/* Criteria cards on dark bg */
.cp-criteria-card {
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid var(--cp-border) !important;
  border-radius: var(--cp-radius) !important;
  padding: 24px 20px !important;
  transition: background 0.2s, transform 0.2s !important;
}
.cp-criteria-card:hover {
  background: rgba(201,168,76,0.08) !important;
  transform: translateY(-3px) !important;
}
.cp-criteria-card .elementor-heading-title {
  color: var(--cp-gold) !important;
  font-size: 0.95rem !important;
  font-family: var(--cp-font-body) !important;
  font-weight: 700 !important;
  margin-bottom: 8px !important;
}
.cp-criteria-card .elementor-widget-text-editor {
  color: rgba(255,255,255,0.55) !important;
  font-size: 0.85rem !important;
  line-height: 1.65 !important;
}

/* ============================================================
   CITY CARDS  (.cp-city-card)
   ============================================================ */
.cp-city { background: var(--cp-cream) !important; }

.cp-city-card {
  background: var(--cp-white) !important;
  border: 1px solid #E8EDF3 !important;
  border-radius: 10px !important;
  padding: 20px 18px !important;
  transition: all 0.2s !important;
  cursor: pointer !important;
  display: block !important;
}
.cp-city-card:hover {
  border-color: var(--cp-gold) !important;
  box-shadow: 0 6px 20px rgba(201,168,76,0.12) !important;
  transform: translateY(-2px) !important;
}
.cp-city-card .elementor-heading-title {
  color: var(--cp-navy) !important;
  font-family: var(--cp-font-body) !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
}
.cp-city-card .elementor-widget-text-editor {
  color: var(--cp-muted) !important;
  font-size: 0.78rem !important;
}
.cp-city-card .elementor-icon i { color: var(--cp-gold) !important; }

/* ============================================================
   ACCA vs CA  (.cp-compare)
   ============================================================ */
.cp-compare { background: var(--cp-white) !important; }

.cp-compare-table table th { background: var(--cp-navy) !important; color: var(--cp-white) !important; }
.cp-compare-table table th:nth-child(2) { color: var(--cp-gold) !important; }
.cp-compare-table table th:nth-child(3) { color: #7EC8E3 !important; }
.cp-compare-table table td { font-size: 0.9rem !important; padding: 13px 18px !important; border-bottom: 1px solid #F0F2F5 !important; }
.cp-compare-table table tr:hover td { background: #FAFBFC !important; }

/* Verdict box */
.cp-verdict {
  background: var(--cp-cream) !important;
  border-left: 4px solid var(--cp-gold) !important;
  border-radius: 0 var(--cp-radius) var(--cp-radius) 0 !important;
  padding: 26px 24px !important;
}
.cp-verdict .elementor-heading-title {
  font-family: var(--cp-font-display) !important;
  color: var(--cp-navy) !important;
  font-size: 1.1rem !important;
  margin-bottom: 14px !important;
}
.cp-verdict .elementor-widget-text-editor {
  color: var(--cp-muted) !important;
  font-size: 0.88rem !important;
  line-height: 1.65 !important;
}

/* ============================================================
   SALARY  (.cp-salary)
   ============================================================ */
.cp-salary { background: var(--cp-navy) !important; }

.cp-salary-card {
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid var(--cp-border) !important;
  border-radius: var(--cp-radius) !important;
  padding: 26px 22px !important;
}
.cp-salary-level .elementor-widget-text-editor {
  color: rgba(255,255,255,0.45) !important;
  font-size: 0.72rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
}
.cp-salary-amount .elementor-heading-title {
  font-family: var(--cp-font-display) !important;
  font-size: 1.8rem !important;
  color: var(--cp-gold) !important;
  font-weight: 700 !important;
}
.cp-salary-desc .elementor-widget-text-editor {
  color: rgba(255,255,255,0.55) !important;
  font-size: 0.87rem !important;
  line-height: 1.65 !important;
}

/* Role tags */
.cp-role-tag {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid var(--cp-border) !important;
  border-radius: 8px !important;
  padding: 10px 16px !important;
}
.cp-role-tag .elementor-widget-text-editor {
  color: rgba(255,255,255,0.75) !important;
  font-size: 0.85rem !important;
}
.cp-role-tag .elementor-widget-text-editor::before {
  content: '▸ ';
  color: var(--cp-gold);
}

/* ============================================================
   REVIEWS  (.cp-reviews)
   ============================================================ */
.cp-reviews { background: var(--cp-cream) !important; }

.cp-review-card {
  background: var(--cp-white) !important;
  border-radius: var(--cp-radius) !important;
  border: 1px solid #E8EDF3 !important;
  padding: 26px 22px !important;
  position: relative !important;
  transition: box-shadow 0.2s !important;
}
.cp-review-card:hover { box-shadow: var(--cp-shadow) !important; }
.cp-review-card .elementor-widget-text-editor {
  color: var(--cp-muted) !important;
  font-size: 0.90rem !important;
  line-height: 1.75 !important;
}

/* Stars */
.cp-stars .elementor-widget-text-editor {
  color: var(--cp-gold) !important;
  font-size: 0.88rem !important;
  letter-spacing: 2px !important;
}

/* Reviewer name */
.cp-reviewer-name .elementor-heading-title {
  font-family: var(--cp-font-body) !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  color: var(--cp-navy) !important;
}
.cp-reviewer-detail .elementor-widget-text-editor {
  color: var(--cp-muted) !important;
  font-size: 0.78rem !important;
}

/* ============================================================
   FAQ  (.cp-faq)
   ============================================================ */
.cp-faq { background: var(--cp-white) !important; }

.cp-faq .elementor-tab-title {
  background: #FAFBFC !important;
  border: 1px solid #E8EDF3 !important;
  border-radius: 8px 8px 0 0 !important;
  padding: 18px 20px !important;
  font-family: var(--cp-font-body) !important;
  font-weight: 600 !important;
  font-size: 0.92rem !important;
  color: var(--cp-navy) !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
}
.cp-faq .elementor-tab-title:hover { background: #F5F7FA !important; }
.cp-faq .elementor-tab-title.elementor-active {
  background: rgba(201,168,76,0.07) !important;
  color: var(--cp-gold-dark) !important;
  border-color: rgba(201,168,76,0.25) !important;
}
.cp-faq .elementor-tab-content {
  border: 1px solid #E8EDF3 !important;
  border-top: none !important;
  padding: 16px 20px !important;
  background: var(--cp-white) !important;
  color: var(--cp-muted) !important;
  font-size: 0.90rem !important;
  line-height: 1.75 !important;
  border-radius: 0 0 8px 8px !important;
}

/* ============================================================
   FINAL CTA FORM  (.cp-cta)
   ============================================================ */
.cp-cta { background: var(--cp-navy) !important; text-align: center !important; }

.cp-cta-form-wrap {
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid var(--cp-border) !important;
  border-radius: var(--cp-radius-lg) !important;
  padding: 36px !important;
  max-width: 700px !important;
  margin: 0 auto !important;
}

.cp-cta .elementor-field-group input,
.cp-cta .elementor-field-group select {
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 6px !important;
  color: var(--cp-white) !important;
  padding: 12px 16px !important;
  font-family: var(--cp-font-body) !important;
  font-size: 0.9rem !important;
  transition: border-color 0.2s !important;
}
.cp-cta .elementor-field-group input::placeholder { color: rgba(255,255,255,0.35) !important; }
.cp-cta .elementor-field-group input:focus,
.cp-cta .elementor-field-group select:focus {
  border-color: var(--cp-gold) !important;
  outline: none !important;
}
.cp-cta .elementor-button {
  background: var(--cp-gold) !important;
  color: var(--cp-navy) !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  padding: 15px 30px !important;
  border-radius: 6px !important;
  border: none !important;
  transition: background 0.2s, transform 0.2s !important;
  width: 100% !important;
}
.cp-cta .elementor-button:hover {
  background: var(--cp-gold-light) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(201,168,76,0.3) !important;
}

.cp-cta-disclaimer .elementor-widget-text-editor {
  color: rgba(255,255,255,0.35) !important;
  font-size: 0.74rem !important;
  text-align: center !important;
  margin-top: 10px !important;
}

/* ============================================================
   BUTTONS  (global reusable)
   ============================================================ */
.cp-btn-primary .elementor-button,
.cp-btn-primary a {
  background: var(--cp-gold) !important;
  color: var(--cp-navy) !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  border-radius: 6px !important;
  padding: 14px 28px !important;
  border: none !important;
  transition: background 0.2s, transform 0.2s, box-shadow 0.2s !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.cp-btn-primary .elementor-button:hover,
.cp-btn-primary a:hover {
  background: var(--cp-gold-light) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(201,168,76,0.3) !important;
}

.cp-btn-secondary .elementor-button,
.cp-btn-secondary a {
  background: transparent !important;
  color: var(--cp-white) !important;
  border: 1.5px solid rgba(255,255,255,0.25) !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  border-radius: 6px !important;
  padding: 13px 26px !important;
  transition: border-color 0.2s, color 0.2s !important;
}
.cp-btn-secondary .elementor-button:hover,
.cp-btn-secondary a:hover {
  border-color: var(--cp-gold) !important;
  color: var(--cp-gold) !important;
}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer,
.elementor-location-footer {
  background: #07101E !important;
  border-top: 1px solid var(--cp-border) !important;
}

.cp-footer-logo .elementor-heading-title {
  font-family: var(--cp-font-display) !important;
  font-size: 1.5rem !important;
  color: var(--cp-gold) !important;
}
.cp-footer-desc .elementor-widget-text-editor {
  color: rgba(255,255,255,0.40) !important;
  font-size: 0.84rem !important;
  line-height: 1.70 !important;
}

.cp-footer-heading .elementor-heading-title {
  font-family: var(--cp-font-body) !important;
  font-size: 0.78rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  color: var(--cp-gold) !important;
  margin-bottom: 14px !important;
}

.cp-footer-links .elementor-icon-list-item-text {
  color: rgba(255,255,255,0.42) !important;
  font-size: 0.84rem !important;
  transition: color 0.2s !important;
}
.cp-footer-links .elementor-icon-list-item:hover .elementor-icon-list-item-text {
  color: var(--cp-gold) !important;
}

.cp-footer-bottom .elementor-widget-text-editor {
  color: rgba(255,255,255,0.28) !important;
  font-size: 0.78rem !important;
}

/* ============================================================
   DIVIDER
   ============================================================ */
.elementor-divider-separator {
  border-color: var(--cp-border) !important;
}

/* ============================================================
   SCROLL ANIMATIONS  (Elementor Motion Effects fallback)
   ============================================================ */
@keyframes cp-fade-up {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}
.cp-animate {
  animation: cp-fade-up 0.65s ease both;
}

/* ============================================================
   RESPONSIVE — TABLET
   ============================================================ */
@media (max-width: 1024px) {
  .cp-stats-bar .elementor-container {
    flex-wrap: wrap;
  }
  .cp-stat-item {
    border-right: none !important;
    border-bottom: 1px solid var(--cp-border) !important;
    flex: 0 0 33.33% !important;
  }
}

/* ============================================================
   RESPONSIVE — MOBILE
   ============================================================ */
@media (max-width: 767px) {
  :root {
    --cp-section-pad: 50px 20px;
  }
  .cp-hero-h1 .elementor-heading-title {
    font-size: 2rem !important;
  }
  .cp-form-card {
    padding: 24px 18px !important;
  }
  .cp-stat-item {
    flex: 0 0 50% !important;
  }
  .cp-cta-form-wrap {
    padding: 24px 18px !important;
  }
  .cp-section-title .elementor-heading-title {
    font-size: 1.6rem !important;
  }
}
