/* Product layouts. Typography and shared chrome remain owned by site-foundation.css. */
/* Align the supplied product layouts with the shared content and spacing tokens. */
body.product-layout main :is(.ar99-refresh-inner, .conf-shell) {
  box-sizing: border-box;
  width: 100% !important;
  max-width: var(--layout-content-max) !important;
  margin-inline: auto;
  padding-inline: var(--layout-gutter);
}
body.product-layout main :is(.ar99-refresh-inner, .conf-section) {
  padding-block: var(--layout-section-space);
}
body.product-layout main :is(.ar99-section-head, .conf-section-head) {
  margin-bottom: 28px;
}

/* Product media shares the same quiet frame as the rest of the site.
   Lifestyle compositions and deliberately cropped detail panels keep their framing. */
body.product-layout main :is(.ar99-media, .bb-media, .conf-media, .falcon-media,
  .ar99-pro-vision-media, .ar99-pro-optics-visual) {
  min-width: 0;
  border-radius: var(--radius-surface);
  box-shadow: none;
}
/* These are complete reference boards; constrain their width, never their content. */
body.product-layout--ar99-my main.product-image-sequence > img {
  display: block;
  width: calc(100% - 2 * var(--layout-gutter));
  max-width: calc(var(--layout-content-max) - 2 * var(--layout-gutter));
  height: auto;
  margin-inline: auto;
}
body.product-layout--confidant main .conf-gallery {
  align-items: start;
}
body.product-layout--confidant main .conf-gallery .conf-media img {
  flex: 0 0 auto;
  width: 100%;
  height: auto;
  min-height: 0;
  object-fit: contain;
}
body.product-layout--k900 main .k900-engineering-art img {
  padding: 12px;
}

body.product-layout main .product-text-layer {
  padding-block: 36px 40px !important;
}
body.product-layout main .product-text-grid {
  gap: 32px;
  align-items: start;
}
body.product-layout main .product-text-grid > div > :is(.lead, .page-intro) {
  margin-block: 16px 20px;
  max-width: 60ch;
}
body.product-layout main .feature-panel {
  padding: 20px 24px;
  border: 0;
  border-radius: var(--radius-surface);
  background: var(--color-bg-soft);
  box-shadow: none;
}
body.product-layout main .feature-panel-header {
  align-items: baseline;
  flex-wrap: wrap;
  padding: 0 0 12px;
  margin: 0;
  background: transparent;
}
body.product-layout main .feature-list li { padding-block: 12px; }
body.product-layout main .notice {
  margin-block: 20px 0;
  padding: 12px 16px;
  border-radius: var(--radius-control);
  box-shadow: none;
}
body.product-layout main .hero-actions { align-items: flex-start; }
body.product-layout main .product-spec-group-title { margin-block: 0 8px !important; }
body.product-layout main :is(.product-card-copy, .product-card-copy p) { max-width: 66ch; }
body.product-layout main :is(.product-card-copy, .product-card-copy p) + p { margin-top: 12px; }

/* K900: keep the existing product image beside the introduction, then show all four facts. */
body.product-layout.product-layout--k900 main .k900-layout-shell {
  padding-block: 32px 40px !important;
}
body.product-layout.product-layout--k900 main .k900-hero-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 36px;
  align-items: center;
}
body.product-layout.product-layout--k900 main .k900-hero-copy { min-width: 0; }
body.product-layout.product-layout--k900 main .k900-hero-copy > div:first-child {
  gap: 6px 12px !important;
  margin-bottom: 16px !important;
}
body.product-layout.product-layout--k900 main .k900-hero-copy > div:first-child > span[style*="width: 40px"] { display: none; }
body.product-layout.product-layout--k900 main .k900-live-badge {
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
}
body.product-layout.product-layout--k900 main .k900-hero-copy > p {
  max-width: 58ch !important;
  margin-top: 18px !important;
}
body.product-layout.product-layout--k900 main .k900-hero-actions { margin-top: 24px !important; }
body.product-layout.product-layout--k900 main .k900-hero-figure {
  min-width: 0;
  margin: 0 !important;
  align-self: center;
}
body.product-layout.product-layout--k900 main .k900-hero-figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--radius-surface) !important;
}
body.product-layout.product-layout--k900 main .k900-hero-stat-strip {
  margin-top: 28px !important;
  border-radius: var(--radius-surface) !important;
}
body.product-layout.product-layout--k900 main .k900-hero-stat-strip > div { padding: 18px 20px !important; }

