:root { --yfr-shell-offset: 120px; }
html { scroll-padding-top: var(--yfr-shell-offset); }
.yfr-product-shell { position: sticky; top: 0; z-index: 100; background: var(--yfr-surface); color: var(--yfr-ink); border-bottom: 1px solid var(--yfr-line); font-family: var(--yfr-font-sans); }
.yfr-product-shell *, .yfr-product-footer * { box-sizing: border-box; }
.yfr-shell-inner { max-width: var(--yfr-max); margin: 0 auto; padding: 0 var(--yfr-space-3); }
.yfr-company-row, .yfr-product-row { display: flex; align-items: center; justify-content: space-between; gap: var(--yfr-space-2); }
.yfr-company-row { min-height: var(--yfr-control); font-size: var(--yfr-type-small); border-bottom: 1px solid var(--yfr-line); }
.yfr-company, .yfr-company-links a, .yfr-product-title, .yfr-product-action, .yfr-sections summary, .yfr-sections a { display: inline-flex; align-items: center; min-height: var(--yfr-control); text-decoration: none; white-space: nowrap; }
.yfr-company { font-weight: 750; color: var(--yfr-teal); }
.yfr-company-links { display: flex; gap: var(--yfr-space-2); }
.yfr-product-row { padding: var(--yfr-space-1) 0; }
.yfr-product-title { gap: var(--yfr-space-1); font-size: var(--yfr-type-title); font-weight: 750; color: var(--yfr-ink); }
.yfr-product-title img { width: 32px; height: 32px; border-radius: var(--yfr-radius); }
.yfr-product-action { padding: 0 var(--yfr-space-2); background: var(--yfr-teal); color: white; border-radius: var(--yfr-radius); font-weight: 700; font-size: var(--yfr-type-small); }
.yfr-sections { position: relative; margin-left: auto; }
.yfr-sections summary { cursor: pointer; gap: var(--yfr-space-1); font-weight: 650; list-style: none; }
.yfr-sections summary::-webkit-details-marker { display: none; }
.yfr-sections summary::after { content: "+"; font-size: var(--yfr-type-title); }
.yfr-sections[open] summary::after { content: "−"; }
.yfr-sections nav { position: absolute; right: 0; top: 100%; min-width: 200px; display: grid; padding: var(--yfr-space-1); background: var(--yfr-surface); color: var(--yfr-ink); border: 1px solid var(--yfr-line); border-radius: var(--yfr-radius); max-height: calc(100dvh - 160px); overflow-y: auto; overscroll-behavior: contain; box-shadow: 0 12px 28px #17202a20; }
.yfr-sections a { padding: 0 var(--yfr-space-2); color: inherit; }
.yfr-product-shell a:focus-visible, .yfr-product-shell summary:focus-visible, .yfr-product-footer a:focus-visible { outline: 3px solid var(--yfr-focus); outline-offset: 3px; }
.yfr-product-footer { background: var(--yfr-surface); color: var(--yfr-ink); border-top: 1px solid var(--yfr-line); font: var(--yfr-type-small)/1.5 var(--yfr-font-sans); padding: var(--yfr-space-2) var(--yfr-space-3); }
.yfr-product-footer nav { max-width: var(--yfr-max); margin: 0 auto; display: flex; flex-wrap: wrap; gap: var(--yfr-space-2); align-items: center; }
.yfr-product-footer a { min-height: var(--yfr-control); display: inline-flex; align-items: center; color: var(--yfr-teal); font-weight: 650; white-space: nowrap; }
@media (max-width: 719px) {
  :root { --yfr-shell-offset: 174px; }
  .yfr-shell-inner { padding: 0 var(--yfr-space-2); }
  .yfr-product-row { flex-wrap: wrap; gap: var(--yfr-space-1); }
  .yfr-product-title { width: 100%; font-size: var(--yfr-type-body); }
  .yfr-sections { order: 3; }
  .yfr-product-action { order: 2; }
  .yfr-sections nav { min-width: min(260px, calc(100vw - 32px)); max-height: calc(100dvh - 176px); }
}
@media (prefers-reduced-motion: reduce) { .yfr-product-shell * { scroll-behavior: auto; } }
