/* =============================================================
   CORE CERTIFIED — Shared Stylesheet
   assets/core-styles.css
   ============================================================= */

@import url('./fonts/poppins.css');

/* RESET */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
button { font-family: inherit; cursor: pointer; }

body {
  font-family: 'Poppins', sans-serif;
  background: #fff;
  color: #111827;
  line-height: 1.6;
  overflow-x: hidden;
}

/* INNER CONSTRAINT */
.ci-inner {
  width: 90vw;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
}

/* ─── NAVIGATION ─────────────────────────────────────────── */
.ci-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0;
  height: 76px;
  border-bottom: 1px solid var(--cc-border-dark);
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 100;
}

.ci-nav .ci-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 76px;
  position: relative;
}

.ci-nav-brand {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
}

.ci-nav-logo-img { height: 40px; width: auto; display: block; }

.ci-nav-strapline {
  font-size: 14px;
  color: #202021;
  border-left: 1px solid var(--cc-border-dark);
  padding-left: 16px;
  white-space: nowrap;
}

.ci-nav-links { display: flex; gap: 32px; list-style: none; }

.ci-nav-links a {
  font-size: 14px;
  font-weight: 500;
  color: #1a1b1b;
  text-decoration: none;
  white-space: nowrap;
}

.ci-nav-links a:hover,
.ci-nav-links a.active { color: var(--cc-primary); font-weight: 700; }

.ci-nav-reg {
  font-size: 13px;
  font-weight: 600;
  padding: 10px 24px;
  background: var(--cc-navy);
  color: #fff;
  border: none;
  cursor: pointer;
  white-space: nowrap;
  text-decoration: none;
  display: inline-block;
  flex-shrink: 0;
}

.ci-nav-reg:hover { background: #162d4a; color: #fff; }

/* HAMBURGER — hidden on desktop */
.ci-nav-hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  background: none;
  border: 1px solid var(--cc-border-dark);
  cursor: pointer;
  padding: 8px;
  gap: 5px;
}

.ci-nav-hamburger span {
  display: block;
  width: 22px;
  height: 2px;
  background: #1a1b1b;
  transition: all 0.25s;
}

/* ─── TYPOGRAPHY TOKENS ──────────────────────────────────── */
.ci-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  color: var(--cc-primary);
  text-transform: uppercase;
  margin-bottom: 12px;
}

.ci-title {
  font-size: 40px;
  font-weight: 700;
  color: var(--cc-navy);
  line-height: 1.2;
  margin-bottom: 16px;
}

.ci-rule { width: 40px; height: 3px; background: var(--cc-primary); margin-bottom: 24px; }

.ci-body-lead {
  font-size: 17px;
  color: var(--cc-navy);
  line-height: 1.75;
  margin-bottom: 16px;
}

.ci-body {
  font-size: 17px;
  color: #0c0c0c;
  line-height: 1.8;
  margin-bottom: 14px;
}

.ci-body:last-child { margin-bottom: 0; }

.ci-outcomes {
  list-style: none;
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ci-outcomes li {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  font-size: 15px;
  color: var(--cc-text);
  line-height: 1.6;
}

.ci-outcomes li::before {
  content: '';
  min-width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--cc-primary);
  margin-top: 8px;
  flex-shrink: 0;
}

/* ─── BUTTONS ────────────────────────────────────────────── */
.ci-btn-teal {
  font-size: 13px; font-weight: 600;
  padding: 14px 28px;
  background: var(--cc-primary); color: #fff;
  border: none; cursor: pointer;
  display: inline-block; text-decoration: none;
}