/* AR99 Pro: reduce badge and section scaffolding without changing product statements. */
body.product-layout.product-layout--ar99-pro main .ar99-pro-layout-hero {
  padding-block: 32px 40px !important;
}
body.product-layout.product-layout--ar99-pro main .ar99-pro-layout-grid {
  gap: 36px !important;
  align-items: center !important;
}
body.product-layout.product-layout--ar99-pro main .ar99-pro-layout-copy { gap: 18px !important; }
body.product-layout.product-layout--ar99-pro main .ar99-pro-layout-badges { gap: 6px 14px !important; }
body.product-layout.product-layout--ar99-pro main .ar99-pro-layout-badges > span {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
}
body.product-layout.product-layout--ar99-pro main .ar99-pro-stat-strip { margin-top: 28px !important; }
body.product-layout.product-layout--ar99-pro main .page-outline {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--layout-content-max);
  margin-inline: auto;
  padding-inline: var(--layout-gutter);
}
body.product-layout.product-layout--ar99-pro main .page-outline__links {
  border-color: #344054;
}
body.product-layout.product-layout--ar99-pro main .page-outline__links > a {
  color: #cbd5e1;
}
body.product-layout.product-layout--ar99-pro main .page-outline__links > a:is(:hover, :focus-visible) {
  color: var(--color-primary-on-dark);
  outline-color: var(--color-primary-on-dark);
}
body.product-layout.product-layout--ar99-pro main .reference-caption {
  color: #cbd5e1 !important;
  font-size: var(--type-size-meta) !important;
  line-height: var(--type-line-caption);
}
body.product-layout.product-layout--ar99-pro main .ar99-pro-layout-copy span[style*="#4F5F57"] {
  color: #cbd5e1 !important;
}

