/* ============================================================
   Ambition CME — mobile / responsive layer
   Loaded after cme.css. Keeps the exact Ambition Health visual
   system; collapses layout for phones & tablets.
   ============================================================ */

/* hamburger toggle — hidden on desktop */
.sp-site .cme-navtoggle { display: none; }
.sp-site .cme-mnav { display: none; }

/* ---------------- TABLET / NAV COLLAPSE (<= 920px) ---------------- */
@media (max-width: 920px) {
  .sp-site .sp-nav .links { display: none; }
  .sp-site .sp-nav .right .signin,
  .sp-site .sp-nav .right .sp-btn { display: none; }
  .sp-site .cme-navtoggle {
    display: inline-flex; align-items: center; justify-content: center;
    width: 40px; height: 40px; border-radius: 10px;
    border: 1px solid var(--rule-mid); background: transparent;
    color: var(--ink); cursor: pointer; padding: 0;
  }
  .sp-site .cme-navtoggle:hover { background: rgba(14,15,18,0.04); }
  .sp-site .sp-nav-inner { padding: 10px 14px; }
  .sp-site .sp-nav.sp-nav-pill .sp-nav-inner { max-width: none; }

  /* mobile menu panel */
  .sp-site .cme-nav-open .cme-mnav,
  .sp-site .cme-mnav:not([hidden]) {
    display: flex; flex-direction: column; gap: 2px;
    margin: 8px 14px 0;
    padding: 12px;
    background: rgba(244,239,227,0.97);
    backdrop-filter: blur(18px) saturate(180%);
    -webkit-backdrop-filter: blur(18px) saturate(180%);
    border: 1px solid var(--rule-mid);
    border-radius: 16px;
    box-shadow: 0 18px 44px -16px rgba(14,15,18,0.22);
  }
  .sp-site .cme-mnav[hidden] { display: none; }
  .sp-site .cme-mnav a {
    font-family: var(--font-mono); font-size: 12px;
    letter-spacing: 0.04em; text-transform: uppercase;
    color: var(--ink-mute); text-decoration: none;
    padding: 12px 12px; border-radius: 9px; min-height: 44px;
    display: flex; align-items: center;
  }
  .sp-site .cme-mnav a:hover { background: rgba(14,15,18,0.04); color: var(--ink); }
  .sp-site .cme-mnav .cme-mnav-divider { height: 1px; background: var(--rule); margin: 8px 4px; }
  .sp-site .cme-mnav .cme-mnav-signin { color: var(--ink); }
  .sp-site .cme-mnav .sp-btn { margin-top: 6px; text-transform: none; font-family: var(--font-sans); min-height: 46px; }
}