.ci-btn-teal:hover { background: var(--cc-primary-dark); color: #fff; }

.ci-btn-ghost {
  font-size: 13px; font-weight: 500;
  padding: 14px 28px;
  background: transparent;
  color: rgba(255,255,255,0.85);
  border: 1px solid rgba(255,255,255,0.35);
  cursor: pointer; display: inline-block; text-decoration: none;
}

.ci-btn-ghost:hover { background: rgba(255,255,255,0.08); color: #fff; }

.ci-btn-navy {
  font-size: 13px; font-weight: 600;
  padding: 14px 28px;
  background: var(--cc-navy); color: #fff;
  border: none; cursor: pointer;
  display: inline-block; text-decoration: none;
}

.ci-btn-navy:hover { background: #162d4a; color: #fff; }

/* ─── PAGE BANNER ────────────────────────────────────────── */
.ci-page-banner {
  background: var(--cc-navy);
  padding: 88px 0 80px;
  border-bottom: 4px solid var(--cc-primary);
}

.ci-page-banner-kicker {
  font-size: 12px; font-weight: 700;
  letter-spacing: 3px; color: var(--cc-primary);
  text-transform: uppercase; margin-bottom: 16px;
}

.ci-page-banner-title {
  font-size: 52px; font-weight: 700;
  color: #fff; line-height: 1.1; margin-bottom: 20px;
}

.ci-page-banner-body {
  font-size: 18px;
  color: rgba(255,255,255,0.75);
  line-height: 1.8; max-width: 680px;
}

/* ─── CTA BAND (shared) ──────────────────────────────────── */
.ci-cta-band {
  background: var(--cc-navy);
  padding: 80px 0;
  border-bottom: 4px solid var(--cc-primary);
}

.ci-cta-band .ci-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 64px;
}

.ci-cta-content { flex: 1; }

.ci-cta-content .ci-title {
  color: #fff;
  margin-bottom: 12px;
}

.ci-cta-content .ci-body-lead {
  color: rgba(255,255,255,0.75);
  margin-bottom: 0;
}

.ci-cta-actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex-shrink: 0;
  min-width: 220px;
}

.ci-cta-actions a { text-align: center; }

/* ─── STATS BAR ──────────────────────────────────────────── */
.ci-stats { background: var(--cc-primary); padding: 56px 0; }

.ci-stats .ci-stats-inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  width: 90vw;
  max-width: 1400px;
  margin: 0 auto;
}

.ci-stat {
  padding: 0 40px;
  text-align: center;
  border-right: 1px solid rgba(255,255,255,0.2);
}

.ci-stat:last-child { border-right: none; }

.ci-stat-num {
  font-size: 52px; font-weight: 700;
  color: #fff; line-height: 1; margin-bottom: 8px;
}

.ci-stat-label {
  font-size: 12px;
  color: rgba(255,255,255,0.85);
  font-weight: 600; letter-spacing: 1px; text-transform: uppercase;
}

