/* =========================================================
   CPDT Professional Theme CSS
   Canada Pro Driver Training – Local Dev Build
   ========================================================= */

/* ── 1. DESIGN TOKENS ─────────────────────────────────── */
:root {
  --cpdt-navy:     #0d2b5e;
  --cpdt-navy-lt:  #1a4080;
  --cpdt-gold:     #e8a000;
  --cpdt-gold-lt:  #f5c242;
  --cpdt-red:      #c62828;
  --cpdt-text:     #1e293b;
  --cpdt-muted:    #64748b;
  --cpdt-bg:       #f4f7fb;
  --cpdt-white:    #ffffff;
  --cpdt-border:   #e2e8f0;
  --cpdt-shadow:   0 4px 24px rgba(13,43,94,0.10);
  --cpdt-radius:   10px;
  --cpdt-transition: 0.28s ease;
}

/* ── 2. GLOBAL BASE ────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: 'Roboto Condensed', 'Segoe UI', Arial, sans-serif !important;
  color: var(--cpdt-text) !important;
  background: var(--cpdt-white) !important;
  font-size: 16px;
  line-height: 1.65;
}

img { max-width: 100%; height: auto; }

a { color: var(--cpdt-navy); text-decoration: none; transition: color var(--cpdt-transition); }
a:hover { color: var(--cpdt-gold); }

/* Smooth scroll */
html { scroll-behavior: smooth; }

/* ── 3. NAVIGATION BAR ─────────────────────────────────── */
.main-menu { position: sticky; top: 0; z-index: 9999; }

nav#site-navigation.navbar {
  background: var(--cpdt-white) !important;
  border-bottom: 3px solid var(--cpdt-navy) !important;
  border-top: none !important;
  box-shadow: 0 2px 12px rgba(13,43,94,0.12) !important;
  padding: 0 !important;
  min-height: 72px;
  border-radius: 0 !important;
}

nav#site-navigation .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 72px;
  padding: 0 20px;
}

/* Logo */
.site-header { display: flex; align-items: center; gap: 12px; }
.site-branding-logo a { display: flex; }
.site-branding-logo img.custom-logo {
  width: 56px !important;
  height: auto !important;
  border-radius: 50%;
  border: 2px solid var(--cpdt-navy);
  padding: 2px;
}

.site-branding-text.navbar-brand {
  line-height: 1.2 !important;
  padding: 0 !important;
  margin: 0 !important;
  height: auto !important;
}

.site-branding-text .site-title {
  font-size: 18px !important;
  font-weight: 800 !important;
  margin: 0 !important;
  letter-spacing: -0.3px;
}

.site-branding-text .site-title a {
  color: var(--cpdt-navy) !important;
  text-decoration: none !important;
}

.site-branding-text .site-description {
  font-size: 11px !important;
  color: var(--cpdt-gold) !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  margin: 0 !important;
}

/* Menu items */
.menu-container ul#menu-main-1 { margin: 0 !important; padding: 0 !important; list-style: none; display: flex; align-items: center; gap: 4px; }
.menu-container ul#menu-main-1 > li > a {
  color: var(--cpdt-text) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  padding: 8px 14px !important;
  border-radius: 6px;
  transition: all var(--cpdt-transition);
  white-space: nowrap;
}

.menu-container ul#menu-main-1 > li > a:hover,
.menu-container ul#menu-main-1 > li.active > a,
.menu-container ul#menu-main-1 > li.current-menu-item > a {
  background: var(--cpdt-navy) !important;
  color: var(--cpdt-white) !important;
}

/* Mobile hamburger */
#main-menu-panel {
  cursor: pointer;
  display: none;
}

#main-menu-panel span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--cpdt-navy);
  margin: 5px 0;
  border-radius: 2px;
  transition: all 0.3s;
}

/* ── 4. HERO SLIDER ──────────────────────────────────── */
.hero-slider {
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  height: 62vh !important;
  min-height: 520px !important;
  max-height: 780px !important;
  overflow: hidden;
  position: relative;
}

.hero img {
  object-fit: cover !important;
  object-position: center top;
  filter: brightness(0.88);
}

.hero::after {
  background: linear-gradient(
    160deg,
    rgba(0,0,0,0.52) 0%,
    rgba(0,0,0,0.30) 58%,
    rgba(0,0,0,0.22) 100%
  ) !important;
}

.home .hero-slider,
.home .hero {
  background: transparent !important;
}

.hero-content {
  align-items: flex-start !important;
  text-align: left !important;
  padding: 0 8% !important;
  max-width: 100% !important;
}

.hero h1 {
  font-size: clamp(28px, 4.5vw, 56px) !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  color: #ffffff !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.35);
  margin-bottom: 16px !important;
  letter-spacing: -0.5px;
}

.hero h2,
.hero .elementor-heading-title,
.hero-slider h1,
.hero-slider h2,
.hero-slider .elementor-heading-title {
  color: #ffffff !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.35);
}

.hero p {
  font-size: clamp(15px, 1.8vw, 20px) !important;
  color: rgba(255,255,255,0.90) !important;
  max-width: 560px !important;
  margin-bottom: 30px !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.3);
}

/* Hero buttons */
.hero-buttons { gap: 16px !important; justify-content: flex-start !important; }

.hero-buttons .btn.primary,
.hero-buttons a.btn.primary {
  background: var(--cpdt-gold) !important;
  color: #000 !important;
  font-weight: 800 !important;
  font-size: 15px !important;
  padding: 15px 34px !important;
  border-radius: 6px !important;
  box-shadow: 0 4px 14px rgba(232,160,0,0.45) !important;
  letter-spacing: 0.3px;
  border: none !important;
}

.hero-buttons .btn.outline,
.hero-buttons a.btn.outline {
  background: transparent !important;
  border: 2px solid #fff !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  padding: 13px 34px !important;
  border-radius: 6px !important;
}

.hero-buttons .btn:hover { transform: translateY(-2px); opacity: 0.92; }

