.product-detail-page .page-section { padding: 48px 0 64px; }
.product-page .page-section { padding: 40px 0 64px; }
.product-page .shell, .product-detail-page .shell { width: min(1320px, 100%); }
.product-categories { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 6px 48px; padding-top: 8px; }
.product-categories a { padding: 6px 12px; border: 1px solid var(--srt-gray); background: #f8f9fa; color: #000; font-size: 16px; line-height: 24px; }
.product-categories a[aria-current="page"] { border-color: var(--srt-ink); background: var(--srt-ink); color: #fff; }
.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); align-items: start; column-gap: 24px; row-gap: 48px; padding: 0 10px; }
.product-card { display: block; overflow: hidden; background: #fff; color: var(--srt-ink); transition: box-shadow .3s; }
.product-card__image { display: block; width: 100%; height: auto; aspect-ratio: 1; border: 2px solid transparent; box-shadow: 0 1px 15px rgba(0,0,0,.16); object-fit: cover; transition: border-color .3s; }
.product-card__title { margin: 0; padding: 24px 12px; font-size: 18px; line-height: 27px; transition: background-color .3s; }
.product-card:hover { box-shadow: 0 3px 6px rgba(0,0,0,.16); }
.product-card:hover .product-card__image { border-color: var(--srt-gold); }
.product-card:hover .product-card__title { background: var(--srt-gold); }

#product-inner { position: relative; background: #fff; }
#product-inner::before { position: absolute; z-index: 0; top: 8%; left: 0; display: block; content: url("../images/site/deco-logo.svg"); transform: translate(-83%, 0); }
#product-inner > * { position: relative; z-index: 1; }
/* Detail layout mirrors the source site: 1200px container, 12 x 100px columns, 10px gutters. */
.product-detail-page .product-detail { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: start; width: min(1200px, 100%); margin-inline: auto; color: #212529; line-height: 1.5; }
.product-detail-page .crumbs { width: min(1180px, calc(100% - 48px)); }
.product-detail__info { grid-column: 2 / span 3; margin-top: 24px; padding: 0 10px; }
.product-detail__title { margin: 0; font-size: 20px; line-height: 30px; }
.product-detail__meta { margin: 0; }
.product-detail__meta div::before, .product-detail__description::before { display: block; height: 1px; margin: 20px 0; background: #e0e0e0; content: ""; }
.product-detail__meta dt, .product-detail__description > strong { display: block; margin: 0; color: #212529; font-weight: 500; }
.product-detail__meta dd { margin: 0; }
.product-detail__meta dd, .product-detail__description { color: var(--srt-gray); }
.product-detail__description a { color: inherit; }
.product-detail__description p { margin: 0; }
.product-detail__description p + p { margin-top: 16px; }
.product-detail__actions { display: grid; gap: 16px; margin-top: 96px; }
.product-detail__gallery { grid-column: 6 / span 6; display: grid; gap: 8px; margin-top: 24px; padding: 0 10px; }
.product-detail__gallery img { width: 100%; height: auto; }
.product-detail__actions .btn-dark { background: #212529; border-color: #212529; color: #fff; }
.product-detail__actions .btn-primary { background: #fae57c; border-color: #fae57c; color: #000; }
.product-detail__actions .btn-primary:hover { background: #fbe990; border-color: #fbe889; color: #000; box-shadow: 0 3px 6px rgba(0, 0, 0, .16); }

@media (max-width: 575.98px) {
  #product-inner::before { display: none; }
}

@media (max-width: 540px) {
  .product-page .page-section, .product-detail-page .page-section { padding: 43.2px 0; }
  .product-categories { gap: 7.2px; margin: 0 10px 43.2px; padding-top: 0; }
  .product-categories a { padding: 5.4px 10.8px; font-size: 14.4px; line-height: 21.6px; }
  .product-grid { grid-template-columns: repeat(2, 1fr); column-gap: 20px; }
  .product-card__image { width: calc(100% - 4px); margin: 2px; }
  .product-card__title { padding: 21.6px 10.8px; font-size: 16.2px; line-height: 24.3px; }
  .product-detail-page .product-detail { display: block; }
  .product-detail__title { font-size: 18px; line-height: 27px; }
  .product-detail__description p + p { margin-top: 14.4px; }
  .product-detail__actions { grid-template-columns: repeat(2, 1fr); gap: 0; margin: 24px -10px 64px; }
  .product-detail__actions .button-main { width: 100%; border-radius: 0; }
  .product-detail__gallery { gap: 7.2px; }
}
