/* CertsPrime — public design system */

/* Self-hosted fonts (latin + latin-ext). Avoids render-blocking Google Fonts. */
@font-face {
  font-family: "Sora";
  font-style: normal;
  font-weight: 500 700;
  font-display: optional;
  src: url("../fonts/sora-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Sora";
  font-style: normal;
  font-weight: 500 700;
  font-display: optional;
  src: url("../fonts/sora-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 400 700;
  font-display: optional;
  src: url("../fonts/source-sans-3-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 400 700;
  font-display: optional;
  src: url("../fonts/source-sans-3-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --cp-ink: #0B1F3A;
  --cp-ink-soft: #163357;
  --cp-paper: #F4F7FB;
  --cp-white: #FFFFFF;
  --cp-teal: #0F766E;
  --cp-teal-dark: #0B5F59;
  --cp-signal: #F59E0B;
  --cp-line: #D7E0EA;
  --cp-muted: #5B6B7C;
  --cp-danger: #B42318;
  --cp-success: #067647;
  --cp-radius: 12px;
  --cp-radius-sm: 8px;
  --cp-shadow: 0 10px 30px rgba(11, 31, 58, 0.08);
  --cp-font-display: "Sora", system-ui, sans-serif;
  --cp-font-body: "Source Sans 3", system-ui, sans-serif;
  --cp-max: 1180px;
  --cp-header-h: 84px;
  --cp-coupon-h: 48px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; height: 100%; }
body.cp-body {
  margin: 0;
  font-family: var(--cp-font-body);
  color: var(--cp-ink);
  background:
    linear-gradient(180deg, rgba(15,118,110,0.04), transparent 280px),
    repeating-linear-gradient(0deg, transparent, transparent 31px, rgba(11,31,58,0.035) 32px),
    repeating-linear-gradient(90deg, transparent, transparent 31px, rgba(11,31,58,0.035) 32px),
    var(--cp-paper);
  line-height: 1.55;
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}
/* Grow main so the footer sits at the device bottom on short pages */
#cp-main {
  flex: 1 0 auto;
  width: 100%;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--cp-teal); text-decoration: none; }
a:hover { color: var(--cp-teal-dark); }
h1,h2,h3,h4,h5 { font-family: var(--cp-font-display); line-height: 1.2; margin: 0 0 .5rem; color: var(--cp-ink); }
p { margin: 0 0 1rem; }
ul { margin: 0; padding: 0; list-style: none; }

.cp-container { width: min(100% - 2rem, var(--cp-max)); margin-inline: auto; }
.cp-skip { position: absolute; left: -9999px; }
.cp-skip:focus { left: 1rem; top: 1rem; z-index: 9999; background: #fff; padding: .5rem 1rem; }

/* Coupon top bar */
.cp-coupon-bar {
  width: 100%;
  min-height: var(--cp-coupon-h);
  background: linear-gradient(90deg, var(--cp-ink) 0%, var(--cp-ink-soft) 55%, var(--cp-teal-dark) 100%);
  color: #fff;
  text-align: center;
  padding: .65rem 1rem;
  position: relative;
  z-index: 1001;
  font-family: var(--cp-font-body);
  font-size: .95rem;
  line-height: 1.4;
}
.cp-coupon-bar__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .35rem .55rem;
  max-width: var(--cp-max);
  margin: 0 auto;
}
.cp-coupon-bar__desc { font-weight: 600; }
.cp-coupon-bar__desc strong,
.cp-coupon-bar__desc b {
  font-weight: 800;
  color: #5eead4;
}
.cp-coupon-bar__sep { opacity: .55; }
.cp-coupon-bar__ends,
.cp-coupon-bar__label { opacity: .92; }
.cp-coupon-bar__timer {
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  letter-spacing: .02em;
  color: #fff;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  padding: .15rem .65rem;
}
.cp-coupon-bar__code {
  display: inline-block;
  font-weight: 800;
  letter-spacing: .04em;
  background: var(--cp-teal);
  color: #fff;
  border-radius: var(--cp-radius-sm);
  padding: .2rem .65rem;
  box-shadow: 0 0 0 1px rgba(255,255,255,.15);
}
@media (max-width: 640px) {
  .cp-coupon-bar { font-size: .88rem; padding: .55rem .75rem; }
  .cp-coupon-bar__sep { display: none; }
}

/* Header */
.cp-header {
  position: sticky; top: 0; z-index: 1000;
  background: rgba(244,247,251,0.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--cp-line);
}
.cp-header__bar {
  display: flex; align-items: stretch; justify-content: space-between;
  gap: 1rem; min-height: var(--cp-header-h);
}
.cp-nav {
  display: flex; align-items: stretch; gap: .25rem; flex: 1;
}
.cp-logo img {
  height: 52px;
  width: auto;
  max-width: min(280px, 48vw);
  object-fit: contain;
  display: block;
  background: transparent;
}
.cp-logo__text {
  font-family: var(--cp-font-display); font-weight: 700; font-size: 1.35rem;
  color: var(--cp-ink); letter-spacing: -0.02em;
}
.cp-logo__text span { color: var(--cp-teal); }
.cp-nav { display: flex; align-items: stretch; gap: .25rem; flex: 1; }
.cp-nav__link {
  display: inline-flex; align-items: center; gap: .35rem;
  padding: .55rem .85rem; border-radius: 999px;
  color: var(--cp-ink); font-weight: 600; font-size: .95rem;
  height: 100%;
}
.cp-logo {
  display: inline-flex;
  align-items: center;
  align-self: center;
}
.cp-nav__link:hover, .cp-nav__link.is-active { background: rgba(15,118,110,.1); color: var(--cp-teal-dark); }
.cp-nav__actions { display: flex; align-items: center; gap: .5rem; margin-left: .5rem; }
.cp-header__actions {
  display: flex;
  align-items: center;
  align-self: center;
  gap: .5rem;
  margin-left: auto;
  flex-shrink: 0;
}
.cp-nav__auth { display: flex; align-items: center; gap: .5rem; }
.cp-nav__auth--mobile { display: none; }
.cp-icon-btn {
  width: 44px; height: 44px; border-radius: 999px; border: 1px solid var(--cp-line);
  background: var(--cp-white); display: inline-grid; place-items: center;
  color: var(--cp-ink); cursor: pointer; position: relative;
  font-size: 1.15rem; line-height: 1;
  overflow: visible;
}
.cp-icon-btn:hover { border-color: var(--cp-teal); color: var(--cp-teal); }
.cp-icon-btn__svg {
  width: 22px;
  height: 22px;
  display: block;
}
.cp-cart-btn { overflow: visible; }
.cp-badge {
  position: absolute; top: -5px; right: -5px;
  min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px;
  background: var(--cp-teal); color: #fff; font-size: 11px; font-weight: 700;
  display: grid; place-items: center; line-height: 1;
  border: 2px solid var(--cp-white);
  box-shadow: 0 2px 6px rgba(11,31,58,.2);
  z-index: 2;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.cp-badge.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.cp-burger { display: none; }

/* Mega / dropdown — click to open (no fragile hover gap) */
.cp-dropdown {
  position: relative;
  display: flex;
  align-items: center;
  align-self: stretch;
}
.cp-dropdown__trigger {
  border: 0;
  background: transparent;
  cursor: pointer;
  font-family: var(--cp-font-body);
  font-size: .95rem;
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: normal;
  color: var(--cp-ink);
  text-decoration: none;
  appearance: none;
  -webkit-appearance: none;
}
.cp-dropdown__trigger:hover {
  background: rgba(15,118,110,.1);
  color: var(--cp-teal-dark);
}
.cp-dropdown__caret {
  margin-left: .15rem;
  transition: transform .15s ease;
}
.cp-dropdown.is-open .cp-dropdown__caret { transform: rotate(180deg); }
.cp-dropdown__panel {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1100;
  min-width: 320px;
  max-width: min(92vw, 560px);
  max-height: min(70vh, 480px);
  overflow: auto;
  background: var(--cp-white);
  border: 1px solid var(--cp-line);
  border-radius: var(--cp-radius);
  box-shadow: var(--cp-shadow);
  padding: .65rem;
}
.cp-dropdown.is-open .cp-dropdown__panel,
.cp-dropdown__panel:not([hidden]) { display: block; }
.cp-dropdown__all {
  display: block;
  padding: .55rem .65rem;
  margin-top: .45rem;
  border-radius: var(--cp-radius-sm);
  background: rgba(15,118,110,.08);
  color: var(--cp-teal-dark);
  font-weight: 700;
  font-size: .9rem;
  text-align: center;
}
.cp-dropdown__all:hover { background: rgba(15,118,110,.14); color: var(--cp-teal-dark); }
.cp-dropdown__grid {
  columns: 2;
  column-gap: .5rem;
}
.cp-dropdown__panel a {
  display: block; padding: .4rem .55rem; border-radius: 6px; break-inside: avoid;
  color: var(--cp-ink); font-weight: 600; font-size: .9rem;
}
.cp-dropdown__panel a:hover { background: rgba(15,118,110,.08); color: var(--cp-teal-dark); }

/* Buttons */
.cp-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
  padding: .7rem 1.15rem; border-radius: 999px; border: 1px solid transparent;
  font-family: var(--cp-font-body); font-weight: 700; font-size: .95rem;
  cursor: pointer; text-decoration: none; transition: .15s ease;
}
.cp-btn--primary { background: var(--cp-teal); color: #fff; }
.cp-btn--primary:hover { background: var(--cp-teal-dark); color: #fff; }
.cp-btn--ink { background: var(--cp-ink); color: #fff; }
.cp-btn--ink:hover { background: var(--cp-ink-soft); color: #fff; }
.cp-btn--ghost { background: transparent; border-color: var(--cp-line); color: var(--cp-ink); }
.cp-btn--ghost:hover { border-color: var(--cp-teal); color: var(--cp-teal); }
.cp-btn--signal { background: var(--cp-signal); color: #111; }
.cp-btn--signal:hover { filter: brightness(.95); color: #111; }
.cp-btn--block { width: 100%; }
.cp-btn--sm { padding: .45rem .85rem; font-size: .85rem; }

/* Hero */
.cp-hero {
  position: relative; isolation: isolate; overflow: hidden;
  min-height: min(78vh, 680px);
  display: grid; align-items: center;
  background:
    radial-gradient(ellipse 70% 55% at 85% 15%, rgba(15,118,110,.45), transparent 58%),
    radial-gradient(ellipse 55% 45% at 8% 85%, rgba(94,234,212,.14), transparent 55%),
    linear-gradient(155deg, #06101f 0%, #0B1F3A 42%, #0a3d38 100%);
  color: #fff;
  padding: 5rem 0 4.5rem;
  text-align: center;
}
.cp-hero::before {
  content: ""; position: absolute; inset: 0; z-index: 0; opacity: .18; pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, #000 20%, transparent 75%);
}
.cp-hero__glow {
  position: absolute; inset: auto auto -20% 50%;
  width: min(90vw, 720px); height: 280px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at center, rgba(15,118,110,.45), transparent 70%);
  filter: blur(8px);
  pointer-events: none; z-index: 0;
}
.cp-hero__orb {
  position: absolute; border-radius: 50%; pointer-events: none; z-index: 0;
  border: 1px solid rgba(94,234,212,.18);
}
.cp-hero__orb--a {
  width: 220px; height: 220px; top: 12%; right: 8%;
  background: radial-gradient(circle at 30% 30%, rgba(94,234,212,.2), transparent 65%);
  animation: cp-hero-float 9s ease-in-out infinite;
}
.cp-hero__orb--b {
  width: 140px; height: 140px; bottom: 16%; left: 10%;
  background: radial-gradient(circle at 40% 40%, rgba(15,118,110,.35), transparent 70%);
  animation: cp-hero-float 11s ease-in-out infinite reverse;
}
@keyframes cp-hero-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-14px); }
}
.cp-hero__inner {
  position: relative; z-index: 1;
  max-width: 860px; margin: 0 auto;
}
.cp-hero__eyebrow {
  display: inline-flex; align-items: center; gap: .45rem;
  margin: 0 auto 1.1rem;
  padding: .4rem .9rem;
  border-radius: 999px;
  border: 1px solid rgba(94,234,212,.35);
  background: rgba(15,118,110,.22);
  color: #5EEAD4;
  font-family: var(--cp-font-display);
  font-weight: 700;
  font-size: .95rem;
  letter-spacing: .02em;
}
.cp-hero__eyebrow::before {
  content: "";
  width: .55rem; height: .55rem; border-radius: 50%;
  background: #5EEAD4;
  box-shadow: 0 0 0 4px rgba(94,234,212,.2);
}
.cp-hero__slogan {
  margin: 0 auto 1.15rem;
  font-family: var(--cp-font-display);
  font-weight: 700;
  font-size: clamp(1.15rem, 2.6vw, 1.55rem);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #5EEAD4;
  line-height: 1.3;
}
.cp-hero__brand {
  font-family: var(--cp-font-display); font-weight: 700;
  font-size: clamp(2.8rem, 8vw, 5.5rem); letter-spacing: -0.04em;
  line-height: .95; margin-bottom: 1rem;
}
.cp-hero__brand span { color: #5EEAD4; }
.cp-hero__title {
  font-family: var(--cp-font-display); font-weight: 700;
  font-size: clamp(1.9rem, 4.8vw, 3.15rem);
  letter-spacing: -0.035em; line-height: 1.12;
  color: #fff; margin: 0 auto 1.15rem; max-width: 16ch;
  text-wrap: balance;
}
.cp-hero__lead {
  max-width: 38rem;
  font-size: clamp(1.05rem, 2vw, 1.22rem);
  color: rgba(255,255,255,.86);
  margin: 0 auto 1.35rem;
  line-height: 1.55;
}
.cp-hero__points {
  display: flex; flex-wrap: wrap; justify-content: center;
  gap: .55rem; margin: 0 auto 1.75rem; padding: 0; list-style: none;
}
.cp-hero__points li {
  padding: .45rem .8rem;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.92);
  font-size: .88rem;
  font-weight: 600;
}
.cp-hero__callout {
  display: inline-block;
  max-width: 40rem;
  margin: 0 auto 1.5rem;
  padding: 1rem 1.25rem;
  background: rgba(15,118,110,.92);
  color: #fff;
  border-radius: var(--cp-radius-sm);
  font-weight: 600;
  font-size: 1.02rem;
  line-height: 1.45;
  text-align: left;
  border: 1px solid rgba(94,234,212,.35);
}
.cp-hero__callout p { margin: 0; color: #fff; }
.cp-hero__actions {
  display: flex; flex-wrap: wrap; gap: .85rem;
  justify-content: center;
}
.cp-btn--hero {
  min-width: 11rem;
  padding: .9rem 1.4rem;
  font-size: 1rem;
  box-shadow: 0 10px 28px rgba(15,118,110,.35);
}
.cp-btn--ghost-light {
  border-color: rgba(255,255,255,.4) !important;
  color: #fff !important;
  min-width: 11rem;
  padding: .9rem 1.4rem;
}
.cp-btn--ghost-light:hover {
  border-color: #5EEAD4 !important;
  color: #5EEAD4 !important;
  background: rgba(94,234,212,.08) !important;
}

@media (prefers-reduced-motion: reduce) {
  .cp-hero__orb--a, .cp-hero__orb--b { animation: none; }
}

/* Home about + features */
.cp-home-about .cp-container,
.cp-home-advantage .cp-container,
.cp-exam-boards .cp-container,
.cp-section .cp-container {
  text-align: left;
}
.cp-home-about__intro {
  max-width: none;
  margin-bottom: 2rem;
  text-align: left;
}
.cp-home-about__intro .cp-section__title,
.cp-home-advantage .cp-section__title,
.cp-section__title {
  text-align: left;
}
.cp-home-about__intro .cp-prose,
.cp-home-advantage .cp-prose {
  max-width: 48rem;
  margin-bottom: 1rem;
  text-align: left;
}
.cp-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  align-items: stretch;
}
.cp-feature {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  background: var(--cp-white);
  border: 1px solid var(--cp-line);
  border-radius: var(--cp-radius);
  padding: 1.25rem 1.35rem;
  text-align: left;
  height: 100%;
}
.cp-feature__title {
  font-size: 1.05rem;
  margin: 0;
  color: var(--cp-ink);
  text-align: left;
}
.cp-feature__body {
  margin: 0;
  color: var(--cp-muted);
  font-size: .98rem;
  line-height: 1.5;
  text-align: left;
}
.cp-home-advantage {
  background: linear-gradient(180deg, rgba(15,118,110,.06), transparent);
  border-top: 1px solid var(--cp-line);
  border-bottom: 1px solid var(--cp-line);
}
.cp-home-advantage__wrap {
  max-width: none;
  text-align: left;
}

/* Exam code boards (Latest / Demanded) */
.cp-exam-boards__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  align-items: stretch;
}
.cp-exam-board {
  border: 1px solid var(--cp-line);
  border-radius: var(--cp-radius);
  overflow: hidden;
  background: var(--cp-white);
  box-shadow: var(--cp-shadow);
  display: flex;
  flex-direction: column;
  text-align: left;
  height: 100%;
}
.cp-exam-board__head {
  background: var(--cp-ink);
  color: #fff;
  padding: .95rem 1.1rem;
  text-align: left;
}
.cp-exam-board__title {
  margin: 0;
  font-size: 1.15rem;
  color: #fff;
  text-align: left;
}
.cp-exam-board__sub {
  margin: .3rem 0 0;
  font-size: .9rem;
  color: rgba(255,255,255,.78);
  text-align: left;
}
.cp-exam-board__codes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem;
  padding: .9rem;
  flex: 1;
}
.cp-exam-code {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: .4rem .5rem;
  border: 1px solid var(--cp-line);
  border-radius: 6px;
  background: var(--cp-paper);
  color: var(--cp-ink);
  font-weight: 700;
  font-size: .88rem;
  text-align: center;
  word-break: break-word;
}
.cp-exam-code:hover {
  background: rgba(15,118,110,.1);
  border-color: var(--cp-teal);
  color: var(--cp-teal-dark);
}

/* Home vendor cards */
.cp-vendor-home-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .85rem;
  align-items: stretch;
}
.cp-vendor-home-card {
  display: flex;
  flex-direction: column;
  gap: .4rem;
  background: var(--cp-white);
  border: 1px solid var(--cp-line);
  border-radius: var(--cp-radius);
  padding: 1rem 1.1rem;
  color: inherit;
  text-align: left;
  height: 100%;
  transition: border-color .15s, box-shadow .15s;
}
.cp-vendor-home-card:hover {
  border-color: rgba(15,118,110,.4);
  box-shadow: var(--cp-shadow);
}
.cp-vendor-home-card__name {
  font-family: var(--cp-font-display);
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--cp-ink);
  text-decoration: none;
  text-align: left;
}
.cp-vendor-home-card__name:hover { color: var(--cp-teal); }
.cp-vendor-home-card__meta {
  margin: 0;
  font-size: .9rem;
  color: var(--cp-muted);
  font-weight: 600;
  text-align: left;
}
.cp-vendor-home-card__latest {
  margin: .15rem 0 0;
  font-size: .86rem;
  color: var(--cp-muted);
  line-height: 1.4;
  text-align: left;
}
.cp-vendor-home-card__latest-label {
  display: inline-block;
  margin-right: .35rem;
  font-weight: 700;
  color: var(--cp-ink-soft);
}
.cp-vendor-home-card__exam {
  color: var(--cp-teal);
  font-weight: 600;
  text-decoration: none;
}
.cp-vendor-home-card__exam:hover {
  color: var(--cp-teal-dark);
  text-decoration: underline;
}

@media (max-width: 900px) {
  .cp-feature-grid,
  .cp-exam-boards__grid,
  .cp-vendor-home-grid { grid-template-columns: 1fr; }
  .cp-exam-board__codes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cp-hero__title { max-width: none; }
}

/* Sections */
.cp-section { padding: 4rem 0; }
.cp-section--tight { padding: 2.5rem 0; }
.cp-section__head {
  display: flex; align-items: end; justify-content: space-between;
  gap: 1rem; margin-bottom: 1.75rem; flex-wrap: wrap;
  text-align: left;
}
.cp-section__title { font-size: clamp(1.5rem, 3vw, 2rem); text-align: left; }
.cp-section__sub { color: var(--cp-muted); max-width: 40rem; margin: 0; text-align: left; }

/* Vendor / exam lists */
.cp-list { display: grid; gap: .75rem; }
.cp-list-item {
  display: grid; grid-template-columns: 1fr auto; gap: 1rem; align-items: center;
  background: var(--cp-white); border: 1px solid var(--cp-line);
  border-radius: var(--cp-radius); padding: 1rem 1.15rem;
  transition: border-color .15s, box-shadow .15s;
}
.cp-list-item:hover { border-color: rgba(15,118,110,.35); box-shadow: var(--cp-shadow); }
.cp-list-item__title { font-family: var(--cp-font-display); font-weight: 700; font-size: 1.1rem; color: var(--cp-ink); }
.cp-list-item__meta { color: var(--cp-muted); font-size: .92rem; margin-top: .2rem; }
.cp-stats { display: flex; gap: 1.25rem; color: var(--cp-muted); font-size: .9rem; font-weight: 600; }
.cp-stats strong { display: block; color: var(--cp-ink); font-size: 1.1rem; }

.cp-grid { display: grid; gap: 1rem; }
.cp-grid--3 { grid-template-columns: repeat(3, 1fr); }
.cp-grid--2 { grid-template-columns: repeat(2, 1fr); }
.cp-card {
  background: var(--cp-white); border: 1px solid var(--cp-line);
  border-radius: var(--cp-radius); padding: 1.25rem; overflow: hidden;
}
.cp-card__media { margin: -1.25rem -1.25rem 1rem; aspect-ratio: 16/10; background: var(--cp-ink); }
.cp-card__media img { width: 100%; height: 100%; object-fit: cover; }
.cp-pill {
  display: inline-flex; align-items: center; gap: .3rem;
  padding: .2rem .55rem; border-radius: 999px; font-size: .75rem; font-weight: 700;
  background: rgba(15,118,110,.12); color: var(--cp-teal-dark);
}

/* Page chrome */
.cp-page { padding: 2rem 0 4rem; }
.cp-breadcrumb {
  display: flex; flex-wrap: wrap; gap: .4rem; align-items: center;
  font-size: .9rem; color: var(--cp-muted); margin-bottom: 1.25rem;
}
.cp-breadcrumb a { color: var(--cp-muted); }
.cp-breadcrumb a:hover { color: var(--cp-teal); }
.cp-breadcrumb span { opacity: .5; }
.cp-breadcrumb ul, .breadcrumb {
  display: flex; flex-wrap: wrap; gap: .4rem; align-items: center;
  list-style: none; margin: 0; padding: 0; font-size: .9rem; color: var(--cp-muted);
}
.cp-breadcrumb li, .breadcrumb li { display: inline-flex; align-items: center; gap: .4rem; }
.cp-breadcrumb li + li::before, .breadcrumb li + li::before { content: "/"; opacity: .45; margin-right: .15rem; }
.cp-breadcrumb a, .breadcrumb a { color: var(--cp-muted); }
.cp-breadcrumb .active, .breadcrumb .active { color: var(--cp-ink); font-weight: 700; }
.cp-page-title { font-size: clamp(1.6rem, 3vw, 2.2rem); margin-bottom: .75rem; }

/* Exam layout */
.cp-exam { display: grid; grid-template-columns: 1.4fr .9fr; gap: 1.5rem; align-items: start; }
.cp-exam--single,
.cp-vtheme--no-aside .cp-exam,
.cp-vtheme--no-aside.cp-vtheme--cisco .cp-exam,
.cp-vtheme--no-aside.cp-vtheme--microsoft .cp-exam,
.cp-vtheme--no-aside.cp-vtheme--amazon .cp-exam,
.cp-vtheme--no-aside.cp-vtheme--comptia .cp-exam,
.cp-vtheme--no-aside.cp-vtheme--google .cp-exam,
.cp-vtheme--no-aside.cp-vtheme--vmware .cp-exam,
.cp-vtheme--no-aside.cp-vtheme--salesforce .cp-exam,
.cp-vtheme--no-aside.cp-vtheme--redhat .cp-exam,
.cp-vtheme--no-aside.cp-vtheme--juniper .cp-exam,
.cp-vtheme--no-aside.cp-vtheme--paloalto .cp-exam,
.cp-vtheme--no-aside.cp-vtheme--citrix .cp-exam,
.cp-vtheme--no-aside.cp-vtheme--dell .cp-exam {
  display: block;
  width: 100%;
  max-width: 100%;
  grid-template-columns: none;
}
.cp-exam--single > .cp-exam__panel,
.cp-vtheme--no-aside .cp-exam > .cp-exam__panel {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.cp-exam__panel {
  background: var(--cp-white); border: 1px solid var(--cp-line);
  border-radius: var(--cp-radius); padding: 1.35rem;
}
.cp-exam__cta {
  margin: 1.5rem 0 0;
  text-align: center;
}
.cp-exam__product {
  display: grid;
  grid-template-columns: 148px minmax(0, 1fr);
  gap: 1.15rem 1.35rem;
  align-items: start;
  margin: 0 0 1.35rem;
  padding: 1.1rem 1.15rem;
  background:
    linear-gradient(135deg, rgba(15, 118, 110, 0.06), transparent 55%),
    #f8fafc;
  border: 1px solid var(--cp-line);
  border-radius: var(--cp-radius);
}
.cp-exam__cover {
  margin: 0;
  width: 148px;
  height: 148px;
  flex-shrink: 0;
}
.cp-exam__cover img,
.cp-exam__product img {
  width: 148px;
  height: 148px;
  object-fit: cover;
  border-radius: var(--cp-radius-sm);
  border: 1px solid var(--cp-line);
  background: var(--cp-white);
  box-shadow: 0 8px 20px rgba(11, 31, 58, 0.08);
}
.cp-exam__identity {
  min-width: 0;
  display: grid;
  gap: .7rem;
  justify-items: start;
  text-align: left;
}
.cp-exam__field {
  display: grid;
  grid-template-columns: 7.5rem minmax(0, 1fr);
  column-gap: 1rem;
  align-items: center;
  justify-content: start;
  min-width: 0;
  width: 100%;
}
.cp-exam__label {
  margin: 0;
  font-family: var(--cp-font-body);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--cp-muted);
  line-height: 1.25;
  text-align: left;
  white-space: nowrap;
}
.cp-exam__code,
.cp-exam__name,
.cp-exam__vendor {
  margin: 0;
  min-width: 0;
  line-height: 1.35;
  word-break: break-word;
  text-align: left;
}
.cp-exam__code {
  font-family: var(--cp-font-display);
  font-size: 1.12rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--cp-ink);
}
.cp-exam__name {
  font-family: var(--cp-font-body);
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--cp-ink-soft);
}
.cp-exam__vendor {
  font-family: var(--cp-font-display);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--cp-teal);
}
.cp-exam__facts {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: .35rem .9rem;
  margin: .15rem 0 0;
  padding: .75rem 0 0;
  border-top: 1px solid var(--cp-line);
  list-style: none;
  color: var(--cp-muted);
  font-size: .9rem;
  line-height: 1.4;
  text-align: left;
  width: 100%;
}
.cp-exam__facts li {
  margin: 0;
  position: relative;
}
.cp-exam__facts li + li::before {
  content: "";
  display: inline-block;
  width: 3px;
  height: 3px;
  margin: 0 .85rem 0 0;
  border-radius: 50%;
  background: currentColor;
  opacity: .45;
  vertical-align: middle;
}
.cp-exam__facts span {
  color: var(--cp-ink);
  font-weight: 700;
}
.cp-exam__specs {
  margin: 0 0 .25rem;
}
.cp-price { font-family: var(--cp-font-display); font-size: 1.75rem; font-weight: 700; color: var(--cp-ink); }
.cp-price small { font-size: .9rem; color: var(--cp-muted); font-weight: 600; }
.cp-bundle {
  border: 1px solid var(--cp-line); border-radius: var(--cp-radius-sm);
  padding: 1rem; margin-bottom: .75rem; display: grid; gap: .5rem;
}
.cp-bundle.is-featured { border-color: var(--cp-teal); box-shadow: inset 0 0 0 1px var(--cp-teal); }
.cp-prose { color: var(--cp-ink-soft); }
.cp-prose h1,.cp-prose h2,.cp-prose h3 { margin-top: 1.25rem; }
.cp-prose ul { list-style: disc; padding-left: 1.2rem; margin-bottom: 1rem; }
.cp-prose li { margin-bottom: .35rem; }