/* Slider arrows */
.slider-arrow {
  background: rgba(255,255,255,0.15) !important;
  border-color: rgba(255,255,255,0.6) !important;
  backdrop-filter: blur(4px);
  transition: all var(--cpdt-transition);
}
.slider-arrow:hover { background: var(--cpdt-gold) !important; border-color: var(--cpdt-gold) !important; color: #000 !important; }

/* ── 5. LOCATION BAR ─────────────────────────────────── */
.location-header-bar {
  background: var(--cpdt-navy) !important;
  padding: 18px 24px !important;
  gap: 20px !important;
  border-bottom: 3px solid var(--cpdt-gold);
}

.location-label {
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 1px;
  opacity: 0.85;
}

.loc-btn {
  font-size: 13px !important;
  padding: 9px 20px !important;
  border-radius: 4px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px;
  box-shadow: none !important;
  text-transform: uppercase;
}

.city-mississauga { background: #c62828 !important; }
.city-brampton    { background: #1565c0 !important; }
.city-etobicoke   { background: #2e7d32 !important; }
.city-oakville    { background: #6a1b9a !important; }
.city-milton      { background: #00838f !important; }

.loc-btn:hover {
  filter: brightness(1.15) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 3px 10px rgba(0,0,0,0.25) !important;
}

/* Homepage: pull service locations into the slider area (visual overlap only). */
.home .page-area .elementor-top-section:has(.location-header-bar) {
  position: relative;
  z-index: 7;
  margin-top: -132px !important;
  background: transparent !important;
  padding-top: 0 !important;
}

.home .location-header-bar {
  position: relative;
  z-index: 6;
  width: min(1160px, calc(100% - 24px));
  margin: 0 auto !important;
  border-radius: 14px;
  background: linear-gradient(160deg, rgba(13,43,94,0.92) 0%, rgba(26,64,128,0.88) 100%) !important;
  border: 1px solid rgba(255,255,255,0.22);
  box-shadow: 0 14px 36px rgba(0,0,0,0.28);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

/* Homepage: keep location buttons as the slider CTA area. */
.home .hero .hero-buttons,
.home .hero-slider .hero-buttons {
  display: none !important;
}

.home .location-header-bar .location-label {
  color: #ffffff !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.32);
}

/* City pages: injected service locations bar sits at bottom of slider section. */
.page-id-3304 .page-area .elementor-top-section:has(.elementor-widget-image-carousel),
.page-id-3287 .page-area .elementor-top-section:has(.elementor-widget-image-carousel),
.page-id-3284 .page-area .elementor-top-section:has(.elementor-widget-image-carousel),
.page-id-3290 .page-area .elementor-top-section:has(.elementor-widget-image-carousel),
.page-id-3292 .page-area .elementor-top-section:has(.elementor-widget-image-carousel) {
  padding-bottom: 140px !important;
}

.page-id-3304 .cpdt-city-location-wrap,
.page-id-3287 .cpdt-city-location-wrap,
.page-id-3284 .cpdt-city-location-wrap,
.page-id-3290 .cpdt-city-location-wrap,
.page-id-3292 .cpdt-city-location-wrap {
  position: absolute;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  width: min(1160px, calc(100% - 24px));
  z-index: 8;
}

.page-id-3304 .cpdt-city-location-wrap .location-header-bar,
.page-id-3287 .cpdt-city-location-wrap .location-header-bar,
.page-id-3284 .cpdt-city-location-wrap .location-header-bar,
.page-id-3290 .cpdt-city-location-wrap .location-header-bar,
.page-id-3292 .cpdt-city-location-wrap .location-header-bar {
  margin: 0 !important;
  border-radius: 14px;
  background: linear-gradient(160deg, rgba(13,43,94,0.92) 0%, rgba(26,64,128,0.88) 100%) !important;
  border: 1px solid rgba(255,255,255,0.22);
  box-shadow: 0 14px 36px rgba(0,0,0,0.28);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.page-id-3304 .cpdt-city-location-wrap .location-label,
.page-id-3287 .cpdt-city-location-wrap .location-label,
.page-id-3284 .cpdt-city-location-wrap .location-label,
.page-id-3290 .cpdt-city-location-wrap .location-label,
.page-id-3292 .cpdt-city-location-wrap .location-label {
  color: #ffffff !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.32);
}

/* ── 24. CITY PAGES: MODERN LOOK FOR INDIVIDUAL TRAINING + PRICING ─ */
.page-id-3304 .page-area .elementor-top-section:has(h2.section-title),
.page-id-3287 .page-area .elementor-top-section:has(h2.section-title),
.page-id-3284 .page-area .elementor-top-section:has(h2.section-title),
.page-id-3290 .page-area .elementor-top-section:has(h2.section-title),
.page-id-3292 .page-area .elementor-top-section:has(h2.section-title) {
  background: linear-gradient(180deg, #f8fbff 0%, #eef3fb 100%) !important;
  padding-top: 58px !important;
  padding-bottom: 66px !important;
}

.page-id-3304 .page-area .elementor-widget-html:has(h2.section-title),
.page-id-3287 .page-area .elementor-widget-html:has(h2.section-title),
.page-id-3284 .page-area .elementor-widget-html:has(h2.section-title),
.page-id-3290 .page-area .elementor-widget-html:has(h2.section-title),
.page-id-3292 .page-area .elementor-widget-html:has(h2.section-title) {
  background: #ffffff !important;
  border: 1px solid rgba(13,43,94,0.10) !important;
  border-radius: 16px !important;
  box-shadow: 0 16px 44px rgba(13,43,94,0.10) !important;
  padding: 28px !important;
  overflow: hidden;
}

.page-id-3304 .page-area h2.section-title,
.page-id-3287 .page-area h2.section-title,
.page-id-3284 .page-area h2.section-title,
.page-id-3290 .page-area h2.section-title,
.page-id-3292 .page-area h2.section-title {
  color: var(--cpdt-navy) !important;
  font-size: clamp(30px, 3.8vw, 48px) !important;
  line-height: 1.14 !important;
  font-weight: 900 !important;
  letter-spacing: -0.6px;
  margin: 18px 0 22px !important;
  text-wrap: balance;
}

.page-id-3304 .page-area h2.section-title::before,
.page-id-3287 .page-area h2.section-title::before,
.page-id-3284 .page-area h2.section-title::before,
.page-id-3290 .page-area h2.section-title::before,
.page-id-3292 .page-area h2.section-title::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 34px;
  margin-right: 12px;
  border-radius: 3px;
  background: linear-gradient(180deg, var(--cpdt-gold), #ffca62);
  vertical-align: middle;
}

.page-id-3304 .page-area .discount-badge,
.page-id-3287 .page-area .discount-badge,
.page-id-3284 .page-area .discount-badge,
.page-id-3290 .page-area .discount-badge,
.page-id-3292 .page-area .discount-badge {
  background: linear-gradient(90deg, #ff7b00, #ff9f1a) !important;
  color: #111111 !important;
  font-weight: 900 !important;
  letter-spacing: 0.3px;
  border-radius: 999px !important;
}

.page-id-3304 .page-area .elementor-widget-html:has(h2.section-title) table,
.page-id-3287 .page-area .elementor-widget-html:has(h2.section-title) table,
.page-id-3284 .page-area .elementor-widget-html:has(h2.section-title) table,
.page-id-3290 .page-area .elementor-widget-html:has(h2.section-title) table,
.page-id-3292 .page-area .elementor-widget-html:has(h2.section-title) table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid #dbe5f3 !important;
  border-radius: 12px !important;
  overflow: hidden;
  background: #ffffff !important;
  margin-bottom: 34px !important;
}

.page-id-3304 .page-area .elementor-widget-html:has(h2.section-title) thead,
.page-id-3287 .page-area .elementor-widget-html:has(h2.section-title) thead,
.page-id-3284 .page-area .elementor-widget-html:has(h2.section-title) thead,
.page-id-3290 .page-area .elementor-widget-html:has(h2.section-title) thead,
.page-id-3292 .page-area .elementor-widget-html:has(h2.section-title) thead {
  background: linear-gradient(135deg, var(--cpdt-navy) 0%, #1b4a95 100%) !important;
}

.page-id-3304 .page-area .elementor-widget-html:has(h2.section-title) th,
.page-id-3287 .page-area .elementor-widget-html:has(h2.section-title) th,
.page-id-3284 .page-area .elementor-widget-html:has(h2.section-title) th,
.page-id-3290 .page-area .elementor-widget-html:has(h2.section-title) th,
.page-id-3292 .page-area .elementor-widget-html:has(h2.section-title) th {
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  border-color: rgba(255,255,255,0.22) !important;
  padding: 16px 14px !important;
}

.page-id-3304 .page-area .elementor-widget-html:has(h2.section-title) td,
.page-id-3287 .page-area .elementor-widget-html:has(h2.section-title) td,
.page-id-3284 .page-area .elementor-widget-html:has(h2.section-title) td,
.page-id-3290 .page-area .elementor-widget-html:has(h2.section-title) td,
.page-id-3292 .page-area .elementor-widget-html:has(h2.section-title) td {
  font-size: 16px !important;
  color: #26374f !important;
  border-color: #e5edf8 !important;
  padding: 14px 12px !important;
  background: #ffffff !important;
}

.page-id-3304 .page-area .elementor-widget-html:has(h2.section-title) tbody tr:nth-child(even) td,
.page-id-3287 .page-area .elementor-widget-html:has(h2.section-title) tbody tr:nth-child(even) td,
.page-id-3284 .page-area .elementor-widget-html:has(h2.section-title) tbody tr:nth-child(even) td,
.page-id-3290 .page-area .elementor-widget-html:has(h2.section-title) tbody tr:nth-child(even) td,
.page-id-3292 .page-area .elementor-widget-html:has(h2.section-title) tbody tr:nth-child(even) td {
  background: #f8fbff !important;
}

.page-id-3304 .page-area .elementor-widget-html:has(h2.section-title) tbody tr:hover td,
.page-id-3287 .page-area .elementor-widget-html:has(h2.section-title) tbody tr:hover td,
.page-id-3284 .page-area .elementor-widget-html:has(h2.section-title) tbody tr:hover td,
.page-id-3290 .page-area .elementor-widget-html:has(h2.section-title) tbody tr:hover td,
.page-id-3292 .page-area .elementor-widget-html:has(h2.section-title) tbody tr:hover td {
  background: #eef5ff !important;
}

.page-id-3304 .page-area .elementor-widget-html:has(h2.section-title) .price,
.page-id-3287 .page-area .elementor-widget-html:has(h2.section-title) .price,
.page-id-3284 .page-area .elementor-widget-html:has(h2.section-title) .price,
.page-id-3290 .page-area .elementor-widget-html:has(h2.section-title) .price,
.page-id-3292 .page-area .elementor-widget-html:has(h2.section-title) .price {
  color: #123564 !important;
  font-weight: 800 !important;
}

.page-id-3304 .page-area .elementor-widget-html:has(h2.section-title) .total,
.page-id-3287 .page-area .elementor-widget-html:has(h2.section-title) .total,
.page-id-3284 .page-area .elementor-widget-html:has(h2.section-title) .total,
.page-id-3290 .page-area .elementor-widget-html:has(h2.section-title) .total,
.page-id-3292 .page-area .elementor-widget-html:has(h2.section-title) .total {
  color: #0f766e !important;
  font-weight: 900 !important;
}

.page-id-3304 .page-area .elementor-widget-html:has(h2.section-title) .register-btn,
.page-id-3287 .page-area .elementor-widget-html:has(h2.section-title) .register-btn,
.page-id-3284 .page-area .elementor-widget-html:has(h2.section-title) .register-btn,
.page-id-3290 .page-area .elementor-widget-html:has(h2.section-title) .register-btn,
.page-id-3292 .page-area .elementor-widget-html:has(h2.section-title) .register-btn {
  background: linear-gradient(135deg, var(--cpdt-navy) 0%, #1b4a95 100%) !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: 0.2px;
  padding: 10px 18px !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  box-shadow: 0 6px 16px rgba(13,43,94,0.22) !important;
  transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease !important;
}

.page-id-3304 .page-area .elementor-widget-html:has(h2.section-title) .register-btn:hover,
.page-id-3287 .page-area .elementor-widget-html:has(h2.section-title) .register-btn:hover,
.page-id-3284 .page-area .elementor-widget-html:has(h2.section-title) .register-btn:hover,
.page-id-3290 .page-area .elementor-widget-html:has(h2.section-title) .register-btn:hover,
.page-id-3292 .page-area .elementor-widget-html:has(h2.section-title) .register-btn:hover {
  background: linear-gradient(135deg, var(--cpdt-gold) 0%, #ffc34d 100%) !important;
  color: #121212 !important;
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(232,160,0,0.32) !important;
}

/* Inserted intro block (landing, our-courses, city pages) */
.cpdt-individual-intro {
  background: linear-gradient(160deg, #ffffff 0%, #f7fbff 100%) !important;
  border: 1px solid #dce7f5 !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 36px rgba(13,43,94,0.10) !important;
  padding: 26px 28px !important;
  margin: 4px 0 26px !important;
}

.cpdt-individual-intro-title {
  color: var(--cpdt-navy) !important;
  font-size: clamp(30px, 4vw, 48px) !important;
  line-height: 1.14 !important;
  font-weight: 900 !important;
  letter-spacing: -0.6px;
  margin: 0 0 18px !important;
  text-align: center;
  text-wrap: balance;
}

.cpdt-individual-intro-title::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 34px;
  margin-right: 12px;
  border-radius: 3px;
  background: linear-gradient(180deg, var(--cpdt-gold), #ffc34d);
  vertical-align: middle;
}

.cpdt-individual-intro p {
  color: #394b63 !important;
  font-size: clamp(16px, 1.25vw, 22px) !important;
  line-height: 1.75 !important;
  text-align: center;
  max-width: 1220px;
  margin: 0 auto 14px !important;
}

.cpdt-individual-intro p:last-child {
  margin-bottom: 0 !important;
  font-weight: 500;
}

/* ── 25. BLOG PAGES: FULL WIDTH + BACKGROUND HERO ───── */
body.blog .container.main-container,
body.page-id-3755 .container.main-container {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.blog .container.main-container > .row,
body.page-id-3755 .container.main-container > .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.blog .container.main-container > .row > .col-md-9,
body.page-id-3755 .container.main-container > .row > article.col-md-9 {
  width: 100% !important;
  float: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.blog .container.main-container > .row > .col-md-3,
body.page-id-3755 .container.main-container > .row > #sidebar {
  display: none !important;
}

body.blog .page-area,
body.page-id-3755 .page-area {
  background: linear-gradient(180deg, rgba(4,18,39,0.90), rgba(4,18,39,0.74)),
              url('/wp-content/uploads/2023/03/home.jpg') center/cover fixed no-repeat !important;
}

body.blog .top-header,
body.page-id-3755 .top-header {
  min-height: 560px !important;
  background: linear-gradient(180deg, rgba(5,18,44,0.62), rgba(5,18,44,0.42)),
              url('/wp-content/uploads/2023/03/home.jpg') center/cover no-repeat !important;
}

body.blog .header-title,
body.page-id-3755 .header-title {
  top: 58%;
  pointer-events: none;
}

body.blog .page-area::before,
body.page-id-3755 .page-area::before {
  content: "";
  display: none;
  height: 0;
  background: transparent;
}

body.blog .main-content,
body.page-id-3755 .main-content-page {
  max-width: 1220px;
  margin: -150px auto 0 !important;
  padding: 0 20px 60px;
  position: relative;
  z-index: 2;
}

/* Blog archive post cards */
body.blog article .post {
  background: rgba(255,255,255,0.96) !important;
  border: 1px solid rgba(13,43,94,0.12) !important;
  border-radius: 16px !important;
  box-shadow: 0 18px 44px rgba(0,0,0,0.16) !important;
  overflow: hidden;
  margin-bottom: 26px !important;
}

body.blog .featured-thumbnail img {
  width: 100% !important;
  height: clamp(220px, 34vw, 420px) !important;
  object-fit: cover !important;
  border-radius: 0 !important;
}

body.blog .main-content.text-center {
  text-align: left !important;
  padding: 22px 26px 26px !important;
}

body.blog h2.page-header.h1 {
  margin-top: 0 !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

body.blog h2.page-header.h1 a {
  color: #0f2f63 !important;
  font-weight: 900 !important;
  letter-spacing: -0.3px;
  line-height: 1.2;
}

body.blog .post-meta,
body.blog .single-entry-summary p,
body.blog .entry-footer,
body.blog .entry-footer a {
  color: #425873 !important;
}

body.blog .btn.btn-default.btn-lg {
  background: linear-gradient(135deg, var(--cpdt-navy), #1b4a95) !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 8px !important;
  padding: 11px 18px !important;
  font-weight: 800 !important;
}

body.blog .btn.btn-default.btn-lg:hover {
  background: linear-gradient(135deg, var(--cpdt-gold), #ffc34d) !important;
  color: #101010 !important;
}

/* Belogs dynamic section */
.cpdt-belogs-grid {
  max-width: 1220px;
  margin: 0 auto;
  padding: 20px 0 70px;
  position: relative;
  z-index: 25;
}

.cpdt-belogs-grid a,
.cpdt-belogs-grid .cpdt-belog-read,
.cpdt-belogs-grid .cpdt-belog-card-image {
  position: relative;
  z-index: 30;
  pointer-events: auto !important;
}

/* Belogs page: remove old empty Elementor blocks that create gray dead-space. */
body.page-id-3755 .elementor.elementor-3755 {
  display: none !important;
}

body.page-id-3755 .entry-content {
  display: block !important;
  overflow: visible !important;
}

body.page-id-3755 .main-content-page {
  margin-top: -150px !important;
}

.cpdt-belogs-hero {
  background: linear-gradient(130deg, rgba(13,43,94,0.95), rgba(31,80,150,0.90));
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 18px;
  box-shadow: 0 16px 46px rgba(0,0,0,0.30);
  padding: 34px 30px;
  color: #ffffff;
  margin-bottom: 24px;
}

.cpdt-belogs-hero h1 {
  margin: 0 0 10px;
  color: #ffffff !important;
  font-size: clamp(30px, 4vw, 52px);
  font-weight: 900;
  letter-spacing: -0.6px;
}

.cpdt-belogs-hero p {
  margin: 0;
  font-size: clamp(16px, 1.4vw, 21px);
  color: rgba(255,255,255,0.90) !important;
}

.cpdt-belogs-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
}

.cpdt-belog-card {
  background: rgba(255,255,255,0.97);
  border: 1px solid rgba(13,43,94,0.12);
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.16);
  overflow: hidden;
}

.cpdt-belog-card-image {
  display: block;
  height: 170px;
  background-size: cover;
  background-position: center;
}

.cpdt-belog-card-body {
  padding: 16px;
}

.cpdt-belog-card-date {
  font-size: 12px;
  color: #64748b;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  margin-bottom: 8px;
}

.cpdt-belog-card h3 {
  margin: 0 0 10px;
  font-size: 20px;
  line-height: 1.3;
}

.cpdt-belog-card h3 a {
  color: #0f2f63 !important;
  font-weight: 800;
}

.cpdt-belog-excerpt {
  margin: 0 0 12px;
  color: #47586f !important;
  font-size: 14px;
  line-height: 1.55;
  min-height: 64px;
}

.cpdt-belog-read {
  display: inline-block;
  margin-top: 4px;
  padding: 8px 14px;
  background: var(--cpdt-navy);
  color: #ffffff !important;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 700;
}

.cpdt-belog-read:hover {
  background: var(--cpdt-gold);
  color: #111111 !important;
}

.cpdt-belogs-empty {
  grid-column: 1 / -1;
  background: #ffffff;
  border-radius: 12px;
  padding: 18px;
  text-align: center;
}

/* ── 6. SECTION WRAPPER & HEADINGS ────────────────────── */
.elementor-section { position: relative; }

/* Consistent section padding via Elementor containers */
.elementor-section > .elementor-container { max-width: 1200px; margin: 0 auto; }

/* Section heading styles (used in HTML widgets) */
#etobicoke-driving-lessons {
  max-width: 1160px !important;
  padding: 60px 30px !important;
}

#etobicoke-driving-lessons header { margin-bottom: 50px !important; }

#etobicoke-driving-lessons header h1 {
  color: var(--cpdt-navy) !important;
  font-size: clamp(22px, 3vw, 38px) !important;
  font-weight: 900 !important;
  letter-spacing: -0.5px;
  line-height: 1.2;
}

#etobicoke-driving-lessons header p {
  font-size: 16px !important;
  color: var(--cpdt-muted) !important;
  line-height: 1.7;
}

/* About articles */
#etobicoke-driving-lessons article {
  flex: 1 !important;
  min-width: 300px !important;
  background: var(--cpdt-white) !important;
  padding: 36px !important;
  border-radius: var(--cpdt-radius) !important;
  box-shadow: var(--cpdt-shadow) !important;
  border-top-width: 5px !important;
  transition: transform var(--cpdt-transition), box-shadow var(--cpdt-transition);
}

#etobicoke-driving-lessons article:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(13,43,94,0.16) !important;
}

#etobicoke-driving-lessons article h2 {
  font-size: 20px !important;
  font-weight: 800 !important;
  letter-spacing: -0.3px;
}

#etobicoke-driving-lessons article ul li {
  padding: 10px 0 !important;
  border-bottom-color: var(--cpdt-border) !important;
  font-size: 15px !important;
}

#etobicoke-driving-lessons aside {
  background: linear-gradient(135deg, #f0f7ff, #e8f0fe) !important;
  border-color: var(--cpdt-navy) !important;
  border-radius: var(--cpdt-radius) !important;
}

#etobicoke-driving-lessons aside h3 { color: var(--cpdt-navy) !important; font-size: 20px !important; font-weight: 800 !important; }

/* ── 7. COURSE CARDS ─────────────────────────────────── */
.section {
  background: var(--cpdt-bg);
  padding: 70px 30px !important;
}

.section h2 {
  font-size: clamp(22px, 3vw, 34px) !important;
  font-weight: 900 !important;
  color: var(--cpdt-navy) !important;
  margin-bottom: 12px !important;
  letter-spacing: -0.4px;
}

.section > p {
  font-size: 15px !important;
  color: var(--cpdt-muted) !important;
  max-width: 750px;
  margin: 0 auto 50px !important;
}

.cards { gap: 28px !important; }

.card {
  width: 270px !important;
  border-radius: 14px !important;
  padding: 34px 24px !important;
  box-shadow: 0 6px 24px rgba(0,0,0,0.08) !important;
  border: 1px solid var(--cpdt-border);
  transition: transform 0.28s ease, box-shadow 0.28s ease !important;
  background: #fff !important;
}

.card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 40px rgba(13,43,94,0.14) !important;
}

.plan {
  font-size: 16px !important;
  font-weight: 800 !important;
  color: var(--cpdt-navy) !important;
  line-height: 1.3;
}

.plan small {
  font-size: 11px !important;
  color: var(--cpdt-muted) !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.price-bar span {
  font-size: 22px !important;
  font-weight: 900 !important;
  border-radius: 4px;
}

.card .btn {
  background: var(--cpdt-navy) !important;
  color: #fff !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px;
  padding: 11px 22px !important;
  display: inline-block;
  transition: background var(--cpdt-transition), transform var(--cpdt-transition);
}

.card .btn:hover {
  background: var(--cpdt-gold) !important;
  color: #000 !important;
  transform: translateY(-1px);
}

/* ── 8. PRICING TABLES ──────────────────────────────── */
.section-title {
  font-size: clamp(20px, 2.5vw, 28px) !important;
  font-weight: 900 !important;
  background: none !important;
  -webkit-text-fill-color: var(--cpdt-navy) !important;
  color: var(--cpdt-navy) !important;
  letter-spacing: -0.4px;
  border-left: 5px solid var(--cpdt-gold);
  padding-left: 16px;
  margin-bottom: 24px !important;
}

.table-card {
  border-radius: 14px !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.07) !important;
  overflow: hidden;
  border: 1px solid var(--cpdt-border);
}

table { border-collapse: collapse !important; }

thead { background: var(--cpdt-navy) !important; }
thead th {
  padding: 16px 14px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #fff !important;
}

tbody tr td {
  padding: 13px 14px !important;
  font-size: 14px !important;
  color: var(--cpdt-text) !important;
  border-bottom: 1px solid var(--cpdt-border) !important;
}

tbody tr:last-child td { border-bottom: none !important; }

tbody tr:hover { background: #f8f9fb !important; }

td.price { font-weight: 800 !important; font-size: 16px !important; color: var(--cpdt-navy) !important; }
td.hst   { font-weight: 600 !important; color: var(--cpdt-muted) !important; }
td.total { font-weight: 900 !important; font-size: 16px !important; color: #16a34a !important; }

.register-btn {
  padding: 9px 18px !important;
  background: var(--cpdt-navy) !important;
  color: #fff !important;
  border-radius: 6px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px;
  transition: background var(--cpdt-transition);
  border: 2px solid transparent !important;
}

.register-btn:hover {
  background: var(--cpdt-gold) !important;
  color: #000 !important;
  opacity: 1 !important;
}

/* G section different header */
.g-section thead { background: var(--cpdt-red) !important; }

/* ── 9. STATS COUNTER SECTION ────────────────────────── */
#info_section {
  background: linear-gradient(135deg, var(--cpdt-navy) 0%, var(--cpdt-navy-lt) 100%) !important;
  padding: 60px 0 !important;
}

#info_section .elementor-column:first-child {
  overflow: hidden;
}

/* Counter widgets */
.elementor-counter {
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: var(--cpdt-radius);
  padding: 24px 20px;
  margin: 8px;
  text-align: center;
  transition: transform var(--cpdt-transition), background var(--cpdt-transition);
}

.elementor-counter:hover {
  background: rgba(232,160,0,0.15);
  transform: translateY(-3px);
}

.elementor-counter-title {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,0.70) !important;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  line-height: 1.4;
  margin-bottom: 8px !important;
}

.elementor-counter-number-wrapper {
  font-size: 44px !important;
  font-weight: 900 !important;
  color: var(--cpdt-gold) !important;
  line-height: 1 !important;
}

.elementor-counter-number-suffix {
  font-size: 26px !important;
  font-weight: 900 !important;
}

/* ── 10. EARLY BOOKING SECTION ───────────────────────── */
.elementor-element-3m4gsir {
  background: var(--cpdt-bg) !important;
  padding: 50px 0 !important;
}

.elementor-image-box-title {
  font-size: clamp(18px, 2.5vw, 26px) !important;
  font-weight: 800 !important;
  color: var(--cpdt-navy) !important;
  letter-spacing: -0.3px;
  line-height: 1.3;
  margin-bottom: 14px !important;
}

.elementor-image-box-description {
  font-size: 15px !important;
  color: var(--cpdt-muted) !important;
  line-height: 1.7 !important;
}

/* "Book Now" Elementor button */
.elementor-button.elementor-button-link {
  background: var(--cpdt-gold) !important;
  color: #000 !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  letter-spacing: 0.5px;
  border-radius: 6px !important;
  padding: 14px 30px !important;
  box-shadow: 0 4px 12px rgba(232,160,0,0.4) !important;
  transition: all var(--cpdt-transition) !important;
  text-transform: uppercase;
}

.elementor-button.elementor-button-link:hover {
  background: var(--cpdt-navy) !important;
  color: #fff !important;
  box-shadow: 0 6px 18px rgba(13,43,94,0.35) !important;
  transform: translateY(-2px);
}

/* ── 11. VIDEO SECTION ───────────────────────────────── */
.elementor-element-d39dab2 {
  background: var(--cpdt-navy) !important;
  padding: 50px 0 !important;
}

.elementor-widget-video .elementor-wrapper,
.e-hosted-video.elementor-wrapper {
  border-radius: var(--cpdt-radius) !important;
  overflow: hidden !important;
  box-shadow: 0 8px 40px rgba(0,0,0,0.3) !important;
  max-width: 960px !important;
  margin: 0 auto !important;
}

.elementor-video {
  width: 100% !important;
  display: block;
  border-radius: var(--cpdt-radius);
}

/* ── 12. IMAGE CAROUSELS ─────────────────────────────── */
.elementor-image-carousel .swiper-slide-inner,
.elementor-image-carousel figure.swiper-slide-inner {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0,0,0,0.10);
}

.elementor-image-carousel .swiper-slide-image {
  border-radius: 8px;
}

.elementor-swiper-button {
  background: var(--cpdt-navy) !important;
  color: #fff !important;
  border-radius: 50% !important;
  width: 40px !important;
  height: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background var(--cpdt-transition) !important;
}

.elementor-swiper-button:hover { background: var(--cpdt-gold) !important; color: #000 !important; }

/* ── 13. GOOGLE MAP SECTION ──────────────────────────── */
.elementor-element-73ff5e9 {
  background: var(--cpdt-bg) !important;
  padding: 50px 0 !important;
}

.elementor-element-73ff5e9 iframe {
  width: 100% !important;
  height: 380px !important;
  border-radius: var(--cpdt-radius) !important;
  box-shadow: var(--cpdt-shadow) !important;
  border: 0 !important;
  display: block;
}

/* ── 14. GOOGLE REVIEWS SECTION ──────────────────────── */
.elementor-element-1adbd015 {
  background: var(--cpdt-white) !important;
  padding: 30px 0 !important;
  text-align: center;
}

.elementor-element-1adbd015 img {
  max-width: 220px !important;
  margin: 0 auto !important;
  display: block !important;
  transition: transform var(--cpdt-transition);
}

.elementor-element-1adbd015 img:hover { transform: scale(1.04); }

/* ── 15. DIVIDER ─────────────────────────────────────── */
.elementor-divider-separator {
  border-top-color: var(--cpdt-border) !important;
  border-top-width: 1px !important;
}

/* ── 16. FOOTER ──────────────────────────────────────── */
footer#colophon.footer-credits {
  background: var(--cpdt-navy) !important;
  color: rgba(255,255,255,0.70) !important;
  padding: 20px 0 !important;
  border-top: 3px solid var(--cpdt-gold);
  margin-top: 0 !important;
}

footer#colophon .footer-credits-text {
  color: rgba(255,255,255,0.65) !important;
  font-size: 13px !important;
  margin: 0 !important;
}

footer#colophon a {
  color: var(--cpdt-gold) !important;
  font-weight: 600;
}

footer#colophon a:hover { color: #fff !important; text-decoration: underline; }

/* ── 17. LIVE BAR (ticker) ───────────────────────────── */
.footer-live-bar {
  background: linear-gradient(90deg, var(--cpdt-red), #b71c1c) !important;
  padding: 10px 0 !important;
}

/* ── 18. PAGE AREA WRAPPER ───────────────────────────── */
.page-area {
  overflow-x: hidden;
}

/* Remove body padding added by fixed navbar */
body { padding-top: 0 !important; }

/* ── 19. GLOBAL SECTION BACKGROUND ALTERNATION ──────── */
.elementor-element-f89fe1c,
.elementor-element-444c477 { background: var(--cpdt-bg) !important; }

/* ── 20. WOOCOMMERCE BUTTONS ─────────────────────────── */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  background: var(--cpdt-navy) !important;
  color: #fff !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px;
  transition: background var(--cpdt-transition) !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover {
  background: var(--cpdt-gold) !important;
  color: #000 !important;
}

/* ── 21. ALL PAGES: SECTION SYSTEM + HOME COLOR MATCH ─ */
/* Standardize section spacing and backgrounds across every page. */
.page .page-area,
.single .page-area,
.archive .page-area {
  background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
}

.page .page-area .elementor-top-section,
.single .page-area .elementor-top-section,
.archive .page-area .elementor-top-section {
  padding-top: 48px;
  padding-bottom: 48px;
}

.page .page-area .elementor-top-section:nth-child(even),
.single .page-area .elementor-top-section:nth-child(even),
.archive .page-area .elementor-top-section:nth-child(even) {
  background: #f4f7fb;
}

.page .page-area .elementor-top-section:nth-child(odd),
.single .page-area .elementor-top-section:nth-child(odd),
.archive .page-area .elementor-top-section:nth-child(odd) {
  background: #ffffff;
}

/* Unify heading hierarchy on all pages. */
.page .page-area h1,
.single .page-area h1,
.archive .page-area h1,
.page .page-area .entry-title,
.single .page-area .entry-title,
.archive .page-area .entry-title {
  color: var(--cpdt-navy) !important;
  font-weight: 900 !important;
  letter-spacing: -0.5px;
  line-height: 1.18;
}

.page .page-area h2,
.single .page-area h2,
.archive .page-area h2 {
  color: var(--cpdt-navy) !important;
  font-weight: 800 !important;
  letter-spacing: -0.3px;
}

.page .page-area h3,
.single .page-area h3,
.archive .page-area h3 {
  color: var(--cpdt-navy-lt) !important;
  font-weight: 700 !important;
}

.page .page-area p,
.single .page-area p,
.archive .page-area p,
.page .page-area li,
.single .page-area li,
.archive .page-area li {
  color: var(--cpdt-text);
}

/* Make section cards consistent with home page look. */
.page .page-area .elementor-column > .elementor-widget-wrap,
.single .page-area .elementor-column > .elementor-widget-wrap,
.archive .page-area .elementor-column > .elementor-widget-wrap {
  border-radius: var(--cpdt-radius);
}

.page .page-area .elementor-widget-image-box,
.page .page-area .elementor-widget-icon-box,
.page .page-area .elementor-widget-testimonial,
.single .page-area .elementor-widget-image-box,
.single .page-area .elementor-widget-icon-box,
.single .page-area .elementor-widget-testimonial,
.archive .page-area .elementor-widget-image-box,
.archive .page-area .elementor-widget-icon-box,
.archive .page-area .elementor-widget-testimonial {
  background: #ffffff;
  border: 1px solid var(--cpdt-border);
  border-radius: var(--cpdt-radius);
  box-shadow: 0 5px 18px rgba(13,43,94,0.08);
  padding: 18px;
}

/* Global button system using home palette. */
.page .page-area .elementor-button,
.single .page-area .elementor-button,
.archive .page-area .elementor-button,
.page .page-area a.btn,
.single .page-area a.btn,
.archive .page-area a.btn {
  background: var(--cpdt-navy) !important;
  color: #ffffff !important;
  border: 2px solid var(--cpdt-navy) !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px;
  transition: all var(--cpdt-transition) !important;
}

.page .page-area .elementor-button:hover,
.single .page-area .elementor-button:hover,
.archive .page-area .elementor-button:hover,
.page .page-area a.btn:hover,
.single .page-area a.btn:hover,
.archive .page-area a.btn:hover {
  background: var(--cpdt-gold) !important;
  color: #000000 !important;
  border-color: var(--cpdt-gold) !important;
  transform: translateY(-2px);
}

/* Make all Elementor sliders/carousels use the same controls as home. */
.page .page-area .swiper-pagination-bullet,
.single .page-area .swiper-pagination-bullet,
.archive .page-area .swiper-pagination-bullet {
  width: 9px;
  height: 9px;
  background: rgba(13,43,94,0.25);
  opacity: 1;
}

.page .page-area .swiper-pagination-bullet-active,
.single .page-area .swiper-pagination-bullet-active,
.archive .page-area .swiper-pagination-bullet-active {
  background: var(--cpdt-gold);
}

.page .page-area .elementor-swiper-button,
.single .page-area .elementor-swiper-button,
.archive .page-area .elementor-swiper-button {
  background: rgba(13,43,94,0.92) !important;
  color: #ffffff !important;
  border: 2px solid rgba(255,255,255,0.25) !important;
}

.page .page-area .elementor-swiper-button:hover,
.single .page-area .elementor-swiper-button:hover,
.archive .page-area .elementor-swiper-button:hover {
  background: var(--cpdt-gold) !important;
  color: #000000 !important;
  border-color: var(--cpdt-gold) !important;
}

/* Give non-home pages a polished top section treatment similar to home hero mood. */
.page:not(.home) .page-area .elementor-top-section:first-child,
.single .page-area .elementor-top-section:first-child,
.archive .page-area .elementor-top-section:first-child {
  background: linear-gradient(145deg, #0d2b5e 0%, #1a4080 58%, #2458a3 100%) !important;
  color: #ffffff;
  padding-top: 60px;
  padding-bottom: 60px;
}

.page:not(.home) .page-area .elementor-top-section:first-child h1,
.page:not(.home) .page-area .elementor-top-section:first-child h2,
.page:not(.home) .page-area .elementor-top-section:first-child p,
.single .page-area .elementor-top-section:first-child h1,
.single .page-area .elementor-top-section:first-child h2,
.single .page-area .elementor-top-section:first-child p,
.archive .page-area .elementor-top-section:first-child h1,
.archive .page-area .elementor-top-section:first-child h2,
.archive .page-area .elementor-top-section:first-child p {
  color: #ffffff !important;
}

/* Keep images rounded and premium across all pages. */
.page .page-area .elementor-widget-image img,
.single .page-area .elementor-widget-image img,
.archive .page-area .elementor-widget-image img,
.page .page-area .wp-post-image,
.single .page-area .wp-post-image,
.archive .page-area .wp-post-image {
  border-radius: 10px;
}

/* ── 21B. CITY PAGES (DEDICATED STYLES) ─────────────── */
/* IDs: 3304 Mississauga, 3287 Brampton, 3284 Etobicoke, 3290 Oakville, 3292 Milton */
.page-id-3304 .page-area .elementor-top-section:first-child,
.page-id-3287 .page-area .elementor-top-section:first-child,
.page-id-3284 .page-area .elementor-top-section:first-child,
.page-id-3290 .page-area .elementor-top-section:first-child,
.page-id-3292 .page-area .elementor-top-section:first-child {
  position: relative;
  overflow: hidden;
  border-bottom: 4px solid var(--cpdt-gold);
  min-height: 62vh !important;
  padding-top: clamp(72px, 10vw, 116px) !important;
  padding-bottom: clamp(72px, 10vw, 116px) !important;
  background-size: cover !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
}

.page-id-3304 .page-area .elementor-top-section:first-child::before,
.page-id-3287 .page-area .elementor-top-section:first-child::before,
.page-id-3284 .page-area .elementor-top-section:first-child::before,
.page-id-3290 .page-area .elementor-top-section:first-child::before,
.page-id-3292 .page-area .elementor-top-section:first-child::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
                160deg,
                rgba(13,43,94,0.78) 0%,
                rgba(13,43,94,0.42) 55%,
                rgba(0,0,0,0.30) 100%
              ),
              radial-gradient(circle at 14% 24%, rgba(255,255,255,0.14), transparent 42%),
              radial-gradient(circle at 86% 72%, rgba(255,255,255,0.12), transparent 38%);
  pointer-events: none;
}

/* City page hero typography */
.page-id-3304 .page-area .elementor-top-section:first-child h1,
.page-id-3304 .page-area .elementor-top-section:first-child h2,
.page-id-3287 .page-area .elementor-top-section:first-child h1,
.page-id-3287 .page-area .elementor-top-section:first-child h2,
.page-id-3284 .page-area .elementor-top-section:first-child h1,
.page-id-3284 .page-area .elementor-top-section:first-child h2,
.page-id-3290 .page-area .elementor-top-section:first-child h1,
.page-id-3290 .page-area .elementor-top-section:first-child h2,
.page-id-3292 .page-area .elementor-top-section:first-child h1,
.page-id-3292 .page-area .elementor-top-section:first-child h2 {
  color: #ffffff !important;
  font-size: clamp(30px, 4.4vw, 54px) !important;
  line-height: 1.16 !important;
  font-weight: 900 !important;
  letter-spacing: -0.6px;
  text-shadow: 0 2px 12px rgba(0,0,0,0.28);
  position: relative;
  z-index: 2;
}

.page-id-3304 .page-area .elementor-top-section:first-child p,
.page-id-3287 .page-area .elementor-top-section:first-child p,
.page-id-3284 .page-area .elementor-top-section:first-child p,
.page-id-3290 .page-area .elementor-top-section:first-child p,
.page-id-3292 .page-area .elementor-top-section:first-child p {
  color: rgba(255,255,255,0.92) !important;
  font-size: clamp(15px, 1.5vw, 19px) !important;
  text-shadow: 0 1px 6px rgba(0,0,0,0.34);
  position: relative;
  z-index: 2;
}

.page-id-3304 .page-area .elementor-top-section:first-child .elementor-widget-wrap,
.page-id-3287 .page-area .elementor-top-section:first-child .elementor-widget-wrap,
.page-id-3284 .page-area .elementor-top-section:first-child .elementor-widget-wrap,
.page-id-3290 .page-area .elementor-top-section:first-child .elementor-widget-wrap,
.page-id-3292 .page-area .elementor-top-section:first-child .elementor-widget-wrap,
.page-id-3304 .page-area .elementor-top-section:first-child .elementor-container,
.page-id-3287 .page-area .elementor-top-section:first-child .elementor-container,
.page-id-3284 .page-area .elementor-top-section:first-child .elementor-container,
.page-id-3290 .page-area .elementor-top-section:first-child .elementor-container,
.page-id-3292 .page-area .elementor-top-section:first-child .elementor-container {
  position: relative;
  z-index: 2;
}

.page-id-3304 .page-area .elementor-top-section:first-child .elementor-heading-title,
.page-id-3287 .page-area .elementor-top-section:first-child .elementor-heading-title,
.page-id-3284 .page-area .elementor-top-section:first-child .elementor-heading-title,
.page-id-3290 .page-area .elementor-top-section:first-child .elementor-heading-title,
.page-id-3292 .page-area .elementor-top-section:first-child .elementor-heading-title {
  color: #ffffff !important;
  text-shadow: 0 2px 12px rgba(0,0,0,0.32);
}

/* City pages: premium section cards */
.page-id-3304 .page-area .elementor-top-section .elementor-column > .elementor-widget-wrap,
.page-id-3287 .page-area .elementor-top-section .elementor-column > .elementor-widget-wrap,
.page-id-3284 .page-area .elementor-top-section .elementor-column > .elementor-widget-wrap,
.page-id-3290 .page-area .elementor-top-section .elementor-column > .elementor-widget-wrap,
.page-id-3292 .page-area .elementor-top-section .elementor-column > .elementor-widget-wrap {
  transition: transform var(--cpdt-transition), box-shadow var(--cpdt-transition), border-color var(--cpdt-transition);
}

.page-id-3304 .page-area .elementor-top-section:not(:first-child) .elementor-column > .elementor-widget-wrap:hover,
.page-id-3287 .page-area .elementor-top-section:not(:first-child) .elementor-column > .elementor-widget-wrap:hover,
.page-id-3284 .page-area .elementor-top-section:not(:first-child) .elementor-column > .elementor-widget-wrap:hover,
.page-id-3290 .page-area .elementor-top-section:not(:first-child) .elementor-column > .elementor-widget-wrap:hover,
.page-id-3292 .page-area .elementor-top-section:not(:first-child) .elementor-column > .elementor-widget-wrap:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 34px rgba(13,43,94,0.14);
}

/* City pages: enforce homepage-style slider controls */
.page-id-3304 .page-area .elementor-image-carousel .swiper,
.page-id-3287 .page-area .elementor-image-carousel .swiper,
.page-id-3284 .page-area .elementor-image-carousel .swiper,
.page-id-3290 .page-area .elementor-image-carousel .swiper,
.page-id-3292 .page-area .elementor-image-carousel .swiper {
  padding-bottom: 36px;
}

.page-id-3304 .page-area .elementor-image-carousel .swiper-slide-inner,
.page-id-3287 .page-area .elementor-image-carousel .swiper-slide-inner,
.page-id-3284 .page-area .elementor-image-carousel .swiper-slide-inner,
.page-id-3290 .page-area .elementor-image-carousel .swiper-slide-inner,
.page-id-3292 .page-area .elementor-image-carousel .swiper-slide-inner {
  border-radius: 12px;
  border: 1px solid rgba(13,43,94,0.14);
  box-shadow: 0 8px 20px rgba(0,0,0,0.12);
}

/* City pages: CTA rows and buttons */
.page-id-3304 .page-area .elementor-widget-button .elementor-button,
.page-id-3287 .page-area .elementor-widget-button .elementor-button,
.page-id-3284 .page-area .elementor-widget-button .elementor-button,
.page-id-3290 .page-area .elementor-widget-button .elementor-button,
.page-id-3292 .page-area .elementor-widget-button .elementor-button {
  min-width: 190px;
  text-align: center;
  box-shadow: 0 5px 16px rgba(13,43,94,0.24) !important;
}

/* City pages: list blocks with visual rhythm */
.page-id-3304 .page-area ul li,
.page-id-3287 .page-area ul li,
.page-id-3284 .page-area ul li,
.page-id-3290 .page-area ul li,
.page-id-3292 .page-area ul li {
  margin-bottom: 6px;
}

/* City pages: section separators */
.page-id-3304 .page-area .elementor-top-section + .elementor-top-section,
.page-id-3287 .page-area .elementor-top-section + .elementor-top-section,
.page-id-3284 .page-area .elementor-top-section + .elementor-top-section,
.page-id-3290 .page-area .elementor-top-section + .elementor-top-section,
.page-id-3292 .page-area .elementor-top-section + .elementor-top-section {
  border-top: 1px solid rgba(13,43,94,0.08);
}

/* ── 22. MOBILE RESPONSIVE ───────────────────────────── */
@media (max-width: 1024px) {
  .menu-container ul#menu-main-1 > li > a {
    font-size: 13px !important;
    padding: 7px 10px !important;
  }

  .page .page-area .elementor-top-section,
  .single .page-area .elementor-top-section,
  .archive .page-area .elementor-top-section {
    padding-top: 38px;
    padding-bottom: 38px;
  }

  .page-id-3304 .page-area .elementor-top-section:first-child h1,
  .page-id-3287 .page-area .elementor-top-section:first-child h1,
  .page-id-3284 .page-area .elementor-top-section:first-child h1,
  .page-id-3290 .page-area .elementor-top-section:first-child h1,
  .page-id-3292 .page-area .elementor-top-section:first-child h1 {
    font-size: clamp(24px, 4vw, 40px) !important;
  }
}

@media (max-width: 768px) {
  /* Nav */
  nav#site-navigation .container { flex-wrap: wrap; height: auto; padding: 14px 16px; }
  .site-branding-text .site-title { font-size: 15px !important; }
  #main-menu-panel { display: block; }
  .menu-container { width: 100%; }
  .menu-container ul#menu-main-1 { flex-direction: column; gap: 2px; padding: 10px 0 !important; }
  .menu-container ul#menu-main-1 > li > a { display: block; padding: 10px 14px !important; font-size: 13px !important; }

  /* Hero */
  .hero h1 { font-size: 26px !important; }
  .hero p  { font-size: 14px !important; }
  .hero-content { padding: 0 5% !important; }
  .hero-buttons { flex-direction: column !important; gap: 12px !important; max-width: 260px; }
  .hero-buttons .btn { text-align: center; }

  /* Location bar */
  .location-header-bar { flex-direction: column !important; text-align: center; }
  .loc-btn { width: 100%; max-width: 220px; }

  .home .location-header-bar {
    margin-top: 0 !important;
    width: calc(100% - 16px);
    border-radius: 12px;
    padding: 14px 12px !important;
  }

  .page-id-3304 .page-area .elementor-top-section:first-child,
  .page-id-3287 .page-area .elementor-top-section:first-child,
  .page-id-3284 .page-area .elementor-top-section:first-child,
  .page-id-3290 .page-area .elementor-top-section:first-child,
  .page-id-3292 .page-area .elementor-top-section:first-child {
    padding-bottom: 124px !important;
  }

  .page-id-3304 .cpdt-city-location-wrap,
  .page-id-3287 .cpdt-city-location-wrap,
  .page-id-3284 .cpdt-city-location-wrap,
  .page-id-3290 .cpdt-city-location-wrap,
  .page-id-3292 .cpdt-city-location-wrap {
    width: calc(100% - 16px);
    bottom: 12px;
  }

  .home .page-area .elementor-top-section:has(.location-header-bar) {
    margin-top: -68px !important;
  }

  /* Stats */
  .elementor-counter { margin: 6px 4px; padding: 18px 12px; }
  .elementor-counter-number-wrapper { font-size: 36px !important; }

  /* Map */
  .elementor-element-73ff5e9 iframe { height: 260px !important; }

  /* Tables */
  table { font-size: 12px; }
  thead th, tbody tr td { padding: 10px 8px !important; }
  .register-btn { padding: 7px 12px !important; font-size: 11px !important; }

  .page:not(.home) .page-area .elementor-top-section:first-child,
  .single .page-area .elementor-top-section:first-child,
  .archive .page-area .elementor-top-section:first-child {
    padding-top: 42px;
    padding-bottom: 42px;
  }

  .page-id-3304 .page-area .elementor-widget-button .elementor-button,
  .page-id-3287 .page-area .elementor-widget-button .elementor-button,
  .page-id-3284 .page-area .elementor-widget-button .elementor-button,
  .page-id-3290 .page-area .elementor-widget-button .elementor-button,
  .page-id-3292 .page-area .elementor-widget-button .elementor-button {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 480px) {
  .card { width: 100% !important; max-width: 340px; }
  .hero-slider { min-height: 420px !important; }

  .home .location-header-bar {
    margin-top: 0 !important;
  }

  .home .page-area .elementor-top-section:has(.location-header-bar) {
    margin-top: -48px !important;
  }

  .page-id-3304 .page-area .elementor-top-section:first-child,
  .page-id-3287 .page-area .elementor-top-section:first-child,
  .page-id-3284 .page-area .elementor-top-section:first-child,
  .page-id-3290 .page-area .elementor-top-section:first-child,
  .page-id-3292 .page-area .elementor-top-section:first-child {
    padding-bottom: 136px !important;
  }

  .cpdt-individual-intro {
    padding: 20px 16px !important;
    border-radius: 12px !important;
    margin-bottom: 20px !important;
  }

  .cpdt-individual-intro-title {
    font-size: clamp(24px, 7.2vw, 34px) !important;
  }

  .cpdt-individual-intro-title::before {
    width: 6px;
    height: 26px;
    margin-right: 8px;
  }

  .cpdt-individual-intro p {
    font-size: 16px !important;
    line-height: 1.62 !important;
  }

  body.blog .page-area::before,
  body.page-id-3755 .page-area::before {
    height: 0;
  }

  body.blog .top-header,
  body.page-id-3755 .top-header {
    min-height: 400px !important;
  }

  body.blog .main-content,
  body.page-id-3755 .main-content-page,
  .cpdt-belogs-grid {
    margin-top: -90px !important;
    padding-left: 12px;
    padding-right: 12px;
  }

  .cpdt-belogs-hero {
    padding: 24px 18px;
    border-radius: 14px;
  }
}

/* ── 23. CITY PAGES: CAROUSEL SECTIONS = HOMEPAGE HERO STYLE ─ */
/* Sections that contain an image-carousel get the same dark-navy hero mood.
   Uses CSS :has() (Chrome 105+, Firefox 121+, Safari 15.4+).
   The .elementor-widget-container block below acts as a visual fallback.   */

.page-id-3304 .page-area .elementor-top-section:has(.elementor-widget-image-carousel),
.page-id-3287 .page-area .elementor-top-section:has(.elementor-widget-image-carousel),
.page-id-3284 .page-area .elementor-top-section:has(.elementor-widget-image-carousel),
.page-id-3290 .page-area .elementor-top-section:has(.elementor-widget-image-carousel),
.page-id-3292 .page-area .elementor-top-section:has(.elementor-widget-image-carousel) {
  background: linear-gradient(160deg, #071829 0%, #0d2b5e 55%, #1a4080 100%) !important;
  padding-top: 56px !important;
  padding-bottom: 60px !important;
  position: relative;
  overflow: hidden;
  border-top: 3px solid var(--cpdt-gold);
  border-bottom: 3px solid var(--cpdt-gold);
}

/* Subtle radial light accent inside carousel sections — mirrors homepage hero glow */
.page-id-3304 .page-area .elementor-top-section:has(.elementor-widget-image-carousel)::after,
.page-id-3287 .page-area .elementor-top-section:has(.elementor-widget-image-carousel)::after,
.page-id-3284 .page-area .elementor-top-section:has(.elementor-widget-image-carousel)::after,
.page-id-3290 .page-area .elementor-top-section:has(.elementor-widget-image-carousel)::after,
.page-id-3292 .page-area .elementor-top-section:has(.elementor-widget-image-carousel)::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 55% at 15% 30%, rgba(255,255,255,0.06) 0%, transparent 100%),
    radial-gradient(ellipse 50% 45% at 85% 75%, rgba(232,160,0,0.07) 0%, transparent 100%);
  pointer-events: none;
  z-index: 0;
}

/* Section headings inside carousel sections turn white — same as homepage hero text */
.page-id-3304 .page-area .elementor-top-section:has(.elementor-widget-image-carousel) h2,
.page-id-3287 .page-area .elementor-top-section:has(.elementor-widget-image-carousel) h2,
.page-id-3284 .page-area .elementor-top-section:has(.elementor-widget-image-carousel) h2,
.page-id-3290 .page-area .elementor-top-section:has(.elementor-widget-image-carousel) h2,
.page-id-3292 .page-area .elementor-top-section:has(.elementor-widget-image-carousel) h2,
.page-id-3304 .page-area .elementor-top-section:has(.elementor-widget-image-carousel) h3,
.page-id-3287 .page-area .elementor-top-section:has(.elementor-widget-image-carousel) h3,
.page-id-3284 .page-area .elementor-top-section:has(.elementor-widget-image-carousel) h3,
.page-id-3290 .page-area .elementor-top-section:has(.elementor-widget-image-carousel) h3,
.page-id-3292 .page-area .elementor-top-section:has(.elementor-widget-image-carousel) h3,
.page-id-3304 .page-area .elementor-top-section:has(.elementor-widget-image-carousel) p,
.page-id-3287 .page-area .elementor-top-section:has(.elementor-widget-image-carousel) p,
.page-id-3284 .page-area .elementor-top-section:has(.elementor-widget-image-carousel) p,
.page-id-3290 .page-area .elementor-top-section:has(.elementor-widget-image-carousel) p,
.page-id-3292 .page-area .elementor-top-section:has(.elementor-widget-image-carousel) p {
  color: rgba(255,255,255,0.92) !important;
  text-shadow: 0 1px 6px rgba(0,0,0,0.30);
}

/* ─ Carousel widget container: dark card with gold top bar (fallback + extra depth) ─ */
.page-id-3304 .elementor-widget-image-carousel > .elementor-widget-container,
.page-id-3287 .elementor-widget-image-carousel > .elementor-widget-container,
.page-id-3284 .elementor-widget-image-carousel > .elementor-widget-container,
.page-id-3290 .elementor-widget-image-carousel > .elementor-widget-container,
.page-id-3292 .elementor-widget-image-carousel > .elementor-widget-container {
  background: rgba(0,0,0,0.22);
  border-radius: 16px;
  padding: 4px 4px 44px;
  box-shadow: 0 16px 50px rgba(0,0,0,0.45);
  position: relative;
  overflow: hidden;
}

/* Gold top accent bar on carousel widget — matches homepage hero gold border */
.page-id-3304 .elementor-widget-image-carousel > .elementor-widget-container::before,
.page-id-3287 .elementor-widget-image-carousel > .elementor-widget-container::before,
.page-id-3284 .elementor-widget-image-carousel > .elementor-widget-container::before,
.page-id-3290 .elementor-widget-image-carousel > .elementor-widget-container::before,
.page-id-3292 .elementor-widget-image-carousel > .elementor-widget-container::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--cpdt-gold) 0%, var(--cpdt-gold-lt) 60%, var(--cpdt-gold) 100%);
  border-radius: 16px 16px 0 0;
  z-index: 2;
}