/* ---------------- GENERAL MOBILE (<= 760px) ---------------- */
@media (max-width: 760px) {
  /* promo bar — let it breathe / hide secondary copy */
  .sp-site .sp-promo { flex-wrap: wrap; gap: 8px; padding: 9px 14px; font-size: 10.5px; line-height: 1.4; }
  .sp-site .sp-promo .copy { display: none; }

  /* section rhythm */
  .sp-site .sp-section { padding: 56px 0; }
  .sp-site .sp-section.pad-m { padding: 48px 0; }
  .sp-site .sp-wrap { padding: 0 20px; }

  /* section heads stack */
  .sp-site .sp-section-head,
  .sp-site .sp-moat .head { grid-template-columns: 1fr; gap: 20px; }
  .sp-site .sp-section-head .r,
  .sp-site .sp-moat .head .r { justify-self: start; max-width: none; padding-bottom: 0; }
  .sp-site .sp-section-head h2 { font-size: clamp(32px, 9vw, 44px); }

  /* every multi-column grid -> single column */
  .sp-site .cme-course-grid,
  .sp-site .cme-course-grid.cols-2,
  .sp-site .cme-trio,
  .sp-site .cme-rolegrid,
  .sp-site .cme-disclosures,
  .sp-site .cme-stats,
  .sp-site .sp-trust .grid,
  .sp-site .sp-hero-proof,
  .sp-site .sp-moat-tiles,
  .sp-site .sp-who,
  .sp-site .sp-pricing,
  .sp-site .sp-how,
  .sp-site .cme-pathway { grid-template-columns: 1fr !important; }

  /* any inline-styled split layout opts in via .cme-split */
  .sp-site .cme-split { grid-template-columns: 1fr !important; }
  .sp-site .cme-split > * { position: static !important; }

  /* trust / moat / who cell borders -> simple stacked dividers */
  .sp-site .sp-trust .cell,
  .sp-site .sp-hero-proof .item,
  .sp-site .sp-moat-tile,
  .sp-site .sp-who .card,
  .sp-site .cme-pstep {
    border-left: none !important; padding-left: 0 !important;
    border-top: 1px solid var(--rule); padding-top: 22px; padding-bottom: 4px;
  }
  .sp-site .sp-trust .cell { border-top-color: rgba(244,239,227,0.12); }
  .sp-site .sp-moat-tile { border-top-color: rgba(244,239,227,0.1); }
  .sp-site .sp-hero-proof .item:first-child,
  .sp-site .sp-trust .cell:first-child,
  .sp-site .sp-who .card:first-child,
  .sp-site .cme-pstep:first-child { border-top: none; }

  /* hero */
  .sp-site .cme-hero { padding: 32px 0 48px; }
  .sp-site .cme-hero-grid { grid-template-columns: 1fr; gap: 32px; }
  .sp-site .cme-hero-copy h1 { font-size: clamp(34px, 10vw, 48px); }
  .sp-site .cme-hero-copy .ctas .sp-btn { flex: 1; justify-content: center; }
  .sp-site .sp-final h2 { font-size: clamp(40px, 13vw, 72px); }
  .sp-site .sp-final .ctas { flex-direction: column; }
  .sp-site .sp-final .ctas .sp-btn { width: 100%; justify-content: center; }

  /* claim boundary -> stack claim header + rows */
  .sp-site .cme-claim .cl-claim { flex-direction: column; gap: 12px; }
  .sp-site .cme-claim .cl-risk { flex-direction: row; align-items: center; }
  .sp-site .cme-claim .cl-row { grid-template-columns: 1fr; gap: 4px; }

  /* evidence card grid -> single col cells stay 2 (small ok) */
  .sp-site .cme-evi .egrid { grid-template-columns: 1fr 1fr; }

  /* certificate */
  .sp-site .cme-cert { padding: 30px 24px; }
  .sp-site .cme-cert .cname { font-size: 28px; }
  .sp-site .cme-cert .cmeta-grid { grid-template-columns: 1fr 1fr; gap: 14px 0; }
  .sp-site .cme-cert .cmeta-grid .cm:nth-child(3) { border-left: none; padding-left: 0; }
  .sp-site .cme-cert .seal { width: 60px; height: 60px; top: 24px; right: 24px; }

  /* footer */
  .sp-site .sp-footer .row1 { grid-template-columns: 1fr 1fr; gap: 28px; }
  .sp-site .sp-footer .brand-col { grid-column: 1 / -1; }
  .sp-site .sp-footer .row2 { flex-direction: column; align-items: flex-start; gap: 10px; }
  .sp-site .sp-footer .row2 .legal { margin-left: 0; }

  /* faq paddings */
  .sp-site .sp-faq-item .row { grid-template-columns: 34px 1fr 30px; gap: 12px; }
  .sp-site .sp-faq-item .q { font-size: 18px; }
  .sp-site .sp-faq-item .body p { padding-left: 46px; padding-right: 0; }

  /* tap targets */
  .sp-site .sp-btn { min-height: 44px; }
  .sp-site .cme-filter { min-height: 40px; }

  /* ----- APP SHELL (dashboard / certificate) ----- */
  .sp-site .cme-app { grid-template-columns: 1fr; }
  .sp-site .cme-side {
    position: static; height: auto; flex-direction: row; align-items: center;
    overflow-x: auto; gap: 4px; padding: 10px 14px;
    border-right: none; border-bottom: 1px solid var(--rule);
  }
  .sp-site .cme-side .sb-brand { border: none; margin: 0 8px 0 0; padding: 0 8px 0 0; border-right: 1px solid var(--rule); flex-shrink: 0; }
  .sp-site .cme-side .sb-group { display: none; }
  .sp-site .cme-side .sb-item { padding: 8px 12px; white-space: nowrap; flex-shrink: 0; min-height: 40px; }
  .sp-site .cme-side .sb-item span { white-space: nowrap; }
  .sp-site .cme-side .sb-item .badge { display: none; }
  .sp-site .cme-side .sb-foot { display: none; }
  .sp-site .cme-page { padding: 24px 18px 60px; }
  .sp-site .cme-page-head h1 { font-size: 26px; }
  .sp-site .cme-topbar { padding: 0 18px; }
  .sp-site .cme-topbar .crumbs { font-size: 12px; }

  /* tables -> horizontal scroll */
  .sp-site .cme-card .cme-table,
  .sp-site .cme-table { display: block; }
  .sp-site .cme-table thead { display: none; }
  .sp-site .cme-table tbody, .sp-site .cme-table tr { display: block; }
  .sp-site .cme-table tr { padding: 12px 14px; border-bottom: 1px solid var(--rule); }
  .sp-site .cme-table td { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; border: none; text-align: right; }
  .sp-site .cme-table td .av { margin-right: 6px; }
}

/* ---------------- MODULE LEARNING SCREEN (<= 980px) ---------------- */
@media (max-width: 980px) {
  .sp-site .cme-module-grid { grid-template-columns: 1fr !important; }
  .sp-site .cme-module-grid > aside {
    position: static !important; height: auto !important; max-height: none !important;
    border-left: none !important; border-right: none !important;
    border-bottom: 1px solid var(--rule);
  }
  .sp-site .cme-module-grid > main { max-width: none !important; }
}

/* ---------------- SMALL PHONES (<= 480px) ---------------- */
@media (max-width: 480px) {
  .sp-site .cme-evi .egrid { grid-template-columns: 1fr; }
  .sp-site .cme-cert .cmeta-grid { grid-template-columns: 1fr; }
  .sp-site .cme-cert .cmeta-grid .cm { border-left: none !important; padding-left: 0 !important; padding-top: 12px; border-top: 1px solid var(--rule-mid); }
  .sp-site .cme-cert .cmeta-grid .cm:first-child { border-top: none; }
  .sp-site .sp-footer .row1 { grid-template-columns: 1fr; }
  .sp-site .cme-profile .pf-meta { grid-template-columns: 1fr; }
  .sp-site .cme-profile .pf-m { border-left: none; padding-left: 0; padding-top: 10px; border-top: 1px solid var(--rule); }
  .sp-site .cme-profile .pf-m:first-child { border-top: none; }
}
