
.cw3-pharm-public{max-width:1180px;margin:0 auto;padding:32px 20px 64px}
.cw3-pharm-public__hero,.cw3-pharm-detail__hero{display:flex;justify-content:space-between;gap:28px;align-items:flex-start;margin-bottom:26px}
.cw3-pharm-public__hero h1,.cw3-pharm-detail__hero h1{margin:.15em 0 .25em;font-size:clamp(2rem,5vw,3.2rem);line-height:1.05}
.cw3-pharm-public__hero p{max-width:760px;font-size:1.05rem;line-height:1.65}
.cw3-pharm-public__eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700;opacity:.7}
.cw3-pharm-public__count{min-width:120px;text-align:center;font-size:2.2rem;font-weight:700;line-height:1}
.cw3-pharm-public__count span{display:block;margin-top:8px;font-size:.75rem;font-weight:500;opacity:.7}
.cw3-pharm-search{display:flex;gap:10px;align-items:center;margin:18px 0 34px}
.cw3-pharm-search input{flex:1;min-width:0;padding:12px 14px;border:1px solid currentColor;border-radius:8px;background:transparent;color:inherit}
.cw3-pharm-search button,.cw3-pharm-search a{padding:11px 15px;border:1px solid currentColor;border-radius:8px;background:transparent;color:inherit;text-decoration:none;cursor:pointer}
.cw3-pharm-section{margin:30px 0 38px}
.cw3-pharm-section h2,.cw3-pharm-field-section h2{font-size:1.25rem;margin-bottom:14px}
.cw3-pharm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.cw3-pharm-card{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid color-mix(in srgb,currentColor 24%,transparent);border-radius:10px;color:inherit}
.cw3-pharm-card:hover{border-color:currentColor}
.cw3-pharm-card__link{display:block;color:inherit;text-decoration:none;flex:1}
.cw3-pharm-card strong{display:block;margin-bottom:9px;font-size:1rem}
.cw3-pharm-card span{font-size:.82rem;line-height:1.4;opacity:.78}
.cw3-pharm-compare-toggle{align-self:flex-start;padding:7px 10px;border:1px solid color-mix(in srgb,currentColor 28%,transparent);border-radius:999px;background:transparent;color:inherit;cursor:pointer;font:inherit;font-size:.78rem;font-weight:700}
.cw3-pharm-compare-toggle[aria-pressed="true"]{background:color-mix(in srgb,currentColor 12%,transparent)}
.cw3-pharm-chip{display:inline-block;padding:4px 8px;margin:2px 4px 2px 0;border:1px solid color-mix(in srgb,currentColor 25%,transparent);border-radius:999px;font-size:.76rem}
.cw3-pharm-breadcrumb{margin-bottom:20px;font-size:.9rem}
.cw3-pharm-breadcrumb a{color:inherit}
.cw3-pharm-breadcrumb span{margin:0 7px;opacity:.6}
.cw3-pharm-field-section{margin:34px 0}
.cw3-pharm-fields{margin:0}
.cw3-pharm-field{display:grid;grid-template-columns:minmax(160px,240px) 1fr;gap:22px;padding:17px 0;border-top:1px solid color-mix(in srgb,currentColor 18%,transparent)}
.cw3-pharm-field dt{font-weight:700}
.cw3-pharm-field dd{margin:0;line-height:1.65}
.cw3-pharm-field dd>:first-child{margin-top:0}.cw3-pharm-field dd>:last-child{margin-bottom:0}
.cw3-pharm-empty{padding:24px;border:1px dashed color-mix(in srgb,currentColor 35%,transparent);border-radius:10px}
@media(max-width:700px){
  .cw3-pharm-public__hero,.cw3-pharm-detail__hero{display:block}
  .cw3-pharm-public__count{text-align:left;margin-top:16px}
  .cw3-pharm-search{flex-wrap:wrap}.cw3-pharm-search input{flex-basis:100%}
  .cw3-pharm-field{grid-template-columns:1fr;gap:6px}
}