/* ─ Individual slides: rounded, shadowed, hero-depth treatment ─ */
.page-id-3304 .elementor-widget-image-carousel .swiper-slide-inner,
.page-id-3287 .elementor-widget-image-carousel .swiper-slide-inner,
.page-id-3284 .elementor-widget-image-carousel .swiper-slide-inner,
.page-id-3290 .elementor-widget-image-carousel .swiper-slide-inner,
.page-id-3292 .elementor-widget-image-carousel .swiper-slide-inner {
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 28px rgba(0,0,0,0.38) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  transition: transform 0.30s ease, box-shadow 0.30s ease !important;
}

/* Active slide lifts slightly — same depth illusion as homepage hero slide */
.page-id-3304 .elementor-widget-image-carousel .swiper-slide.swiper-slide-active .swiper-slide-inner,
.page-id-3287 .elementor-widget-image-carousel .swiper-slide.swiper-slide-active .swiper-slide-inner,
.page-id-3284 .elementor-widget-image-carousel .swiper-slide.swiper-slide-active .swiper-slide-inner,
.page-id-3290 .elementor-widget-image-carousel .swiper-slide.swiper-slide-active .swiper-slide-inner,
.page-id-3292 .elementor-widget-image-carousel .swiper-slide.swiper-slide-active .swiper-slide-inner {
  box-shadow: 0 18px 48px rgba(0,0,0,0.55) !important;
  border-color: rgba(232,160,0,0.35) !important;
}

