/* Visual changes are scoped to the catalog and product page. */
#catalogo .scout-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.25rem 1.5rem; }
#catalogo .scout-card { position: relative; display: flex; flex-direction: column; min-width: 0; background: #fff; }
#catalogo .product-photo { height: auto; aspect-ratio: 1; padding: 1rem; background: #fff; overflow: hidden; }
#catalogo .product-photo img { width: 100%; height: 100%; object-fit: contain; }
#catalogo .product-card-body { display: flex; flex: 1; flex-direction: column; padding: 1rem .2rem .2rem; }
#catalogo .product-card-top { height: 0; position: static; }
#catalogo .favorite-button { position: absolute; top: .4rem; right: .4rem; width: 44px; height: 44px; margin: 0; border-radius: 50%; background: rgba(255, 255, 255, .95); color: #24211c; }
.favorite-button svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linejoin: round; }
.favorite-button[aria-pressed="true"] svg { fill: currentColor; }
#catalogo .favorite-button:hover { background: #f3f1eb; }
#catalogo .section-label { color: #595650; font-size: .75rem; letter-spacing: .06em; }
#catalogo .scout-card h4 { font-size: 1rem; line-height: 1.4; min-height: 2.8em; font-weight: 500; }
#catalogo .scout-concentration { color: #625f59; font-size: .78rem; line-height: 1.5; min-height: 3em; margin: .4rem 0 0; }
#catalogo .product-price { font-size: 1.12rem; margin: auto 0 .3rem; padding-top: .8rem; line-height: 1.3; }
#catalogo .product-dispatch { color: #625f59; line-height: 1.5; }
#catalogo .product-more { display: inline-flex; align-items: center; min-height: 44px; padding: .55rem 0; font-size: .8rem; text-decoration: underline; text-underline-offset: .3em; }
#catalogo .favorites-filter { min-height: 44px; cursor: pointer; }
#catalogo #favorites-count { color: #625f59; font-variant-numeric: tabular-nums; }
#catalogo .catalog-summary { align-items: baseline; padding: .4rem 0; }
#catalogo .catalog-summary p { color: #625f59; }
.catalog-live-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
#catalogo :is(.favorite-button, .product-photo, .product-name, .product-more, input, select, button):focus-visible,
.product-page :is(.favorite-button, .related-card, .product-thumbnails button):focus-visible { outline: 2px solid #765b2d; outline-offset: 4px; }
.photo-pending { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .55rem; width: 100%; height: 100%; min-height: 120px; border: 1px solid #eeeae2; background: #faf9f6; text-align: center; color: #6b6459; }
.photo-pending strong { font: 400 2.8rem/1 Georgia, serif; letter-spacing: -.1em; color: #8e7954; }
.photo-pending > span { font: 500 .56rem/1.4 Arial, sans-serif; letter-spacing: .2em; }
.photo-pending small { font: 400 .72rem/1.4 Arial, sans-serif; }
.product-page .product-image-panel { background: #fff; padding: clamp(1.5rem, 4vw, 3rem); }
.product-page .product-image-panel img { mix-blend-mode: normal; }
.product-page .product-image-panel > .photo-pending { min-height: 340px; max-height: 560px; }
.product-page .product-favorite-row { margin: .75rem 0 0; }
.product-page .product-favorite-row .favorite-button { display: inline-flex; align-items: center; justify-content: flex-start; gap: .65rem; min-height: 44px; padding: .4rem .2rem; border: 0; background: transparent; color: #4b463e; cursor: pointer; font: 400 .875rem/1.4 var(--sans); }
.product-page .product-thumbnails { display: flex; justify-content: center; gap: .6rem; flex-wrap: wrap; margin-top: 1rem; }
.product-page .product-thumbnails button { min-width: 64px; min-height: 64px; padding: .2rem; border: 1px solid #ded8cf; background: #fff; cursor: pointer; }
.product-page .product-thumbnails button[aria-pressed="true"] { border-color: #765b2d; }
.product-page .product-thumbnails img { width: 64px; height: 64px; }
.product-page .related-image { background: #fff; }
.product-page .related-image img { mix-blend-mode: normal; }
.product-page .related-card strong { font: 500 1rem/1.4 var(--sans); }
.product-page .related-variant { margin-top: .35rem; color: #625f59; font-size: .78rem; line-height: 1.5; }
@media (max-width: 950px) {
  #catalogo .scout-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.8rem 1.1rem; }
}
@media (max-width: 640px) {
  #catalogo .scout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem .85rem; }
  #catalogo .product-photo { height: auto; padding: .55rem; }
  #catalogo .product-card-body { padding: .7rem 0 .1rem; }
  #catalogo .favorite-button { top: .1rem; right: .1rem; width: 44px; height: 44px; }
  #catalogo .scout-card h4 { font-size: .9rem; min-height: 2.8em; }
  #catalogo .scout-concentration { font-size: .73rem; min-height: 3em; }
  #catalogo .product-price { font-size: 1rem; padding-top: .65rem; }
  #catalogo .product-more { min-height: 44px; font-size: .75rem; }
  #catalogo .product-card-actions { margin: .15rem 0 0; }
  .photo-pending strong { font-size: 2.1rem; }
  .photo-pending small { font-size: .65rem; }
  .product-page .product-image-panel { padding: 1.5rem; }
  .product-page .product-image-panel > .photo-pending { min-height: 280px; }
}
