/* Product pages share the existing palette, spacing and catalogue cards. */
main.interior-product { min-width: 0; --product-column-gap: var(--space-16); }

















.interior-product .product-detail-quantity > :is(input, output, span) {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--color-ink);
  font-family: var(--font-ui);
  font-size: var(--text-ui);
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  line-height: 44px;
  text-align: center;
}










.interior-product :is(.product-detail-quantity > button, .product-detail-add):focus-visible,
.catalog-product-link:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 3px; }


.interior-product :is(.product-detail-description, .product-detail-specs) { min-width: 0; }
.interior-product :is(.product-detail-description, .product-detail-specs, .product-detail-related, .product-detail-related-heading) > h2 {
  margin: 0 0 var(--space-6);
  font-size: var(--text-h2);
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: var(--tracking-compact);
  overflow-wrap: anywhere;
}
.interior-product .product-detail-description :is(p, li) { color: var(--color-muted); font-size: var(--text-body); line-height: 1.7; overflow-wrap: anywhere; }




.interior-product .product-detail-specs dl > :is(dt, dd) { padding-block: var(--space-4); border-bottom: 1px solid var(--color-line); }

.interior-product .product-detail-specs dl > :is(dt:first-child, dd:nth-child(2)) { padding-top: 0; }
.interior-product .product-detail-specs :is(dt, dd) { min-width: 0; margin: 0; font-size: var(--text-small); line-height: 1.6; overflow-wrap: anywhere; }



/* Keep both sections readable until the accessible tabs are ready. */








.interior-product .product-tabs-ready .product-detail-description > :is(p, ul, ol, h3) { max-width: 72ch; }










/* The new product links keep existing catalogue geometry and gain a clear keyboard target. */
.catalog-product-link { display: block; min-width: 0; color: inherit; text-decoration: none; }
.catalog-product-media.catalog-product-link { display: grid; place-items: center; }
.catalog-product-media > .catalog-product-link { display: grid; place-items: center; width: 100%; height: 100%; min-height: 0; }

@media (max-width: 1199px) {
  main.interior-product { --product-column-gap: var(--space-12); }
  
  
}
@media (max-width: 1023px) {
  main.interior-product { --product-column-gap: var(--space-8); }
}
@media (max-width: 767px) {
  main.interior-product { --product-column-gap: var(--grid-gap); }
  
  
  
  
  
  
  
  
  
}
@media (max-width: 359px) {
  
  
  
  
}

@media (prefers-reduced-motion: no-preference) {
  
  
  
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
  .interior-product .product-detail-tab:not([aria-selected="true"]):hover { background: var(--color-surface-soft); border-color: var(--color-primary); }
  
  .interior-product .product-detail-quantity > button:not(:disabled):hover { background: var(--color-surface-soft); color: var(--color-primary); }
}
@media (prefers-reduced-motion: reduce) {
  
}