/* Images: same brightness/contrast as homepage hero images */
.page-id-3304 .elementor-widget-image-carousel .swiper-slide-image,
.page-id-3287 .elementor-widget-image-carousel .swiper-slide-image,
.page-id-3284 .elementor-widget-image-carousel .swiper-slide-image,
.page-id-3290 .elementor-widget-image-carousel .swiper-slide-image,
.page-id-3292 .elementor-widget-image-carousel .swiper-slide-image {
  filter: brightness(0.88) contrast(1.04) !important;
  border-radius: 12px !important;
  display: block;
  width: 100%;
  object-fit: cover;
}

/* Slider text/captions: keep white for readability over dark images */
.page-id-3304 .elementor-widget-image-carousel .elementor-image-carousel-caption,
.page-id-3287 .elementor-widget-image-carousel .elementor-image-carousel-caption,
.page-id-3284 .elementor-widget-image-carousel .elementor-image-carousel-caption,
.page-id-3290 .elementor-widget-image-carousel .elementor-image-carousel-caption,
.page-id-3292 .elementor-widget-image-carousel .elementor-image-carousel-caption,
.page-id-3304 .elementor-widget-image-carousel .swiper-slide h1,
.page-id-3287 .elementor-widget-image-carousel .swiper-slide h1,
.page-id-3284 .elementor-widget-image-carousel .swiper-slide h1,
.page-id-3290 .elementor-widget-image-carousel .swiper-slide h1,
.page-id-3292 .elementor-widget-image-carousel .swiper-slide h1,
.page-id-3304 .elementor-widget-image-carousel .swiper-slide h2,
.page-id-3287 .elementor-widget-image-carousel .swiper-slide h2,
.page-id-3284 .elementor-widget-image-carousel .swiper-slide h2,
.page-id-3290 .elementor-widget-image-carousel .swiper-slide h2,
.page-id-3292 .elementor-widget-image-carousel .swiper-slide h2,
.page-id-3304 .elementor-widget-image-carousel .swiper-slide h3,
.page-id-3287 .elementor-widget-image-carousel .swiper-slide h3,
.page-id-3284 .elementor-widget-image-carousel .swiper-slide h3,
.page-id-3290 .elementor-widget-image-carousel .swiper-slide h3,
.page-id-3292 .elementor-widget-image-carousel .swiper-slide h3,
.page-id-3304 .elementor-widget-image-carousel .swiper-slide p,
.page-id-3287 .elementor-widget-image-carousel .swiper-slide p,
.page-id-3284 .elementor-widget-image-carousel .swiper-slide p,
.page-id-3290 .elementor-widget-image-carousel .swiper-slide p,
.page-id-3292 .elementor-widget-image-carousel .swiper-slide p {
  color: #ffffff !important;
  text-shadow: 0 1px 6px rgba(0,0,0,0.45) !important;
}