/* ─── FOOTER ─────────────────────────────────────────────── */
.ci-footer { background: #0D1F35; padding: 40px 0; }

.ci-footer .ci-footer-inner {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: center;
  gap: 32px;
  width: 90vw;
  max-width: 1400px;
  margin: 0 auto;
}

.ci-footer-logo { height: 34px; width: auto; display: block; opacity: 0.85; }
.ci-footer-sub { font-size: 12px; color: var(--cc-text-muted); margin-top: 8px; }

.ci-footer-nav {
  display: flex; gap: 24px;
  justify-content: center; flex-wrap: wrap;
}

.ci-footer-nav a { font-size: 12px; color: var(--cc-text-muted); text-decoration: none; }
.ci-footer-nav a:hover { color: var(--cc-accent); }

.ci-footer-legal {
  text-align: right;
  font-size: 12px; color: var(--cc-text); line-height: 1.7;
}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE — 14-INCH LAPTOP NAV COLLAPSE (≤1280px)
   Hamburger menu activates here for all screen ≤1280px
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 1280px) {

  /* Hide strapline to save space */
  .ci-nav-strapline { display: none; }

  /* Show hamburger */
  .ci-nav-hamburger { display: flex; }

  /* Collapse nav links into dropdown */
  .ci-nav-links {
    display: none;
    position: absolute;
    top: 76px;
    left: 0;
    width: 100%;
    background: #fff;
    border-bottom: 3px solid var(--cc-primary);
    flex-direction: column;
    gap: 0;
    padding: 8px 0 16px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    z-index: 99;
  }

  .ci-nav-links li { border-bottom: 1px solid #F0EDE8; }
  .ci-nav-links li:last-child { border-bottom: none; }
  .ci-nav-links a { display: block; padding: 16px 5vw; font-size: 15px; font-weight: 500; }
  .ci-nav-links.open { display: flex; }
}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE — TABLET (≤1024px)
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {

  .ci-title { font-size: 34px; }
  .ci-page-banner-title { font-size: 42px; }

  .ci-stats .ci-stats-inner { grid-template-columns: repeat(2, 1fr); }
  .ci-stat {
    border-right: none;
    border-bottom: 1px solid rgba(255,255,255,0.2);
    padding: 32px 20px;
  }
  .ci-stat:nth-child(odd) { border-right: 1px solid rgba(255,255,255,0.2); }
  .ci-stat:nth-child(3),
  .ci-stat:nth-child(4) { border-bottom: none; }

  .ci-footer .ci-footer-inner { grid-template-columns: 1fr 1fr; }
  .ci-footer-legal { grid-column: 1 / -1; text-align: left; }

  /* CTA Band */
  .ci-cta-band .ci-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
  }
  .ci-cta-actions {
    flex-direction: row;
    flex-wrap: wrap;
    min-width: unset;
    width: 100%;
  }
  .ci-cta-actions a { flex: 1; min-width: 180px; }
}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE — MOBILE (≤768px)
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 768px) {

  .ci-nav-reg { padding: 8px 14px; font-size: 12px; }

  /* TYPOGRAPHY */
  .ci-title { font-size: 26px; }
  .ci-body-lead { font-size: 16px; }
  .ci-body { font-size: 15px; }

  .ci-page-banner { padding: 52px 0 44px; }
  .ci-page-banner-title { font-size: 28px; }
  .ci-page-banner-body { font-size: 16px; }

  /* STATS */
  .ci-stats { padding: 40px 0; }
  .ci-stat-num { font-size: 40px; }

  /* FOOTER */
  .ci-footer { padding: 40px 0; }
  .ci-footer .ci-footer-inner {
    grid-template-columns: 1fr;
    gap: 24px;
    text-align: center;
  }
  .ci-footer-nav { justify-content: center; }
  .ci-footer-legal { grid-column: 1; text-align: center; }

  /* CTA Band */
  .ci-cta-band { padding: 56px 0; }
  .ci-cta-actions { flex-direction: column; }
  .ci-cta-actions a { flex: unset; width: 100%; }
}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE — SMALL MOBILE (≤480px)
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 480px) {

  .ci-inner { width: 94vw; }
  .ci-nav-logo-img { height: 30px; }
  .ci-title { font-size: 22px; }
  .ci-page-banner-title { font-size: 24px; }

  .ci-stats .ci-stats-inner { grid-template-columns: 1fr 1fr; }
  .ci-stat { padding: 24px 12px; }
  .ci-stat-num { font-size: 36px; }
}

/* ─── NAV: ACTIONS WRAPPER ───────────────────────────────────── */

.ci-nav-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

/* ─── NAV: LOGIN BUTTON ──────────────────────────────────────── */

.ci-nav-login {
  font-size: 13px;
  font-weight: 600;
  color: var(--cc-navy);
  text-decoration: none;
  padding: 10px 16px;
  border: 1.5px solid var(--cc-border-dark);
  background: transparent;
  white-space: nowrap;
  transition: border-color 0.15s, color 0.15s;
  display: inline-block;
}

.ci-nav-login:hover {
  border-color: var(--cc-primary);
  color: var(--cc-primary);
}

