@layer tokens,base,primitives;@layer components{.product-photo-panel__image-link{border-radius:var(--radius-card);cursor:zoom-in;display:block;position:relative}.product-photo-panel__zoom{right:var(--space-12);bottom:var(--space-12);padding:var(--space-4) var(--space-12);border-radius:var(--radius-pill);background:var(--brand-dark);color:var(--white);font-size:var(--font-size-small);position:absolute}.product-photo-panel h2{color:var(--brand-dark);font-size:var(--font-size-section-compact);line-height:1.4}.product-photo-panel__intro{margin-top:var(--space-16);color:var(--ink-soft)}.product-photo-panel__facts{gap:var(--space-12) var(--space-20);margin-top:var(--space-20);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.product-photo-panel__facts>div{min-width:0;padding-top:var(--space-12);border-top:1px solid var(--line)}.product-photo-panel__facts dt{color:var(--ink-soft);font-size:var(--font-size-small)}.product-photo-panel__facts dd{margin:var(--space-4) 0 0;color:var(--brand-dark);font-weight:700}.product-photo-panel__grid{gap:var(--space-24);margin-top:var(--space-24);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.product-photo-panel:not(.product-photo-panel--featured) .product-photo-panel__grid>figure:only-child{grid-column:1/-1;justify-self:center;width:min(100%,42rem)}.product-photo-panel:not(.product-photo-panel--featured) .product-photo-panel__grid>figure:last-child:nth-child(odd):not(:only-child){width:calc((100% - var(--space-24)) / 2);grid-column:1/-1;justify-self:center}.product-photo-panel--featured{padding:var(--space-28);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--muted)}.product-photo-panel--featured .product-photo-panel__grid{gap:var(--space-16);grid-template-columns:repeat(3,minmax(0,1fr))}.product-photo-panel--featured.product-photo-panel--pair .product-photo-panel__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-photo-panel--featured figure:first-child{grid-column:1/-1}.product-photo-panel--featured.product-photo-panel--pair figure:first-child{grid-column:auto}.product-photo-panel--featured figure:first-child img{aspect-ratio:3/2}.product-photo-panel--featured figcaption{margin-bottom:0}.product-photo-panel figure{min-width:0;margin:0}.product-photo-panel img,.product-photo-panel__placeholder{aspect-ratio:3/2;border-radius:var(--radius-card);width:100%;height:auto;display:block}.product-photo-panel img{object-fit:cover}.product-photo-panel__figure--portrait img{aspect-ratio:3/4}.product-photo-panel:not(.product-photo-panel--featured) .product-photo-panel__grid>figure.product-photo-panel__figure--diagram{grid-column:1/-1;justify-self:stretch;width:100%}.product-photo-panel__figure--diagram img{aspect-ratio:auto;object-fit:contain;border:1px solid var(--line);background:var(--surface);height:auto}.product-photo-panel__placeholder{justify-content:center;align-items:center;gap:var(--space-8);padding:var(--space-16);text-align:center;color:var(--ink-soft);border:1px dashed var(--line);background:var(--muted);flex-direction:column;display:flex}.product-photo-panel__placeholder strong,.product-photo-panel figcaption strong{color:var(--brand-dark);font-size:var(--font-size-body)}.product-photo-panel__placeholder span{font-size:var(--font-size-small)}.product-photo-panel figcaption{margin-block:var(--space-12) var(--space-4);color:var(--ink-soft)}.product-photo-panel figcaption strong{margin-bottom:var(--space-4);display:block}@media (width<=760px){.product-photo-panel__grid{grid-template-columns:1fr}.product-photo-panel--featured{padding:var(--space-20)}.product-photo-panel--featured .product-photo-panel__grid,.product-photo-panel--featured.product-photo-panel--pair .product-photo-panel__grid{grid-template-columns:1fr}.product-photo-panel__facts{grid-template-columns:repeat(2,minmax(0,1fr))}.product-photo-panel__facts>div:last-child:nth-child(odd){grid-column:1/-1}.product-photo-panel--featured figure:first-child{grid-column:auto}.product-photo-panel--featured figure:first-child img{aspect-ratio:3/2}.product-photo-panel:not(.product-photo-panel--featured) .product-photo-panel__grid>figure:only-child,.product-photo-panel:not(.product-photo-panel--featured) .product-photo-panel__grid>figure:last-child:nth-child(odd):not(:only-child){grid-column:auto;width:100%}}@media print{.product-photo-panel__zoom{display:none}.product-photo-panel figure{break-inside:avoid-page}.product-photo-panel img,.product-photo-panel--featured figure:first-child img{aspect-ratio:auto;object-fit:contain;max-height:80mm}.product-photo-panel__image-link{text-decoration:none}}}@layer pages,utilities;