.cw3-pharm-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:18px;align-items:stretch;margin:18px 0 14px}
.cw3-pharm-tools .cw3-pharm-search{margin:0}
.cw3-pharm-compare-launch{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 14px;border:1px solid color-mix(in srgb,currentColor 22%,transparent);border-radius:10px}
.cw3-pharm-compare-launch strong,.cw3-pharm-compare-launch span{display:block}
.cw3-pharm-compare-launch span{font-size:.78rem;opacity:.72;margin-top:3px;line-height:1.35}
.cw3-pharm-compare-go{white-space:nowrap;padding:9px 11px;border:1px solid currentColor;border-radius:8px;color:inherit;text-decoration:none;font-weight:700}
.cw3-pharm-compare-go.is-disabled{opacity:.42;pointer-events:none}
.cw3-pharm-live-status{font-size:.85rem;opacity:.72;margin:0 0 20px}
.cw3-pharm-card[hidden],.cw3-pharm-section[hidden]{display:none!important}
.cw3-pharm-compare-table-wrap{overflow:auto;border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:12px}
.cw3-pharm-compare-table{width:max-content;min-width:100%;border-collapse:collapse;background:transparent}
.cw3-pharm-compare-table th,.cw3-pharm-compare-table td{min-width:250px;max-width:390px;padding:16px;vertical-align:top;border-right:1px solid color-mix(in srgb,currentColor 14%,transparent);border-bottom:1px solid color-mix(in srgb,currentColor 14%,transparent);line-height:1.55}
.cw3-pharm-compare-table th:first-child{min-width:170px;max-width:220px;position:sticky;left:0;z-index:2;background:var(--cw-surface)}
.cw3-pharm-compare-table thead th{position:sticky;top:0;z-index:1;background:var(--cw-surface)}
.cw3-pharm-compare-table thead th:first-child{z-index:3}
.cw3-pharm-compare-table th a{color:inherit}
.cw3-pharm-compare-value small{display:block;margin-bottom:6px;font-weight:700;opacity:.65}
.cw3-pharm-compare-value>:first-child{margin-top:0}.cw3-pharm-compare-value>:last-child{margin-bottom:0}
.cw3-pharm-compare-value hr{border:0;border-top:1px solid color-mix(in srgb,currentColor 15%,transparent);margin:12px 0}
.cw3-pharm-compare-empty{opacity:.45}
@media(max-width:850px){
  .cw3-pharm-tools{grid-template-columns:1fr}
  .cw3-pharm-compare-launch{align-items:flex-start}
}

/* v1.2 Master Compare navigation */
.cw3-pharm-compare-toolbar{
  position:sticky;top:72px;z-index:20;margin:18px 0 12px;padding:13px 14px 10px;
  border:1px solid color-mix(in srgb,currentColor 20%,transparent);border-radius:12px;
  background:var(--cw-surface);color:var(--cw-text);box-shadow:0 8px 24px color-mix(in srgb,CanvasText 8%,transparent)
}
.cw3-pharm-compare-toolbar__selection{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cw3-pharm-compare-selected{display:flex;gap:7px;flex-wrap:wrap}
.cw3-pharm-selected-chip{
  display:inline-flex;align-items:center;gap:6px;padding:6px 9px;
  border:1px solid color-mix(in srgb,currentColor 24%,transparent);border-radius:999px;
  cursor:pointer;font-size:.78rem;font-weight:700
}
.cw3-pharm-selected-chip input{margin:0}
.cw3-pharm-change-selection{margin-left:auto;color:inherit;font-weight:700;font-size:.8rem}
.cw3-pharm-compare-toolbar__nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}
.cw3-pharm-compare-hint{font-size:.78rem;opacity:.72}
.cw3-pharm-compare-arrows{display:flex;gap:6px}
.cw3-pharm-compare-arrows button{
  min-width:40px;height:34px;border:1px solid color-mix(in srgb,currentColor 25%,transparent);
  border-radius:8px;background:transparent;color:inherit;cursor:pointer;font-size:1.05rem;font-weight:800
}
.cw3-pharm-compare-arrows button:hover{background:color-mix(in srgb,currentColor 8%,transparent)}
.cw3-pharm-compare-topscroll{overflow-x:auto;overflow-y:hidden;height:14px;margin-top:8px;scrollbar-width:auto}
.cw3-pharm-compare-topscroll>[data-cw3-compare-scrollbar-inner]{height:1px}
.cw3-pharm-compare-table-wrap{scroll-behavior:smooth}
.cw3-pharm-compare-table-wrap.is-dragging{cursor:grabbing;user-select:none}
.cw3-pharm-compare-table-wrap:not(.is-dragging){cursor:grab}
@media(max-width:900px){
  .cw3-pharm-compare-toolbar{top:56px}
  .cw3-pharm-change-selection{margin-left:0}
}

