/* UVB-only extension. Shared product pages keep their existing layout. */
.uvb-evidence { background: #faf9f5; }
.uvb-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-bottom: 30px; }
.uvb-metrics article { padding: 30px 24px; background: #fff; border: 1px solid #dedbd2; border-radius: 16px; }
.uvb-metrics article > span { display: block; min-height: 30px; color: #765a29; font-size: .67rem; font-weight: 700; letter-spacing: .12em; }
.uvb-metrics strong { display: block; margin: 12px 0 16px; color: #222725; font-size: clamp(1.7rem, 2.4vw, 2.45rem); font-weight: 550; letter-spacing: -.045em; line-height: 1.15; }
.uvb-metrics small { font-size: .53em; letter-spacing: 0; }
.uvb-metrics p { margin: 0; color: #666c69; font-size: .85rem; line-height: 1.7; }
.uvb-data-panel { padding: clamp(20px, 3vw, 40px); border: 1px solid #dedbd2; border-radius: 18px; background: #fff; }
.uvb-panel-heading { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.uvb-panel-heading h3 { margin: 0; font-size: clamp(1.4rem, 2.2vw, 1.9rem); font-weight: 530; letter-spacing: -.03em; }
.uvb-status { padding: 6px 10px; border: 1px solid #ddcca7; border-radius: 4px; color: #765a29; background: #f6f0e3; font-size: .6rem; font-weight: 750; letter-spacing: .12em; }
.uvb-data-panel > p { max-width: 920px; color: #666c69; font-size: .87rem; line-height: 1.75; }
.uvb-table-scroll { max-width: 100%; overflow-x: auto; border: 1px solid #dedbd2; border-radius: 9px; margin: 22px 0; }
.uvb-table-scroll:focus-visible { outline: 3px solid #9e762b; outline-offset: 4px; }
.uvb-table-scroll table { width: 100%; min-width: 790px; border-collapse: collapse; font-size: .82rem; font-variant-numeric: tabular-nums; }
.uvb-table-scroll caption { padding: 14px; text-align: left; font-size: .76rem; color: #606560; }
.uvb-table-scroll th, .uvb-table-scroll td { padding: 16px 14px; border-top: 1px solid #e1ded5; text-align: left; white-space: nowrap; }
.uvb-table-scroll thead { color: #fff; background: #242927; }
.uvb-table-scroll thead th { font-size: .75rem; font-weight: 550; line-height: 1.5; }
.uvb-table-scroll th small { color: #dfc78f; font-size: .72rem; }
.uvb-sample-highlight { background: #faf4e6; }
.uvb-sample-highlight td:nth-child(5), .uvb-sample-highlight td:last-child { font-weight: 700; color: #6b4e16; }
.uvb-calculation { padding-left: 16px; border-left: 3px solid #c6a15e; }
.uvb-source-image { margin: 24px 0; border: 1px solid #dedbd2; border-radius: 10px; overflow: hidden; }
.uvb-source-image summary { display: flex; justify-content: space-between; gap: 16px; padding: 18px; background: #f7f6f1; cursor: pointer; font-size: .87rem; font-weight: 600; list-style: none; }
.uvb-source-image summary::-webkit-details-marker, .uvb-application-list summary::-webkit-details-marker { display: none; }
.uvb-source-image figure { margin: 0; padding: 18px; }
.uvb-source-image img { display: block; width: 100%; height: auto; }
.uvb-source-image figcaption, .uvb-habitat figcaption { margin-top: 14px; color: #6b716d; font-size: .75rem; line-height: 1.65; }
.uvb-data-limits { padding: 18px 20px; border-radius: 8px; background: #f4f3ef; font-size: .83rem; line-height: 1.75; }
.uvb-data-limits strong { color: #333b34; }
.uvb-data-limits p { margin: 6px 0 0; color: #656b66; }
.uvb-habitat-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.uvb-habitat figure { margin: 0; padding: 18px; border: 1px solid #e2ded3; border-radius: 20px; background: #f6f4ee; }
.uvb-habitat figure img { width: 100%; height: auto; border-radius: 10px; }
.uvb-habitat h2 { margin-bottom: 24px; font-size: clamp(2rem, 3.4vw, 3.2rem); font-weight: 490; letter-spacing: -.04em; line-height: 1.12; }
.uvb-habitat-grid > div > p:not(.section-label) { color: #666c69; line-height: 1.8; font-size: .94rem; }
.uvb-checklist { padding: 0; margin: 26px 0; list-style: none; }
.uvb-checklist li { position: relative; padding: 16px 0 16px 26px; border-top: 1px solid #e3e0d6; }
.uvb-checklist li::before { content: ''; position: absolute; top: 24px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: #b68c42; }
.uvb-checklist strong { display: block; margin-bottom: 5px; font-size: .95rem; font-weight: 600; }
.uvb-checklist span { display: block; color: #68706a; font-size: .85rem; line-height: 1.7; }
.uvb-habitat .uvb-citation { font-size: .76rem !important; }
.uvb-citation a, .uvb-spectrum a, .uvb-application-list a { text-decoration: underline; text-underline-offset: 4px; }
.uvb-spectrum { color: #f8f6ef; background: #151a19; }
.uvb-spectrum-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.uvb-spectrum-grid article { padding: 26px 0 0; border-top: 1px solid #675b40; }
.uvb-spectrum-grid article > span { color: #e0c48d; font-size: .95rem; font-weight: 600; }
.uvb-spectrum-grid h3 { margin: 18px 0; font-size: 1.38rem; font-weight: 520; letter-spacing: -.025em; line-height: 1.2; }
.uvb-spectrum-grid p { color: #b6beb9; font-size: .87rem; line-height: 1.8; }
.uvb-spectrum-grid a { color: #e0c48d; font-size: .76rem; }
.uvb-other-applications { background: #f5f3ec; }
.uvb-application-list { border-top: 1px solid #cec9bb; }
.uvb-application-list details { border-bottom: 1px solid #cec9bb; }
.uvb-application-list summary { display: flex; align-items: center; gap: 25px; padding: 25px 6px; list-style: none; cursor: pointer; }
.uvb-application-list summary > span { color: #8c6b2d; font-size: .75rem; font-weight: 650; }
.uvb-application-list summary strong { flex: 1; font-size: clamp(1.04rem, 1.8vw, 1.4rem); font-weight: 520; letter-spacing: -.025em; }
.uvb-application-list summary b { color: #8c6b2d; font-size: 1.4rem; font-weight: 400; }
.uvb-application-list details > div { padding: 0 46px 26px; max-width: 980px; }
.uvb-application-list details p { color: #606961; font-size: .9rem; line-height: 1.85; }
.uvb-application-list details a { color: #695122; font-size: .82rem; }
.uvb-application-list details[open] summary b, .uvb-source-image[open] summary span { transform: rotate(45deg); }
.uvb-application-list summary:focus-visible, .uvb-source-image summary:focus-visible { outline: 3px solid #9e762b; outline-offset: -3px; }
@media (max-width: 980px) {
  .uvb-metrics { gap: 12px; }
  .uvb-metrics article { padding: 22px 18px; }
  .uvb-habitat-grid { grid-template-columns: 1fr; }
  .uvb-habitat figure { max-width: 580px; }
  .uvb-spectrum-grid { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 640px) {
  .uvb-metrics { grid-template-columns: 1fr; }
  .uvb-metrics article > span { min-height: 0; }
  .uvb-metrics strong { font-size: 2.3rem; }
  .uvb-data-panel { padding: 20px 14px; }
  .uvb-panel-heading { align-items: flex-start; }
  .uvb-source-image figure { padding: 10px; }
  .uvb-habitat figure { padding: 12px; }
  .uvb-application-list summary { gap: 14px; }
  .uvb-application-list details > div { padding: 0 8px 22px; }
}