/* Nudge: compact introduction and a full-width reference-fact row. */
body.product-layout.product-layout--nudge main .hero {
  min-height: 0 !important;
  display: block;
  padding-block: 32px 40px !important;
}
body.product-layout.product-layout--nudge main .hero-grid { gap: 36px; }
body.product-layout.product-layout--nudge main .hero-copy > .eyebrow {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.product-layout.product-layout--nudge main .hero-copy > h1 { margin-top: 16px; }
body.product-layout.product-layout--nudge main .hero-copy > .page-intro { margin-top: 16px; }
body.product-layout.product-layout--nudge main .hero-copy > p { margin-top: 18px; }
body.product-layout.product-layout--nudge main .claim-note {
  margin-block: 18px 0;
  padding: 12px 16px;
  border-radius: var(--radius-control);
  box-shadow: none !important;
}
body.product-layout.product-layout--nudge main .hero-actions { margin-top: 22px; }
body.product-layout.product-layout--nudge main .hero-stats {
  max-width: none;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin-top: 28px;
  border-block: 1px solid var(--color-border);
}
body.product-layout.product-layout--nudge main .stat {
  padding: 16px 20px;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none;
}
body.product-layout.product-layout--nudge main .stat + .stat { border-left: 1px solid var(--color-border); }
body.product-layout.product-layout--nudge main .stat strong {
  white-space: nowrap;
  font-size: var(--type-h3) !important;
  line-height: var(--type-line-h3) !important;
}
body.product-layout.product-layout--nudge main .stat span { margin-top: 6px; }
body.product-layout.product-layout--nudge main .section { padding-block: var(--layout-section-space) !important; }
body.product-layout.product-layout--nudge main .section-title-row {
  align-items: flex-start;
  margin-bottom: 28px;
}

/* Audio 01 retains the supplied image boards and removes the narrow mobile eyebrow. */
body.product-layout.product-layout--audio-01 main .hero-top {
  align-items: baseline;
  gap: 8px 16px;
}
body.product-layout.product-layout--audio-01 main .hero-top .eyebrow { max-width: none !important; }
body.product-layout.product-layout--audio-01 main :is(.status, .spec-strip dt) {
  font-size: var(--type-size-meta) !important;
  line-height: var(--type-line-caption);
  letter-spacing: 0.04em;
  overflow-wrap: anywhere;
}
body.product-layout.product-layout--audio-01 main .finish-tab b {
  font-size: var(--type-size-button) !important;
  line-height: 1.4;
}
body.product-layout.product-layout--audio-01 main .finish-tab {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}
body.product-layout.product-layout--audio-01 main .hero-copy { align-items: start; gap: 32px; }
body.product-layout.product-layout--audio-01 main .section-top {
  align-items: flex-start;
  gap: 32px;
  margin-bottom: 28px;
}
body.product-layout.product-layout--audio-01 main .detail-copy { padding: 20px 24px; }
body.product-layout.product-layout--audio-01 main .tech-icon { margin-bottom: 20px; }
body.product-layout.product-layout--audio-01 main .route-grid { gap: 24px; }
body.product-layout.product-layout--audio-01 main .route-grid article { padding: 24px; }

/* C100 keeps its full runtime boundary immediately after the primary actions. */
body.product-layout.product-layout--c100 main .product-text-layer .hero-actions { margin-top: 20px; }
body.product-layout.product-layout--c100 main .c100-hero-media { padding-top: 0; }
body.product-layout.product-layout--c100 main .c100-story-caption strong {
  color: var(--color-text-main);
}
body.product-layout.product-layout--confidant main .conf-hero { padding-block: 32px 40px; }
body.product-layout.product-layout--confidant main .conf-hero-grid { gap: 32px; }
body.product-layout.product-layout--confidant main .conf-section--deep :is(h2, h3) {
  color: #fff !important;
}
body.product-layout.product-layout--nudge main .scale > span:nth-child(2) {
  color: #087f5b !important;
}
body.product-layout.product-layout--k900 main :is(.k900-app-head small, .k900-ai-result small) {
  color: var(--color-text-secondary);
}
body.product-layout.product-layout--k900 main .k900-app-step-head b {
  color: var(--color-primary);
}
body.product-layout.product-layout--k900 main .k900-app-step-head b {
  color: var(--color-primary);
}

/* Product-specific decorative palettes use the shared blue, navy and neutral roles.
 * Preserve engineering warnings, clinical boundaries and Nudge's live state colors. */
body.product-layout.product-layout--c100 {
  --c1-brand: var(--color-primary);
  --c1-brand-soft: var(--color-bg-soft);
  --c1-ink: var(--color-text-main);
  --c1-muted: var(--color-text-secondary);
  --c1-line: var(--color-border);
  --c1-dark: var(--color-bg-dark);
}
body.product-layout.product-layout--c100 main .product-text-layer {
  background: linear-gradient(180deg, var(--color-bg-soft), var(--color-bg) 82%);
}
body.product-layout.product-layout--c100 main .product-text-layer .btn.primary:hover {
  background: var(--color-primary-dark);
}
body.product-layout.product-layout--c100 main .c100-positioning {
  background: linear-gradient(135deg, var(--color-bg-dark), var(--color-primary));
}
body.product-layout.product-layout--falcon-007-pro {
  --brand: var(--color-primary);
  --accent: var(--color-primary);
  --blue: var(--color-primary);
  --blue2: var(--color-primary);
}
body.product-layout.product-layout--falcon-007-pro main .falcon-kicker {
  color: var(--color-primary);
  background: var(--color-bg-soft);
  border-color: var(--color-border);
}
body.product-layout.product-layout--ar99 main .ar99-refresh {
  --ar99-accent: var(--color-primary);
  --ar99-ink: var(--color-text-main);
  --ar99-muted: var(--color-text-secondary);
  --ar99-line: var(--color-border);
}
body.product-layout.product-layout--ar99 main .ar99-refresh.soft {
  background: linear-gradient(180deg, var(--color-bg-soft), var(--color-bg));
}
body.product-layout.product-layout--ar99 main .ar99-section-head .eyebrow {
  color: var(--color-primary);
  background: var(--color-bg-soft);
  border-color: var(--color-border);
}
body.product-layout.product-layout--ar99 main :is(.ar99-media, .ar99-fact) {
  background: var(--color-bg-soft);
}
body.product-layout.product-layout--ar99 main :is(.ar99-media, .ar99-detail-card, .ar99-config-card, .ar99-scenario-card) {
  box-shadow: none;
}
body.product-layout.product-layout--ar99 main :is(.ar99-media-caption, .ar99-spec-row dt) {
  color: var(--color-text-secondary);
}
body.product-layout.product-layout--ar99 main .ar99-reference-label {
  background: var(--color-bg-dark);
  color: var(--color-bg);
}
body.product-layout.product-layout--ar99 main .ar99-scope-note {
  color: var(--color-text-secondary);
  background: var(--color-bg-soft);
}
body.product-layout.product-layout--bb-medical main .bb-kicker,
body.product-layout.product-layout--confidant main .conf-kicker {
  color: var(--color-primary);
  background: var(--color-bg-soft);
  border-color: var(--color-border);
}
body.product-layout.product-layout--bb-medical main .bb-point-list li { border-left-color: var(--color-primary); }
body.product-layout.product-layout--confidant main .conf-card-number { background: var(--color-primary); }
body.product-layout.product-layout--confidant main :is(.conf-video-meta, .conf-video-link),
body.product-layout.product-layout--confidant main .conf-faq summary::after { color: var(--color-primary); }
body.product-layout.product-layout--confidant main .conf-cta {
  background: var(--color-bg-dark);
  box-shadow: none;
}
body.product-layout.product-layout--confidant main .conf-cta .btn { color: var(--color-primary); }

body.product-layout.product-layout--nudge {
  --bg: var(--color-bg);
  --bg2: var(--color-bg-soft);
  --panel: var(--color-bg);
  --panel2: var(--color-bg-soft);
  --text: var(--color-text-main);
  --muted: var(--color-text-secondary);
  --soft: var(--color-text-muted);
  --line: var(--color-border);
  --blue: var(--color-primary);
  --shadow: none;
}
body.product-layout.product-layout--nudge main .hero::before {
  background: linear-gradient(180deg, var(--color-bg), var(--color-bg-soft)) !important;
}
body.product-layout.product-layout--nudge main .btn.primary {
  background: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  box-shadow: none !important;
}
body.product-layout.product-layout--nudge main .btn.primary:hover { background: var(--color-primary-dark) !important; }
body.product-layout.product-layout--nudge main .btn.secondary {
  color: var(--color-primary) !important;
  border-color: var(--color-border) !important;
  box-shadow: none !important;
}
body.product-layout.product-layout--nudge main .halo { background: none !important; }
body.product-layout.product-layout--nudge main :is(.orbit, .portrait-card) { border-color: var(--color-border) !important; }
body.product-layout.product-layout--nudge main :is(.portrait-card, .pin, .stat) { box-shadow: none !important; }
body.product-layout.product-layout--nudge main .portrait-card::before { background: none !important; }
body.product-layout.product-layout--nudge main .headline .accent {
  background: none !important;
  color: var(--color-primary) !important;
  -webkit-text-fill-color: var(--color-primary);
}
/* These eyebrow variants label chapters, not live health or warning states. */
body.product-layout.product-layout--nudge main .eyebrow {
  background: var(--color-bg-soft) !important;
  border-color: var(--color-border) !important;
  color: var(--color-primary) !important;
  box-shadow: none !important;
}
body.product-layout.product-layout--nudge main .eyebrow::before {
  background: var(--color-primary) !important;
  box-shadow: none !important;
}
body.product-layout.product-layout--nudge main .hero-copy > .eyebrow {
  background: transparent !important;
  border: 0 !important;
  padding: 0;
}
body.product-layout.product-layout--nudge main :is(.section:nth-of-type(even), .market-card.featured, .week-body, .pilot-step:last-child, .cta, .icon-badge) {
  background: var(--color-bg-soft) !important;
}
body.product-layout.product-layout--nudge main :is(.card, .market-card, .loop-panel, .component, .partner-card, .usecase, .pilot-step, .manual-image) {
  background: var(--color-bg) !important;
}
body.product-layout.product-layout--nudge main :is(.market-card.featured, .cta) { border-color: var(--color-border) !important; }
body.product-layout.product-layout--nudge main :is(.market-card.featured .tag, .market-card .bottom, .pilot-step small, .icon-badge) {
  color: var(--color-primary) !important;
}
body.product-layout.product-layout--nudge main .market-card .bottom {
  background: var(--color-bg-soft) !important;
  border-color: var(--color-border) !important;
}
body.product-layout.product-layout--nudge main .market-card .arrow-box::before { background: var(--color-primary) !important; }
body.product-layout.product-layout--nudge main .market-card .arrow-box::after { border-top-color: var(--color-primary) !important; }
body.product-layout.product-layout--nudge main :is(.week p, .week small, .market-card .claim) { color: var(--color-text-secondary) !important; }
body.product-layout.product-layout--nudge main .effect-board h3 { color: var(--color-text-main) !important; }

@media (max-width: 960px) {
  body.product-layout.product-layout--k900 main .k900-hero-main { grid-template-columns: 1fr; gap: 28px; }
  body.product-layout.product-layout--ar99-pro main .ar99-pro-layout-grid { gap: 28px !important; }
  body.product-layout.product-layout--nudge main .hero-grid { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 760px) {
  body.product-layout main .product-text-layer { padding-block: 24px 28px !important; }
  body.product-layout main .product-text-grid { gap: 24px; }
  body.product-layout main .feature-panel { padding: 16px 18px; }
  body.product-layout.product-layout--k900 main .k900-layout-shell,
  body.product-layout.product-layout--ar99-pro main .ar99-pro-layout-hero,
  body.product-layout.product-layout--nudge main .hero { padding-block: 24px 28px !important; }
  body.product-layout.product-layout--k900 main .k900-hero-stat-strip { margin-top: 24px !important; }
  body.product-layout.product-layout--k900 main .k900-hero-stat-strip > div { padding: 14px 16px !important; }
  body.product-layout.product-layout--nudge main .hero-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.product-layout.product-layout--nudge main .stat { padding: 14px 12px; }
  body.product-layout.product-layout--nudge main .stat:nth-child(3) { border-left: 0; }
  body.product-layout.product-layout--nudge main .stat:nth-child(n+3) { border-top: 1px solid var(--color-border); }
  body.product-layout.product-layout--nudge main .hero-visual { min-height: 0; }
  body.product-layout.product-layout--audio-01 main .hero-copy { gap: 20px; }
  body.product-layout.product-layout--audio-01 main .detail-copy { padding: 18px; }
  body.product-layout.product-layout--confidant main .conf-hero { padding-block: 24px 28px; }
}
