.product-main,.catalog-main{max-width:var(--page-max-width);margin:0 auto;padding:30px var(--page-gutter) var(--space-20)}.breadcrumbs{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:var(--text-sm);color:var(--muted);margin-bottom:var(--space-8)}.breadcrumbs a:hover{text-decoration:underline}.product-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:var(--page-gutter);align-items:start}.product-photo{width:100%;height:610px;display:block;object-fit:cover;object-position:center 70%;border-radius:var(--radius-card);background:var(--cream)}.gallery-thumbnails{display:flex;gap:var(--space-3);margin-top:15px}.thumbnail{padding:var(--space-1);border:1px solid var(--line);border-radius:7px;background:var(--white)}.thumbnail.is-selected{border:2px solid var(--green);padding:3px}.thumbnail img{display:block;width:75px;height:75px;object-fit:cover;border-radius:3px}.product-information{padding-top:var(--space-4)}.product-information .eyebrow{color:var(--muted);margin-bottom:18px}.product-information h1{font-family:var(--serif);font-size:clamp(2.1rem,3.4vw,3.2rem);font-weight:var(--weight-regular);line-height:1.17;letter-spacing:-.5px;margin-bottom:var(--space-5)}.product-information h1 em{color:var(--green)}.product-subtitle{color:var(--muted);font-size:var(--text-base)}.product-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-6) 0}.product-tags span{font-size:var(--text-xs);background:var(--cream);padding:5px var(--space-3);border-radius:var(--radius-chip)}.product-order{margin:30px 0;padding:var(--space-6);background:var(--cream);border-radius:var(--radius-card)}.product-order h2{font-family:var(--serif);font-size:1.65rem;margin-bottom:var(--space-3)}.product-order>p{font-size:var(--text-label)}.product-order .button{width:100%}.product-order .product-caption{font-size:var(--text-xs);color:var(--muted);margin:15px 0 0}.product-facts{padding:0;background:none;margin:0}.product-facts>div{display:grid;grid-template-columns:110px 1fr;gap:var(--space-5);border-bottom:1px solid var(--line);padding:var(--space-3) 0}.product-facts dt{margin:0}.product-facts dd{font-size:var(--text-label);margin:0;white-space:normal}.product-story{max-width:760px;margin:var(--space-20) auto 0;border-top:1px solid var(--line);padding-top:50px}.product-story .eyebrow{color:var(--muted)}.product-story p:not(.eyebrow){color:var(--text-story)}.catalog-heading{text-align:center;margin:55px 0}.catalog-heading h1{font-family:var(--serif);font-size:3.25rem;font-weight:var(--weight-regular);line-height:var(--line-height-heading);margin-bottom:15px}.catalog-heading p{color:var(--muted)}.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-7)}.product-card{display:block}.product-card>img{width:100%;height:350px;object-fit:cover;object-position:center 75%;border-radius:var(--radius-md)}.product-card h2{font-size:var(--heading-sm);margin:14px 0 var(--space-3)}.product-card>p{font-size:var(--text-sm);color:var(--muted)}.product-card-badge{display:inline-block;font-size:var(--text-xs);background:var(--cream);border-radius:var(--radius-chip);margin-top:18px;padding:var(--space-1) var(--space-3)}.collection-photo.photo-puzzles{background-image:url('assets/puzzle-ferma-1.jpeg');background-size:cover;background-position:center 75%}@media(max-width:850px){.product-layout{gap:var(--space-8)}.product-photo{height:510px}.catalog-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.product-main,.catalog-main{padding:22px var(--page-gutter-mobile) 50px}.breadcrumbs{gap:var(--space-2);font-size:var(--text-xs);margin-bottom:22px}.product-layout{grid-template-columns:1fr;gap:25px}.product-photo{height:auto;aspect-ratio:1;object-fit:cover;object-position:center 75%}.product-information{padding-top:0}.product-information h1{font-size:2.2rem}.product-story{margin-top:45px;padding-top:35px}.catalog-grid{grid-template-columns:1fr}.catalog-heading{margin:35px 0}.product-card>img{height:auto;aspect-ratio:1}.product-facts>div{grid-template-columns:90px 1fr;gap:15px}}

.button:disabled{opacity:.55;cursor:not-allowed}.button:disabled:hover{transform:none;background:var(--green)}.bear-photo{object-position:center}.price-pending{color:var(--muted)}

.product-order .product-price{font-family:var(--serif);font-size:2.1rem;margin-bottom:22px;color:var(--ink)}.product-price span{font:1rem Arial,sans-serif}.product-card .catalog-price{color:var(--ink);font-size:1.1rem;font-weight:var(--weight-semibold)}
.catalog-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:var(--space-8)}.catalog-filters a{border:1px solid var(--line);padding:var(--space-2) var(--space-4);border-radius:var(--radius-tab)}.catalog-filters a[aria-current]{background:var(--green);color:var(--white)}.catalog-preview{padding:15px;background:var(--cream);border:1px solid var(--line);margin-bottom:25px}.gallery-thumbnails{flex-wrap:wrap}

/* The quantity row and purchase button share one intrinsic-width column. */
.product-purchase-controls{display:grid;gap:var(--space-3);width:max-content;max-width:100%;margin-top:22px}
.product-order .product-quantity{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-4);margin:0}
.product-order .product-quantity>label{margin:0}
.product-order .button[data-add-to-cart]{width:100%;max-width:100%}

/* Keep the gallery visible within the product columns, before the story section. */
@media(min-width:641px){
  .product-gallery{position:sticky;top:var(--space-6);align-self:start}
  .product-gallery .product-photo{max-height:calc(100dvh - 10rem)}
}

.product-order #product-customization{min-height:72px}

/* Use the page's available width, excluding the scrollbar, to match its outer margin. */
@supports(width:1cqw){
  body:has(.product-layout){container-type:inline-size}
  @media(min-width:641px){.product-layout{column-gap:max(var(--page-gutter),calc((100cqw - var(--page-max-width))/2 + var(--page-gutter)))}}
}