/* Vendor / exam theme shells (vendor-inspired layouts, not one generic AI look) */
.cp-vtheme {
  --vt-accent: var(--cp-teal);
  --vt-accent-ink: #fff;
  --vt-surface: var(--cp-white);
  --vt-ink: var(--cp-ink);
  --vt-muted: var(--cp-muted);
  --vt-line: var(--cp-line);
  --vt-radius: 4px;
  --vt-header-bg: #f3f5f7;
  --vt-header-ink: var(--cp-ink);
  width: 100%;
  max-width: 100%;
  margin-bottom: 2rem;
  color: var(--vt-ink);
  box-sizing: border-box;
}
.cp-vtheme__header {
  width: 100%;
  max-width: 100%;
  margin: 1.75rem 0 1.5rem;
  padding: 0 0 1rem;
  border: 0;
  border-bottom: 3px solid var(--vt-accent);
  background: transparent !important;
  box-shadow: none !important;
  box-sizing: border-box;
  text-align: center;
}
.cp-vtheme__title {
  margin: 0 0 .55rem;
  font-family: var(--cp-font-display);
  font-size: clamp(1.45rem, 2.4vw, 1.9rem);
  font-weight: 700;
  line-height: 1.25;
  color: var(--cp-ink);
  text-align: center;
}
.cp-vtheme__intro {
  margin: 0 auto;
  max-width: 48rem;
  color: var(--cp-muted);
  font-size: 1rem;
  line-height: 1.55;
  text-align: center;
}
.cp-vtheme__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(240px, .8fr);
  gap: 1.5rem;
  align-items: start;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.cp-vtheme__main {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.cp-vtheme--no-aside .cp-vtheme__layout,
.cp-vtheme--no-aside.cp-vtheme--cisco .cp-vtheme__layout,
.cp-vtheme--no-aside.cp-vtheme--microsoft .cp-vtheme__layout,
.cp-vtheme--no-aside.cp-vtheme--oracle .cp-vtheme__layout,
.cp-vtheme--no-aside.cp-vtheme--amazon .cp-vtheme__layout,
.cp-vtheme--no-aside.cp-vtheme--comptia .cp-vtheme__layout,
.cp-vtheme--no-aside.cp-vtheme--ibm .cp-vtheme__layout,
.cp-vtheme--no-aside.cp-vtheme--google .cp-vtheme__layout,
.cp-vtheme--no-aside.cp-vtheme--vmware .cp-vtheme__layout,
.cp-vtheme--no-aside.cp-vtheme--sap .cp-vtheme__layout,
.cp-vtheme--no-aside.cp-vtheme--salesforce .cp-vtheme__layout,
.cp-vtheme--no-aside.cp-vtheme--adobe .cp-vtheme__layout,
.cp-vtheme--no-aside.cp-vtheme--redhat .cp-vtheme__layout,
.cp-vtheme--no-aside.cp-vtheme--hp .cp-vtheme__layout,
.cp-vtheme--no-aside.cp-vtheme--juniper .cp-vtheme__layout,
.cp-vtheme--no-aside.cp-vtheme--paloalto .cp-vtheme__layout,
.cp-vtheme--no-aside.cp-vtheme--huawei .cp-vtheme__layout,
.cp-vtheme--no-aside.cp-vtheme--citrix .cp-vtheme__layout,
.cp-vtheme--no-aside.cp-vtheme--dell .cp-vtheme__layout,
.cp-vtheme--no-aside.cp-vtheme--apple .cp-vtheme__layout,
.cp-vtheme--no-aside.cp-vtheme--slate .cp-vtheme__layout,
.cp-vtheme--no-aside.cp-vtheme--indigo .cp-vtheme__layout,
.cp-vtheme--no-aside.cp-vtheme--forest .cp-vtheme__layout,
.cp-vtheme--no-aside.cp-vtheme--copper .cp-vtheme__layout,
.cp-vtheme--no-aside.cp-vtheme--graphite .cp-vtheme__layout,
.cp-vtheme--no-aside.cp-vtheme--sand .cp-vtheme__layout {
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
}
.cp-vtheme__aside { position: sticky; top: calc(var(--cp-header-h) + 1rem); }
.cp-vtheme__toolbar { width: 100%; max-width: 100%; margin-bottom: 1rem; box-sizing: border-box; }
.cp-vtheme__toolbar-row { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; width: 100%; }
.cp-vtheme__toolbar-row .cp-input { flex: 1; min-width: 200px; width: 100%; border-radius: var(--vt-radius); }
.cp-vtheme__count { margin: .5rem 0 0; color: var(--vt-muted); font-size: .88rem; font-weight: 600; }
.cp-vtheme__empty { color: var(--vt-muted); }
.cp-vtheme__exam-list {
  display: grid;
  gap: 0;
  width: 100%;
  max-width: 100%;
  border: 1px solid var(--vt-line);
  background: var(--vt-surface);
  box-sizing: border-box;
}
.cp-vtheme__exam-head {
  display: none;
  width: 100%;
  max-width: 100%;
  grid-template-columns: 1.4fr 1fr auto;
  gap: 1rem;
  padding: .55rem .9rem;
  background: var(--vt-header-bg);
  border-bottom: 1px solid var(--vt-line);
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--vt-muted);
  box-sizing: border-box;
}
.cp-vtheme__exam {
  display: grid;
  width: 100%;
  max-width: 100%;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: .85rem .9rem;
  border-bottom: 1px solid var(--vt-line);
  box-sizing: border-box;
}
.cp-vtheme__exam:last-child { border-bottom: 0; }
.cp-vtheme__exam:hover { background: rgba(0,0,0,.02); }
.cp-vtheme__exam-primary { min-width: 0; width: 100%; }
.cp-vtheme__exam-code {
  font-family: var(--cp-font-display);
  font-weight: 700;
  font-size: 1.02rem;
  color: var(--vt-ink);
  margin-right: .5rem;
}
.cp-vtheme__exam-code:hover { color: var(--vt-accent); }
.cp-vtheme__exam-status {
  display: inline-block;
  font-size: .7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: var(--vt-accent);
}
.cp-vtheme__exam.is-retired .cp-vtheme__exam-status { color: var(--vt-muted); }
.cp-vtheme__exam-name {
  margin: .25rem 0 0;
  font-size: .95rem;
  font-weight: 600;
  line-height: 1.35;
}
.cp-vtheme__exam-name a { color: var(--vt-muted); }
.cp-vtheme__exam-name a:hover { color: var(--vt-accent); }
.cp-vtheme__exam-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .75rem;
  min-width: 0;
  width: 100%;
  color: var(--vt-muted);
  font-size: .85rem;
  font-weight: 600;
}
.cp-vtheme__exam-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .45rem .85rem;
  border: 1px solid var(--vt-accent);
  background: var(--vt-accent);
  color: var(--vt-accent-ink) !important;
  font-weight: 700;
  font-size: .85rem;
  border-radius: var(--vt-radius);
  text-decoration: none !important;
}
.cp-vtheme__exam-cta:hover { filter: brightness(.92); color: var(--vt-accent-ink) !important; }
.cp-vendor-exam-item-hidden { display: none !important; }
[data-cp-vendor-exam-clear][hidden] { display: none !important; }
.cp-vtheme__bundle {
  background: var(--vt-surface);
  border: 1px solid var(--vt-line);
  border-top: 4px solid var(--vt-accent);
  padding: 1.1rem;
}
.cp-vtheme__bundle h2 {
  margin: 0 0 .75rem;
  font-size: 1.1rem;
  color: var(--vt-ink);
}
.cp-vtheme__bundle img {
  display: block;
  width: 100px;
  height: 100px;
  object-fit: cover;
  margin: 0 0 .75rem;
  border: 1px solid var(--vt-line);
}
.cp-vtheme__price {
  margin: 0 0 .75rem;
  font-family: var(--cp-font-display);
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--vt-ink);
}
.cp-vtheme__bundle ul {
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
  display: grid;
  gap: .3rem;
  color: var(--vt-muted);
  font-size: .9rem;
  font-weight: 600;
}
.cp-vtheme__buy {
  margin-top: .85rem;
  background: var(--vt-accent) !important;
  border-color: var(--vt-accent) !important;
  color: var(--vt-accent-ink) !important;
  border-radius: var(--vt-radius) !important;
}