/* ─── NAV: LOGGED-IN USER ────────────────────────────────────── */

.ci-nav-user {
  position: relative;
  display: flex;
  align-items: center;
}

.ci-nav-user-link {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: var(--cc-navy);
  font-size: 13px;
  font-weight: 600;
  padding: 6px 12px 6px 6px;
  border: 1.5px solid var(--cc-border-dark);
  background: #fff;
  transition: border-color 0.15s;
  cursor: pointer;
}

.ci-nav-user-link:hover {
  border-color: var(--cc-primary);
  color: var(--cc-primary);
}

.ci-nav-user-avatar {
  width: 30px;
  height: 30px;
  background-color: var(--cc-navy);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.ci-nav-user-name {
  white-space: nowrap;
}

/* Dropdown */
.ci-nav-user-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  min-width: 180px;
  background: #fff;
  border: 1.5px solid var(--cc-border-dark);
  border-top: 3px solid var(--cc-primary);
  z-index: 200;
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}

.ci-nav-user:hover .ci-nav-user-dropdown,
.ci-nav-user:focus-within .ci-nav-user-dropdown {
  display: block;
}

.ci-nav-user-dropdown-item {
  display: block;
  padding: 12px 16px;
  font-size: 13px;
  font-weight: 500;
  color: var(--cc-navy);
  text-decoration: none;
  border-bottom: 1px solid #F0EDE8;
  transition: background 0.1s, color 0.1s;
}

.ci-nav-user-dropdown-item:last-child {
  border-bottom: none;
}

.ci-nav-user-dropdown-item:hover {
  background: var(--cc-cream);
  color: var(--cc-primary);
}

.ci-nav-user-dropdown-item--logout {
  color: #666;
  font-size: 12px;
}

.ci-nav-user-dropdown-item--logout:hover {
  color: #c0392b;
  background: #fff5f5;
}

/* ─── MOBILE: hide login/register in hamburger context ───────── */

@media ( max-width: 900px ) {
  .ci-nav-actions {
    gap: 8px;
  }
  .ci-nav-login {
    display: none;
  }
  .ci-nav-user-name {
    display: none;
  }
  .ci-nav-user-link {
    padding: 6px;
    border: none;
    background: transparent;
  }
  .ci-nav-user-avatar {
    width: 34px;
    height: 34px;
    font-size: 13px;
  }
}

/* ═══════════════════════════════════════════════════════════
   MOBILE DRAWER
   ═══════════════════════════════════════════════════════════ */

.ci-mobile-drawer {
  position: fixed;
  top: 76px;
  left: 0;
  right: 0;
  bottom: 0;
  background: #ffffff;
  z-index: 98;
  overflow-y: auto;
  transform: translateX(-100%);
  transition: transform 0.3s ease;
}

.ci-mobile-drawer.is-open {
  transform: translateX(0);
}

