.brand-image { width: 46px; height: 46px; flex: none; border-radius: 11px; box-shadow: 0 3px 12px #59273820; }
.category-tile { padding: 0; background: #fff; display: flex; flex-direction: column; border-color: #e2cbd5; }
.category-tile:nth-child(n) { background: #fff; }
.category-tile::after, .product-art::before { content: none; }
.category-photo { height: 190px; background: #fff; overflow: hidden; padding: 13px; }
.category-photo img { width: 100%; height: 100%; object-fit: contain; transition: transform .25s; }
.category-tile:hover .category-photo img { transform: scale(1.035); }
.category-copy { padding: 18px 21px 23px; border-top: 1px solid #f2e6ec; background: #fffafc; flex: 1; }
.category-copy h3 { margin: 0 0 7px; }
.product-card { border-color: #e4d2dc; background: #fff; box-shadow: 0 8px 25px #69213d09; }
.product-art { display: block; height: 290px; background: #fff; border-bottom: 1px solid #eee2e8; overflow: hidden; }
.product-photo-button { display: block; position: relative; width: 100%; height: 100%; padding: 0; border: 0; background: #fff; cursor: zoom-in; }
.product-photo { width: 100%; height: 100%; object-fit: contain; padding: 17px 23px; transition: transform .25s; }
@media (hover:hover) and (pointer:fine) {
 .product-photo-button:hover .product-photo { transform: scale(1.45); }
}
.product-photo-button:focus-visible .product-photo { transform: scale(1.45); }
@media (prefers-reduced-motion:reduce) {
 .product-photo { transition: none; }
}
.product-photo-button:focus-visible { outline-offset: -5px; }
.photo-zoom { position: absolute; left: 12px; top: 12px; display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid #e7dce2; border-radius: 50%; font-size: 17px; color: #715567; background: #fffffff2; }
.photo-note { position: absolute; bottom: 10px; left: 12px; max-width: calc(100% - 24px); padding: 3px 7px; background: #fffffff2; border: 1px solid #eee4e9; border-radius: 4px; font-size: 9px; line-height: 1.4; color: #76576b; pointer-events: none; }
.product-copy { background: #fffcfd; }
.product-copy .product-brand { font-size: 10px; letter-spacing: 1.4px; }
.compare-photo { width: 86px; height: 106px; object-fit: contain; background: #fff; margin-bottom: 13px; }
body.photo-dialog-open { overflow: hidden; }
.product-photo-dialog { width: min(760px, calc(100vw - 28px)); max-width: 760px; max-height: calc(100dvh - 28px); overflow: auto; padding: 28px; background: #fff; box-shadow: 0 25px 100px #46152b44; }
.product-photo-dialog::backdrop { background: #24101dd1; backdrop-filter: blur(8px); }
.photo-dialog-close { position: absolute; top: 14px; right: 14px; width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid #e1cbd5; border-radius: 50%; color: #6d2649; background: #fff; font-size: 28px; line-height: 1; }
.product-photo-dialog .eyebrow { margin: 0 48px 9px 0; }
.product-photo-dialog h2 { margin: 0 48px 16px 0; font-size: 29px; }
#product-photo-large { width: 100%; height: min(58dvh, 580px); object-fit: contain; background: #fff; }
.product-photo-dialog .photo-dialog-note { margin: 12px 0 8px; font-size: 12px; }
@media (max-width: 700px) {
  .brand-image { width: 40px; height: 40px; border-radius: 10px; }
  .category-photo { height: 150px; padding: 9px; }
  .category-copy { padding: 15px 14px 18px; }
  .category-copy h3 { font-size: 22px; }
  .product-art { height: clamp(175px, 44vw, 240px); }
  .product-photo { padding: 14px; }
  .product-copy .product-brand { font-size: 9px; letter-spacing: .8px; }
  .photo-zoom { top: 10px; left: 10px; width: 25px; height: 25px; font-size: 15px; }
  .photo-note { font-size: 8px; left: 8px; bottom: 7px; max-width: calc(100% - 16px); }
  .product-photo-dialog { padding: 23px 18px; border-radius: 15px; }
  .product-photo-dialog h2 { font-size: 25px; }
}
@media (prefers-reduced-motion: reduce) { .product-photo, .category-photo img { transition: none; } }