/* ——— Vendor layout profiles (structure differs; inspired by each brand’s public UI) ——— */

/* Cisco Learning Network: dark bar + dense exam table */
.cp-vtheme--cisco { --vt-accent:#049fd9; --vt-header-bg:#1b1b1b; --vt-header-ink:#fff; --vt-radius:2px; }
.cp-vtheme--cisco .cp-vtheme__header { background:transparent; color:inherit; padding:0 0 1rem; border:0; border-bottom:4px solid #049fd9; margin:1.75rem 0 1.5rem; }
.cp-vtheme--cisco .cp-vtheme__title { color:var(--cp-ink); letter-spacing:-.01em; }
.cp-vtheme--cisco .cp-vtheme__intro { color:var(--cp-muted); max-width:42rem; }
.cp-vtheme--cisco .cp-vtheme__layout { gap:0; grid-template-columns:minmax(0,1fr) 280px; border:1px solid #d0d0d0; width:100%; }
.cp-vtheme--cisco .cp-vtheme__main { width:100%; padding:1rem 1.1rem; background:#fff; }
.cp-vtheme--cisco .cp-vtheme__aside { position:static; border-left:1px solid #d0d0d0; background:#f7f7f7; padding:1rem; }
.cp-vtheme--cisco .cp-vtheme__exam-head { display:grid; width:100%; background:#e8e8e8; text-transform:uppercase; }
.cp-vtheme--cisco .cp-vtheme__exam-list { width:100%; border:0; border-top:1px solid #ccc; }
.cp-vtheme--cisco .cp-vtheme__exam { width:100%; padding:.7rem .85rem; }
.cp-vtheme--cisco .cp-vtheme__exam-code { color:#049fd9; font-family:ui-monospace,Consolas,monospace; font-size:.95rem; }
.cp-vtheme--cisco .cp-vtheme__bundle { border:0; border-top:0; background:transparent; padding:0; }
.cp-vtheme--cisco .cp-exam { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(240px,.7fr); gap:0; border:1px solid #d0d0d0; }
.cp-vtheme--cisco .cp-exam > .cp-exam__panel { border-radius:0; border:0; border-right:1px solid #d0d0d0; }
.cp-vtheme--cisco .cp-exam > aside.cp-exam__panel { border-right:0; background:#f7f7f7; }

/* Microsoft Learn: Fluent cards, left accent, bundle strip on top */
.cp-vtheme--microsoft { --vt-accent:#0078d4; --vt-radius:0; --vt-header-bg:#f3f2f1; }
.cp-vtheme--microsoft .cp-vtheme__header { border:0; border-bottom:4px solid #0078d4; padding:0 0 1rem; background:transparent; text-align:center; margin:1.75rem 0 1.5rem; }
.cp-vtheme--microsoft .cp-vtheme__title { font-weight:600; letter-spacing:-.02em; }
.cp-vtheme--microsoft .cp-vtheme__layout { grid-template-columns:1fr; gap:1.25rem; }
.cp-vtheme--microsoft .cp-vtheme__aside { order:-1; position:static; }
.cp-vtheme--microsoft .cp-vtheme__bundle {
  display:grid; grid-template-columns:100px 1fr auto; gap:1rem; align-items:center;
  border:1px solid #e1dfdd; border-top:0; border-left:4px solid #0078d4; background:#fff; padding:1rem 1.15rem;
}
.cp-vtheme--microsoft .cp-vtheme__bundle img { margin:0; }
.cp-vtheme--microsoft .cp-vtheme__bundle ul { margin:0; }
.cp-vtheme--microsoft .cp-vtheme__buy { margin-top:0; min-width:9rem; }
.cp-vtheme--microsoft .cp-vtheme__exam-list { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem; border:0; background:transparent; }
.cp-vtheme--microsoft .cp-vtheme__exam-head { display:none; }
.cp-vtheme--microsoft .cp-vtheme__exam {
  width:100%; grid-template-columns:minmax(0,1fr); gap:.4rem; border:1px solid #e1dfdd; background:#fff; padding:1rem 1.05rem; min-height:100%;
}
.cp-vtheme--microsoft .cp-vtheme__exam-cta { justify-self:start; background:#fff; color:#0078d4 !important; border-color:#0078d4; }
.cp-vtheme--microsoft .cp-exam { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:1.25rem; }
.cp-vtheme--microsoft .cp-exam__panel { border-radius:0; border-color:#e1dfdd; }

/* Oracle Docs: red rule, single-column article list, compact sidebar below */
.cp-vtheme--oracle { --vt-accent:#c74634; --vt-radius:0; }
.cp-vtheme--oracle .cp-vtheme__header { border:0; border-bottom:3px solid #c74634; padding:0 0 1rem; margin:1.75rem 0 1.5rem; background:transparent; }
.cp-vtheme--oracle .cp-vtheme__title { font-family:Georgia,"Times New Roman",serif; font-weight:600; color:#312d2a; }
.cp-vtheme--oracle .cp-vtheme__layout { grid-template-columns:1fr; }
.cp-vtheme--oracle .cp-vtheme__aside { position:static; max-width:22rem; }
.cp-vtheme--oracle .cp-vtheme__exam-list { width:100%; border:0; background:transparent; }
.cp-vtheme--oracle .cp-vtheme__exam { width:100%; grid-template-columns:minmax(0,1fr) auto; border:0; border-bottom:1px solid #e8e8e8; padding:.95rem 0; }
.cp-vtheme--oracle .cp-vtheme__exam-meta { grid-column:1; }
.cp-vtheme--oracle .cp-vtheme__exam-code { color:#312d2a; }
.cp-vtheme--oracle .cp-vtheme__bundle { border:1px solid #d9d9d9; border-top:3px solid #c74634; }
.cp-vtheme--oracle .cp-exam { display:block; max-width:48rem; }
.cp-vtheme--oracle .cp-exam > aside.cp-exam__panel { margin-top:1.25rem; max-width:22rem; }

/* AWS Training: navy hero, filter rail left, product rows */
.cp-vtheme--amazon { --vt-accent:#ff9900; --vt-accent-ink:#111; --vt-header-bg:#232f3e; --vt-header-ink:#fff; --vt-radius:3px; }
.cp-vtheme--amazon .cp-vtheme__header { background:transparent; padding:0 0 1rem; border:0; border-bottom:3px solid #ff9900; margin:1.75rem 0 1.5rem; }
.cp-vtheme--amazon .cp-vtheme__title { color:var(--cp-ink); }
.cp-vtheme--amazon .cp-vtheme__intro { color:var(--cp-muted); }
.cp-vtheme--amazon .cp-vtheme__layout { grid-template-columns:260px minmax(0,1fr); gap:1.25rem; }
.cp-vtheme--amazon .cp-vtheme__aside { order:-1; position:sticky; }
.cp-vtheme--amazon .cp-vtheme__bundle { background:#fff; border:1px solid #ddd; border-top:3px solid #ff9900; }
.cp-vtheme--amazon .cp-vtheme__exam-list { width:100%; border:0; background:transparent; display:grid; gap:.55rem; }
.cp-vtheme--amazon .cp-vtheme__exam {
  width:100%; grid-template-columns:minmax(0,1fr) auto; gap:.35rem 1rem; border:1px solid #ddd; background:#fff; padding:.9rem 1rem; border-radius:3px;
}
.cp-vtheme--amazon .cp-vtheme__exam-meta { grid-column:1 / -1; }
.cp-vtheme--amazon .cp-vtheme__exam-cta { background:#ff9900; color:#111 !important; border-color:#e47911; }
.cp-vtheme--amazon .cp-exam { display:grid; grid-template-columns:260px minmax(0,1fr); gap:1.25rem; }
.cp-vtheme--amazon .cp-exam > aside.cp-exam__panel { order:-1; }

/* CompTIA: certification catalog with red rail */
.cp-vtheme--comptia { --vt-accent:#c8202f; --vt-radius:6px; }
.cp-vtheme--comptia .cp-vtheme__header { border:0; border-bottom:4px solid #c8202f; padding:0 0 1rem; margin:1.75rem 0 1.5rem; background:transparent; }
.cp-vtheme--comptia .cp-vtheme__layout { grid-template-columns:minmax(0,1fr) 300px; }
.cp-vtheme--comptia .cp-vtheme__exam-list { width:100%; border:0; background:transparent; display:grid; gap:.55rem; }
.cp-vtheme--comptia .cp-vtheme__exam {
  width:100%; grid-template-columns:minmax(0,1fr) auto; border:1px solid #e5e5e5; border-left:5px solid #c8202f;
  background:#fff; border-radius:0 6px 6px 0; padding:1rem 1.1rem;
}
.cp-vtheme--comptia .cp-vtheme__exam-meta { grid-column:1; }
.cp-vtheme--comptia .cp-exam { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:1.5rem; }

/* IBM Carbon: black masthead + data table */
.cp-vtheme--ibm { --vt-accent:#0f62fe; --vt-radius:0; --vt-header-bg:#161616; --vt-header-ink:#f4f4f4; }
.cp-vtheme--ibm .cp-vtheme__header { background:transparent; padding:0 0 1rem; border:0; border-bottom:3px solid #0f62fe; margin:1.75rem 0 1.5rem; }
.cp-vtheme--ibm .cp-vtheme__title { color:var(--cp-ink); font-weight:400; letter-spacing:0; }
.cp-vtheme--ibm .cp-vtheme__intro { color:var(--cp-muted); }
.cp-vtheme--ibm .cp-vtheme__layout { grid-template-columns:1fr; gap:0; }
.cp-vtheme--ibm .cp-vtheme__aside { position:static; padding:1.25rem 0 0; max-width:24rem; }
.cp-vtheme--ibm .cp-vtheme__exam-list { width:100%; border:1px solid #e0e0e0; border-top:0; }
.cp-vtheme--ibm .cp-vtheme__exam-head { display:grid; width:100%; background:#f4f4f4; border-top:1px solid #e0e0e0; }
.cp-vtheme--ibm .cp-vtheme__exam { width:100%; padding:.65rem .9rem; }
.cp-vtheme--ibm .cp-vtheme__exam-cta { background:#0f62fe; border-radius:0; }
.cp-vtheme--ibm .cp-vtheme__bundle { border-radius:0; border-top:0; border-left:3px solid #0f62fe; }
.cp-vtheme--ibm .cp-exam { display:block; }
.cp-vtheme--ibm .cp-exam > aside.cp-exam__panel { margin-top:1rem; max-width:24rem; border-radius:0; }

/* Google Cloud Skills: soft cards, multicolor rule */
.cp-vtheme--google { --vt-accent:#1a73e8; --vt-radius:8px; }
.cp-vtheme--google .cp-vtheme__header {
  border:0; border-bottom:3px solid #1a73e8; padding:0 0 1rem; margin:1.75rem 0 1.5rem;
  background:transparent; box-shadow:none;
}
.cp-vtheme--google .cp-vtheme__layout { grid-template-columns:minmax(0,1fr) 280px; }
.cp-vtheme--google .cp-vtheme__exam-list { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem; border:0; background:transparent; }
.cp-vtheme--google .cp-vtheme__exam-head { display:none; }
.cp-vtheme--google .cp-vtheme__exam {
  width:100%; grid-template-columns:minmax(0,1fr); border:1px solid #dadce0; border-radius:8px; background:#fff; padding:1rem; box-shadow:0 1px 2px rgba(60,64,67,.08);
}
.cp-vtheme--google .cp-vtheme__exam-cta { border-radius:20px; justify-self:start; }
.cp-vtheme--google .cp-vtheme__bundle { border-radius:8px; border-top-width:0; box-shadow:0 1px 2px rgba(60,64,67,.08); }
.cp-vtheme--google .cp-exam { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:1.25rem; }
.cp-vtheme--google .cp-exam__panel { border-radius:8px; }

/* VMware: docs-style with green accent + tight list */
.cp-vtheme--vmware { --vt-accent:#71b43a; --vt-radius:2px; }
.cp-vtheme--vmware .cp-vtheme__header { border-bottom:2px solid #333; }
.cp-vtheme--vmware .cp-vtheme__title { color:#333; }
.cp-vtheme--vmware .cp-vtheme__layout { grid-template-columns:minmax(0,1.8fr) 260px; }
.cp-vtheme--vmware .cp-vtheme__exam-list { width:100%; border-left:3px solid #71b43a; }
.cp-vtheme--vmware .cp-vtheme__exam-code { color:#333; }
.cp-vtheme--vmware .cp-exam { display:grid; grid-template-columns:minmax(0,1.8fr) 260px; gap:1.25rem; }

/* SAP Fiori: gray shell + object table */
.cp-vtheme--sap { --vt-accent:#0070f2; --vt-radius:4px; }
.cp-vtheme--sap .cp-vtheme__header { background:transparent; padding:0 0 1rem; border:0; border-bottom:3px solid #0070f2; margin:1.75rem 0 1.5rem; }
.cp-vtheme--sap .cp-vtheme__layout { grid-template-columns:1fr; gap:0; border:1px solid #d9dddf; background:#fff; }
.cp-vtheme--sap .cp-vtheme__main { padding:1rem; }
.cp-vtheme--sap .cp-vtheme__aside { position:static; padding:0 1rem 1rem; max-width:28rem; }
.cp-vtheme--sap .cp-vtheme__exam-head { display:grid; width:100%; background:#eff1f2; }
.cp-vtheme--sap .cp-vtheme__exam-list { width:100%; border-color:#d9dddf; }
.cp-vtheme--sap .cp-vtheme__bundle { background:#f5f6f7; border-color:#d9dddf; border-top:0; border-left:3px solid #0070f2; }
.cp-vtheme--sap .cp-exam { border:1px solid #d9dddf; padding:1rem; background:#fff; display:block; }

/* Salesforce Trailhead: soft stacked cards */
.cp-vtheme--salesforce { --vt-accent:#00a1e0; --vt-radius:12px; }
.cp-vtheme--salesforce .cp-vtheme__header { border:0; border-bottom:3px solid #00a1e0; text-align:center; padding:0 0 1rem; margin:1.75rem 0 1.5rem; background:transparent; }
.cp-vtheme--salesforce .cp-vtheme__intro { margin-inline:auto; }
.cp-vtheme--salesforce .cp-vtheme__layout { grid-template-columns:minmax(0,1fr) 300px; align-items:start; }
.cp-vtheme--salesforce .cp-vtheme__exam-list { width:100%; border:0; background:transparent; display:grid; gap:.75rem; }
.cp-vtheme--salesforce .cp-vtheme__exam-head { display:none; }
.cp-vtheme--salesforce .cp-vtheme__exam {
  width:100%; grid-template-columns:minmax(0,1fr) auto; border:1px solid #dddbda; border-radius:12px; background:#fff;
  box-shadow:0 2px 4px rgba(0,0,0,.06); padding:1.05rem 1.15rem;
}
.cp-vtheme--salesforce .cp-vtheme__bundle { border-radius:12px; border-top:0; box-shadow:0 2px 4px rgba(0,0,0,.06); }
.cp-vtheme--salesforce .cp-exam { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:1.25rem; }
.cp-vtheme--salesforce .cp-exam__panel { border-radius:12px; }

/* Adobe: stark black/red, minimal rows */
.cp-vtheme--adobe { --vt-accent:#eb1000; --vt-radius:0; }
.cp-vtheme--adobe .cp-vtheme__header { border:0; border-bottom:2px solid #000; padding:0 0 1rem; margin:1.75rem 0 1.5rem; background:transparent; }
.cp-vtheme--adobe .cp-vtheme__title { letter-spacing:-.03em; }
.cp-vtheme--adobe .cp-vtheme__layout { grid-template-columns:1fr; }
.cp-vtheme--adobe .cp-vtheme__aside { position:static; }
.cp-vtheme--adobe .cp-vtheme__exam-list { width:100%; border:0; border-top:1px solid #000; background:transparent; }
.cp-vtheme--adobe .cp-vtheme__exam { width:100%; grid-template-columns:minmax(0,1fr) auto; border:0; border-bottom:1px solid #eaeaea; padding:1rem 0; }
.cp-vtheme--adobe .cp-vtheme__exam-cta { background:#000; border-color:#000; }
.cp-vtheme--adobe .cp-vtheme__bundle { border:2px solid #000; border-top:4px solid #eb1000; }
.cp-vtheme--adobe .cp-exam { display:block; max-width:44rem; }

/* Red Hat: black hero + compact catalog */
.cp-vtheme--redhat { --vt-accent:#ee0000; --vt-radius:0; }
.cp-vtheme--redhat .cp-vtheme__header { background:transparent; padding:0 0 1rem; border:0; border-bottom:3px solid #ee0000; margin:1.75rem 0 1.5rem; }
.cp-vtheme--redhat .cp-vtheme__title,.cp-vtheme--redhat .cp-vtheme__intro { color:var(--cp-ink); }
.cp-vtheme--redhat .cp-vtheme__intro { color:var(--cp-muted); }
.cp-vtheme--redhat .cp-vtheme__layout { grid-template-columns:minmax(0,1fr) 280px; }
.cp-vtheme--redhat .cp-vtheme__exam-list { width:100%; border-color:#222; }
.cp-vtheme--redhat .cp-vtheme__exam-code { color:#ee0000; }
.cp-vtheme--redhat .cp-vtheme__bundle { background:#111; color:#fff; border-color:#333; border-top-color:#ee0000; }
.cp-vtheme--redhat .cp-vtheme__bundle h2,.cp-vtheme--redhat .cp-vtheme__price { color:#fff; }
.cp-vtheme--redhat .cp-vtheme__bundle ul { color:#ccc; }
.cp-vtheme--redhat .cp-exam { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:1.25rem; }

/* HP: product grid */
.cp-vtheme--hp { --vt-accent:#0096d6; --vt-radius:2px; }
.cp-vtheme--hp .cp-vtheme__header { background:transparent; color:inherit; padding:0 0 1rem; border:0; border-bottom:3px solid #0096d6; margin:1.75rem 0 1.5rem; }
.cp-vtheme--hp .cp-vtheme__title { color:var(--cp-ink); }
.cp-vtheme--hp .cp-vtheme__intro { color:var(--cp-muted); }
.cp-vtheme--hp .cp-vtheme__layout { grid-template-columns:1fr; }
.cp-vtheme--hp .cp-vtheme__aside { position:static; max-width:24rem; }
.cp-vtheme--hp .cp-vtheme__exam-list { display:grid; width:100%; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; border:0; background:transparent; }
.cp-vtheme--hp .cp-vtheme__exam-head { display:none; }
.cp-vtheme--hp .cp-vtheme__exam {
  width:100%; grid-template-columns:minmax(0,1fr); border:1px solid #d6d6d6; background:#fff; padding:1rem; min-height:100%;
}
.cp-vtheme--hp .cp-exam { display:block; }

/* Juniper / Palo Alto / Huawei / Citrix / Dell / Apple */
.cp-vtheme--juniper { --vt-accent:#84b135; --vt-radius:2px; }
.cp-vtheme--juniper .cp-vtheme__header { border-bottom:3px solid #84b135; }
.cp-vtheme--juniper .cp-vtheme__layout { grid-template-columns:minmax(0,1.5fr) 280px; }
.cp-vtheme--juniper .cp-vtheme__exam-list { width:100%; border-top:3px solid #84b135; }
.cp-vtheme--juniper .cp-exam { display:grid; grid-template-columns:minmax(0,1.5fr) 280px; gap:1.25rem; }

.cp-vtheme--paloalto { --vt-accent:#fa582d; --vt-radius:4px; }
.cp-vtheme--paloalto .cp-vtheme__header { background:transparent; padding:0 0 1rem; border:0; border-bottom:3px solid #fa582d; margin:1.75rem 0 1.5rem; }
.cp-vtheme--paloalto .cp-vtheme__title { color:var(--cp-ink); }
.cp-vtheme--paloalto .cp-vtheme__intro { color:var(--cp-muted); }
.cp-vtheme--paloalto .cp-vtheme__layout { grid-template-columns:minmax(0,1fr) 290px; }
.cp-vtheme--paloalto .cp-vtheme__exam { width:100%; border-left:3px solid #fa582d; }
.cp-vtheme--paloalto .cp-exam { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:1.25rem; }

.cp-vtheme--huawei { --vt-accent:#cf0a2c; --vt-radius:2px; }
.cp-vtheme--huawei .cp-vtheme__header { border-bottom:3px solid #cf0a2c; }
.cp-vtheme--huawei .cp-vtheme__layout { grid-template-columns:1fr; }
.cp-vtheme--huawei .cp-vtheme__aside { position:static; }
.cp-vtheme--huawei .cp-vtheme__exam-list { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; border:0; background:transparent; }
.cp-vtheme--huawei .cp-vtheme__exam { width:100%; grid-template-columns:minmax(0,1fr); border:1px solid #e8e8e8; background:#fff; }
.cp-vtheme--huawei .cp-exam { display:block; }

.cp-vtheme--citrix { --vt-accent:#000078; --vt-radius:4px; }
.cp-vtheme--citrix .cp-vtheme__header { background:transparent; padding:0 0 1rem; border:0; border-bottom:3px solid #000078; margin:1.75rem 0 1.5rem; }
.cp-vtheme--citrix .cp-vtheme__title { color:var(--cp-ink); }
.cp-vtheme--citrix .cp-vtheme__intro { color:var(--cp-muted); }
.cp-vtheme--citrix .cp-vtheme__layout { grid-template-columns:minmax(0,1fr) 280px; }
.cp-vtheme--citrix .cp-exam { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:1.25rem; }

.cp-vtheme--dell { --vt-accent:#0076ce; --vt-radius:2px; }
.cp-vtheme--dell .cp-vtheme__header { border:0; border-bottom:3px solid #0076ce; padding:0 0 1rem; margin:1.75rem 0 1.5rem; background:transparent; text-align:center; }
.cp-vtheme--dell .cp-vtheme__layout { grid-template-columns:minmax(0,1.6fr) 280px; }
.cp-vtheme--dell .cp-vtheme__exam-head { display:grid; }
.cp-vtheme--dell .cp-exam { display:grid; grid-template-columns:minmax(0,1.6fr) 280px; gap:1.25rem; }

.cp-vtheme--apple { --vt-accent:#000; --vt-radius:12px; }
.cp-vtheme--apple .cp-vtheme__header { border:0; border-bottom:2px solid #d2d2d7; text-align:center; padding:0 0 1rem; margin:1.75rem 0 1.5rem; background:transparent; }
.cp-vtheme--apple .cp-vtheme__title { font-weight:600; letter-spacing:-.04em; font-size:clamp(1.7rem,3vw,2.2rem); }
.cp-vtheme--apple .cp-vtheme__intro { margin-inline:auto; color:#6e6e73; }
.cp-vtheme--apple .cp-vtheme__layout { grid-template-columns:1fr; width:100%; max-width:100%; margin-inline:0; }
.cp-vtheme--apple .cp-vtheme__aside { position:static; }
.cp-vtheme--apple .cp-vtheme__exam-list { width:100%; border:0; background:transparent; display:grid; gap:.65rem; }
.cp-vtheme--apple .cp-vtheme__exam {
  width:100%; grid-template-columns:minmax(0,1fr) auto; border:0; background:#f5f5f7; border-radius:12px; padding:1.1rem 1.2rem;
}
.cp-vtheme--apple .cp-vtheme__bundle { border:0; background:#f5f5f7; border-radius:12px; border-top:0; }
.cp-vtheme--apple .cp-exam { display:block; max-width:40rem; margin-inline:auto; }
.cp-vtheme--apple .cp-exam__panel { border:0; background:#f5f5f7; border-radius:12px; }

/* Fallback hashed variants — still structurally distinct */
.cp-vtheme--slate { --vt-accent:#475569; --vt-radius:2px; }
.cp-vtheme--slate .cp-vtheme__layout { grid-template-columns:minmax(0,1fr) 260px; }
.cp-vtheme--slate .cp-vtheme__exam-head { display:grid; }
.cp-vtheme--indigo { --vt-accent:#4338ca; --vt-radius:6px; }
.cp-vtheme--indigo .cp-vtheme__exam-list { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; border:0; background:transparent; }
.cp-vtheme--indigo .cp-vtheme__exam { width:100%; grid-template-columns:minmax(0,1fr); border:1px solid var(--vt-line); border-radius:6px; background:#fff; }
.cp-vtheme--forest { --vt-accent:#166534; --vt-radius:3px; }
.cp-vtheme--forest .cp-vtheme__layout { grid-template-columns:280px minmax(0,1fr); }
.cp-vtheme--forest .cp-vtheme__aside { order:-1; }
.cp-vtheme--copper { --vt-accent:#b45309; --vt-radius:2px; }
.cp-vtheme--copper .cp-vtheme__layout { grid-template-columns:1fr; }
.cp-vtheme--copper .cp-vtheme__exam { width:100%; border-left:4px solid #b45309; }
.cp-vtheme--graphite { --vt-accent:#374151; --vt-radius:0; }
.cp-vtheme--graphite .cp-vtheme__header { background:transparent; padding:0 0 1rem; border:0; border-bottom:3px solid #374151; margin:1.75rem 0 1.5rem; }
.cp-vtheme--graphite .cp-vtheme__title { color:var(--cp-ink); }
.cp-vtheme--graphite .cp-vtheme__intro { color:var(--cp-muted); }
.cp-vtheme--sand { --vt-accent:#a16207; --vt-radius:4px; }
.cp-vtheme--sand .cp-vtheme__header { background:transparent; padding:0 0 1rem; border:0; border-bottom:3px solid #a16207; margin:1.75rem 0 1.5rem; }
.cp-vtheme--default { --vt-accent: var(--cp-teal); }

/* Product/vendor header: no fill, consistent vertical spacing */
.cp-vtheme .cp-vtheme__header {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  margin-top: 1.75rem;
  margin-bottom: 1.5rem;
}

/* Exam pages inherit theme chrome */
.cp-vtheme .cp-exam__panel { border-radius: var(--vt-radius); border-color: var(--vt-line); }
.cp-vtheme .cp-pill { background: var(--vt-accent); color: var(--vt-accent-ink); border-radius: var(--vt-radius); }
.cp-vtheme .cp-btn--primary,
.cp-vtheme .cp-btn--signal { background: var(--vt-accent) !important; border-color: var(--vt-accent) !important; color: var(--vt-accent-ink) !important; border-radius: var(--vt-radius) !important; }
.cp-vtheme .cp-cart-table th { color: var(--vt-muted); }
.cp-vtheme .pricing_container .cp-bundle { border-radius: var(--vt-radius); border-color: var(--vt-line); }
.cp-vtheme .pricing_container .cp-btn--primary { border-radius: var(--vt-radius) !important; }

/* Full-width exam detail when buy sidebar is removed (wins over per-vendor .cp-exam grids) */
.cp-vtheme--no-aside .cp-exam,
.cp-vtheme--no-aside .cp-exam.cp-exam--single,
.cp-exam.cp-exam--single {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
  grid-template-columns: none !important;
  gap: 0 !important;
}
.cp-vtheme--no-aside .cp-exam > .cp-exam__panel,
.cp-exam.cp-exam--single > .cp-exam__panel {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  border-right: 0 !important;
}
.cp-vtheme--no-aside .cp-exam__product,
.cp-exam.cp-exam--single .cp-exam__product {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.cp-vtheme--no-aside .cp-cart-table,
.cp-exam.cp-exam--single .cp-cart-table {
  width: 100%;
  max-width: 100%;
}

@media (max-width: 960px) {
  .cp-vtheme__layout,
  .cp-vtheme--cisco .cp-vtheme__layout,
  .cp-vtheme--amazon .cp-vtheme__layout,
  .cp-vtheme--comptia .cp-vtheme__layout,
  .cp-vtheme--google .cp-vtheme__layout,
  .cp-vtheme--vmware .cp-vtheme__layout,
  .cp-vtheme--salesforce .cp-vtheme__layout,
  .cp-vtheme--redhat .cp-vtheme__layout,
  .cp-vtheme--juniper .cp-vtheme__layout,
  .cp-vtheme--paloalto .cp-vtheme__layout,
  .cp-vtheme--citrix .cp-vtheme__layout,
  .cp-vtheme--dell .cp-vtheme__layout,
  .cp-vtheme--slate .cp-vtheme__layout,
  .cp-vtheme--forest .cp-vtheme__layout { grid-template-columns: 1fr; }
  .cp-vtheme__aside,
  .cp-vtheme--amazon .cp-vtheme__aside,
  .cp-vtheme--forest .cp-vtheme__aside { position: static; order: 0; }
  .cp-vtheme--microsoft .cp-vtheme__aside { order: -1; }
  .cp-vtheme__exam,
  .cp-vtheme__exam-head { grid-template-columns: 1fr; }
  .cp-vtheme--microsoft .cp-vtheme__bundle { grid-template-columns: 1fr; }
  .cp-vtheme--microsoft .cp-vtheme__exam-list,
  .cp-vtheme--google .cp-vtheme__exam-list,
  .cp-vtheme--hp .cp-vtheme__exam-list,
  .cp-vtheme--huawei .cp-vtheme__exam-list,
  .cp-vtheme--indigo .cp-vtheme__exam-list { grid-template-columns: 1fr; }
  .cp-vtheme--cisco .cp-exam,
  .cp-vtheme--microsoft .cp-exam,
  .cp-vtheme--amazon .cp-exam,
  .cp-vtheme--comptia .cp-exam,
  .cp-vtheme--google .cp-exam,
  .cp-vtheme--vmware .cp-exam,
  .cp-vtheme--salesforce .cp-exam,
  .cp-vtheme--redhat .cp-exam,
  .cp-vtheme--juniper .cp-exam,
  .cp-vtheme--paloalto .cp-exam,
  .cp-vtheme--citrix .cp-exam,
  .cp-vtheme--dell .cp-exam { grid-template-columns: 1fr; }
  .cp-vtheme--amazon .cp-exam > aside.cp-exam__panel { order: 0; }
}

/* Forms */
.cp-form { display: grid; gap: .9rem; }
.cp-form .help-block,
.cp-form .cp-field-error { display: block; margin-top: .3rem; color: #b42318; font-size: .875rem; }
.cp-label { display: block; font-weight: 700; font-size: .9rem; margin-bottom: .35rem; }
.cp-input, .cp-select, .cp-textarea,
.cp-body input[type="text"], .cp-body input[type="email"], .cp-body input[type="password"],
.cp-body input[type="number"], .cp-body select, .cp-body textarea {
  width: 100%; padding: .7rem .85rem; border: 1px solid var(--cp-line);
  border-radius: var(--cp-radius-sm); background: var(--cp-white);
  font: inherit; color: var(--cp-ink);
}
.cp-body input:focus, .cp-body select:focus, .cp-body textarea:focus {
  outline: 2px solid rgba(15,118,110,.35); border-color: var(--cp-teal);
}

/* Auth shell — dimensional, hero-family atmosphere */
.cp-auth-shell {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: -2rem;
  margin-bottom: -4rem;
  padding: 1.5rem 1rem 3.25rem;
  min-height: calc(100vh - var(--cp-header-h) - 3rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(ellipse 65% 50% at 88% 8%, rgba(15,118,110,.42), transparent 58%),
    radial-gradient(ellipse 50% 42% at 6% 92%, rgba(94,234,212,.12), transparent 55%),
    linear-gradient(155deg, #06101f 0%, #0B1F3A 44%, #0a3d38 100%);
  color: #fff;
}
.cp-auth-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: .16;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: radial-gradient(ellipse 75% 70% at 50% 45%, #000 18%, transparent 78%);
}
.cp-auth-shell__glow {
  position: absolute;
  inset: auto auto -18% 50%;
  width: min(88vw, 640px);
  height: 240px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at center, rgba(15,118,110,.4), transparent 70%);
  filter: blur(10px);
  pointer-events: none;
  z-index: 0;
}
.cp-auth-shell__orb {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  border: 1px solid rgba(94,234,212,.16);
}
.cp-auth-shell__orb--a {
  width: 180px;
  height: 180px;
  top: 10%;
  right: 7%;
  background: radial-gradient(circle at 30% 30%, rgba(94,234,212,.18), transparent 65%);
  animation: cp-auth-float 10s ease-in-out infinite;
}
.cp-auth-shell__orb--b {
  width: 120px;
  height: 120px;
  bottom: 14%;
  left: 8%;
  background: radial-gradient(circle at 40% 40%, rgba(15,118,110,.32), transparent 70%);
  animation: cp-auth-float 12s ease-in-out infinite reverse;
}
@keyframes cp-auth-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-12px); }
}
@keyframes cp-auth-enter {
  from {
    opacity: 0;
    transform: translateY(14px) scale(.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.cp-auth-shell__crumb {
  position: relative;
  z-index: 1;
  width: min(100%, 440px);
  margin: 0 auto .85rem;
  color: rgba(255,255,255,.62);
}
.cp-auth-shell__crumb a { color: rgba(255,255,255,.72); }
.cp-auth-shell__crumb a:hover { color: #5EEAD4; }
.cp-auth-shell__crumb .active,
.cp-auth-shell__crumb .breadcrumb .active { color: #fff; }

.cp-auth {
  position: relative;
  z-index: 1;
  width: min(100%, 440px);
  margin: 0 auto;
  padding: 1.85rem 1.7rem 1.55rem;
  background:
    linear-gradient(180deg, rgba(255,255,255,.97) 0%, rgba(244,247,251,.96) 100%);
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 18px;
  box-shadow:
    0 0 0 1px rgba(94,234,212,.14),
    0 28px 56px rgba(6,16,31,.32),
    0 4px 14px rgba(6,16,31,.14),
    inset 0 1px 0 rgba(255,255,255,.9);
  color: var(--cp-ink);
  animation: cp-auth-enter .48s cubic-bezier(.22,.8,.28,1) both;
}
.cp-auth::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  border-radius: 18px 18px 0 0;
  background: linear-gradient(90deg, var(--cp-teal), #5EEAD4 55%, var(--cp-signal));
  pointer-events: none;
}
.cp-auth__brand {
  display: flex;
  justify-content: center;
  margin: 0 0 1.15rem;
}
.cp-auth__brand img {
  height: 40px;
  width: auto;
  max-width: min(220px, 70vw);
  object-fit: contain;
}
.cp-auth__title {
  font-family: var(--cp-font-display);
  font-size: clamp(1.35rem, 3.2vw, 1.65rem);
  letter-spacing: -.02em;
  margin-bottom: .35rem;
  text-align: center;
}
.cp-auth__sub {
  color: var(--cp-muted);
  margin: 0 auto 1.25rem;
  text-align: center;
  font-size: .98rem;
  line-height: 1.45;
  max-width: 34ch;
}
.cp-auth .cp-label {
  font-size: .82rem;
  letter-spacing: .02em;
  color: var(--cp-ink-soft);
  margin-bottom: .4rem;
}
.cp-auth .cp-input,
.cp-modal__panel--auth .cp-input {
  padding: .82rem 1rem;
  border-radius: 10px;
  border-color: #C5D3E2;
  background: #F7FAFD;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.cp-auth .cp-input:hover,
.cp-modal__panel--auth .cp-input:hover {
  border-color: #A9BDD1;
}
.cp-auth .cp-input:focus,
.cp-modal__panel--auth .cp-input:focus {
  outline: none;
  border-color: var(--cp-teal);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(15,118,110,.22);
}
.cp-input-wrap {
  position: relative;
  display: block;
}
.cp-input-wrap .cp-input {
  padding-right: 2.85rem;
}
.cp-password-toggle {
  position: absolute;
  top: 50%;
  right: .35rem;
  transform: translateY(-50%);
  width: 2.25rem;
  height: 2.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--cp-muted);
  cursor: pointer;
  transition: color .15s ease, background .15s ease;
}
.cp-password-toggle:hover {
  color: var(--cp-teal-dark);
  background: rgba(15,118,110,.08);
}
.cp-password-toggle:focus-visible {
  outline: 2px solid rgba(15,118,110,.45);
  outline-offset: 1px;
}
.cp-password-toggle svg { width: 1.15rem; height: 1.15rem; display: block; }
.cp-password-toggle[aria-pressed="true"] .cp-password-toggle__eye { display: none; }
.cp-password-toggle[aria-pressed="false"] .cp-password-toggle__eye-off { display: none; }
.cp-password-toggle[aria-pressed="true"] .cp-password-toggle__eye-off { display: block; }
.cp-auth .cp-btn--primary,
.cp-modal__panel--auth .cp-btn--primary {
  margin-top: .2rem;
  padding: .85rem 1.2rem;
  border-radius: 999px;
  background: linear-gradient(180deg, #149288 0%, var(--cp-teal) 55%, var(--cp-teal-dark) 100%);
  border-color: transparent;
  box-shadow: 0 10px 22px rgba(15,118,110,.28);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.cp-auth .cp-btn--primary:hover,
.cp-modal__panel--auth .cp-btn--primary:hover {
  filter: brightness(1.04);
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(15,118,110,.34);
  color: #fff;
}
.cp-auth .cp-btn--primary:active,
.cp-modal__panel--auth .cp-btn--primary:active {
  transform: translateY(0);
}
.cp-auth .cp-btn--primary:focus-visible,
.cp-modal__panel--auth .cp-btn--primary:focus-visible {
  outline: 2px solid #5EEAD4;
  outline-offset: 2px;
}
.cp-auth__hint {
  margin: .45rem 0 0;
  font-size: .9rem;
}
.cp-auth__hint a {
  font-weight: 600;
  color: var(--cp-teal);
}
.cp-auth__hint a:hover { color: var(--cp-teal-dark); }
.cp-auth__foot {
  margin: 1.35rem 0 0;
  padding-top: 1.1rem;
  border-top: 1px solid rgba(215,224,234,.9);
  text-align: center;
  font-size: .95rem;
  color: var(--cp-muted);
}
.cp-auth__foot a {
  font-weight: 700;
  color: var(--cp-teal);
}
.cp-auth__foot a:hover { color: var(--cp-teal-dark); }
.cp-auth__email {
  display: block;
  margin-top: .15rem;
  font-family: var(--cp-font-display);
  font-size: 1rem;
  color: var(--cp-ink);
  word-break: break-word;
}
.cp-alert {
  padding: .85rem 1rem;
  border-radius: 10px;
  margin-bottom: 1rem;
  font-weight: 600;
  font-size: .92rem;
  line-height: 1.4;
}
.cp-auth .cp-alert,
.cp-modal__panel--auth .cp-alert {
  box-shadow: inset 0 0 0 1px rgba(11,31,58,.04);
}
.cp-alert--error { background: #FEF3F2; color: var(--cp-danger); border: 1px solid #FECDCA; }
.cp-alert--success { background: #ECFDF3; color: var(--cp-success); border: 1px solid #ABEFC6; }
.cp-alert--info { background: #EFF8FF; color: #175CD3; border: 1px solid #B2DDFF; }
.cp-alert--warning { background: #FFFAEB; color: #B54708; border: 1px solid #FEDF89; }

@media (prefers-reduced-motion: reduce) {
  .cp-auth-shell__orb--a,
  .cp-auth-shell__orb--b { animation: none; }
  .cp-auth { animation: none; }
  .cp-auth .cp-btn--primary,
  .cp-modal__panel--auth .cp-btn--primary {
    transition: none;
  }
  .cp-auth .cp-btn--primary:hover,
  .cp-modal__panel--auth .cp-btn--primary:hover {
    transform: none;
  }
}
@media (max-width: 520px) {
  .cp-auth-shell {
    padding: 1.15rem .75rem 2.5rem;
    min-height: calc(100vh - var(--cp-header-h) - 1.5rem);
  }
  .cp-auth {
    padding: 1.5rem 1.15rem 1.25rem;
    border-radius: 16px;
  }
  .cp-auth-shell__orb--a,
  .cp-auth-shell__orb--b { opacity: .55; }
}

/* Cart */
.cp-cart-table { width: 100%; border-collapse: collapse; background: var(--cp-white); border-radius: var(--cp-radius); overflow: hidden; border: 1px solid var(--cp-line); }
.cp-cart-table th, .cp-cart-table td { padding: .9rem 1rem; border-bottom: 1px solid var(--cp-line); text-align: left; vertical-align: middle; }
.cp-cart-table th { background: rgba(11,31,58,.04); font-size: .85rem; text-transform: uppercase; letter-spacing: .04em; }
.cp-cart-wrap .table, .cp-cart-wrap table { width: 100%; }
.cp-cart-wrap .form-control { border-radius: var(--cp-radius-sm); }

/* Modern checkout */
.cp-checkout { margin-bottom: 3rem; }
.cp-checkout__head {
  display: flex; align-items: end; justify-content: space-between;
  gap: 1rem; flex-wrap: wrap; margin-bottom: 1.5rem;
}
.cp-checkout__steps {
  display: flex; align-items: center; gap: 0; list-style: none; margin: 0; padding: 0; flex-wrap: wrap;
}
.cp-checkout__step {
  display: inline-flex; align-items: center; gap: .55rem;
  position: relative; padding: 0;
  background: transparent; color: var(--cp-muted); font-weight: 700;
}
.cp-checkout__step + .cp-checkout__step {
  margin-left: .85rem;
  padding-left: 1.35rem;
}
.cp-checkout__step + .cp-checkout__step::before {
  content: "";
  position: absolute; left: 0; top: 50%;
  width: .85rem; height: 2px;
  background: var(--cp-line);
  transform: translateY(-50%);
}
.cp-checkout__step-num {
  width: 2rem; height: 2rem; border-radius: 999px;
  display: inline-grid; place-items: center;
  border: 2px solid var(--cp-line);
  background: var(--cp-white);
  color: var(--cp-muted);
  font-size: .9rem;
}
.cp-checkout__step-label { font-size: .95rem; }
.cp-checkout__step.is-current .cp-checkout__step-num,
.cp-checkout__step.is-active .cp-checkout__step-num {
  border-color: var(--cp-teal);
  background: var(--cp-teal);
  color: #fff;
}
.cp-checkout__step.is-current,
.cp-checkout__step.is-active {
  color: var(--cp-ink);
}
.cp-checkout__step.is-current .cp-checkout__step-label {
  color: var(--cp-teal-dark);
}
.cp-visually-hidden {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.cp-cart-line__qty {
  display: grid; gap: .25rem; align-content: start; justify-items: center; text-align: center;
}
.cp-cart-line__qty .cp-label { text-align: center; width: 100%; }
.cp-cart-line__qty-fixed {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 2.5rem; height: 2.5rem; padding: 0 .65rem;
  border-radius: var(--cp-radius-sm); border: 1px solid var(--cp-line);
  background: #fff; font-weight: 700; color: var(--cp-ink);
}
.cp-checkout__empty {
  background: var(--cp-white); border: 1px solid var(--cp-line); border-radius: var(--cp-radius);
  padding: 2.5rem 1.5rem; text-align: center;
}
.cp-checkout__empty p { margin: 0 0 1rem; color: var(--cp-muted); font-size: 1.05rem; }
.cp-checkout__grid {
  display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 1.25rem; align-items: start;
}
.cp-checkout__panel {
  background: var(--cp-white); border: 1px solid var(--cp-line); border-radius: var(--cp-radius);
  padding: 1.25rem; margin-bottom: 1rem; box-shadow: var(--cp-shadow);
}
.cp-checkout__panel-head {
  display: flex; align-items: center; justify-content: space-between; gap: .75rem;
  margin-bottom: 1rem; padding-bottom: .75rem; border-bottom: 1px solid var(--cp-line);
}
.cp-checkout__panel-head h2,
.cp-checkout__coupon h2,
.cp-checkout__summary-card h2 {
  margin: 0; font-size: 1.15rem; color: var(--cp-ink);
}
.cp-checkout__panel-head span { color: var(--cp-muted); font-size: .9rem; font-weight: 600; }
.cp-cart-lines { list-style: none; margin: 0; padding: 0; display: grid; gap: .85rem; }
.cp-cart-line {
  display: grid; grid-template-columns: minmax(0, 1fr) 120px 120px; gap: 1rem;
  align-items: start; padding: 1rem; border: 1px solid var(--cp-line);
  border-radius: var(--cp-radius-sm); background: var(--cp-paper);
}
.cp-cart-line__title { margin: .45rem 0 .25rem; font-size: 1rem; line-height: 1.35; }
.cp-cart-line__price, .cp-cart-line__note { margin: 0; color: var(--cp-muted); font-size: .9rem; }
.cp-cart-line__qty .cp-label { display: block; margin-bottom: .35rem; }
.cp-cart-line__qty .cp-input,
.cp-cart-line__qty .cp-select,
.cp-cart-line__qty .form-control {
  width: 100%; max-width: 110px; padding: .55rem .65rem;
  border: 1px solid var(--cp-line); border-radius: var(--cp-radius-sm); background: #fff;
}
.cp-cart-line__qty-fixed { font-weight: 700; color: var(--cp-ink); }
.cp-cart-line__total { text-align: right; display: grid; gap: .35rem; justify-items: end; }
.cp-cart-line__total strong { font-size: 1.05rem; color: var(--cp-ink); }
.cp-cart-line__remove {
  color: var(--cp-danger); font-size: .86rem; font-weight: 700; text-decoration: none;
}
.cp-cart-line__remove:hover { text-decoration: underline; color: var(--cp-danger); }
.cp-checkout__coupon-row { display: flex; gap: .55rem; flex-wrap: wrap; margin-top: .75rem; }
.cp-checkout__coupon-row .cp-input,
.cp-checkout__coupon-row .form-control { flex: 1; min-width: 180px; }
.cp-checkout__summary { position: sticky; top: calc(var(--cp-header-h) + 1rem); }
.cp-checkout__summary-card {
  background: var(--cp-white); border: 1px solid var(--cp-line); border-radius: var(--cp-radius);
  padding: 1.25rem; box-shadow: var(--cp-shadow);
}
.cp-summary-row {
  display: flex; justify-content: space-between; gap: 1rem; align-items: center;
  padding: .55rem 0; border-bottom: 1px solid var(--cp-line); color: var(--cp-muted);
}
.cp-summary-row strong { color: var(--cp-ink); }
.cp-summary-row--total {
  border-bottom: 0; margin: .35rem 0 1rem; padding-top: .85rem;
  font-size: 1.05rem; color: var(--cp-ink); font-weight: 700;
}
.cp-summary-row--total strong { font-size: 1.25rem; color: var(--cp-teal-dark); }
.cp-checkout__summary-card .cp-btn { margin-bottom: .55rem; }
.cp-pay-tabs {
  display: flex; gap: .55rem; list-style: none; margin: 0 0 1rem; padding: 0; flex-wrap: wrap;
}
.cp-pay-tabs > li > a {
  display: inline-flex; align-items: center; gap: .45rem;
  padding: .7rem 1rem; border-radius: 999px; border: 1px solid var(--cp-line);
  background: var(--cp-paper); color: var(--cp-ink); font-weight: 700; text-decoration: none;
}
.cp-pay-tabs > li.active > a,
.cp-pay-tabs > li > a:hover {
  border-color: var(--cp-teal); background: rgba(15,118,110,.1); color: var(--cp-teal-dark);
}
.cp-pay-tabs .css-radio { margin: 0; }
.cp-pay-box {
  border: 1px solid var(--cp-line); border-radius: var(--cp-radius-sm);
  padding: 1.15rem; background: var(--cp-paper); text-align: left;
}
.cp-pay-box h3, .cp-pay-box h4 { margin: 0 0 .85rem; }
.cp-pay-form .cp-label { display: block; margin-bottom: .4rem; }
.cp-pay-form .cp-input,
.cp-pay-form .form-control {
  width: 100%; margin-bottom: .85rem; padding: .7rem .85rem;
  border: 1px solid var(--cp-line); border-radius: var(--cp-radius-sm); background: #fff;
}
.cp-pay-note { margin: .85rem 0 0; color: var(--cp-muted); font-size: .9rem; line-height: 1.45; }
.cp-pay-pro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; text-align: left; }
.cp-field { margin-bottom: .85rem; }
.cp-field label { display: block; margin-bottom: .35rem; font-weight: 600; font-size: .9rem; }
.cp-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.cp-field .cp-input,
.cp-field .cp-select,
.cp-field .form-control {
  width: 100%; padding: .65rem .75rem; border: 1px solid var(--cp-line);
  border-radius: var(--cp-radius-sm); background: #fff;
}

@media (max-width: 960px) {
  .cp-checkout__grid { grid-template-columns: 1fr; }
  .cp-checkout__summary { position: static; }
  .cp-cart-line { grid-template-columns: 1fr; }
  .cp-cart-line__total { text-align: left; justify-items: start; }
  .cp-pay-pro-grid, .cp-field-row { grid-template-columns: 1fr; }
}

/* Footer — CertsHero structure, CertsPrime colors */
.cp-footer {
  background: var(--cp-ink);
  color: rgba(255,255,255,.88);
  padding: 30px 0 20px;
  margin-top: auto;
  flex-shrink: 0;
  width: 100%;
  border-top: 0;
  font-size: 13px;
}
.cp-footer a { color: rgba(255,255,255,.88); text-decoration: none; }
.cp-footer a:hover { color: #5EEAD4; text-decoration: underline; }
.cp-footer__bar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
.cp-footer__left {
  flex: 0 1 auto;
}
.cp-footer__copy {
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 22px;
  color: rgba(255,255,255,.88);
  white-space: nowrap;
}
.cp-footer__nav {
  flex: 1 1 auto;
  text-align: right;
}
.cp-footer__nav ul {
  list-style: none;
  margin: 0 0 10px;
  padding: 0;
  text-align: right;
}
.cp-footer__nav li {
  display: inline-block;
  margin: 0;
  padding: 0;
}
.cp-footer__nav li::before {
  content: " ";
  display: inline-block;
  padding-right: 8px;
}
.cp-footer__nav li:first-child::before {
  content: "";
  padding-right: 0;
}
.cp-footer__line,
.cp-footer__sep,
.cp-footer__grid,
.cp-footer__brand,
.cp-footer__title,
.cp-footer__links,
.cp-footer__bottom { display: none; }

@media (max-width: 720px) {
  .cp-footer__bar {
    flex-direction: column;
    align-items: flex-start;
    gap: .35rem;
  }
  .cp-footer__nav,
  .cp-footer__nav ul {
    text-align: left;
  }
}

/* Search / auth modal */
.cp-modal {
  position: fixed; inset: 0; z-index: 2000; display: none;
  align-items: flex-start; justify-content: center; padding: 12vh 1rem 1rem;
  background:
    radial-gradient(ellipse 60% 40% at 70% 0%, rgba(15,118,110,.28), transparent 55%),
    rgba(6,16,31,.62);
  backdrop-filter: blur(4px);
}
.cp-modal.is-open { display: flex; }
.cp-modal__panel {
  width: min(100%, 640px); background: #fff; border-radius: var(--cp-radius);
  padding: 1rem; box-shadow: var(--cp-shadow);
}
.cp-modal__panel--auth {
  width: min(100%, 420px);
  padding: 1.35rem 1.35rem 1.25rem;
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(244,247,251,.97) 100%);
  border: 1px solid rgba(255,255,255,.75);
  box-shadow:
    0 0 0 1px rgba(94,234,212,.14),
    0 28px 56px rgba(6,16,31,.38),
    0 4px 14px rgba(6,16,31,.16);
  position: relative;
  overflow: hidden;
  animation: cp-auth-enter .4s cubic-bezier(.22,.8,.28,1) both;
}
.cp-modal__panel--auth::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, var(--cp-teal), #5EEAD4 55%, var(--cp-signal));
  pointer-events: none;
}
.cp-modal__brand {
  display: flex;
  justify-content: center;
  margin: .15rem 0 .85rem;
}
.cp-modal__brand img {
  height: 34px;
  width: auto;
  max-width: 180px;
  object-fit: contain;
}
.cp-modal__head {
  display: flex; align-items: center; justify-content: space-between; gap: .75rem;
  margin-bottom: .55rem;
}
.cp-modal__panel--auth .cp-auth__title {
  text-align: left;
  font-size: 1.2rem;
  margin: 0;
}
.cp-modal__panel--auth .cp-form { margin-top: .35rem; }
.cp-modal__panel--auth .cp-auth__hint { margin-top: .15rem; }
.cp-modal__row { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; }
.cp-modal__row input { flex: 1; }
.cp-modal__row .cp-btn { min-width: 6.5rem; }
.cp-icon-btn {
  border: 1px solid var(--cp-line); background: #fff; border-radius: var(--cp-radius-sm);
  width: 2.1rem; height: 2.1rem; line-height: 1; font-size: 1.25rem; cursor: pointer;
  color: var(--cp-ink-soft);
  transition: border-color .15s ease, color .15s ease, background .15s ease;
}
.cp-icon-btn:hover {
  border-color: var(--cp-teal);
  color: var(--cp-teal-dark);
  background: rgba(15,118,110,.06);
}
.cp-icon-btn:focus-visible {
  outline: 2px solid rgba(15,118,110,.45);
  outline-offset: 1px;
}
@media (prefers-reduced-motion: reduce) {
  .cp-modal__panel--auth { animation: none; }
}
.d-none { display: none !important; }

/* Practice questions page (CertsHero-style structure) */
.cp-practice { margin: 0 0 2rem; }
.cp-practice__hero {
  margin: 0 0 1rem;
  padding: 1.15rem 1.25rem;
  background:
    linear-gradient(135deg, rgba(15, 118, 110, 0.1), transparent 55%),
    #0b1f3a;
  border-radius: var(--cp-radius);
  color: #fff;
}
.cp-practice__title {
  margin: 0;
  font-family: var(--cp-font-display);
  font-size: clamp(1.35rem, 2.4vw, 1.9rem);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.02em;
  color: #fff;
}
.cp-practice__toolbar {
  display: grid;
  grid-template-columns: 1fr auto 1.4fr;
  gap: .85rem 1rem;
  align-items: center;
  margin: 0 0 1rem;
  padding: .9rem 1.1rem;
  background: linear-gradient(120deg, #12325a, #0f766e 140%);
  border-radius: var(--cp-radius);
  color: #fff;
}
.cp-practice__toolbar--footer {
  grid-template-columns: 1fr auto;
  margin-top: 1.25rem;
}
.cp-practice__stats {
  display: grid;
  gap: .15rem;
  font-size: .92rem;
}
.cp-practice__stats strong { font-size: 1rem; }
.cp-practice__stats span { opacity: .9; }
.cp-practice__pager { display: flex; gap: .55rem; }
.cp-practice__arrow {
  width: 2.6rem; height: 2.6rem;
  border: 0; border-radius: .45rem;
  background: var(--cp-signal); color: #0b1f3a;
  font-size: 1.2rem; font-weight: 700; cursor: pointer;
  box-shadow: 0 4px 12px rgba(0,0,0,.18);
}
.cp-practice__arrow:hover { filter: brightness(1.05); }
.cp-practice__upsell {
  margin: 0;
  text-align: right;
  font-size: .95rem;
  line-height: 1.35;
}
.cp-practice__details {
  display: inline;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: #fbbf24;
  font: inherit;
  font-weight: 700;
  text-decoration: underline;
  cursor: pointer;
}
.cp-practice__demos {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin: 0 0 1.15rem;
}
.cp-practice__questions { display: grid; gap: 1rem; }
.cp-q-card {
  background: #fff;
  border: 1px solid var(--cp-line);
  border-radius: var(--cp-radius);
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(11, 31, 58, 0.05);
}
.cp-q-card__head {
  padding: .7rem 1rem;
  background: #f1f5f9;
  border-bottom: 1px solid var(--cp-line);
  font-weight: 700;
  color: var(--cp-ink);
}
.cp-q-card__body { padding: 1rem 1.1rem 1.15rem; }
.cp-q-card__prompt { color: var(--cp-ink-soft); margin-bottom: .85rem; }
.cp-q-card__prompt img,
.cp-q-card__choices img,
.cp-q-answer img,
.cp-prose img {
  max-width: 100%;
  height: auto;
  margin: .65rem 0;
  border-radius: .35rem;
}
.cp-q-card__choices .radio,
.cp-q-card__choices .checkbox,
.cp-q-card__choices label {
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  margin: 0 0 .55rem;
  color: var(--cp-ink-soft);
  line-height: 1.4;
}
.cp-q-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-top: 1rem;
}
.cp-q-card .cp-q-card__head .cp-q-card__num { margin: 0; font-family: inherit; font-size: 1rem; line-height: 1.4; font-weight: 700; color: var(--cp-ink); }
.cp-js .cp-q-answer { display: none; }
.cp-js .cp-q-answer.is-open { display: block; }
.cp-q-answer .answer-description { margin-top: .65rem; }
.cp-q-answer {
  margin-top: 1rem;
  padding: 1rem;
  background: rgba(11,31,58,.04);
  border-radius: var(--cp-radius-sm);
}
.correct-choice { font-weight: 700; color: var(--cp-success); }
.cp-cite {
  margin-top: 1.5rem;
  padding: 1.15rem 1.25rem;
  background: #fff;
  border: 1px solid var(--cp-line);
  border-left: 4px solid var(--cp-teal);
  border-radius: var(--cp-radius);
}
.cp-cite__title { margin: 0 0 .45rem; font-size: 1.15rem; color: var(--cp-ink); }
.cp-cite__summary { margin: 0 0 .9rem; color: var(--cp-ink-soft); }
.cp-cite__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem 1.25rem; margin: 0 0 1rem; }
.cp-cite__facts div { min-width: 0; }
.cp-cite__facts dt { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: var(--cp-muted); }
.cp-cite__facts dd { margin: .1rem 0 0; color: var(--cp-ink); word-break: break-word; }
.cp-cite__ref { display: grid; gap: .45rem; justify-items: start; }
.cp-cite__label { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: var(--cp-muted); }
.cp-cite__text {
  margin: 0; padding: .7rem .85rem; width: 100%;
  background: rgba(11,31,58,.04); border-radius: var(--cp-radius-sm);
  font-size: .92rem; color: var(--cp-ink); word-break: break-word;
}
@media (max-width: 640px) { .cp-cite__facts { grid-template-columns: 1fr; } }
.cp-premium-panel {
  position: relative;
  width: min(100%, 420px);
  padding: 1.35rem 1.25rem 1.25rem;
  background: linear-gradient(160deg, #1e293b, #0f172a 70%);
  color: #fff;
  border: 1px solid rgba(255,255,255,.08);
}
.cp-premium-panel__close {
  position: absolute;
  top: .65rem;
  right: .65rem;
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.16);
  color: #fff;
}
.cp-premium-panel h2 {
  margin: 0 0 .55rem;
  font-family: var(--cp-font-display);
  font-size: 1.45rem;
  line-height: 1.2;
  color: #fff;
}
.cp-premium-panel h2 span {
  display: block;
  color: #7dd3fc;
  font-size: .95rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin-bottom: .2rem;
}
.cp-premium-panel__price {
  margin: 0 0 1rem;
  font-weight: 700;
  color: #e2e8f0;
}
.cp-premium-panel__list {
  display: grid;
  gap: 0;
  margin: 0 0 1.2rem;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(255,255,255,.1);
}
.cp-premium-panel__list li {
  position: relative;
  display: block;
  margin: 0;
  padding: .62rem 0 .62rem 2rem;
  border-bottom: 1px solid rgba(255,255,255,.1);
  color: #e2e8f0;
  font-size: .95rem;
  line-height: 1.4;
  list-style: none;
}
.cp-premium-panel__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .62rem;
  width: 1.3rem;
  height: 1.3rem;
  border-radius: 50%;
  background: rgba(52, 211, 153, .16);
}
.cp-premium-panel__list li::after {
  content: "";
  position: absolute;
  left: .47rem;
  top: calc(.62rem + .26rem);
  width: .36rem;
  height: .62rem;
  border-right: 2px solid #34d399;
  border-bottom: 2px solid #34d399;
  transform: rotate(45deg);
}
.cp-premium-panel__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}
.cp-premium-panel__actions .cp-btn--ghost {
  background: transparent;
  border-color: rgba(255,255,255,.35);
  color: #fff;
}
@media (max-width: 860px) {
  .cp-practice__toolbar {
    grid-template-columns: 1fr;
    text-align: left;
  }
  .cp-practice__upsell { text-align: left; }
  .cp-practice__pager { justify-content: flex-start; }
}

/* Fixed site template for vendor / exam details / product pages
   (matches practice-questions look; not per-vendor themed) */
.cp-page { margin: 0 0 2rem; }
.cp-page__hero {
  margin: 0 0 1.15rem;
  padding: 1.25rem 1.35rem;
  background:
    linear-gradient(135deg, rgba(15, 118, 110, 0.14), transparent 55%),
    #0b1f3a;
  border-radius: var(--cp-radius);
  color: #fff;
}
.cp-page__title {
  margin: 0;
  font-family: var(--cp-font-display);
  font-size: clamp(1.35rem, 2.4vw, 1.9rem);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.02em;
  color: #fff;
}

.cp-accent {
  color: #ffb59f;
}
.cp-practice__title .cp-accent,
.cp-page__title .cp-accent {
  white-space: nowrap;
}
.cp-page__lead {
  margin: .55rem 0 0;
  max-width: 46rem;
  color: rgba(255, 255, 255, 0.88);
  font-size: .98rem;
  line-height: 1.45;
}
.cp-page__panel {
  background: #fff;
  border: 1px solid var(--cp-line);
  border-radius: var(--cp-radius);
  box-shadow: 0 6px 18px rgba(11, 31, 58, 0.05);
  overflow: hidden;
}
.cp-page__panel + .cp-page__panel,
.cp-page__panel + .cp-reviews { margin-top: 1.15rem; }
.cp-page__panel-body { padding: 1.15rem 1.25rem 1.35rem; }
.cp-page__bar {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1rem;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 1rem;
  padding: .85rem 1.1rem;
  background: linear-gradient(120deg, #12325a, #0f766e 140%);
  border-radius: var(--cp-radius);
  color: #fff;
}
.cp-page__bar strong { font-size: 1rem; }
.cp-page__bar span { opacity: .92; font-size: .92rem; }

.cp-page-exam__product {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.15rem 1.35rem;
  align-items: start;
  margin: 0 0 1.15rem;
  padding-bottom: 1.15rem;
  border-bottom: 1px solid var(--cp-line);
}
.cp-page-exam__cover {
  margin: 0;
  width: 148px;
  border-radius: var(--cp-radius-sm);
  overflow: hidden;
  background: #f1f5f9;
  box-shadow: 0 8px 20px rgba(11, 31, 58, 0.08);
}
.cp-page-exam__cover img {
  display: block;
  width: 148px;
  height: 148px;
  object-fit: cover;
}
.cp-page-exam__identity { display: grid; gap: .7rem; }
.cp-page-exam__field { display: grid; gap: .15rem; }
.cp-page-exam__label {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--cp-muted);
}
.cp-page-exam__code {
  margin: 0;
  font-family: var(--cp-font-display);
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--cp-teal);
  letter-spacing: -0.02em;
}
.cp-page-exam__name {
  margin: 0;
  font-family: var(--cp-font-display);
  font-size: 1rem;
  font-weight: 700;
  color: var(--cp-ink);
  line-height: 1.3;
}
.cp-page-exam__vendor {
  margin: 0;
  font-weight: 600;
  color: var(--cp-ink-soft);
}
.cp-page-exam__facts {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem .85rem;
  margin: .15rem 0 0;
  padding: 0;
  list-style: none;
  color: var(--cp-muted);
  font-size: .92rem;
}
.cp-page-exam__facts span { color: var(--cp-ink); font-weight: 700; }
.cp-page-exam__specs {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 1.15rem;
}
.cp-page-exam__specs th,
.cp-page-exam__specs td {
  padding: .7rem .85rem;
  border: 1px solid var(--cp-line);
  text-align: left;
  vertical-align: top;
  font-size: .95rem;
}
.cp-page-exam__specs th {
  width: 34%;
  background: #f8fafc;
  color: var(--cp-ink-soft);
  font-weight: 700;
}
.cp-page-exam__cta { margin: 0 0 1.15rem; }
.cp-page-exam__seo p {
  margin: 0 0 .75rem;
  color: var(--cp-ink-soft);
  line-height: 1.6;
}
.cp-page-exam__seo p:last-child { margin-bottom: 0; }

.cp-page-pricing {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 0 0 .5rem;
}
.cp-page-offer {
  position: relative;
  display: grid;
  gap: .85rem;
  padding: 1.15rem 1.1rem 1.2rem;
  background: #fff;
  border: 1px solid var(--cp-line);
  border-radius: var(--cp-radius);
  box-shadow: 0 6px 18px rgba(11, 31, 58, 0.05);
}
.cp-page-offer.is-featured {
  border-color: var(--cp-teal);
  box-shadow:
    0 0 0 1px var(--cp-teal),
    0 10px 28px rgba(15, 118, 110, 0.12);
}
.cp-page-offer__head {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: .85rem;
  align-items: center;
}
.cp-page-offer__head img {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: .65rem;
  background: #f1f5f9;
}
.cp-page-offer__head h2 {
  margin: 0;
  font-family: var(--cp-font-display);
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--cp-ink);
}
.cp-page-offer__head h2 span {
  display: block;
  margin-top: .15rem;
  font-size: .85rem;
  font-weight: 600;
  color: var(--cp-muted);
}
.cp-page-offer .cp-price { margin: .2rem 0 0; }
.cp-page-offer__list {
  margin: 0;
  padding: 0 0 0 1.1rem;
  color: var(--cp-ink-soft);
  font-size: .94rem;
}
.cp-page-offer__list li { margin: 0 0 .35rem; }

.cp-page-vendor__toolbar {
  display: grid;
  gap: .55rem;
  margin: 0 0 1rem;
  padding: 1rem 1.1rem;
  background: #fff;
  border: 1px solid var(--cp-line);
  border-radius: var(--cp-radius);
  box-shadow: 0 6px 18px rgba(11, 31, 58, 0.04);
}
.cp-page-vendor__toolbar-row {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  align-items: center;
}
.cp-page-vendor__toolbar-row .cp-input { flex: 1; min-width: 220px; }
.cp-page-vendor__count {
  margin: 0;
  color: var(--cp-muted);
  font-size: .92rem;
}
.cp-page-vendor__list { display: grid; gap: .7rem; }
.cp-page-vendor__exam {
  display: grid;
  grid-template-columns: 1.4fr 1fr auto;
  gap: .85rem 1rem;
  align-items: center;
  padding: 1rem 1.1rem;
  background: #fff;
  border: 1px solid var(--cp-line);
  border-radius: var(--cp-radius);
  box-shadow: 0 4px 14px rgba(11, 31, 58, 0.04);
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.cp-page-vendor__exam:hover {
  border-color: rgba(15, 118, 110, 0.45);
  box-shadow: 0 10px 24px rgba(11, 31, 58, 0.08);
  transform: translateY(-1px);
}
.cp-page-vendor__exam.is-retired { opacity: .82; }
.cp-page-vendor__exam-code {
  display: inline-block;
  margin: 0 .55rem .35rem 0;
  font-family: var(--cp-font-display);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--cp-teal);
  text-decoration: none;
}
.cp-page-vendor__exam-code:hover { color: var(--cp-teal-dark); text-decoration: underline; }
.cp-page-vendor__exam-status {
  display: inline-block;
  padding: .15rem .5rem;
  border-radius: 999px;
  background: rgba(15, 118, 110, 0.1);
  color: var(--cp-teal-dark);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.cp-page-vendor__exam.is-retired .cp-page-vendor__exam-status {
  background: #f1f5f9;
  color: var(--cp-muted);
}
.cp-page-vendor__exam-name {
  margin: .2rem 0 0;
  font-size: 1rem;
  font-weight: 650;
  line-height: 1.35;
}
.cp-page-vendor__exam-name a {
  color: var(--cp-ink);
  text-decoration: none;
}
.cp-page-vendor__exam-name a:hover { color: var(--cp-teal); }
.cp-page-vendor__exam-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .75rem;
  color: var(--cp-muted);
  font-size: .9rem;
}
.cp-page-vendor__empty {
  margin: 1rem 0 0;
  padding: 1rem;
  text-align: center;
  color: var(--cp-muted);
  background: #fff;
  border: 1px dashed var(--cp-line);
  border-radius: var(--cp-radius);
}

@media (max-width: 960px) {
  .cp-page-pricing { grid-template-columns: 1fr; }
  .cp-page-vendor__exam { grid-template-columns: 1fr; }
  .cp-page-exam__product { grid-template-columns: 1fr; }
  .cp-page-exam__cover,
  .cp-page-exam__cover img { width: 120px; height: 120px; }
}
@media (max-width: 720px) {
  .cp-page-exam__cover { display: none; }
}

/* Vendor listings / directory */
.cp-vendor-search {
  margin: 0 0 1rem;
  padding: 1rem 1.1rem;
  background: var(--cp-white);
  border: 1px solid var(--cp-line);
  border-radius: var(--cp-radius);
}
.cp-vendor-search .cp-label { display: block; margin-bottom: .4rem; }
.cp-vendor-search__row {
  display: flex; gap: .55rem; flex-wrap: wrap; align-items: center;
}
.cp-vendor-search__row .cp-input {
  flex: 1; min-width: 220px; padding: .7rem .85rem;
  border: 1px solid var(--cp-line); border-radius: var(--cp-radius-sm);
  background: #fff; font: inherit; color: var(--cp-ink);
}
.cp-vendor-search__meta {
  margin: .65rem 0 0; color: var(--cp-muted); font-size: .9rem; font-weight: 600;
}
.cp-vendor-item-hidden,
.cp-vendor-group-hidden { display: none !important; }
[data-cp-vendor-clear][hidden] { display: none !important; }
.cp-vendor-az {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin: 0 0 1.5rem;
  padding: .85rem;
  background: var(--cp-white);
  border: 1px solid var(--cp-line);
  border-radius: var(--cp-radius);
}
.cp-vendor-az .listing_form { margin: 0; display: inline; }
.cp-vendor-az__btn {
  min-width: 2.1rem;
  height: 2.1rem;
  padding: 0 .45rem;
  border: 1px solid var(--cp-line);
  border-radius: 8px;
  background: var(--cp-paper);
  color: var(--cp-ink);
  font-weight: 700;
  font-size: .88rem;
  cursor: pointer;
}
.cp-vendor-az__btn:hover,
.cp-vendor-az__btn.is-active {
  background: var(--cp-teal);
  border-color: var(--cp-teal);
  color: #fff;
}
.cp-vendor-directory { display: grid; gap: 1.25rem; }
.cp-vendor-group__letter {
  margin: 0 0 .55rem;
  font-size: 1.15rem;
  color: var(--cp-ink);
  padding-bottom: .35rem;
  border-bottom: 2px solid var(--cp-teal);
  display: inline-block;
  min-width: 2rem;
}
.cp-vendor-dir-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem;
}
.cp-vendor-dir-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: .75rem;
  padding: .85rem 1rem;
  background: var(--cp-white);
  border: 1px solid var(--cp-line);
  border-radius: var(--cp-radius-sm);
  text-decoration: none;
  color: inherit;
  transition: border-color .15s, box-shadow .15s;
}
.cp-vendor-dir-row:hover {
  border-color: var(--cp-teal);
  box-shadow: var(--cp-shadow);
  color: inherit;
}
.cp-vendor-dir-row__name {
  font-family: var(--cp-font-display);
  font-weight: 700;
  color: var(--cp-ink);
}
.cp-vendor-dir-row:hover .cp-vendor-dir-row__name { color: var(--cp-teal-dark); }
.cp-vendor-dir-row__count {
  font-size: .86rem;
  font-weight: 700;
  color: var(--cp-muted);
  white-space: nowrap;
}
.cp-vendor-dir-row__go {
  font-size: .8rem;
  font-weight: 700;
  color: var(--cp-teal);
  white-space: nowrap;
}
.cp-vendor-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1rem; }
.cp-vendor-tile {
  background: var(--cp-white); border: 1px solid var(--cp-line); border-radius: var(--cp-radius);
  padding: 1.25rem; text-align: left; transition: .15s ease;
}
.cp-vendor-tile:hover { border-color: var(--cp-teal); box-shadow: var(--cp-shadow); transform: translateY(-2px); }
.cp-vendor-tile img { display: none; }
.cp-vendor-tile__name { font-family: var(--cp-font-display); font-weight: 700; color: var(--cp-ink); }

@media (max-width: 720px) {
  .cp-vendor-dir-list { grid-template-columns: 1fr; }
}

/* Customer shell */
.cp-user-shell { display: grid; grid-template-columns: 240px 1fr; gap: 1.25rem; }
.cp-user-nav {
  background: var(--cp-white); border: 1px solid var(--cp-line); border-radius: var(--cp-radius);
  padding: .75rem; height: fit-content; position: sticky; top: calc(var(--cp-header-h) + 1rem);
}
.cp-user-nav a {
  display: block; padding: .65rem .8rem; border-radius: 8px; color: var(--cp-ink); font-weight: 600;
}
.cp-user-nav a:hover, .cp-user-nav a.is-active { background: rgba(15,118,110,.1); color: var(--cp-teal-dark); }

/* Compat helpers for leftover bootstrap class names inside views */
.cp-body .container { width: min(100% - 2rem, var(--cp-max)); margin-inline: auto; }
.cp-body .btn-primary, .cp-body .btn.btn-primary {
  background: var(--cp-teal) !important; border-color: var(--cp-teal) !important; color: #fff !important;
  border-radius: 999px; font-weight: 700;
}
.cp-body .alert-danger { background: #FEF3F2; color: var(--cp-danger); border: 1px solid #FECDCA; border-radius: 8px; padding: .85rem 1rem; }
.cp-body .alert-success { background: #ECFDF3; color: var(--cp-success); border: 1px solid #ABEFC6; border-radius: 8px; padding: .85rem 1rem; }

@media (max-width: 960px) {
  .cp-burger { display: inline-grid; }
  .cp-nav__auth--desktop { display: none; }
  .cp-nav__auth--mobile { display: flex; margin-top: .5rem; }
  .cp-nav {
    display: none; position: absolute; left: 0; right: 0; top: var(--cp-header-h);
    background: var(--cp-paper); border-bottom: 1px solid var(--cp-line);
    flex-direction: column; align-items: stretch; padding: 1rem; gap: .25rem;
    z-index: 1001;
  }
  .cp-nav.is-open { display: flex; }
  .cp-nav__actions { margin-left: 0; justify-content: flex-start; flex-wrap: wrap; }
  .cp-dropdown__panel {
    position: static;
    max-height: none;
    box-shadow: none;
    border: 0;
    padding: .25rem 0 .25rem .5rem;
    min-width: 0;
    max-width: none;
  }
  .cp-dropdown__grid { columns: 1; }
  .cp-dropdown__panel[hidden] { display: none !important; }
  .cp-dropdown.is-open .cp-dropdown__panel { display: block; }
  .cp-exam { grid-template-columns: 1fr; }
  .cp-grid--3, .cp-grid--2 { grid-template-columns: 1fr; }
  .cp-user-shell { grid-template-columns: 1fr; }
  .cp-list-item { grid-template-columns: 1fr; }
  .cp-exam__product {
    grid-template-columns: 1fr;
    gap: .85rem;
    padding: .9rem 1rem;
  }
  /* Hide product image on tablet/mobile — faster load, cleaner layout */
  .cp-exam__cover {
    display: none !important;
  }
  .cp-exam__code { font-size: 1.08rem; }
  .cp-exam__name,
  .cp-exam__vendor { font-size: .98rem; }
  .cp-exam__field {
    grid-template-columns: 5.75rem minmax(0, 1fr);
    column-gap: .75rem;
  }
  .cp-exam__label {
    white-space: normal;
    font-size: .68rem;
  }
  .cp-exam__identity {
    width: 100%;
  }
  .cp-exam__facts {
    gap: .3rem .65rem;
    font-size: .85rem;
  }
  .cp-logo img { height: 44px; }
}

@media (max-width: 480px) {
  .cp-exam__product {
    padding: .75rem .8rem;
    margin-bottom: 1rem;
  }
  .cp-exam__panel {
    padding: 1rem .85rem;
  }
  .cp-exam__field {
    grid-template-columns: 1fr;
    row-gap: .15rem;
    align-items: start;
  }
  .cp-exam__label {
    margin-bottom: 0;
  }
  .cp-exam__cta .cp-btn {
    width: 100%;
    white-space: normal;
    line-height: 1.35;
    padding-block: .85rem;
  }
}

/* Match header / product .cp-container (--cp-max) */
.cp-page--exam-free .cp-container--exam-free {
  width: min(100% - 2rem, var(--cp-max));
  max-width: var(--cp-max);
  margin-inline: auto;
  padding-inline: 0;
  box-sizing: border-box;
}
.cp-page--exam-free .cp-breadcrumb {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  box-sizing: border-box;
}
#per-Order {
  display: block;
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  box-sizing: border-box;
}
.cp-seo-para { max-width: none; }
.cp-seo-para p {
  margin: 0 0 .55rem;
  color: var(--vt-muted, var(--cp-muted));
  font-size: .98rem;
  line-height: 1.55;
}
.cp-seo-para p:last-child { margin-bottom: 0; }
.cp-rating {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem .65rem;
  margin-top: .9rem;
  font-weight: 700;
}
.cp-rating--center {
  justify-content: center;
  text-align: center;
  margin: 1.5rem auto 0;
  width: 100%;
}
.cp-rating--estimate .cp-rating__meta {
  font-style: normal;
  color: var(--cp-muted);
}
.cp-rating__meta {
  color: var(--cp-muted);
  font-weight: 600;
  font-size: .92rem;
}
.cp-stars {
  display: inline-flex;
  gap: .08rem;
  line-height: 1;
  color: #d1d5db;
}
.cp-stars__star { font-size: 1.15rem; }
.cp-stars__star.is-on,
.cp-stars__star.is-half { color: #f59e0b; }
.cp-stars__star.is-half { opacity: .85; }
.cp-reviews {
  width: 70%;
  max-width: 70%;
  margin: 2.25rem auto 2rem;
  box-sizing: border-box;
}
.cp-reviews__shell {
  background:
    linear-gradient(180deg, rgba(15, 118, 110, .06) 0%, rgba(255,255,255,0) 120px),
    #fff;
  border: 1px solid var(--cp-line);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .06);
}
.cp-reviews__banner {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  padding: 1.35rem 1.4rem 1.2rem;
  border-bottom: 1px solid rgba(15, 118, 110, .12);
  background: linear-gradient(135deg, rgba(15,118,110,.1), rgba(245,158,11,.08));
}
.cp-reviews__eyebrow {
  margin: 0 0 .3rem;
  color: var(--cp-teal-dark, #0f766e);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.cp-reviews__title {
  margin: 0;
  font-family: var(--cp-font-display);
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  font-weight: 700;
  color: var(--cp-ink);
  line-height: 1.2;
}
.cp-reviews__sub {
  margin: .4rem 0 0;
  color: var(--cp-muted);
  font-size: .95rem;
  max-width: 36rem;
}
.cp-reviews__banner-score {
  display: grid;
  justify-items: end;
  gap: .2rem;
}
.cp-reviews__banner-num {
  font-family: var(--cp-font-display);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  color: var(--cp-ink);
}
.cp-reviews__list {
  list-style: none;
  margin: 0;
  padding: 1.1rem 1.2rem;
  display: grid;
  gap: .85rem;
}
.cp-reviews__item {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: .85rem;
  align-items: start;
  background: #fff;
  border: 1px solid var(--cp-line);
  border-left: 3px solid var(--cp-teal, #0f766e);
  border-radius: 10px;
  padding: 1rem 1.05rem;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.cp-reviews__item:hover {
  border-color: rgba(15, 118, 110, .35);
  box-shadow: 0 8px 18px rgba(15, 23, 42, .07);
  transform: translateY(-1px);
}
.cp-reviews__avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, #0f766e, #14b8a6);
  color: #fff;
  font-weight: 700;
  font-size: 1.05rem;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.2);
}
.cp-reviews__body { min-width: 0; }
.cp-reviews__item p {
  margin: .45rem 0 0;
  color: var(--cp-ink-soft);
  line-height: 1.55;
  font-size: .97rem;
}
.cp-reviews__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem .7rem;
}
.cp-reviews__head strong {
  font-size: .98rem;
  color: var(--cp-ink);
}
.cp-reviews__date {
  color: var(--cp-muted);
  font-size: .82rem;
  font-weight: 600;
  margin-left: auto;
}
.cp-reviews__empty {
  margin: 1.1rem 1.2rem;
  padding: 1.35rem 1.2rem;
  text-align: center;
  border: 1px dashed rgba(15, 118, 110, .35);
  border-radius: 10px;
  background: rgba(15, 118, 110, .04);
}
.cp-reviews__empty p {
  margin: 0;
  font-weight: 700;
  color: var(--cp-ink);
}
.cp-reviews__empty span {
  display: block;
  margin-top: .35rem;
  color: var(--cp-muted);
  font-size: .92rem;
}
.cp-reviews__form-wrap {
  margin: 0;
  padding: 1.2rem 1.3rem 1.4rem;
  border-top: 1px solid var(--cp-line);
  background: linear-gradient(180deg, #f8fafb, #fff);
}
.cp-reviews__form-title {
  margin: 0 0 .85rem;
  font-family: var(--cp-font-display);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--cp-ink);
}
.cp-reviews__form-grid {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: .85rem 1rem;
  align-items: start;
}
.cp-reviews__form-grow { min-width: 0; }
.cp-reviews__form .cp-textarea {
  width: 100%;
  min-height: 110px;
  border-radius: 10px;
}
.cp-reviews__form .cp-select {
  border-radius: 10px;
}
.cp-reviews__form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem 1rem;
  margin-top: .9rem;
}
.cp-reviews__login {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .75rem 1rem;
  padding: 1rem 1.05rem;
  border-radius: 10px;
  background: #fff;
  border: 1px solid var(--cp-line);
}
.cp-reviews__login p {
  margin: 0;
  color: var(--cp-ink-soft);
  font-weight: 600;
}
@media (max-width: 1024px) {
  .cp-reviews {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}
@media (max-width: 720px) {
  .cp-reviews__banner { padding: 1.15rem 1rem; }
  .cp-reviews__banner-score { justify-items: start; width: 100%; }
  .cp-reviews__form-grid { grid-template-columns: 1fr; }
  .cp-reviews__date { margin-left: 0; width: 100%; }
  .cp-reviews__login { flex-direction: column; align-items: flex-start; }
}
/* Customer portal (legacy markup, new skin) */
.member-area-container {
  display: grid; grid-template-columns: 240px 1fr; gap: 1.25rem;
  background: transparent;
}
.member-nav {
  background: var(--cp-white); border: 1px solid var(--cp-line); border-radius: var(--cp-radius);
  padding: .75rem; display: flex; flex-direction: column; gap: .25rem; height: fit-content;
}
.member-nav a {
  display: block; padding: .65rem .8rem; border-radius: 8px; color: var(--cp-ink) !important; font-weight: 600;
  background: none !important; border: 0 !important;
}
.member-nav a:hover, .member-nav a.selected {
  background: rgba(15,118,110,.1) !important; color: var(--cp-teal-dark) !important;
}
.member-area-right-contents, .certification, .dash-tab-singl, .member-contents {
  background: var(--cp-white); border: 1px solid var(--cp-line); border-radius: var(--cp-radius); padding: 1.15rem;
}
.certification h3 { font-family: var(--cp-font-display); }
.dash-tab-singl { text-align: center; transition: .15s ease; }
.dash-tab-singl:hover { border-color: var(--cp-teal); box-shadow: var(--cp-shadow); }
@media (max-width: 960px) {
  .member-area-container { grid-template-columns: 1fr; }
}

/* ===== FAQs page (.cp-faqs) ===== */
.cp-faqs {
  --cp-faqs-accent: #5EEAD4;
  margin: 0 0 2.5rem;
  scroll-margin-top: calc(var(--cp-header-h) + 1rem);
}
.cp-faqs__hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin: 0 0 1.5rem;
  padding: 2.25rem 1.5rem 2rem;
  border-radius: calc(var(--cp-radius) + 4px);
  color: #fff;
  background:
    radial-gradient(ellipse 70% 80% at 92% 8%, rgba(15,118,110,.5), transparent 55%),
    radial-gradient(ellipse 50% 60% at 0% 100%, rgba(94,234,212,.12), transparent 50%),
    linear-gradient(148deg, #06101f 0%, #0B1F3A 48%, #0a3d38 100%);
  box-shadow: 0 18px 40px rgba(11, 31, 58, 0.18);
}
.cp-faqs__hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: .16;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px);
  background-size: 36px 36px;
  mask-image: radial-gradient(ellipse 85% 75% at 40% 30%, #000 15%, transparent 72%);
}
.cp-faqs__hero-glow {
  position: absolute;
  inset: auto -10% -40% 40%;
  height: 180px;
  background: radial-gradient(ellipse at center, rgba(15,118,110,.55), transparent 70%);
  filter: blur(10px);
  pointer-events: none;
  z-index: 0;
}
.cp-faqs__eyebrow,
.cp-faqs__title,
.cp-faqs__lead,
.cp-faqs__meta {
  position: relative;
  z-index: 1;
}
.cp-faqs__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin: 0 0 .85rem;
  padding: .35rem .75rem;
  border-radius: 999px;
  border: 1px solid rgba(94,234,212,.35);
  background: rgba(15,118,110,.22);
  color: var(--cp-faqs-accent);
  font-family: var(--cp-font-display);
  font-weight: 700;
  font-size: .82rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.cp-faqs__title {
  margin: 0 0 .75rem;
  font-size: clamp(1.75rem, 3.6vw, 2.45rem);
  letter-spacing: -0.03em;
  color: #fff;
  max-width: 18ch;
}
.cp-faqs__lead {
  margin: 0;
  max-width: 40rem;
  color: rgba(255,255,255,.86);
  font-size: 1.05rem;
  line-height: 1.55;
}
.cp-faqs__lead.cp-prose,
.cp-faqs__lead.cp-prose p {
  color: rgba(255,255,255,.86);
}
.cp-faqs__lead.cp-prose p:last-child { margin-bottom: 0; }
.cp-faqs__meta {
  margin: 1rem 0 0;
  color: rgba(94,234,212,.9);
  font-size: .9rem;
  font-weight: 600;
}
.cp-faqs__empty {
  padding: 1.25rem 1.35rem;
  background: var(--cp-white);
  border: 1px solid var(--cp-line);
  border-radius: var(--cp-radius);
  color: var(--cp-muted);
}

.cp-faqs__chips {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin: 0 0 1.5rem;
  padding: .65rem 0;
  position: sticky;
  top: calc(var(--cp-header-h) - 4px);
  z-index: 20;
  background:
    linear-gradient(180deg, var(--cp-paper) 70%, rgba(244,247,251,0));
}
.cp-faqs__chip {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .5rem .85rem;
  border-radius: 999px;
  border: 1px solid var(--cp-line);
  background: rgba(255,255,255,.92);
  color: var(--cp-ink);
  font-weight: 600;
  font-size: .88rem;
  transition: border-color .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}
.cp-faqs__chip:hover {
  border-color: rgba(15,118,110,.45);
  color: var(--cp-teal-dark);
}
.cp-faqs__chip.is-active,
.cp-faqs__chip[aria-current="true"] {
  border-color: var(--cp-teal);
  background: rgba(15,118,110,.1);
  color: var(--cp-teal-dark);
  box-shadow: 0 0 0 1px rgba(15,118,110,.15);
}
.cp-faqs__chip-count {
  min-width: 1.35rem;
  padding: .1rem .35rem;
  border-radius: 999px;
  background: rgba(11,31,58,.06);
  color: var(--cp-muted);
  font-size: .75rem;
  font-weight: 700;
  text-align: center;
}
.cp-faqs__chip.is-active .cp-faqs__chip-count,
.cp-faqs__chip[aria-current="true"] .cp-faqs__chip-count {
  background: rgba(15,118,110,.16);
  color: var(--cp-teal-dark);
}

.cp-faqs__layout {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  gap: 1.75rem;
  align-items: start;
}
.cp-faqs__side {
  position: sticky;
  top: calc(var(--cp-header-h) + 3.5rem);
  padding: .85rem;
  border-radius: var(--cp-radius);
  border: 1px solid var(--cp-line);
  background:
    linear-gradient(180deg, rgba(15,118,110,.06), transparent 40%),
    var(--cp-white);
}
.cp-faqs__side-list {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: faq-side;
}
.cp-faqs__side-list li { counter-increment: faq-side; }
.cp-faqs__side-link {
  display: block;
  padding: .55rem .65rem;
  border-radius: var(--cp-radius-sm);
  color: var(--cp-ink-soft);
  font-weight: 600;
  font-size: .9rem;
  line-height: 1.3;
  transition: background .15s ease, color .15s ease;
}
.cp-faqs__side-link::before {
  content: counter(faq-side, decimal-leading-zero);
  display: inline-block;
  min-width: 1.5rem;
  margin-right: .35rem;
  color: var(--cp-muted);
  font-size: .75rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.cp-faqs__side-link:hover {
  background: rgba(15,118,110,.08);
  color: var(--cp-teal-dark);
}
.cp-faqs__side-link.is-active,
.cp-faqs__side-link[aria-current="true"] {
  background: rgba(15,118,110,.12);
  color: var(--cp-teal-dark);
}

.cp-faqs__panels {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
  min-width: 0;
}
.cp-faqs__category {
  scroll-margin-top: calc(var(--cp-header-h) + 4.5rem);
}
.cp-faqs__category-head {
  display: flex;
  align-items: baseline;
  gap: .65rem;
  margin: 0 0 .85rem;
  padding-bottom: .65rem;
  border-bottom: 1px solid var(--cp-line);
}
.cp-faqs__category-title {
  margin: 0;
  font-size: clamp(1.2rem, 2.2vw, 1.45rem);
  letter-spacing: -0.02em;
}
.cp-faqs__category-count {
  color: var(--cp-muted);
  font-size: .85rem;
  font-weight: 700;
}

.cp-faqs__list {
  display: flex;
  flex-direction: column;
  gap: .65rem;
}
.cp-faq {
  border: 1px solid var(--cp-line);
  border-radius: var(--cp-radius);
  background:
    linear-gradient(135deg, rgba(15,118,110,.04), transparent 42%),
    var(--cp-white);
  box-shadow: 0 1px 0 rgba(11,31,58,.03);
  overflow: hidden;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.cp-faq[open] {
  border-color: rgba(15,118,110,.35);
  box-shadow: 0 10px 28px rgba(11, 31, 58, 0.08);
}
.cp-faq__summary {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: start;
  gap: .75rem 1rem;
  padding: 1rem 1.1rem;
  cursor: pointer;
  list-style: none;
  font-family: var(--cp-font-display);
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.35;
  color: var(--cp-ink);
}
.cp-faq__summary::-webkit-details-marker { display: none; }
.cp-faq__summary::marker { content: ""; }
.cp-faq__summary:focus-visible {
  outline: 2px solid rgba(15,118,110,.45);
  outline-offset: -2px;
  border-radius: var(--cp-radius);
}
.cp-faq__index {
  margin-top: .12rem;
  font-size: .78rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--cp-teal);
  letter-spacing: .02em;
}
.cp-faq__question {
  min-width: 0;
  color: var(--cp-ink);
}
.cp-faq__icon {
  width: 1.55rem;
  height: 1.55rem;
  margin-top: .05rem;
  border-radius: 50%;
  border: 1px solid rgba(15,118,110,.28);
  background: rgba(15,118,110,.08);
  position: relative;
  flex-shrink: 0;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.cp-faq__icon::before,
.cp-faq__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: var(--cp-teal-dark);
  border-radius: 1px;
  transition: transform .2s ease, opacity .2s ease;
}
.cp-faq__icon::before {
  width: .7rem;
  height: 2px;
  transform: translate(-50%, -50%);
}
.cp-faq__icon::after {
  width: 2px;
  height: .7rem;
  transform: translate(-50%, -50%);
}
.cp-faq[open] .cp-faq__icon {
  background: var(--cp-teal);
  border-color: var(--cp-teal);
}
.cp-faq[open] .cp-faq__icon::before,
.cp-faq[open] .cp-faq__icon::after { background: #fff; }
.cp-faq[open] .cp-faq__icon::after { opacity: 0; transform: translate(-50%, -50%) rotate(90deg); }

.cp-faq__answer {
  display: none;
  padding: 0 1.1rem 1.15rem 3.05rem;
  color: var(--cp-ink-soft);
  border-top: 1px solid transparent;
}
.cp-faq[open] .cp-faq__answer {
  display: block;
  border-top-color: rgba(15,118,110,.12);
  padding-top: .95rem;
  animation: cp-faq-reveal .22s ease;
}
.cp-faq__answer.cp-prose,
.cp-faq__answer.cp-prose p {
  color: var(--cp-ink-soft);
}
.cp-faq__answer p:last-child { margin-bottom: 0; }
.cp-faq__answer a { font-weight: 600; color: var(--cp-teal-dark); }

@keyframes cp-faq-reveal {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

.cp-faqs__cta {
  margin-top: 2.25rem;
  padding: 1.5rem;
  border-radius: var(--cp-radius);
  border: 1px solid rgba(15,118,110,.22);
  background:
    radial-gradient(ellipse 60% 80% at 100% 0%, rgba(15,118,110,.1), transparent 55%),
    linear-gradient(135deg, #fff 0%, #eef6f5 100%);
}
.cp-faqs__cta-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 1.5rem;
}
.cp-faqs__cta-title {
  margin: 0 0 .25rem;
  font-size: 1.2rem;
}
.cp-faqs__cta-text {
  margin: 0;
  color: var(--cp-muted);
  max-width: 34rem;
}

@media (max-width: 900px) {
  .cp-faqs__layout { grid-template-columns: 1fr; }
  .cp-faqs__side { display: none; }
  .cp-faqs__hero { padding: 1.75rem 1.15rem 1.5rem; }
  .cp-faq__answer { padding-left: 1.1rem; }
  .cp-faqs__chips {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    padding-bottom: .85rem;
    margin-inline: -.25rem;
    padding-inline: .25rem;
  }
  .cp-faqs__chip { flex: 0 0 auto; }
}
@media (prefers-reduced-motion: reduce) {
  .cp-faqs__chip,
  .cp-faqs__side-link,
  .cp-faq,
  .cp-faq__icon,
  .cp-faq__icon::before,
  .cp-faq__icon::after { transition: none; }
  .cp-faq[open] .cp-faq__answer { animation: none; }
}

/* ===== Discount packs (.cp-packs) ===== */
.cp-packs {
  --cp-packs-accent: #5EEAD4;
  --cp-packs-bronze: #B45309;
  --cp-packs-silver: #64748B;
  --cp-packs-gold: #CA8A04;
  margin: 0 0 2.75rem;
}
.cp-packs__hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin: 0 0 1.75rem;
  padding: 2.25rem 1.5rem 2rem;
  border-radius: calc(var(--cp-radius) + 4px);
  color: #fff;
  background:
    radial-gradient(ellipse 65% 75% at 95% 0%, rgba(15,118,110,.48), transparent 55%),
    radial-gradient(ellipse 45% 55% at 5% 100%, rgba(245,158,11,.14), transparent 50%),
    linear-gradient(148deg, #06101f 0%, #0B1F3A 46%, #0a3d38 100%);
  box-shadow: 0 18px 40px rgba(11, 31, 58, 0.18);
}
.cp-packs__hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: .15;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px);
  background-size: 36px 36px;
  mask-image: radial-gradient(ellipse 85% 75% at 35% 25%, #000 12%, transparent 72%);
}
.cp-packs__hero-glow {
  position: absolute;
  inset: auto -12% -45% 35%;
  height: 190px;
  background: radial-gradient(ellipse at center, rgba(15,118,110,.55), transparent 70%);
  filter: blur(12px);
  pointer-events: none;
  z-index: 0;
}
.cp-packs__eyebrow,
.cp-packs__title,
.cp-packs__lead,
.cp-packs__highlights {
  position: relative;
  z-index: 1;
}
.cp-packs__eyebrow {
  display: inline-flex;
  margin: 0 0 .85rem;
  padding: .35rem .75rem;
  border-radius: 999px;
  border: 1px solid rgba(94,234,212,.35);
  background: rgba(15,118,110,.22);
  color: var(--cp-packs-accent);
  font-family: var(--cp-font-display);
  font-weight: 700;
  font-size: .82rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.cp-packs__title {
  margin: 0 0 .75rem;
  width: 100%;
  max-width: none;
  font-size: clamp(1.75rem, 3.6vw, 2.45rem);
  letter-spacing: -0.03em;
  color: #fff;
}
.cp-packs__lead {
  margin: 0 0 1.15rem;
  max-width: 40rem;
  color: rgba(255,255,255,.86);
  font-size: 1.05rem;
  line-height: 1.55;
}
.cp-packs__highlights {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem .75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.cp-packs__highlights li {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .4rem .7rem;
  border-radius: var(--cp-radius-sm);
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.92);
  font-size: .9rem;
  font-weight: 600;
}
.cp-packs__highlights li::before {
  content: "";
  width: .45rem;
  height: .45rem;
  border-radius: 50%;
  background: var(--cp-packs-accent);
  flex-shrink: 0;
}
.cp-packs__empty {
  padding: 1.25rem 1.35rem;
  background: var(--cp-white);
  border: 1px solid var(--cp-line);
  border-radius: var(--cp-radius);
  color: var(--cp-muted);
}

/* Pack grid — restyle legacy shortcode markup (cols may be direct children; no .row) */
.cp-packs__grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.35rem;
  align-items: stretch;
}
.cp-packs__grid > .row,
.cp-packs__grid .row {
  display: contents;
  margin: 0;
  float: none;
  width: auto;
}
.cp-packs__grid .row::before,
.cp-packs__grid .row::after {
  display: none;
  content: none;
}
.cp-packs__grid .price-blocks,
.cp-packs__grid .bundlePack,
.cp-packs__grid [class*="col-"] {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  padding: 0;
  margin: 0;
  position: relative;
  min-width: 0;
  box-sizing: border-box;
}
.cp-packs__grid .price-holder {
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: 0;
  padding: 0 0 1.25rem;
  background: var(--cp-white);
  border: 1px solid var(--cp-line);
  border-radius: calc(var(--cp-radius) + 2px);
  box-shadow:
    0 1px 0 rgba(255,255,255,.8) inset,
    0 14px 36px rgba(11, 31, 58, 0.08);
  color: var(--cp-ink);
  overflow: hidden;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.cp-packs__grid .price-holder:hover {
  transform: translateY(-4px);
  border-color: rgba(15,118,110,.35);
  box-shadow: 0 20px 44px rgba(11, 31, 58, 0.14);
}
.cp-packs__grid .price-holder form.form-inline {
  display: flex;
  flex-direction: column;
  flex: 1;
  width: 100%;
  float: none;
}
.cp-packs__grid .overly-icon,
.cp-packs__grid .mega_img {
  display: none !important;
}
.cp-packs__grid .price-holder h2 {
  margin: 0;
  padding: 1.15rem 1.2rem 1rem;
  background:
    linear-gradient(135deg, #0B1F3A 0%, #163357 100%);
  color: #fff;
  font-family: var(--cp-font-display);
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: left;
  text-transform: none;
  letter-spacing: -0.02em;
  width: 100%;
}
.cp-packs__grid .price-holder h2 span {
  display: block;
  margin-top: .35rem;
  font-family: var(--cp-font-body);
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: var(--cp-packs-accent);
  opacity: .95;
}
.cp-packs__grid .bronzBox .price-holder h2 {
  background: linear-gradient(135deg, #0B1F3A 0%, #7C2D12 100%);
}
.cp-packs__grid .bronzBox .price-holder h2 span { color: #FDBA74; }
.cp-packs__grid .silverBox .price-holder h2 {
  background: linear-gradient(135deg, #0B1F3A 0%, #334155 100%);
}
.cp-packs__grid .silverBox .price-holder h2 span { color: #CBD5E1; }
.cp-packs__grid .goldBox .price-holder {
  border-color: rgba(202,138,4,.45);
  box-shadow:
    0 1px 0 rgba(255,255,255,.8) inset,
    0 18px 42px rgba(11, 31, 58, 0.12),
    0 0 0 1px rgba(202,138,4,.18);
}
.cp-packs__grid .goldBox .price-holder h2 {
  background: linear-gradient(135deg, #0B1F3A 0%, #854D0E 55%, #0F766E 100%);
}
.cp-packs__grid .goldBox .price-holder h2 span { color: #FDE68A; }
.cp-packs__grid .goldBox::before {
  content: "Most popular";
  position: absolute;
  top: .85rem;
  right: .85rem;
  z-index: 2;
  padding: .28rem .55rem;
  border-radius: 999px;
  background: var(--cp-signal);
  color: #0B1F3A;
  font-family: var(--cp-font-display);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  pointer-events: none;
}

.cp-packs__grid .price-holder ul {
  margin: 1rem 1.15rem .25rem;
  padding: 0;
  list-style: none;
  flex: 1;
}
.cp-packs__grid .price-holder ul li {
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  margin: 0 0 .65rem;
  padding: 0;
  font-size: .95rem;
  line-height: 1.4;
  font-weight: 500;
  color: var(--cp-ink);
}
.cp-packs__grid .price-holder ul li .fa,
.cp-packs__grid .price-holder ul li i {
  display: none !important;
}
.cp-packs__grid .price-holder ul li::before {
  content: "";
  width: 1.1rem;
  height: 1.1rem;
  margin-top: .1rem;
  flex-shrink: 0;
  border-radius: 50%;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%230F766E' d='M6.5 11.2 3.3 8l1.1-1.1 2.1 2.1 4.9-4.9L12.5 5.2z'/%3E%3C/svg%3E")
    center / .7rem no-repeat,
    rgba(15,118,110,.12);
}
.cp-packs__grid .price-holder ul li #free_update,
.cp-packs__grid .price-holder ul li .blckColor {
  color: var(--cp-teal-dark);
  font-weight: 700;
}

.cp-packs__grid .pricingBox {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: end;
  gap: .35rem .55rem;
  width: auto;
  float: none;
  margin: .85rem 1.15rem 1rem;
  padding: .9rem 1rem;
  background:
    radial-gradient(ellipse 80% 120% at 100% 0%, rgba(15,118,110,.1), transparent 55%),
    linear-gradient(180deg, #F4F7FB 0%, #EEF4F8 100%);
  border: 1px solid var(--cp-line);
  border-radius: var(--cp-radius);
}
.cp-packs__grid .goldBox .pricingBox {
  background:
    radial-gradient(ellipse 80% 120% at 100% 0%, rgba(245,158,11,.14), transparent 55%),
    linear-gradient(180deg, #FFFBEB 0%, #F4F7FB 100%);
  border-color: rgba(202,138,4,.28);
}
.cp-packs__grid .pricingBox .priceLabel {
  grid-column: 1 / -1;
  display: block;
  float: none;
  width: auto;
  margin: 0 0 .15rem;
  text-align: left;
  font-family: var(--cp-font-display);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--cp-muted);
}
.cp-packs__grid .pricingBox .oldPriceWas {
  float: none;
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.2;
  color: var(--cp-muted);
  text-decoration: line-through;
  opacity: .85;
}
.cp-packs__grid .pricingBox .newPrice,
.cp-packs__grid .pricingBox .newPrice span {
  float: none;
  margin: 0;
  background: transparent !important;
  color: var(--cp-ink) !important;
  font-family: var(--cp-font-display);
  font-size: clamp(1.75rem, 3vw, 2.15rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.03em;
}
.cp-packs__grid .pricingBox .sale-off {
  float: none;
  margin: 0 0 .15rem auto;
  align-self: start;
  padding: .3rem .55rem;
  border-radius: 999px;
  background: var(--cp-teal);
  color: #fff;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .02em;
  white-space: nowrap;
}
.cp-packs__grid .BundleDis {
  display: block;
  margin: 0 1.15rem .75rem;
  color: var(--cp-teal-dark);
  font-size: .9rem;
  font-weight: 700;
}
.cp-packs__grid .btn,
.cp-packs__grid .btn-u {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  width: calc(100% - 2.3rem);
  margin: auto 1.15rem 0;
  padding: .85rem 1rem;
  border: none;
  border-radius: var(--cp-radius-sm);
  background: var(--cp-teal) !important;
  color: #fff !important;
  font-family: var(--cp-font-display);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
  transition: background .18s ease, transform .18s ease;
}
.cp-packs__grid .btn:hover,
.cp-packs__grid .btn-u:hover,
.cp-packs__grid .btn:focus-visible,
.cp-packs__grid .btn-u:focus-visible {
  background: var(--cp-teal-dark) !important;
  color: #fff !important;
  transform: translateY(-1px);
}
.cp-packs__grid .goldBox .btn,
.cp-packs__grid .goldBox .btn-u {
  background: linear-gradient(135deg, #0F766E 0%, #0B5F59 100%) !important;
  box-shadow: 0 8px 20px rgba(15,118,110,.28);
}

@media (max-width: 980px) {
  .cp-packs__grid {
    grid-template-columns: 1fr;
    max-width: 26rem;
    margin-inline: auto;
  }
  .cp-packs__hero { padding: 1.75rem 1.15rem 1.5rem; }
  .cp-packs__highlights { flex-direction: column; align-items: flex-start; }
}
@media (min-width: 981px) and (max-width: 1100px) {
  .cp-packs__grid { gap: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .cp-packs__grid .price-holder,
  .cp-packs__grid .btn,
  .cp-packs__grid .btn-u {
    transition: none;
  }
  .cp-packs__grid .price-holder:hover,
  .cp-packs__grid .btn:hover,
  .cp-packs__grid .btn-u:hover {
    transform: none;
  }
}


/* Exam detail page: copy under the hero, centred CTA, no stacked bottom padding */
.cp-page--exam-detail { padding-bottom: 0; }
.cp-page--exam-detail .cp-page__hero .cp-page-exam__seo { margin: .85rem 0 0; }
.cp-page--exam-detail .cp-page__hero .cp-page-exam__seo p { color: rgba(226, 236, 248, .86); }
.cp-page--exam-detail .cp-page-exam__cta { margin: 1.25rem 0 0; text-align: center; }
.cp-page--exam-detail .cp-reviews { margin-bottom: 0; }
#cp-main.cp-page:has(.cp-page--exam-detail) { padding-bottom: 2rem; }