.ci-mobile-drawer-inner {
  padding: 24px 5vw 48px;
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* Mobile nav links */
.ci-mobile-nav-links {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  border-top: 1px solid #F0EDE8;
}

.ci-mobile-nav-links li {
  border-bottom: 1px solid #F0EDE8;
}

.ci-mobile-nav-links a {
  display: block;
  padding: 16px 0;
  font-size: 16px;
  font-weight: 500;
  color: var(--cc-navy);
  text-decoration: none;
  transition: color 0.15s;
}

.ci-mobile-nav-links a:hover {
  color: var(--cc-primary);
}

/* Auth section at bottom of drawer */
.ci-mobile-drawer-auth {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-top: 8px;
  border-top: 2px solid var(--cc-primary);
  margin-top: 8px;
}

.ci-mobile-drawer-user {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
}

.ci-mobile-drawer-username {
  font-size: 15px;
  font-weight: 600;
  color: var(--cc-navy);
}

.ci-mobile-drawer-btn {
  display: block;
  padding: 14px 20px;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: background 0.15s, color 0.15s;
}

.ci-mobile-drawer-btn--primary {
  background: var(--cc-navy);
  color: #ffffff;
}

.ci-mobile-drawer-btn--primary:hover {
  background: var(--cc-primary);
  color: #ffffff;
}

.ci-mobile-drawer-btn--ghost {
  background: transparent;
  color: var(--cc-navy);
  border: 1.5px solid var(--cc-border-dark);
}

.ci-mobile-drawer-btn--ghost:hover {
  border-color: var(--cc-primary);
  color: var(--cc-primary);
}

/* Overlay behind drawer */
.ci-drawer-overlay {
  position: fixed;
  inset: 76px 0 0 0;
  background: rgba(17, 24, 39, 0.4);
  z-index: 97;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.ci-drawer-overlay.is-open {
  opacity: 1;
}

/* Animated hamburger bars */
.ci-nav-hamburger.is-open span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.ci-nav-hamburger.is-open span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}

.ci-nav-hamburger.is-open span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.ci-nav-hamburger span {
  transition: transform 0.25s ease, opacity 0.2s ease;
}

/* ── Updated user dropdown (now uses JS hidden attr) ─────── */

.ci-nav-user-link {
  background: none;
  border: 1.5px solid var(--cc-border-dark);
  cursor: pointer;
  font-family: inherit;
}

.ci-nav-user-caret {
  font-size: 10px;
  color: #666;
  margin-left: 2px;
}

/* Prevent drawer links showing on desktop */
@media ( min-width: 1281px ) {
  .ci-mobile-drawer,
  .ci-drawer-overlay {
    display: none !important;
  }
  .ci-nav-hamburger {
    display: none;
  }
}

/* On mobile hide the desktop ci-nav-links (drawer replaces them) */
@media ( max-width: 1280px ) {
  .ci-nav-links {
    display: none !important; /* drawer handles mobile nav */
  }
}

/* ═══════════════════════════════════════════════════════════
   DASHBOARD — MOBILE IMPROVEMENTS
   ═══════════════════════════════════════════════════════════ */

@media ( max-width: 768px ) {

  /* Progress tracker — stack vertically on mobile */
  .cc-progress {
    flex-direction: column !important;
    gap: 0 !important;
    align-items: flex-start !important;
  }

  .cc-progress-step {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px 0 !important;
    width: 100% !important;
    border-bottom: 1px solid #F0EDE8 !important;
    position: relative !important;
  }

  .cc-progress-step:last-child {
    border-bottom: none !important;
  }

  .cc-progress-dot {
    flex-shrink: 0 !important;
    width: 14px !important;
    height: 14px !important;
  }

  /* Next step panel — full width, comfortable padding */
  .cc-next-step__panel {
    padding: 24px !important;
  }

  .cc-next-step__title {
    font-size: 20px !important;
  }

  /* Dashboard meta rows — stack label above value */
  .cc-meta-row {
    flex-direction: column !important;
    gap: 4px !important;
    padding: 12px 0 !important;
  }

  .cc-meta-key {
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: #999 !important;
  }

  .cc-meta-val {
    font-size: 15px !important;
  }

  /* Dashboard greeting */
  .cc-dashboard-greeting {
    font-size: 22px !important;
  }

  /* Delivery method buttons — stack vertically */
  .cc-delivery-options {
    flex-direction: column !important;
    gap: 12px !important;
  }

  .cc-delivery-option {
    width: 100% !important;
  }

  /* Buttons — full width on mobile */
  .cc-btn {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    padding: 14px 20px !important;
  }

  /* Dashboard header padding */
  .cc-dashboard {
    padding: 24px 16px !important;
  }

  /* Dashboard cert label */
  .cc-dashboard-cert {
    font-size: 14px !important;
  }

  /* Footer links */
  .cc-dashboard-footer {
    margin-top: 32px !important;
    text-align: center !important;
  }
}

@media ( max-width: 480px ) {
  .cc-next-step__panel {
    padding: 20px 16px !important;
  }

  .cc-next-step__title {
    font-size: 18px !important;
  }

  .cc-dashboard-greeting {
    font-size: 20px !important;
  }
}


/* ═══════════════════════════════════════════════════════════
   FOOTER — REDESIGNED
   ═══════════════════════════════════════════════════════════ */

/* Pre-footer CTA strip */
.ci-footer-cta {
  padding: 48px 0;
}

.ci-footer-cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}

