.products-catalogue-page { --catalogue-red:#c8102e; --catalogue-gold:#d4a947; --catalogue-ink:#332a25; --catalogue-muted:#766a60; --catalogue-cream:#fbf5e9; overflow:hidden; }
.products-catalogue-hero { position:relative; padding:clamp(2.7rem,5.2vw,4.8rem) 0 clamp(3rem,5vw,4.5rem); background:linear-gradient(135deg,#fffaf1,#f8efdf); }
.products-catalogue-hero-grid { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); align-items:center; gap:clamp(1.5rem,4vw,3.5rem); }
.products-catalogue-hero-copy { position:relative; z-index:1; max-width:550px; }
.products-catalogue-eyebrow,.products-catalogue-section-kicker { display:block; margin-bottom:.65rem; color:#a77b2b; font-size:.68rem; font-weight:800; letter-spacing:.17em; }
.products-catalogue-hero h1 { max-width:530px; margin:0 0 1rem; color:var(--catalogue-red); font-family:'Poppins','DM Sans',sans-serif; font-size:clamp(2.8rem,5vw,4.25rem); font-weight:700; line-height:1.04; letter-spacing:-.05em; }
.products-catalogue-hero-copy>p { max-width:500px; margin:0 0 1.5rem; color:#5d5148; font-size:1rem; line-height:1.78; }
.products-catalogue-hero-link { display:inline-flex; align-items:center; justify-content:center; gap:.65rem; min-height:46px; padding:.7rem 1.05rem; border:1px solid var(--catalogue-red); border-radius:7px; background:var(--catalogue-red); color:#fff; font-size:.86rem; font-weight:700; transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease; }
.products-catalogue-hero-link:hover { transform:translateY(-2px); background:#a91b2c; color:#fff; box-shadow:0 9px 20px #c8102e26; }
.products-catalogue-hero-art { position:relative; min-width:0; }
.products-catalogue-hero-art img { display:block; width:100%; height:auto; object-fit:contain; filter:drop-shadow(0 16px 24px #5b35171a); }
.products-catalogue-hero-stamp { position:absolute; right:1rem; bottom:.7rem; display:inline-flex; align-items:center; gap:.4rem; padding:.45rem .65rem; border:1px solid #e8d5ab; border-radius:999px; background:#fffaf0eF; color:#8f6d33; font-size:.56rem; font-weight:800; letter-spacing:.12em; }
.products-catalogue-hero-stamp i { color:var(--catalogue-red); }
.products-catalogue-hero-line { position:absolute; right:0; bottom:0; left:0; height:3px; background:linear-gradient(90deg,transparent,var(--catalogue-gold) 22%,#edd9ae 72%,transparent); }

.products-category-section { padding:3.2rem 0 3.6rem; background:#fff; }
.products-category-heading,.products-catalogue-heading { display:flex; align-items:end; justify-content:space-between; gap:1.5rem; margin-bottom:1.35rem; }
.products-category-heading h2,.products-catalogue-heading h2 { margin:0; color:#49382d; font-family:'Playfair Display',Georgia,serif; font-size:clamp(1.9rem,3vw,2.6rem); font-weight:600; line-height:1.1; }
.products-category-heading .products-catalogue-section-kicker,.products-catalogue-heading .products-catalogue-section-kicker { margin-bottom:.35rem; }
.products-category-all { display:inline-flex; align-items:center; gap:.45rem; color:var(--catalogue-red); font-size:.85rem; font-weight:700; }
.products-category-all:hover { color:#8c1529; text-decoration:underline; text-underline-offset:3px; }
.products-category-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:.8rem; }
.products-category-tile { position:relative; display:flex; min-width:0; align-items:center; gap:.75rem; min-height:84px; padding:.65rem .8rem; border:1px solid #eee5d8; border-radius:14px; background:#fffdf9; color:#45392f; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background-color .2s ease; }
.products-category-tile:hover,.products-category-tile:focus-visible { transform:translateY(-3px); border-color:#d9bd80; background:#fffaf0; color:#4d342a; box-shadow:0 10px 24px #56391b0d; }
.products-category-tile.is-active { border-color:#d5b365; background:#fff8e9; box-shadow:inset 0 0 0 1px #e7d3a8; }
.products-category-art { display:grid; flex:0 0 62px; width:62px; height:62px; overflow:hidden; place-items:center; border:1px solid #efe3d0; border-radius:12px; background:#f8efdf; color:#b58b43; }
.products-category-art img { width:100%; height:100%; object-fit:cover; }
.products-category-art i { font-size:1.55rem; }
.products-category-art-all { background:#fff1ec; color:var(--catalogue-red); }
.products-category-name { overflow:hidden; font-family:'Poppins','DM Sans',sans-serif; font-size:.91rem; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.products-category-arrow { margin-left:auto; color:#bd9650; font-size:.8rem; }

.products-catalogue-section { padding:4rem 0 5.5rem; background:#fbf8f2; }
.products-catalogue-heading { margin-bottom:1.5rem; }
.products-catalogue-count { margin:0 0 .15rem; color:#786d63; font-size:.8rem; }
.products-catalogue-count strong { color:#4c3d32; }
.products-browse-controls { display:grid; grid-template-columns:minmax(250px,1.35fr) minmax(155px,.7fr) minmax(155px,.7fr) auto; align-items:center; gap:.65rem; margin-bottom:.8rem; padding:.65rem; border:1px solid #eee5d8; border-radius:14px; background:#fff; box-shadow:0 7px 20px #4a32100a; }
.products-search-field { display:flex; min-width:0; align-items:center; gap:.65rem; padding:0 .8rem; }
.products-search-field>i { color:#a18e7b; }
.products-search-field input { min-width:0; min-height:43px; padding:0; border:0; box-shadow:none!important; }
.products-search-field input:focus { outline:none; }
.products-browse-controls .form-select { min-height:43px; border-color:#ebe2d6; border-radius:9px; color:#53463d; font-size:.82rem; }
.products-browse-submit { display:inline-flex; align-items:center; justify-content:center; gap:.45rem; min-height:43px; padding:.6rem .9rem; border:0; border-radius:9px; background:var(--catalogue-red); color:#fff; font-size:.82rem; font-weight:700; transition:background-color .2s ease; }
.products-browse-submit:hover { background:#a91b2c; }
.products-browse-submit i { display:none; }
.products-quick-filters { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; margin-bottom:1.4rem; }
.products-quick-filter,.products-filter-reset { display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:.45rem .75rem; border:1px solid #e8dfd3; border-radius:999px; background:#fff; color:#67584b; font-size:.74rem; font-weight:700; transition:border-color .18s ease,color .18s ease,background-color .18s ease; }
.products-quick-filter:hover,.products-filter-reset:hover { border-color:#c8102e; color:#c8102e; }
.products-quick-filter.is-active { border-color:#c8102e; background:#c8102e; color:#fff; }
.products-filter-reset { border-color:transparent; background:transparent; color:#9a392f; text-decoration:underline; text-underline-offset:3px; }
.products-catalogue-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch; gap:1.15rem; }
.products-catalogue-card { display:flex; min-width:0; height:100%; flex-direction:column; overflow:hidden; border:1px solid #eee4d8; border-radius:16px; background:#fff; box-shadow:0 10px 24px #49331808; transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease; }
.products-catalogue-card:hover { transform:translateY(-5px); border-color:#e1cfaa; box-shadow:0 18px 34px #49331814; }
.products-catalogue-card-link { display:flex; height:100%; flex-direction:column; color:inherit; }
.products-catalogue-card-link:focus-visible { outline:3px solid #c8102e; outline-offset:-3px; }
.products-catalogue-image { position:relative; display:grid; width:100%; aspect-ratio:1/1; overflow:hidden; place-items:center; padding:1rem; background:linear-gradient(145deg,#fffdf9,#f7f0e5); }
.products-catalogue-image::after { position:absolute; right:1rem; bottom:0; left:1rem; height:1px; content:""; background:linear-gradient(90deg,transparent,#e7d9c3,transparent); }
.products-catalogue-image img { display:block; width:100%; height:100%; object-fit:contain; transition:transform .35s ease; }
.products-catalogue-card:hover .products-catalogue-image img { transform:scale(1.045); }
.products-catalogue-badge { position:absolute; z-index:1; top:.75rem; left:.75rem; padding:.33rem .55rem; border:1px solid #efdba8; border-radius:999px; background:#fff8e8; color:#986e24; font-size:.61rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.products-catalogue-image-fallback { display:flex; flex-direction:column; align-items:center; gap:.5rem; color:#a58b68; font-size:.76rem; }
.products-catalogue-image-fallback i { font-size:2rem; }
.products-catalogue-card-copy { display:flex; flex:1; flex-direction:column; padding:1rem 1.05rem 1.1rem; }
.products-catalogue-product-labels { display:flex; flex-wrap:wrap; gap:.35rem; min-height:18px; }
.products-catalogue-product-labels span { color:#a47d36; font-size:.62rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.products-catalogue-product-labels span+span::before { margin-right:.35rem; color:#d2b472; content:"/"; }
.products-catalogue-card-copy h3 { margin:.35rem 0 .4rem; color:#3e3129; font-family:'Poppins','DM Sans',sans-serif; font-size:1.04rem; font-weight:700; line-height:1.35; overflow-wrap:anywhere; }
.products-catalogue-card-copy p { display:-webkit-box; margin:0 0 .8rem; overflow:hidden; color:#756a60; font-size:.78rem; line-height:1.55; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.products-catalogue-card-action { display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-top:auto; padding-top:.6rem; color:#bd2638; font-size:.78rem; font-weight:800; }
.products-catalogue-card-action i { transition:transform .18s ease; }
.products-catalogue-card:hover .products-catalogue-card-action i { transform:translateX(4px); }
.products-catalogue-empty { display:flex; min-height:300px; flex-direction:column; align-items:center; justify-content:center; padding:2.5rem 1rem; border:1px dashed #dfd1bd; border-radius:18px; background:#fffdf8; text-align:center; }
.products-catalogue-empty>span:first-child { display:grid; width:58px; height:58px; margin-bottom:1rem; place-items:center; border-radius:50%; background:#fff3e2; color:#af8337; font-size:1.5rem; }
.products-catalogue-empty .products-catalogue-section-kicker { margin-bottom:.45rem; }
.products-catalogue-empty h2 { margin:0 0 .5rem; color:#49382d; font-family:'Playfair Display',Georgia,serif; font-size:1.8rem; }
.products-catalogue-empty p { max-width:420px; color:#766a60; font-size:.9rem; }
.products-catalogue-pagination { margin-top:2rem; }
.products-catalogue-pagination .page-link { border-color:#e7dbca; color:#5d4b3d; }
.products-catalogue-pagination .page-item.active .page-link { border-color:#c8102e; background:#c8102e; color:#fff; }

@media (max-width:1199.98px) {
  .products-catalogue-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:.95rem; }
  .products-catalogue-hero h1 { font-size:clamp(2.7rem,4.8vw,3.8rem); }
}
@media (max-width:991.98px) {
  .products-catalogue-hero { padding:3.2rem 0 3.6rem; }
  .products-catalogue-hero-grid { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:1.4rem; }
  .products-catalogue-hero h1 { font-size:clamp(2.5rem,5.5vw,3.4rem); }
  .products-catalogue-hero-copy>p { font-size:.92rem; }
  .products-catalogue-hero-stamp { right:.3rem; bottom:.2rem; font-size:.48rem; }
  .products-browse-controls { grid-template-columns:minmax(0,1.3fr) minmax(145px,.8fr) minmax(145px,.8fr) auto; gap:.45rem; padding:.5rem; }
  .products-catalogue-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:767.98px) {
  .products-catalogue-hero { padding:2.2rem 0 2.6rem; }
  .products-catalogue-hero-grid { grid-template-columns:minmax(0,1fr); gap:.65rem; }
  .products-catalogue-hero-copy { max-width:640px; }
  .products-catalogue-eyebrow { margin-bottom:.4rem; font-size:.62rem; }
  .products-catalogue-hero h1 { max-width:520px; margin-bottom:.6rem; font-size:clamp(2.35rem,9vw,3.15rem); }
  .products-catalogue-hero-copy>p { margin-bottom:.9rem; font-size:.9rem; line-height:1.65; }
  .products-catalogue-hero-link { min-height:44px; font-size:.8rem; }
  .products-catalogue-hero-art { margin:0 -.2rem; }
  .products-catalogue-hero-art img { height:clamp(175px,50vw,230px); object-fit:cover; object-position:76% center; }
  .products-catalogue-hero-stamp { right:.55rem; bottom:.5rem; padding:.35rem .5rem; font-size:.48rem; }
  .products-category-section { padding:2.3rem 0 2.6rem; }
  .products-category-heading,.products-catalogue-heading { align-items:flex-start; gap:.65rem; }
  .products-category-heading h2,.products-catalogue-heading h2 { font-size:2rem; }
  .products-category-all { padding-top:.25rem; font-size:.74rem; white-space:nowrap; }
  .products-category-list { display:flex; gap:.55rem; overflow-x:auto; padding:.1rem .1rem .6rem; margin:0 -.1rem; scrollbar-width:none; scroll-snap-type:x proximity; }
  .products-category-list::-webkit-scrollbar { display:none; }
  .products-category-tile { flex:0 0 190px; min-height:74px; padding:.5rem .6rem; border-radius:12px; scroll-snap-align:start; }
  .products-category-art { flex-basis:52px; width:52px; height:52px; border-radius:10px; }
  .products-category-name { font-size:.83rem; }
  .products-catalogue-section { padding:2.8rem 0 3.6rem; }
  .products-catalogue-heading { align-items:end; margin-bottom:1rem; }
  .products-catalogue-count { max-width:130px; text-align:right; font-size:.68rem; }
  .products-catalogue-count strong { white-space:nowrap; }
  .products-browse-controls { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:.5rem; margin-bottom:.65rem; padding:.55rem; border-radius:13px; }
  .products-search-field { grid-column:1/-1; min-height:43px; }
  .products-browse-controls .form-select { min-width:0; min-height:44px; font-size:.75rem; }
  .products-browse-submit { grid-column:1/-1; min-height:44px; }
  .products-browse-submit i { display:inline-block; }
  .products-quick-filters { flex-wrap:nowrap; gap:.4rem; overflow-x:auto; padding-bottom:.2rem; margin-bottom:1rem; scrollbar-width:none; }
  .products-quick-filters::-webkit-scrollbar { display:none; }
  .products-quick-filter,.products-filter-reset { flex:0 0 auto; min-height:40px; font-size:.71rem; white-space:nowrap; }
  .products-catalogue-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
  .products-catalogue-card { border-radius:14px; }
  .products-catalogue-image { padding:.65rem; }
  .products-catalogue-badge { top:.5rem; left:.5rem; padding:.27rem .4rem; font-size:.52rem; }
  .products-catalogue-card-copy { padding:.75rem .72rem .8rem; }
  .products-catalogue-product-labels { min-height:15px; }
  .products-catalogue-product-labels span { font-size:.53rem; }
  .products-catalogue-card-copy h3 { margin:.25rem 0 .35rem; font-size:.88rem; }
  .products-catalogue-card-copy p { margin-bottom:.45rem; font-size:.71rem; }
  .products-catalogue-card-action { padding-top:.45rem; font-size:.7rem; }
  .products-catalogue-empty { min-height:260px; border-radius:15px; }
}

@media (max-width:359.98px) {
  .products-catalogue-hero h1 { font-size:2.25rem; }
  .products-category-heading h2,.products-catalogue-heading h2 { font-size:1.75rem; }
  .products-category-all { font-size:.68rem; }
  .products-catalogue-grid { grid-template-columns:1fr; }
  .products-catalogue-image { aspect-ratio:1.2/1; padding:1rem; }
  .products-catalogue-card-copy { padding:.9rem; }
  .products-catalogue-card-copy h3 { font-size:1rem; }
}
@media (prefers-reduced-motion:reduce) {
  .products-catalogue-hero-link,.products-category-tile,.products-catalogue-card,.products-catalogue-image img,.products-browse-submit,.products-quick-filter,.products-filter-reset,.products-destination-card { transition:none; }
}

/* Category-first catalogue cards: broad, image-led tiles on desktop and two
   touch-friendly columns on mobile. */
.products-category-list { grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.1rem; }
.products-category-tile { display:flex; min-height:0; flex-direction:column; align-items:stretch; gap:0; overflow:hidden; padding:0; border-radius:16px; text-align:left; }
.products-category-art { display:grid; flex:0 0 auto; width:100%; height:auto; aspect-ratio:1.45/1; border:0; border-radius:0; }
.products-category-art img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.products-category-tile:hover .products-category-art img { transform:scale(1.045); }
.products-category-art i { font-size:2rem; }
.products-category-copy { display:flex; min-width:0; flex:1; flex-direction:column; align-items:flex-start; padding:1rem 1rem .9rem; }
.products-category-name { max-width:100%; color:#45392f; font-size:.98rem; }
.products-category-description { display:-webkit-box; min-height:2.8em; margin-top:.35rem; overflow:hidden; color:#766a60; font-size:.77rem; line-height:1.45; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.products-category-count { margin-top:.55rem; color:#a47d36; font-size:.68rem; font-weight:700; letter-spacing:.035em; }
.products-category-arrow { position:absolute; top:.7rem; right:.7rem; display:grid; width:31px; height:31px; place-items:center; border:1px solid #ffffffa6; border-radius:50%; background:#fffdf5eF; box-shadow:0 3px 10px #332a2510; }
.products-category-tile.is-active .products-category-arrow { background:var(--catalogue-red); color:#fff; }
@media (max-width:991.98px) {
  .products-category-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:767.98px) {
  .products-category-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; overflow:visible; padding:.1rem 0; margin:0; }
  .products-category-tile { flex:initial; min-width:0; min-height:0; padding:0; scroll-snap-align:initial; }
  .products-category-art { flex-basis:auto; width:100%; height:auto; aspect-ratio:1.22/1; border-radius:0; }
  .products-category-copy { padding:.72rem .7rem .7rem; }
  .products-category-name { font-size:.84rem; }
  .products-category-description { min-height:0; font-size:.68rem; }
  .products-category-count { margin-top:.4rem; font-size:.62rem; }
  .products-category-arrow { top:.45rem; right:.45rem; width:27px; height:27px; }
}
@media (max-width:359.98px) {
  .products-category-list { grid-template-columns:1fr; }
}

/* Premium red hero and wide category showcase. */
.products-catalogue-hero { overflow:hidden; padding:clamp(3.4rem,6vw,5.4rem) 0; background:radial-gradient(ellipse at 82% 8%,#cf354328,transparent 35%),linear-gradient(112deg,#4e0d1e 0%,#7d1027 49%,#590e21 100%); color:#fff; isolation:isolate; }
.products-catalogue-hero::before,.products-catalogue-hero::after { position:absolute; z-index:-1; width:400px; height:400px; border:1px solid #e5bd7150; border-radius:50%; content:""; pointer-events:none; }
.products-catalogue-hero::before { top:-260px; right:4%; box-shadow:0 0 0 24px #e5bd7110,0 0 0 52px #e5bd710a; }
.products-catalogue-hero::after { bottom:-330px; left:-120px; width:500px; height:500px; box-shadow:0 0 0 28px #e5bd710a; }
.products-catalogue-hero-grid { position:relative; z-index:1; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:clamp(2rem,5vw,4.6rem); }
.products-catalogue-hero-copy { animation:catalogueHeroRise .7s both; }
.products-catalogue-eyebrow { color:#eccb81; font-size:.7rem; letter-spacing:.2em; }
.products-catalogue-hero h1 { max-width:580px; color:#fffaf0; font-family:'Playfair Display',Georgia,serif; font-size:clamp(3.1rem,5.6vw,5.25rem); font-weight:600; letter-spacing:-.04em; line-height:1.02; }
.products-catalogue-hero-copy>p { max-width:475px; color:#f4e5dd; font-size:1.02rem; line-height:1.8; }
.products-catalogue-hero-link { border-color:#e7bd67; border-radius:999px; background:#edc56e; color:#4a1721; font-size:.84rem; box-shadow:0 8px 28px #30071435; }
.products-catalogue-hero-link:hover { border-color:#f6d894; background:#f6d894; color:#41131c; box-shadow:0 12px 28px #30071445; }
.products-catalogue-hero-art { overflow:hidden; border:1px solid #f0cf8457; border-radius:24px; background:#f8efdf; box-shadow:0 22px 60px #2e061c5c,0 0 0 7px #ffffff08; animation:catalogueHeroImage .85s .12s both; }
.products-catalogue-hero-art img { width:100%; max-height:480px; object-fit:contain; filter:none; }
.products-catalogue-hero-stamp { right:1rem; bottom:1rem; border-color:#f0d59e; background:#fffaf0f2; color:#765120; }
.products-catalogue-hero-line { height:2px; opacity:.8; background:linear-gradient(90deg,transparent,#edc879 18%,#f2d89e 80%,transparent); }
.products-category-section { padding:clamp(3rem,5vw,4.6rem) 0 clamp(3.4rem,5vw,5rem); background:linear-gradient(180deg,#fff 0%,#fffdf9 100%); }
.products-category-heading h2 { color:#492b23; font-family:'Playfair Display',Georgia,serif; font-size:clamp(2.2rem,3.4vw,3.1rem); }
.products-category-heading .products-catalogue-section-kicker { color:#b27c37; letter-spacing:.19em; }
.products-category-list { grid-template-columns:repeat(5,minmax(0,1fr)); gap:1rem; }
.products-category-tile { border-color:#eee4d8; border-radius:17px; background:#fff; box-shadow:0 8px 25px #4a2d1708; }
.products-category-tile { animation:catalogueCardRise .5s both; }
.products-category-tile:nth-child(2) { animation-delay:.045s; }
.products-category-tile:nth-child(3) { animation-delay:.09s; }
.products-category-tile:nth-child(4) { animation-delay:.135s; }
.products-category-tile:nth-child(5) { animation-delay:.18s; }
.products-category-tile:nth-child(n+6) { animation-delay:.22s; }
.products-category-tile:hover,.products-category-tile:focus-visible { transform:translateY(-5px); border-color:#d7b76c; background:#fffdf8; box-shadow:0 18px 36px #4a2d1717; }
.products-category-art { aspect-ratio:1.28/1; background:#f7eddd; }
.products-category-art img { object-fit:cover; }
.products-category-name { font-size:.9rem; }
.products-category-tile.is-active { border-color:#c8102e; background:#fff9f2; box-shadow:inset 0 0 0 1px #c8102e28,0 12px 28px #c8102e10; }
.products-category-tile.is-active .products-category-name { color:#b7162f; }
.products-category-description { min-height:2.8em; }
.products-category-arrow { border-color:#f3e5cd; color:#b2843e; }
.products-category-tile.is-active .products-category-arrow { border-color:#c8102e; background:#c8102e; color:#fff; }
.products-catalogue-section { background:#fbf8f2; }
.products-selected-category-title { display:flex; min-width:0; align-items:center; gap:.85rem; }
.products-selected-category-image { display:block; width:64px; height:64px; flex:0 0 64px; overflow:hidden; border:1px solid #eadbc5; border-radius:14px; background:#f4ead8; box-shadow:0 5px 16px #4b31100d; }
.products-selected-category-image img { display:block; width:100%; height:100%; object-fit:cover; }
.products-selected-category-title .products-catalogue-section-kicker { margin-bottom:.25rem; }
.products-selected-category-title h2 { font-family:'Playfair Display',Georgia,serif; }
.products-catalogue-card { box-shadow:0 10px 24px #4933180b; }
.products-catalogue-card { animation:catalogueCardRise .48s both; }
.products-catalogue-card:nth-child(2) { animation-delay:.045s; }
.products-catalogue-card:nth-child(3) { animation-delay:.09s; }
.products-catalogue-card:nth-child(4) { animation-delay:.135s; }
.products-catalogue-card:nth-child(n+5) { animation-delay:.18s; }
.products-catalogue-image img { object-fit:contain; }
@keyframes catalogueHeroRise { from { opacity:0; transform:translateY(15px); } to { opacity:1; transform:translateY(0); } }
@keyframes catalogueHeroImage { from { opacity:0; transform:translateY(12px) scale(.99); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes catalogueCardRise { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
@media (min-width:1200px) {
  .products-catalogue-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (min-width:992px) and (max-width:1199.98px) {
  .products-category-list { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:991.98px) {
  .products-category-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .products-catalogue-hero-grid { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:1.7rem; }
  .products-catalogue-hero h1 { font-size:clamp(2.6rem,5.2vw,3.8rem); }
}
@media (max-width:767.98px) {
  .products-catalogue-hero { padding:2.55rem 0 2.8rem; }
  .products-catalogue-hero-grid { grid-template-columns:minmax(0,1fr); gap:1.25rem; }
  .products-catalogue-hero h1 { max-width:520px; font-size:clamp(2.8rem,10vw,4rem); }
  .products-catalogue-hero-copy>p { max-width:560px; font-size:.92rem; }
  .products-catalogue-hero-art { border-radius:18px; }
  .products-catalogue-hero-art img { height:clamp(175px,57vw,260px); max-height:none; object-fit:contain; }
  .products-catalogue-hero-stamp { right:.65rem; bottom:.65rem; font-size:.46rem; }
  .products-category-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
  .products-category-copy { padding:.75rem .72rem .75rem; }
  .products-category-name { font-size:.83rem; }
  .products-category-description { min-height:0; font-size:.69rem; }
  .products-selected-category-image { width:52px; height:52px; flex-basis:52px; border-radius:11px; }
  .products-selected-category-title { gap:.65rem; }
}
@media (max-width:359.98px) {
  .products-category-list { grid-template-columns:1fr; }
  .products-catalogue-hero h1 { font-size:2.65rem; }
  .products-catalogue-hero-art img { height:180px; }
}
@media (prefers-reduced-motion:reduce) {
  .products-catalogue-hero-copy,.products-catalogue-hero-art,.products-category-tile,.products-catalogue-card { animation:none!important; }
}

/* Category selection is the first and only catalogue view until a category is chosen. */
.products-category-section { padding:clamp(3.4rem,6vw,5.2rem) 0; background:#fffdf9; }
.products-category-heading { justify-content:center; margin-bottom:clamp(4.6rem,8vw,6rem); text-align:center; }
.products-category-heading .products-catalogue-section-kicker { color:#b7273b; }
.products-category-heading h2 { color:#c8102e; }
.products-category-list { grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch; gap:clamp(1.2rem,2.5vw,2rem) 1.2rem; }
.products-category-tile { position:relative; display:flex; min-height:310px; flex-direction:column; align-items:center; overflow:visible; margin-top:68px; padding:0 1.15rem 1.2rem; border:1px solid #f0e5d1; border-radius:20px; background:#fbf4e7; box-shadow:0 10px 28px #4a2d1709; color:#45392f; text-align:center; }
.products-category-tile:hover,.products-category-tile:focus-visible { transform:translateY(-5px); border-color:#dfc684; background:#fbf4e7; box-shadow:0 18px 34px #4a2d1717; color:#45392f; }
.products-category-art { display:grid; flex:0 0 148px; width:148px; height:148px; aspect-ratio:1; margin-top:-69px; overflow:hidden; place-items:center; border:7px solid #fff; border-radius:50%; background:#fff; box-shadow:0 8px 20px #43281117; }
.products-category-art img { width:100%; height:100%; border-radius:50%; object-fit:cover; }
.products-category-tile:hover .products-category-art img,.products-category-tile:focus-visible .products-category-art img { transform:scale(1.07); }
.products-category-copy { width:100%; align-items:center; padding:1.05rem .25rem 0; }
.products-category-name { color:#4a332d; font-family:'Playfair Display',Georgia,serif; font-size:1.18rem; font-weight:700; white-space:normal; }
.products-category-description { min-height:2.9em; margin-top:.5rem; color:#70635a; font-size:.79rem; line-height:1.5; }
.products-category-count { margin-top:.55rem; color:#9a7735; font-size:.7rem; }
.products-category-button { display:inline-flex; min-height:40px; align-items:center; justify-content:center; gap:.55rem; margin-top:auto; padding:.62rem 1.05rem; border:1px solid #d4aa52; border-radius:999px; background:#d4aa52; color:#35251f; font-size:.76rem; font-weight:800; transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease; }
.products-category-tile:hover .products-category-button,.products-category-tile:focus-visible .products-category-button { transform:translateY(-2px); background:#e3bd6b; box-shadow:0 7px 16px #825d1c24; }
.products-catalogue-heading { align-items:center; flex-wrap:wrap; }
.products-category-all { display:inline-flex; min-height:42px; align-items:center; justify-content:center; gap:.45rem; padding:.65rem .9rem; border:1px solid #c8102e; border-radius:999px; color:#b5122b; font-size:.8rem; font-weight:700; white-space:nowrap; transition:background-color .2s ease,color .2s ease; }
.products-category-all:hover,.products-category-all:focus-visible { background:#c8102e; color:#fff; }
@media (max-width:1199.98px) { .products-category-list { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:767.98px) {
  .products-category-section { padding:2.8rem 0 3.6rem; }
  .products-category-heading { margin-bottom:4.3rem; }
  .products-category-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.1rem .75rem; }
  .products-category-tile { min-height:280px; margin-top:56px; padding:0 .7rem 1rem; border-radius:16px; }
  .products-category-art { flex-basis:116px; width:116px; height:116px; margin-top:-57px; border-width:6px; }
  .products-category-copy { padding-top:.75rem; }
  .products-category-name { font-size:1rem; }
  .products-category-description { font-size:.7rem; }
  .products-category-button { min-height:38px; margin-top:.8rem; padding:.55rem .8rem; font-size:.69rem; }
  .products-catalogue-heading { align-items:flex-start; }
  .products-category-all { min-height:40px; font-size:.72rem; }
}
@media (max-width:359.98px) {
  .products-category-list { grid-template-columns:1fr; gap:1rem; }
  .products-category-tile { min-height:270px; }
  .products-category-art { flex-basis:132px; width:132px; height:132px; }
}
@media (prefers-reduced-motion:reduce) { .products-category-art img,.products-category-button,.products-category-all { transition:none; } }

/* Compact Products inner-page banner, reusing the shared page-banner structure. */
.products-page-banner.page-banner-inner { --page-banner-inner-height:280px; min-height:280px; }
.products-page-banner.page-banner-content,.products-page-banner .page-banner-content { min-height:280px; padding-top:.75rem; padding-bottom:.75rem; }
.products-page-banner.page-banner-inner:not(.page-banner-image-only)::after { background:linear-gradient(90deg,rgba(24,9,13,.32),rgba(24,9,13,.43) 52%,rgba(24,9,13,.34)); }
.products-page-banner .page-banner-image { object-position:center 50%; }
.products-page-banner .page-banner-copy { max-width:100%; padding:0; text-shadow:0 2px 12px rgba(0,0,0,.38); }
.products-page-banner .page-banner-breadcrumb { margin-bottom:.45rem; text-shadow:0 1px 8px rgba(0,0,0,.4); }
.products-page-banner .page-banner-copy h1 { margin:0 auto; color:#fff; font-size:clamp(2.15rem,3.5vw,2.8rem); text-shadow:0 2px 14px rgba(0,0,0,.42); }
@media (max-width:1199.98px) {
  .products-page-banner.page-banner-inner { --page-banner-inner-height:240px; min-height:240px; }
  .products-page-banner.page-banner-content,.products-page-banner .page-banner-content { min-height:240px; }
}
@media (max-width:767.98px) {
  .products-page-banner.page-banner-inner { --page-banner-inner-height:200px; min-height:200px; }
  .products-page-banner.page-banner-content,.products-page-banner .page-banner-content { min-height:200px; }
  .products-page-banner .page-banner-image { object-position:72% 50%; }
  .products-page-banner .page-banner-breadcrumb { margin-bottom:.35rem; font-size:.65rem; }
  .products-page-banner .page-banner-copy h1 { font-size:clamp(1.8rem,7vw,2.2rem); }
}

/* The full catalogue reuses the homepage category card component and styles. */
.products-catalogue-page .products-category-section { padding:clamp(3rem,5vw,4.2rem) 0 4.4rem; background:linear-gradient(180deg,#fff 0%,#fffdf9 100%); }
.products-catalogue-page .products-category-heading { display:flex; flex-direction:column; align-items:center; justify-content:center; margin-bottom:1.8rem; text-align:center; }
.products-catalogue-page .products-category-heading .home-categories-eyebrow { color:#c8102e; }
.products-catalogue-page .products-category-heading h2 { margin:0 auto; color:#c8102e; font:700 clamp(2rem,3.5vw,2.75rem)/1.22 'Poppins',sans-serif; letter-spacing:-.035em; }
.products-catalogue-page .products-category-list.home-categories-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch; gap:1.1rem; overflow:visible; padding:0; margin:0; }
.products-catalogue-page .products-home-category-card { width:100%; min-width:0; color:#4b3428; text-decoration:none; cursor:pointer; transition:transform .3s ease,box-shadow .3s ease; }
.products-catalogue-page .products-home-category-card:hover,.products-catalogue-page .products-home-category-card:focus-visible { transform:translateY(-4px); box-shadow:0 18px 34px #5a321326; color:#4b3428; }
.products-catalogue-page .products-home-category-card:focus-visible { outline:3px solid #c8102e66; outline-offset:4px; }
.products-catalogue-page .products-home-category-card .home-categories-image-wrap img { transition:transform .4s ease; }
.products-catalogue-page .products-home-category-card:hover .home-categories-image-wrap img,.products-catalogue-page .products-home-category-card:focus-visible .home-categories-image-wrap img { transform:scale(1.045); }
.products-catalogue-page .products-home-category-count { display:block; margin:-.55rem auto .8rem; color:#675b53; font-size:.73rem; font-weight:600; }
.products-catalogue-page .products-home-category-card .home-categories-button { display:inline-flex; align-items:center; justify-content:center; gap:.42rem; text-decoration:none; }
.products-catalogue-page .products-home-category-card .home-categories-button i { transition:transform .24s ease; }
.products-catalogue-page .products-home-category-card:hover .home-categories-button,.products-catalogue-page .products-home-category-card:focus-visible .home-categories-button { background:#a91f2b; color:#fff; box-shadow:0 8px 16px #8e1e2b26; }
.products-catalogue-page .products-home-category-card:hover .home-categories-button i,.products-catalogue-page .products-home-category-card:focus-visible .home-categories-button i { transform:translateX(3px); }
.products-catalogue-page .products-selected-category-image { display:grid; place-items:center; color:#c8102e; }
.products-catalogue-page .products-selected-category-image>i { font-size:1.65rem; }
.products-catalogue-page .products-selected-category-description { max-width:520px; margin:.3rem 0 0; color:#625a56; font-size:.82rem; line-height:1.55; }
@media (min-width:992px) and (max-width:1199.98px) { .products-catalogue-page .products-category-list.home-categories-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:991.98px) {
  .products-catalogue-page .products-category-section { padding:2.8rem 0 3.5rem; }
  .products-catalogue-page .products-category-list.home-categories-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.9rem; }
  .products-catalogue-page .products-category-heading { margin-bottom:1.35rem; }
  .products-catalogue-page .products-home-category-count { font-size:.69rem; }
}
@media (max-width:575.98px) {
  .products-catalogue-page .products-category-section { padding:2.45rem 0 3rem; }
  .products-catalogue-page .products-category-list.home-categories-grid { gap:.7rem; }
  .products-catalogue-page .products-category-heading h2 { font-size:clamp(1.65rem,7vw,2.25rem); }
  .products-catalogue-page .products-home-category-card .home-categories-content { padding-inline:.6rem; }
  .products-catalogue-page .products-home-category-card .home-categories-content h3 { font-size:.88rem; }
  .products-catalogue-page .products-home-category-card .home-categories-content p { font-size:.7rem; }
  .products-catalogue-page .products-home-category-count { margin:-.5rem auto .7rem; font-size:.64rem; }
  .products-catalogue-page .products-home-category-card .home-categories-button { min-height:40px; padding:.55rem .85rem; font-size:.72rem; }
}
@media (max-width:374.98px) {
  .products-catalogue-page .products-category-list.home-categories-grid { grid-template-columns:1fr; gap:.8rem; }
  .products-catalogue-page .products-home-category-card .home-categories-image-wrap { width:145px; height:145px; top:-72px; }
  .products-catalogue-page .products-home-category-card { min-height:270px; margin-top:78px; padding-top:90px; }
}
@media (prefers-reduced-motion:reduce) {
  .products-catalogue-page .products-home-category-card,.products-catalogue-page .products-home-category-card .home-categories-image-wrap img,.products-catalogue-page .products-home-category-card .home-categories-button,.products-catalogue-page .products-home-category-card .home-categories-button i { transition:none!important; }
  .products-catalogue-page .products-home-category-card:hover,.products-catalogue-page .products-home-category-card:focus-visible { transform:none; }
}