/* ─ Navigation arrows: glassmorphism style matching homepage hero arrows ─ */
.page-id-3304 .elementor-widget-image-carousel .elementor-swiper-button,
.page-id-3287 .elementor-widget-image-carousel .elementor-swiper-button,
.page-id-3284 .elementor-widget-image-carousel .elementor-swiper-button,
.page-id-3290 .elementor-widget-image-carousel .elementor-swiper-button,
.page-id-3292 .elementor-widget-image-carousel .elementor-swiper-button {
  background: rgba(255,255,255,0.15) !important;
  border: 1.5px solid rgba(255,255,255,0.60) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  color: #ffffff !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  box-shadow: 0 4px 14px rgba(0,0,0,0.28) !important;
  transition: all var(--cpdt-transition) !important;
}

.page-id-3304 .elementor-widget-image-carousel .elementor-swiper-button:hover,
.page-id-3287 .elementor-widget-image-carousel .elementor-swiper-button:hover,
.page-id-3284 .elementor-widget-image-carousel .elementor-swiper-button:hover,
.page-id-3290 .elementor-widget-image-carousel .elementor-swiper-button:hover,
.page-id-3292 .elementor-widget-image-carousel .elementor-swiper-button:hover {
  background: var(--cpdt-gold) !important;
  border-color: var(--cpdt-gold) !important;
  color: #000000 !important;
  box-shadow: 0 6px 20px rgba(232,160,0,0.50) !important;
  transform: scale(1.08);
}