.ci-footer-cta-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.7);
  margin-bottom: 8px;
}

.ci-footer-cta-title {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
}

.ci-footer-cta-btn {
  display: inline-block;
  padding: 14px 32px;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  transition: opacity 0.15s;
}

.ci-footer-cta-btn:hover {
  opacity: 0.88;
}

/* Main footer grid */
.ci-footer-main {
  padding: 56px 0 48px;
}

.ci-footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 48px;
  align-items: start;
}

/* Brand col */
.ci-footer-logo {
  height: 34px;
  width: auto;
  display: block;
  opacity: 0.85;
  margin-bottom: 12px;
}

.ci-footer-tagline {
  font-size: 12px;
  line-height: 1.6;
  margin-bottom: 20px;
}

/* Social icons */
.ci-footer-social {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.ci-social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  color: var(--cc-text-muted);
  text-decoration: none;
  transition: color 0.15s;
  border: 1px solid #1a2e46;
  border-radius: 2px;
}

.ci-social-link:hover {
  color: var(--cc-accent);
  border-color: var(--cc-accent);
}

/* Link columns */
.ci-footer-col-heading {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: rgba(255,255,255,0.5);
  margin-bottom: 20px;
}

.ci-footer-link-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ci-footer-link-list a {
  font-size: 13px;
  color: var(--cc-text-muted);
  text-decoration: none;
  transition: color 0.15s;
  display: block;
}

.ci-footer-link-list a:hover {
  color: var(--cc-accent);
}

/* Contact col */
.ci-footer-contact {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ci-footer-contact-item {
  font-size: 13px;
  color: var(--cc-text-muted);
  text-decoration: none;
  display: flex;
  gap: 8px;
  align-items: flex-start;
  line-height: 1.5;
  transition: color 0.15s;
}

.ci-footer-address {
  display: block;
  font-size: 12px;
  line-height: 1.7;
}

/* Legal bar */
.ci-footer-legal-bar {
  padding: 16px 0;
  border-top: 1px solid rgba(255,255,255,0.04);
}

.ci-footer-legal-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}

.ci-footer-legal-text {
  font-size: 11px;
  line-height: 1.6;
}

.ci-footer-legal-links {
  display: flex;
  gap: 20px;
  flex-shrink: 0;
}

.ci-footer-legal-links a {
  font-size: 11px;
  color: inherit;
  text-decoration: none;
  opacity: 0.6;
  transition: opacity 0.15s;
}

.ci-footer-legal-links a:hover {
  opacity: 1;
}

/* Footer responsive */
@media (max-width: 1024px) {
  .ci-footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }
  .ci-footer-brand-col {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 32px;
    align-items: start;
  }
  .ci-footer-cta-title { font-size: 22px; }
}

@media (max-width: 768px) {
  .ci-footer-cta-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }
  .ci-footer-cta-btn { width: 100%; text-align: center; }
  .ci-footer-cta-title { font-size: 20px; }

  .ci-footer-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .ci-footer-brand-col {
    grid-column: 1;
    display: block;
  }
  .ci-footer-legal-inner {
    flex-direction: column;
    gap: 12px;
    text-align: center;
  }
  .ci-footer-legal-links {
    justify-content: center;
  }
}

@media (max-width: 480px) {
  .ci-footer-main { padding: 40px 0 32px; }
  .ci-footer-cta { padding: 36px 0; }
}
