/* Scoped to the catalogue and product pages; checkout and other routes stay unchanged. */
.shc-page, .shc-page .rt3-shop { background: #fbfaf8; color: #282624; }
.shc-page:not(.shc-detail), .shc-page .rt3-shop.shc { background: var(--rt3-paper); }
.shc-page .rt3-shell { width: min(1280px, calc(100% - 64px)); padding-inline: 0; }
.shc-page .rt3 h1, .shc-page .rt3 h2, .shc-page .rt3 h3 { letter-spacing: 0; }
.shc-page .rt3 a:focus-visible, .shc-page .rt3 button:focus-visible, .shc-page .rt3 input:focus-visible, .shc-page .rt3 select:focus-visible { outline: 2px solid #8a2738; outline-offset: 4px; }
.shc-page .shc-intro { padding-block: 28px 32px; }
.shc-intro .rt3-crumb { margin-bottom: 24px; font-size: 12px; letter-spacing: 0; }
.shc .shc-kicker { font: 600 12px/1.5 Inter, sans-serif; letter-spacing: 0; color: #7d1f2b; margin: 0 0 12px; }
.shc .shc-intro h1 { font-size: 46px; line-height: 1.25; margin: 0 0 16px; }
.shc .shc-intro > p:last-of-type { max-width: 760px; font-size: 16px; line-height: 1.75; color: #625b54; margin: 0; }
.shc-intro-links { display: flex; flex-wrap: wrap; gap: 8px 28px; margin-top: 12px; }
.shc-intro-links a { display: inline-flex; align-items: center; min-height: 44px; color: #7d1f2b; font-size: 13px; }
.shc-catalogue { padding-bottom: 56px; scroll-margin-top: 108px; }
.shc-categories { display: flex; flex-wrap: wrap; gap: 8px 26px; border-block: 1px solid #d9d2c9; padding-block: 8px; }
.shc-categories a { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; border-bottom: 2px solid transparent; font-size: 15px; }
.shc-categories a span { color: #766b60; font-size: 12px; }
.shc-categories a[aria-current] { color: #7d1f2b; border-color: #7d1f2b; font-weight: 600; }
.shc-filters { display: grid; grid-template-columns: minmax(200px,1.6fr) minmax(160px,1fr) minmax(180px,1fr) auto; align-items: end; gap: 16px; padding-block: 24px 12px; margin: 0; }
.shc-filters label { display: grid; gap: 8px; margin: 0; min-width: 0; font-size: 13px; color: #625b54; font-weight: 400; }
.shc-filters input, .shc-filters select { width: 100%; min-width: 0; height: 46px; margin: 0; box-shadow: none; border: 1px solid #b7aba0; border-radius: 2px; background-color: var(--rt3-paper-soft); color: #282624; padding: 10px 12px; font: 400 15px Inter,sans-serif; }
.shc-filters select { padding-right: 30px; }
.shc-filters input { font-size: 16px; }
.shc-filters input::placeholder { color: #7a7066; }
.shc .shc-apply { display: inline-flex; justify-content: center; align-items: center; gap: 9px; min-height: 46px; min-width: 115px; margin: 0; padding: 10px 16px; border: 1px solid #7d1f2b; border-radius: 2px; background: #7d1f2b; color: #fff; font: 500 14px Inter,sans-serif; letter-spacing: 0; cursor: pointer; text-transform: none; }
.shc-apply svg { width: 18px; height: 18px; }
.shc-results { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px 20px; margin-block: 8px 20px; min-height: 44px; }
.shc-results p { margin: 0; font-size: 13px; color: #625b54; overflow-wrap: anywhere; }
.shc-results a { display: inline-flex; align-items: center; min-height: 44px; color: #7d1f2b; font-size: 13px; }
.shc-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px 24px; }
.shc-card { display: flex; flex-direction: column; min-width: 0; padding-bottom: 8px; }
.shc-image { position: relative; display: block; aspect-ratio: 1; background: #efe4d5; overflow: hidden; }
.shc-image img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: opacity .2s; }
.shc-image .shc-image-alt { position: absolute; inset: 0; opacity: 0; }
@media(hover:hover) { .shc-image:hover .shc-image-alt { opacity: 1; } }
.shc-card-body { display: flex; flex-direction: column; flex: 1; padding-top: 16px; }
.shc .shc-material { font-size: 12px; color: #756356; line-height: 1.6; margin: 0 0 8px; }
.shc .shc-card h2 { font-size: 22px; line-height: 1.4; min-height: 62px; margin: 0 0 10px; overflow-wrap: anywhere; }
.shc .shc-desc { font-size: 14px; line-height: 1.8; color: #625b54; margin: 0 0 14px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.shc .shc-price { margin: auto 0 12px; font: 600 18px/1.5 Inter,sans-serif; color: #7d1f2b; padding-top: 6px; }
.shc-card-actions { display: flex; align-items: center; justify-content: space-between; gap: 8px; border-top: 1px solid #ded8d0; padding-top: 12px; }
.shc-card-actions a { font-size: 13px; min-height: 44px; display: inline-flex; align-items: center; color: #51453b; }
.shc-card-actions button { margin: 0; padding: 10px 12px; min-height: 44px; border: 1px solid #7d1f2b; border-radius: 2px; background: transparent; color: #7d1f2b; font: 500 13px Inter,sans-serif; letter-spacing: 0; text-transform: none; cursor: pointer; }
.shc-card-actions button:hover { background: #7d1f2b; color: #fff; }
.shc-card-actions button:disabled { opacity: .55; cursor: wait; }
.shc-pagination { display: flex; justify-content: center; gap: 8px; margin-top: 36px; }
.shc-pagination a { display: grid; place-items: center; min-width: 44px; height: 44px; font-size: 14px; border: 1px solid #c4b6a8; }
.shc-pagination a[aria-current] { background: #7d1f2b; color: #fff; border-color: #7d1f2b; }
.shc-empty { padding-block: 40px; min-height: 240px; }
.shc .shc-empty h2 { font-size: 30px; }
.shc-empty p { font-size: 16px; line-height: 1.75; }
.shc-empty a { color: #7d1f2b; display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 4px; }
.shc-highlights { background: #f7f0e6; padding-block: 40px; scroll-margin-top: 108px; }
.shc .shc-highlights h2, .shc .shc-care h2 { font-size: 32px; margin: 0 0 24px; line-height: 1.35; }
.shc-highlight-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
.shc-highlight-grid a { display: flex; align-items: center; gap: 14px; min-width: 0; }
.shc-highlight-grid img { width: 90px; height: 100px; object-fit: contain; background: #efe4d5; }
.shc-highlight-grid b { display: block; font-size: 14px; line-height: 1.6; font-weight: 500; }
.shc-highlight-grid small { display: block; font-size: 13px; color: #7d1f2b; margin-top: 6px; }
.shc-care { padding-block: 48px; scroll-margin-top: 108px; }
.shc-care .rt3-shell { display: grid; grid-template-columns: 1.2fr 1fr; gap: 64px; }
.shc-care p { font-size: 16px; line-height: 1.8; max-width: 600px; color: #625b54; }
.shc-care nav { display: grid; align-content: center; }
.shc-care nav a { font-size: 15px; display: flex; align-items: center; padding: 16px 0; border-bottom: 1px solid #d9d2c9; color: #7d1f2b; }
.shc-detail .rt3-detail { padding-block: 28px 56px; background: #fbfaf8; }
.shc-detail .rt3-crumb { font-size: 12px; letter-spacing: 0; overflow-wrap: anywhere; }
.shc-detail .rt3-detail-grid { grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 56px; align-items: start; }
.shc-detail .rt3-detail-main { border-radius: 4px; background: #f0eee9; }
.shc-detail .rt3-detail-main > img { width: 100%; height: 580px; object-fit: cover; object-position: center; }
.shc-detail .rt3-detail-thumbs { display: flex; flex-wrap: wrap; gap: 12px; }
.shc-detail .rt3-detail-thumbs button { width: 80px; height: 90px; border-radius: 2px; padding: 0; }
.shc-detail .rt3-detail-thumbs img { width: 100%; height: 100%; object-fit: contain; }
.shc-detail .rt3-detail-info h1 { font-size: 40px; line-height: 1.3; margin: 12px 0 20px; }
.shc-detail .rt3-detail-info .rt3-eyebrow { font-size: 13px; letter-spacing: 0; }
.shc-detail .rt3-detail-price { font-size: 26px; color: #7d1f2b; }
.shc-detail .rt3-detail-desc, .shc-detail .rt3-detail-body p, .shc-detail .rt3-detail-hint { font-size: 16px; line-height: 1.85; }
.shc-detail .rt3-detail-specs dt, .shc-detail .rt3-detail-specs dd { font-size: 14px; line-height: 1.7; letter-spacing: 0; }
.shc-detail .rt3-detail-specs { border-radius: 4px; }
.shc-detail .rt3-detail-specs a { color: #7d1f2b; text-decoration: underline; text-underline-offset: 3px; }
.shc-detail .rt3-detail-buy { gap: 16px; flex-wrap: wrap; }
.shc-detail .rt3-detail-buy .rt3-btn { font-size: 14px; min-height: 48px; letter-spacing: 0; border-radius: 2px; }
.shc-detail .rt3-qty { height: 48px; border-radius: 2px; }
.shc-detail .rt3-qty button { min-width: 44px; height: 46px; }
.shc-detail .rt3-qty input { font-size: 16px; }
.shc-detail .rt3-shop-media { border-radius: 4px; }
.shc-detail .rt3-shop-media > img { object-fit: cover; object-position: center; }
.shc-detail .rt3-shop-info h2 { font-size: 23px; line-height: 1.4; }
.shc-detail .rt3-shop-desc { font-size: 15px; line-height: 1.8; }
.shc-detail .rt3-shop-foot { flex-wrap: wrap; gap: 12px; }
.shc-detail .rt3-shop-foot b { font-size: 18px; }
.shc-detail .rt3-shop-foot a { font-size: 13px; min-height: 44px; display: inline-flex; align-items: center; }
@media(max-width: 1100px) {
 .shc-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .shc-highlight-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .shc-filters { grid-template-columns: 1.4fr 1fr 1fr; }
 .shc .shc-apply { justify-self: start; }
 .shc-detail .rt3-detail-grid { gap: 32px; }
 .shc-detail .rt3-detail-info h1 { font-size: 34px; }
 .shc-detail .rt3-detail-main > img { height: 480px; }
}
@media(max-width: 800px) {
 .shc-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .shc-filters { grid-template-columns: 1fr 1fr; }
 .shc-filters .shc-search { grid-column: 1/-1; }
 .shc .shc-apply { grid-column: 1/-1; justify-self: stretch; }
 .shc-care .rt3-shell { grid-template-columns: 1fr; gap: 20px; }
 .shc-detail .rt3-detail-grid { grid-template-columns: 1fr; }
 .shc-detail .rt3-detail-main > img { height: 500px; }
}
@media(max-width: 520px) {
 .shc-page .rt3-shell { width: calc(100% - 40px); }
 .shc .shc-intro h1 { font-size: 34px; }
 .shc-categories { gap: 4px 20px; }
 .shc-categories a { font-size: 14px; min-height: 44px; }
 .shc-filters { gap: 12px; grid-template-columns: 1fr; }
 .shc-filters input, .shc-filters select { font-size: 16px; }
 .shc-grid { grid-template-columns: 1fr; gap: 32px; }
 .shc .shc-card h2 { font-size: 25px; min-height: 0; }
 .shc .shc-desc { font-size: 15px; }
 .shc-card-actions button { font-size: 14px; }
 .shc-highlight-grid { grid-template-columns: 1fr; gap: 20px; }
 .shc .shc-highlights h2, .shc .shc-care h2 { font-size: 28px; }
 .shc-detail .rt3-detail-info h1 { font-size: 32px; }
 .shc-detail .rt3-detail-main > img { height: 360px; }
 .shc-detail .rt3-detail-buy .rt3-btn { width: 100%; }
 .shc-detail .rt3-detail-specs div { grid-template-columns: 90px minmax(0,1fr); }
}
@media(prefers-reduced-motion: reduce) { .shc-image img { transition: none; } }