.product-gallery{min-width:0}.product-gallery .product-detail-media{position:relative}.product-gallery .product-detail-media>img{cursor:zoom-in}.product-gallery-thumbs{display:flex;gap:12px;overflow:auto;margin-top:16px;padding:3px}.product-gallery-thumb{width:78px;height:88px;flex:none;border:1px solid var(--color-border,#d4e1f5);border-radius:14px;padding:6px;background:#fff;cursor:pointer}.product-gallery-thumb[aria-pressed=true]{border-color:var(--color-primary,#3e6ab3);box-shadow:0 0 0 1px var(--color-primary,#3e6ab3)}.product-gallery-thumb img{width:100%;height:100%;object-fit:contain;border-radius:8px}.product-gallery-zoom{position:absolute;right:20px;bottom:20px;width:52px;height:52px;border:1px solid var(--color-border,#d4e1f5);border-radius:50%;background:#fff;color:var(--color-primary,#3e6ab3);display:grid;place-items:center;cursor:zoom-in;box-shadow:0 4px 18px #15223812}.product-gallery-zoom svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.product-variant-label{display:grid;gap:10px;margin:20px 0;font-size:16px}.product-variant-label select{min-height:54px;width:100%;font:inherit;padding:12px 16px;border:1px solid var(--color-border,#d4e1f5);border-radius:14px;background:#fff;color:var(--color-text,#1e293b)}.product-detail-pricing [data-role=product-old-price]{font-size:18px;color:var(--color-muted,#64748b)}.product-bundle{margin-top:24px;border-top:1px solid var(--color-border,#d4e1f5);padding-top:20px}.product-bundle h2{font-size:20px;margin:0 0 12px}.product-bundle a{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;margin:10px 0;text-decoration:none;color:var(--color-text,#1e293b);font-size:14px}.product-bundle img{width:48px;height:56px;object-fit:contain;border-radius:8px}.product-lightbox{width:min(1000px,calc(100vw - 32px));max-height:calc(100dvh - 32px);border:1px solid var(--color-border,#d4e1f5);border-radius:24px;background:#fff;padding:20px;color:var(--color-text,#1e293b)}.product-lightbox::backdrop{background:#152238ad}.product-lightbox header{display:flex;justify-content:space-between;align-items:center}.product-lightbox header button,.product-lightbox-stage>button:not(.product-lightbox-photo){width:48px;height:48px;border:1px solid var(--color-border,#d4e1f5);border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--color-text,#1e293b);cursor:pointer;font-size:24px}.product-lightbox header svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.product-lightbox-stage{display:flex;align-items:center;gap:12px;margin:16px 0}.product-lightbox-photo{flex:1;border:0;background:#fff;max-height:70dvh;overflow:auto;cursor:zoom-in;border-radius:16px}.product-lightbox-photo img{display:block;max-height:65dvh;width:100%;object-fit:contain}.product-lightbox-photo.is-zoomed{cursor:zoom-out}.product-lightbox-photo.is-zoomed img{width:180%;max-width:none;max-height:none}.product-lightbox>p{font-size:14px;color:var(--color-muted,#64748b);text-align:center}
.product-lightbox-stage>button:not(.product-lightbox-photo) svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:600px){.product-lightbox{padding:14px}.product-lightbox-stage{gap:4px}.product-lightbox-stage>button:not(.product-lightbox-photo){width:48px;height:48px;flex:none}.product-gallery-thumb{width:64px;height:74px}}

.product-gallery-empty{display:grid;place-items:center;min-height:280px;color:var(--color-muted,#64748b);font-size:16px;background:var(--color-surface-soft,#f4f7fb)}

/* Clear product photography, with compact thumbnails and an obvious zoom action. */

.product-gallery-thumbs{gap:10px;margin-top:14px;padding:3px 2px 8px;scrollbar-width:thin;overscroll-behavior-x:contain}
.product-gallery-thumb{width:72px;height:82px;min-width:72px;padding:7px;border-color:var(--color-line);border-radius:12px;transition:border-color .15s,box-shadow .15s}
.product-gallery-thumb[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--color-primary);background:#fff}
.product-gallery-zoom{right:18px;bottom:18px;width:48px;height:48px;border-color:var(--color-line);box-shadow:0 5px 18px rgb(30 41 59 / .08)}
.product-gallery-zoom:focus-visible,.product-gallery-thumb:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}
.product-lightbox[open]{display:flex;flex-direction:column;width:min(1100px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:22px;border-color:var(--color-line);overflow:hidden}
.product-lightbox header{flex:none;gap:16px;min-height:48px}
.product-lightbox header>strong{font-size:16px;font-weight:500;min-width:0;overflow-wrap:anywhere}
.product-lightbox-stage{flex:1;min-height:0;gap:12px;margin:16px 0;overflow:hidden}
.product-lightbox-stage>button:not(.product-lightbox-photo){flex:0 0 48px;border-color:var(--color-line)}
.product-lightbox-stage>button:not(.product-lightbox-photo)>svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.product-lightbox-photo{display:grid;place-items:center;min-width:0;min-height:0;height:min(66dvh,700px);max-height:66dvh;padding:8px;background:#fff;overscroll-behavior:contain}
.product-lightbox-photo img{width:100%;height:100%;max-height:calc(66dvh - 16px);object-fit:contain;min-width:0}
.product-lightbox-photo.is-zoomed{display:block;padding:0;overflow:auto}
.product-lightbox-photo.is-zoomed img{width:180%;height:auto;max-width:none;max-height:none;min-height:100%;object-fit:contain}
.product-lightbox>p{flex:none;font-size:12px;line-height:1.5;margin:0}

/* Scoped to the product offer: ordinary product/gallery geometry stays separate. */
































.interior-product .product-together-quantity>button:not(:disabled):hover{background:var(--color-surface-soft);color:var(--color-primary)}






.interior-product .product-together :is(a,button,select):focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}

@media(max-width:1050px){.interior-product .product-together-layout{grid-template-columns:minmax(0,1fr) 250px;gap:20px}.interior-product .product-together-products{grid-template-columns:repeat(auto-fit,minmax(136px,170px));gap:24px}.interior-product .product-together-plus{left:-22px}.interior-product .product-together-summary{padding:18px}}
@media(max-width:760px){.interior-product .product-together{margin-top:24px;padding:18px;gap:18px}.interior-product .product-together-layout{grid-template-columns:minmax(0,1fr);gap:20px}.interior-product .product-together-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.interior-product .product-together-item{padding:12px;gap:10px}.interior-product .product-together-summary{width:100%;padding:18px;gap:12px}.interior-product .product-together-prices strong{font-size:28px}.interior-product .product-together .product-together-photo{height:112px;max-height:112px;padding:6px}.interior-product .product-together-plus{top:56px}}
@media(max-width:380px){.interior-product .product-together{padding:14px}.interior-product .product-together-item{padding:10px}.interior-product .product-together-name{font-size:14px}.interior-product .product-together .product-together-photo{height:96px;max-height:96px}.interior-product .product-together-plus{top:48px}.interior-product .product-together-summary-title{font-size:17px}}
html[data-reading-mode] .interior-product .product-together-layout{grid-template-columns:minmax(0,1fr)}
html[data-reading-mode] .interior-product .product-together :is(.product-together-item,.product-together-summary){border:1px solid var(--reading-fg,#000)!important}
html[data-reading-mode][data-reading-images="hidden"] .interior-product .product-together .product-together-photo{height:auto;max-height:none;min-height:44px;overflow:visible}

@media(max-width:600px){.product-gallery-thumb{width:64px;min-width:64px;height:74px}.product-gallery-zoom{right:14px;bottom:14px}.product-lightbox[open]{padding:14px;width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:20px}.product-lightbox-stage{gap:4px}.product-lightbox-stage>button:not(.product-lightbox-photo){width:38px;height:44px;flex-basis:38px}.product-lightbox-photo{height:60dvh;max-height:60dvh}.product-lightbox-photo img{max-height:calc(60dvh - 16px)}.product-lightbox-photo.is-zoomed img{max-height:none}}
@media(prefers-reduced-motion:reduce){.product-gallery-thumb{transition:none}}
/* Availability errors belong to the affected component and do not replace pending labels. */




html[data-reading-mode] .product-together-item.is-unavailable{border-color:var(--reading-fg,#000);box-shadow:none}