/* ─ Pagination dots: gold active pill + white inactive — matches homepage ─ */
.page-id-3304 .elementor-widget-image-carousel .swiper-pagination-bullet,
.page-id-3287 .elementor-widget-image-carousel .swiper-pagination-bullet,
.page-id-3284 .elementor-widget-image-carousel .swiper-pagination-bullet,
.page-id-3290 .elementor-widget-image-carousel .swiper-pagination-bullet,
.page-id-3292 .elementor-widget-image-carousel .swiper-pagination-bullet {
  width: 10px !important;
  height: 10px !important;
  background: rgba(255,255,255,0.40) !important;
  opacity: 1 !important;
  border-radius: 50% !important;
  transition: all 0.30s ease !important;
  margin: 0 4px !important;
}

.page-id-3304 .elementor-widget-image-carousel .swiper-pagination-bullet-active,
.page-id-3287 .elementor-widget-image-carousel .swiper-pagination-bullet-active,
.page-id-3284 .elementor-widget-image-carousel .swiper-pagination-bullet-active,
.page-id-3290 .elementor-widget-image-carousel .swiper-pagination-bullet-active,
.page-id-3292 .elementor-widget-image-carousel .swiper-pagination-bullet-active {
  background: var(--cpdt-gold) !important;
  width: 28px !important;
  border-radius: 5px !important;
  box-shadow: 0 0 8px rgba(232,160,0,0.65) !important;
}

