
.cp-page{max-width:1140px;margin:0 auto;padding:24px 16px 60px;font-family:'Outfit',sans-serif}
.cp-hero{padding:48px 28px;border-radius:18px;background:linear-gradient(135deg,var(--colour-legacy-1a0d2e) 0%,var(--colour-legacy-4a1f7a) 55%,var(--colour-legacy-8b3eb8) 100%);color:var(--colour-application-fbf8f4);text-align:center;margin-bottom:28px;box-shadow:0 10px 30px var(--colour-legacy-rgba-139-62-184-0-25)}
.cp-hero h1{font-size:2.1rem;font-weight:900;letter-spacing:-.01em;line-height:1.1;margin:0 0 14px;color:var(--colour-application-fbf8f4)}
.cp-hero .cp-sub{font-size:1rem;line-height:1.55;color:var(--colour-legacy-rgba-251-248-244-0-92);max-width:720px;margin:0 auto 18px}
.cp-hero .cp-cta{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:99px;background:var(--colour-application-fbf8f4);color:var(--colour-legacy-1a0d2e);font-weight:800;text-decoration:none;font-size:.95rem;transition:transform .15s}
.cp-hero .cp-cta:hover{transform:translateY(-2px)}
.cp-trust{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 18px;margin-top:16px;font-size:.82rem;color:var(--colour-legacy-rgba-251-248-244-0-85)}
.cp-trust span{display:inline-flex;align-items:center;gap:5px}

.cp-section{margin:36px 0}
.cp-section h2{font-size:1.45rem;font-weight:900;color:var(--colour-storefront-heading);margin:0 0 12px;letter-spacing:-.01em}
.cp-section h3{font-size:1.05rem;font-weight:800;color:var(--colour-storefront-heading);margin:18px 0 8px}
.cp-section p{font-size:.95rem;line-height:1.75;color:var(--colour-brand-dark);margin:0 0 14px}
.cp-section p strong{color:var(--colour-storefront-heading)}
.cp-section a{color:var(--colour-legacy-7a2db8);font-weight:700;text-decoration:none}
.cp-section a:hover{text-decoration:underline}

.cp-meta-strip{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;background:var(--colour-legacy-f6f1fb);border:1px solid var(--colour-legacy-e2d4ef);border-radius:12px;padding:14px 18px;margin-bottom:8px;font-size:.85rem;color:var(--colour-legacy-3a1860);font-weight:700}
.cp-meta-strip span{display:inline-flex;align-items:center;gap:6px}

.cp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:18px}
.cp-card{background:var(--colour-bg-light);border:1px solid var(--colour-border-light);border-radius:14px;overflow:hidden;transition:transform .15s,box-shadow .15s;text-decoration:none;color:inherit;display:flex;flex-direction:column}
.cp-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px var(--colour-black-alpha-0-08);text-decoration:none}
.cp-card .cp-card-img{aspect-ratio:1;background:var(--colour-storefront-background);overflow:hidden;position:relative}
.cp-card .cp-card-img img{width:100%;height:100%;object-fit:cover;display:block}
.cp-card .cp-card-body{padding:12px 14px}
.cp-card .cp-card-name{font-size:.92rem;font-weight:800;color:var(--colour-storefront-heading);margin:0 0 6px;line-height:1.3}
.cp-card .cp-card-price{font-size:.88rem;font-weight:700;color:var(--colour-legacy-7a2db8)}
.cp-card.cp-oos{opacity:.55}
.cp-card .cp-oos-tag{position:absolute;top:8px;right:8px;background:var(--colour-black-alpha-0-7);color:var(--colour-bg-light);font-size:.65rem;padding:3px 8px;border-radius:99px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}

.cp-brand-block{background:var(--colour-surface-light);border:1px solid var(--colour-border-light);border-radius:14px;padding:20px 22px;margin-bottom:18px}
.cp-brand-block h3{margin-top:0;display:flex;align-items:center;gap:10px}
.cp-brand-block .cp-brand-count{font-size:.7rem;background:var(--colour-legacy-7a2db8);color:var(--colour-bg-light);padding:3px 9px;border-radius:99px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}

.cp-dose-table{width:100%;border-collapse:collapse;margin-top:12px;font-size:.88rem}
.cp-dose-table th,.cp-dose-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--colour-border-light)}
.cp-dose-table th{background:var(--colour-legacy-3a1860);color:var(--colour-bg-light);font-weight:700}
.cp-dose-table tr:nth-child(even){background:var(--colour-surface-light)}

@media (max-width:600px){
  .cp-hero{padding:32px 18px}
  .cp-hero h1{font-size:1.55rem}
  .cp-section h2{font-size:1.2rem}
  .cp-grid{grid-template-columns:repeat(2,1fr);gap:10px}
}
