/* Public HTML catalogue: shared Vireo palette, quieter white product surfaces. */
.catalogue-page { background: #fbf9fb; color: #301424; }
.catalogue-header { position: sticky; top: 0; z-index: 20; background: #fffefcf2; border-bottom: 1px solid #ecdfe5; backdrop-filter: blur(14px); }
.catalogue-header .header-inner { min-height: 80px; gap: 20px; }
.catalogue-header .logo { color: #861e4b; }
.catalogue-nav { display: flex; align-items: center; gap: 24px; margin-left: auto; font-size: 14px; }
.country-links { display: flex; align-items: center; gap: 7px; }
.country-links a { border: 1px solid #eadbe3; border-radius: 999px; padding: 8px 11px; font-size: 12px; white-space: nowrap; }
.country-links a[aria-current] { background: #861e4b; color: white; border-color: #861e4b; }
.catalogue-download { background: #861e4b; color: white; padding: 11px 17px; border-radius: 999px; font-weight: 700; }
.catalogue-main { padding-bottom: 70px; }
.catalogue-intro { padding: 55px 0 34px; background: linear-gradient(135deg, #f4e9ef, #fff 80%); border-bottom: 1px solid #ecdfe5; }
.catalogue-kicker { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .12em; color: #972958; margin-bottom: 14px; font-weight: 700; }
.catalogue-intro h1 { font: 650 clamp(30px, 4vw, 52px)/1.12 'DM Sans', sans-serif; letter-spacing: -.035em; margin: 0 0 15px; }
.catalogue-intro p { max-width: 670px; color: #745564; font-size: 15px; line-height: 1.7; }
.catalogue-layout { display: grid; grid-template-columns: 215px minmax(0,1fr); gap: 34px; padding-top: 32px; }
.catalogue-sidebar { align-self: start; position: sticky; top: 100px; max-height: calc(100vh - 120px); overflow: auto; }
.catalogue-sidebar h2 { font-size: 13px; text-transform: uppercase; letter-spacing: .09em; color: #715461; margin: 0 0 13px; }
.category-link { display: flex; justify-content: space-between; gap: 10px; padding: 11px 12px; margin: 3px 0; border-radius: 10px; font-size: 13px; }
.category-link span { color: #947e88; font-size: 11px; }
.category-link[aria-current], .category-link:hover { background: #f1e4eb; color: #861e4b; }
.catalogue-controls { margin: 0 0 25px; }
.catalogue-controls fieldset { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 10px; align-items: end; }
.catalogue-controls label { display: flex; flex-direction: column; gap: 7px; font-size: 11px; color: #715461; }
.catalogue-controls .search-control { flex: 1; min-width: 170px; }
.catalogue-controls input, .catalogue-controls select { min-height: 46px; border: 1px solid #e1d0d9; background: white; border-radius: 10px; padding: 10px 12px; font: inherit; font-size: 14px; color: #301424; max-width: 100%; }
.catalogue-controls input { width: 100%; }
.catalogue-controls button, .catalogue-button { min-height: 46px; border-radius: 10px; padding: 10px 18px; background: #861e4b; color: white; font-size: 13px; font-weight: 600; }
.catalogue-controls button[type=reset] { background: #f0e5eb; color: #6a2745; }
.catalogue-controls fieldset:disabled { opacity: .65; }
.catalogue-subcategories { display: flex; gap: 8px; overflow: auto; margin: 0 0 22px; padding-bottom: 5px; }
.catalogue-subcategories a { white-space: nowrap; padding: 8px 12px; background: white; border: 1px solid #e7dbe1; border-radius: 999px; font-size: 12px; }
.catalogue-subcategories a[aria-current] { border-color: #861e4b; color: #861e4b; background: #f7edf2; }
.catalogue-results-head { display: flex; justify-content: space-between; gap: 15px; font-size: 12px; color: #80636f; margin-bottom: 15px; }
.catalogue-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.catalogue-card { min-width: 0; border: 1px solid #eee4e9; border-radius: 18px; background: white; overflow: hidden; transition: box-shadow .18s, border-color .18s; }
.catalogue-card:hover { border-color: #d4b4c4; box-shadow: 0 9px 22px #55213a0b; }
.catalogue-card a { display: block; height: 100%; padding: 18px; }
.catalogue-card-picture { height: 175px; position: relative; margin-bottom: 14px; display: grid; place-items: center; }
.catalogue-card img { width: 100%; height: 175px; object-fit: contain; }
.catalogue-card .score { width: 47px; height: 47px; position: absolute; right: -4px; top: -4px; }
.catalogue-card .score strong { font-size: 16px; }
.catalogue-card .score small { font-size: 7px; }
.catalogue-card-brand { font-size: 10px; text-transform: uppercase; letter-spacing: .09em; color: #956779; margin-bottom: 7px; }
.catalogue-card h2 { font-size: 14px; font-weight: 600; line-height: 1.5; margin: 0 0 9px; overflow-wrap: anywhere; }
.catalogue-card-meta { font-size: 11px; color: #8a707c; line-height: 1.6; }
.catalogue-card-price { margin-top: 12px; font-size: 13px; color: #861e4b; font-weight: 600; }
.catalogue-no-image { font-size: 12px; color: #9c8591; text-align: center; padding: 16px; }
.catalogue-pagination { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin-top: 28px; }
.catalogue-pagination a, .catalogue-pagination button { display: grid; place-items: center; min-width: 42px; min-height: 42px; padding: 8px 12px; border: 1px solid #e1d0d9; background: white; border-radius: 9px; font-size: 13px; }
.catalogue-pagination [aria-current] { background: #861e4b; color: white; }
.catalogue-notice { border: 1px solid #eadbe3; border-radius: 15px; background: #fff; padding: 18px 22px; font-size: 13px; color: #765463; line-height: 1.75; margin: 22px 0; }
.catalogue-empty { padding: 60px 20px; text-align: center; border: 1px dashed #d9c0ce; border-radius: 18px; color: #765463; background: white; }
.catalogue-breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; color: #8d697a; font-size: 12px; margin: 27px 0; }
.catalogue-product { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); gap: 42px; margin-bottom: 36px; }
.catalogue-product-image { position: relative; background: white; border: 1px solid #eee4e9; border-radius: 24px; min-height: 360px; display: grid; place-items: center; padding: 40px; }
.catalogue-product-image img { width: 100%; height: 340px; object-fit: contain; }
.catalogue-product-image .score { position: absolute; top: 22px; right: 22px; }
.catalogue-product-info h1 { font: 650 clamp(26px,3vw,40px)/1.2 'DM Sans',sans-serif; letter-spacing: -.03em; margin: 12px 0 20px; overflow-wrap: anywhere; }
.catalogue-product-info .category-chip { display: inline-block; border: 1px solid #dfc4d2; background: #f3e6ed; padding: 7px 11px; border-radius: 999px; font-size: 12px; color: #861e4b; }
.catalogue-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 22px 0; }
.catalogue-facts dt { font-size: 11px; color: #9b7e8b; margin-bottom: 5px; }
.catalogue-facts dd { font-size: 13px; margin: 0; overflow-wrap: anywhere; }
.catalogue-score-context { padding: 17px 20px; background: #f2e7ed; border-radius: 14px; line-height: 1.7; font-size: 13px; color: #6b3b51; }
.catalogue-detail-sections { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); gap: 24px; }
.catalogue-detail-panel { background: white; border: 1px solid #eee4e9; border-radius: 18px; padding: 26px; margin-bottom: 22px; }
.catalogue-detail-panel h2 { margin: 0 0 17px; font-size: 20px; letter-spacing: -.025em; }
.catalogue-detail-panel p { font-size: 14px; line-height: 1.8; color: #80616e; overflow-wrap: anywhere; }
.catalogue-detail-panel table { width: 100%; border-collapse: collapse; font-size: 13px; }
.catalogue-detail-panel td, .catalogue-detail-panel th { text-align: left; padding: 12px 0; border-bottom: 1px solid #eee4e9; }
.catalogue-related { margin: 35px 0; }
.catalogue-related h2 { font-size: 25px; margin-bottom: 20px; }
.catalogue-related .catalogue-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.catalogue-footer { padding: 32px 0; border-top: 1px solid #eadbe3; background: #fff; color: #8b6c7b; font-size: 12px; line-height: 1.8; }
.catalogue-footer .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 15px; }
.home-country-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; padding: 16px 20px; }
.home-country-links a { border: 1px solid #dcc2cf; padding: 8px 13px; border-radius: 999px; color: #861e4b; font-size: 13px; }
@media (max-width: 1050px) {
 .catalogue-nav { gap: 13px; }
 .catalogue-layout { grid-template-columns: 175px minmax(0,1fr); gap: 20px; }
 .catalogue-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 740px) {
 .catalogue-header .header-inner { flex-wrap: wrap; min-height: 72px; padding-top: 13px; padding-bottom: 13px; gap: 12px; }
 .catalogue-header .logo { font-size: 24px; }
 .catalogue-nav { gap: 13px; font-size: 12px; }
 .catalogue-nav > a:not(.catalogue-download) { display: none; }
 .country-links { width: 100%; order: 3; justify-content: center; }
 .country-links a { padding: 8px 13px; }
 .catalogue-intro { padding: 31px 0 24px; }
 .catalogue-intro h1 { font-size: 32px; }
 .catalogue-layout { display: block; padding-top: 23px; }
 .catalogue-sidebar { position: static; max-height: none; margin-bottom: 22px; }
 .catalogue-sidebar h2 { display: none; }
 .catalogue-sidebar nav { display: flex; gap: 7px; overflow: auto; padding-bottom: 5px; }
 .category-link { white-space: nowrap; padding: 9px 12px; border: 1px solid #eadbe3; background: white; margin: 0; font-size: 12px; }
 .catalogue-grid { gap: 10px; }
 .catalogue-card a { padding: 12px; }
 .catalogue-card-picture, .catalogue-card img { height: 145px; }
 .catalogue-card h2 { font-size: 12px; }
 .catalogue-card-brand { font-size: 9px; }
 .catalogue-controls label { flex: 1 1 45%; min-width: 0; }
 .catalogue-controls .search-control { flex-basis: 100%; }
 .catalogue-controls button { flex: 1; }
 .catalogue-product { display: block; }
 .catalogue-product-image { min-height: 290px; padding: 24px; margin-bottom: 25px; }
 .catalogue-product-image img { height: 270px; }
 .catalogue-detail-sections { display: block; }
 .catalogue-related .catalogue-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .catalogue-detail-panel { padding: 21px; }
}
@media (prefers-reduced-motion: reduce) { .catalogue-card { transition: none; } }