/* Ensure swiper container has bottom room for pagination */
.page-id-3304 .elementor-widget-image-carousel .swiper,
.page-id-3287 .elementor-widget-image-carousel .swiper,
.page-id-3284 .elementor-widget-image-carousel .swiper,
.page-id-3290 .elementor-widget-image-carousel .swiper,
.page-id-3292 .elementor-widget-image-carousel .swiper {
  padding-bottom: 40px !important;
}

/* Remove the blank blue strip section above slider on city pages. */
.page-id-3304 .page-area .elementor-top-section:first-child,
.page-id-3287 .page-area .elementor-top-section:first-child,
.page-id-3284 .page-area .elementor-top-section:first-child,
.page-id-3290 .page-area .elementor-top-section:first-child,
.page-id-3292 .page-area .elementor-top-section:first-child {
  min-height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

.page-id-3304 .page-area .elementor-top-section:first-child::before,
.page-id-3287 .page-area .elementor-top-section:first-child::before,
.page-id-3284 .page-area .elementor-top-section:first-child::before,
.page-id-3290 .page-area .elementor-top-section:first-child::before,
.page-id-3292 .page-area .elementor-top-section:first-child::before {
  content: none !important;
}

/* ─ Mobile: compact carousel controls ─ */
@media (max-width: 768px) {
  .page-id-3304 .elementor-widget-image-carousel .elementor-swiper-button,
  .page-id-3287 .elementor-widget-image-carousel .elementor-swiper-button,
  .page-id-3284 .elementor-widget-image-carousel .elementor-swiper-button,
  .page-id-3290 .elementor-widget-image-carousel .elementor-swiper-button,
  .page-id-3292 .elementor-widget-image-carousel .elementor-swiper-button {
    width: 36px !important;
    height: 36px !important;
  }

  .page-id-3304 .page-area .elementor-top-section:has(.elementor-widget-image-carousel),
  .page-id-3287 .page-area .elementor-top-section:has(.elementor-widget-image-carousel),
  .page-id-3284 .page-area .elementor-top-section:has(.elementor-widget-image-carousel),
  .page-id-3290 .page-area .elementor-top-section:has(.elementor-widget-image-carousel),
  .page-id-3292 .page-area .elementor-top-section:has(.elementor-widget-image-carousel) {
    padding-top: 40px !important;
    padding-bottom: 44px !important;
  }
}

/* Etobicoke: remove extra blue backdrop from top slider section */
.page-id-3284 .page-area .elementor-top-section:has(.elementor-widget-image-carousel) {
  background: transparent !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
}

.page-id-3284 .page-area .elementor-top-section:has(.elementor-widget-image-carousel)::after {
  content: none !important;
}

.page-id-3284 .elementor-widget-image-carousel > .elementor-widget-container {
  background: transparent !important;
  box-shadow: none !important;
}

.page-id-3284 .elementor-widget-image-carousel > .elementor-widget-container::before {
  content: none !important;
}