.cw3-pharm-selected-chip{display:inline-flex;align-items:center;gap:5px}
.cw3-pharm-selected-chip>label{display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.cw3-pharm-selected-remove{
  display:inline-grid;place-items:center;width:20px;height:20px;border-radius:999px;
  color:inherit;text-decoration:none;font-size:1rem;line-height:1;opacity:.65
}
.cw3-pharm-selected-remove:hover{opacity:1;background:color-mix(in srgb,currentColor 9%,transparent)}
.cw3-pharm-compare-topscroll::-webkit-scrollbar{height:11px}

/* v1.3 persistent comparison toggles and full-column navigation */
.cw3-pharm-master-compare[data-cw3-compare-js-active="1"] .cw3-pharm-selected-remove{display:none}
.cw3-pharm-selected-chip.is-off{opacity:.52}
.cw3-pharm-selected-chip.is-off>label{text-decoration:line-through}
.cw3-pharm-compare-table [data-cw3-drug-column][hidden]{display:none!important}
.cw3-pharm-compare-table-wrap{scroll-snap-type:x proximity}
.cw3-pharm-compare-table thead [data-cw3-drug-header]{scroll-snap-align:start}

/* v1.3.1 deterministic column pager */
.cw3-pharm-compare-table-wrap{scroll-behavior:auto!important;scroll-snap-type:none!important}
.cw3-pharm-compare-arrows button:disabled{opacity:.35;cursor:not-allowed}
.cw3-pharm-compare-table-wrap.is-dragging{cursor:ew-resize!important}

/* CW3_RC2_PHARM_TOKEN_CONTRACT_V1
 * Component layout stays in Runtime; all appearance consumes the theme tokens.
 */
.cw3-pharm-compare-toolbar{
	background:var(--cw-soft);
	color:var(--cw-text);
	border-color:var(--cw-border);
}
.cw3-pharm-compare-table thead th{
	background:var(--cw-surface);
	color:var(--cw-text);
	border-color:var(--cw-border);
}
.cw3-pharm-compare-table th:first-child{
	background:var(--cw-soft);
	color:var(--cw-text);
	border-color:var(--cw-border);
}
.cw3-pharm-compare-table td{
	background:var(--cw-surface);
	color:var(--cw-text);
	border-color:var(--cw-border);
}
.cw3-pharm-public__eyebrow,
.cw3-pharm-public__count span,
.cw3-pharm-chip{
	color:var(--cw-muted);
}

/* CW3_RC2_RESIDUAL_PHARM_V1
 * A more-specific legacy selector was still winning over the RC2 token rule.
 */
.cw3-pharm-public .cw3-pharm-card .cw3-pharm-chip,
.cw3-pharm-card__link .cw3-pharm-chip{
	color:var(--cw-muted) !important;
}

/* CW3_FINAL_PHARM_SELECTOR_CONTRACT_V1
 * Exact rendered selectors from the final audit. The component stylesheet is
 * independently versioned below so browsers cannot retain the previous cached CSS.
 */
html .cw3-pharm-public .cw3-pharm-public__eyebrow,
html .cw3-pharm-public .cw3-pharm-public__count > span,
html .cw3-pharm-public article.cw3-pharm-card .cw3-pharm-card__link .cw3-pharm-chip,
html .cw3-pharm-public .cw3-pharm-compare-hint{
	color:var(--cw-muted) !important;
}

/* CW3_PRESENTATION_FREEZE_PHARM_V1
 * Residual Pharmacopeia failures were token colours being composited through
 * component opacity. Preserve the token colour at full opacity.
 */
html .cw3-pharm-public :is(
	.cw3-pharm-public__eyebrow,
	.cw3-pharm-public__count > span,
	.cw3-pharm-chip,
	.cw3-pharm-compare-hint
){
	color:var(--cw-muted) !important;
	opacity:1 !important;
}

/* CW3_PRESENTATION_A11Y_FREEZE_PHARM_V1
 * `.cw3-pharm-card span{opacity:.78}` applies to the wrapper span around each
 * chip. A child opacity override cannot undo opacity on its parent, so neutralise
 * that wrapper and keep the chip itself on the canonical muted token.
 */
html .cw3-pharm-public .cw3-pharm-card .cw3-pharm-card__link > span{
    opacity:1 !important;
}
html .cw3-pharm-public .cw3-pharm-card .cw3-pharm-chip{
    color:var(--cw-muted) !important;
    opacity:1 !important;
}
