.xdc-product-shell__gallery { overflow: hidden; }
.xdc-product-shell__preview { display: block; width: 100%; height: 100%; object-fit: contain; }
.xdc-product-preview-pending { position: relative; }
.xdc-product-preview-pending [data-xdc-main-image] { opacity: 0; }
.xdc-product-preview { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.xdc-product-shell__thumb { border-radius: 12px; }
.xdc-product-shell__line { height: 14px; width: 72%; border-radius: 7px; }
.xdc-product-shell__line--short { width: 42%; }
.xdc-product-shell__block { height: 114px; border-radius: 18px; }
.xdc-product-shell__line, .xdc-product-shell__block, .xdc-product-shell__thumb {
  background: #e9eef4;
  animation: xdc-product-pulse 1.8s ease-in-out infinite;
}
.xdc-product-shell__status { color: #60758a; font-size: 14px; margin: 0; }
.xdc-product-shell__variants, .xdc-product-shell__pricing { display: grid; align-content: start; gap: 12px; min-height: 120px; }
.xdc-product-shell__pricing { min-height: 100px; }
.xdc-product-shell__unknown { visibility: hidden; }
.xdc-product-shell__unknown.xdc-model-single__sku { min-height: 1.5em; }
.xdc-product-shell__unknown .xdc-model-single__price { min-height: 1.2em; }
.xdc-product-shell__error { display: grid; gap: 12px; padding: 18px; border-radius: 18px; background: #fff7e8; color: #16324f; }
.xdc-product-shell__error p { margin: 0; }
.xdc-product-shell__error button, .xdc-product-shell__error a { width: fit-content; }
.xdc-product-shell__below { height: 200px; margin-top: 28px; }
.xdc-category-shell-frame { display: flow-root; padding: 10px; }
.xdc-catalog-archive.xdc-catalog-archive[data-xdc-loading-results] { opacity: 1; }
.xdc-card-skeleton { pointer-events: none; }
.xdc-card-skeleton .xdc-archive-card__body { min-height: 235px; }
.xdc-card-skeleton__media,
.xdc-card-skeleton__code, .xdc-card-skeleton__title, .xdc-card-skeleton__description,
.xdc-card-skeleton__swatches, .xdc-card-skeleton__stock, .xdc-card-skeleton__price {
  background: #e9eef4; border-radius: 7px; animation: xdc-product-pulse 1.8s ease-in-out infinite;
}
.xdc-card-skeleton .xdc-card-skeleton__media { border-radius: 0; background: #e9eef4; }
.xdc-card-skeleton__code { width: 35%; height: 12px; }
.xdc-card-skeleton__title { width: 75%; height: 23px; }
.xdc-card-skeleton__description { width: 90%; height: 36px; }
.xdc-card-skeleton__swatches { width: 54%; height: 20px; }
.xdc-card-skeleton__stock { width: 80%; height: 20px; }
.xdc-card-skeleton__price { width: 45%; height: 24px; }
.xdc-category-shell__sidebar .xdc-product-shell__line { width: 88%; height: 14px; }
.xdc-category-shell__toolbar { pointer-events: none; }
.xdc-category-shell__sort { display: flex; align-items: center; min-height: 40px; padding: 0 14px; font-weight: 700; }
.xdc-deferred-recommendations { min-height: 360px; margin-top: 28px; }
.xdc-deferred-recommendations__status { color: #60758a; font-size: 14px; }
.xdc-deferred-recommendations[hidden] { display: none; }
.xdc-deferred-recommendations > .xdc-model-single__section { margin-top: 0; }
@media (max-width: 580px) {
  .xdc-card-skeleton .xdc-archive-card__body { min-height: 193px; }
  .xdc-card-skeleton__description { display: none; }
}
@keyframes xdc-product-pulse { 50% { opacity: .55; } }
.xdc-category-nav__item.xdc-nav-dismissed > .xdc-category-nav__dropdown {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: none !important;
}
@media (max-width: 767px) {
  .xdc-product-shell__gallery { overflow: hidden; }
}
@media (prefers-reduced-motion: reduce) {
  .xdc-product-shell__line, .xdc-product-shell__block, .xdc-product-shell__thumb,
  .xdc-card-skeleton__media, .xdc-card-skeleton .xdc-archive-card__body > div { animation: none; }
}

.xdc-product-shell-frame { display: flow-root; width: 100%; padding: 10px; }
.xdc-product-shell-frame > .xdc-model-single { margin-top: 0; }
.xdc-category-shell-frame { width: 100%; }
.xdc-product-shell__brand { min-height: 38px; }
.xdc-product-shell .xdc-model-single__summary { align-content: start; }
.xdc-product-shell__thumb { width: 100%; }
.xdc-product-shell__unknown.xdc-model-single__summary-code { min-height: 1.5em; }
.xdc-product-shell .xdc-model-single__price-box { min-height: 38px; }
.xdc-product-shell__image { position: relative; }
.xdc-product-shell .xdc-model-single__gallery-arrow { display: none; }
.xdc-product-preview { object-fit: contain; }
.xdc-card-skeleton__media { aspect-ratio: 1; }
.xdc-category-shell__toolbar { min-height: 58px; }
.xdc-category-shell .xdc-page-hero__description { min-height: 1.6em; }
.xdc-category-shell__sidebar .xdc-catalog-archive__facet { display: grid; gap: 12px; }
.xdc-category-shell__sidebar { pointer-events: none; }
/* Reserve the final image box before either the preview or hero decodes. */
.xdc-model-single__gallery-main { width: 100%; aspect-ratio: 1; min-height: 0; max-height: 520px; }
.xdc-model-single__gallery-main img { position: absolute; inset: 0; width: 100%; height: 100%; max-height: 520px; object-fit: contain; }
/* A single scrolling strip keeps extra lazy thumbnails from moving content. */
.xdc-model-single__gallery-thumbs { display: flex; aspect-ratio: 7 / 1; overflow-x: auto; overflow-y: hidden; gap: 2px; scrollbar-width: thin; }
.xdc-model-single__gallery-thumbs .xdc-model-single__thumb { flex: 0 0 calc((100% - 12px) / 7); height: auto; }
.xdc-model-single__gallery-thumbs .xdc-model-single__thumb img { position: absolute; inset: -6px; }
@media (max-width: 720px) {
  .xdc-product-shell-frame, .xdc-category-shell-frame { padding: 10px; }
  .xdc-model-single__gallery-thumbs { aspect-ratio: 5 / 1; }
  .xdc-model-single__gallery-thumbs .xdc-model-single__thumb { flex-basis: calc((100% - 8px) / 5); }
}
