/* Алмакс-Энерго: industrial editorial design layer. Loaded after modern.css. */
:root {
  --ink: #142139;
  --ink-soft: #344158;
  --muted: #647187;
  --bg: #f3f4f3;
  --surface: #ffffff;
  --line: #dce1e5;
  --accent: #eb5b21;
  --accent-hover: #c94712;
  --accent-tint: #fcece4;
  --radius: 6px;
  --radius-sm: 4px;
  --r-sm: 4px;
  --r-md: 6px;
  --r-lg: 8px;
  --shadow-1: 0 8px 28px rgba(20,33,57,.04);
  --shadow-2: 0 22px 45px rgba(20,33,57,.10);
}

html { scroll-behavior: smooth; }
body, button, input, select, textarea { font-family: 'Inter', Arial, sans-serif; }
body { background: var(--bg); color: var(--ink-soft); font-size: 15px; line-height: 1.65; }
h1, h2, h3, h4, h5, .stat-num, .stat-num-sm, .footer-logo {
  font-family: 'Manrope', 'Inter', Arial, sans-serif;
  letter-spacing: -.035em;
}
a, button { transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible {
  outline: 3px solid rgba(235,91,33,.45);
  outline-offset: 3px;
}
.reveal, .reveal.is-visible { opacity: 1; transform: none; transition: none; }

/* Utility bar and compact, clearly divided commerce header. */
#top { background: #142139; font-size: 12px; }
.top-bar-inner { min-height: 36px; padding-top: 5px; padding-bottom: 5px; }
.top-tagline { color: #a8b3c3; }
.top-consult { color: #f8b798; }
header, header.is-stuck { background: #fff; border-bottom: 1px solid var(--line); padding: 16px 0; box-shadow: none; }
header #logo h1 { margin: 0; font-size: 22px; line-height: 1.05; font-weight: 800; letter-spacing: -.055em; max-width: 220px; }
header #logo h1 a { display: inline-block; max-width: 220px; color: var(--ink); }
header #logo h1 a::before { content: ''; display: inline-block; width: 9px; height: 26px; margin-right: 8px; background: var(--accent); vertical-align: -4px; transform: skew(-16deg); }
.brand-logo { position: relative; display: block; width: min(100%, 240px); aspect-ratio: 3 / 1; overflow: hidden; background: #fff; }
.brand-logo img, header #logo .brand-logo img { position: absolute; display: block; width: 120%; max-width: none; max-height: none; height: auto; left: -10%; top: -38%; }
.footer-logo.brand-logo { width: 210px; height: 64px; margin-bottom: 16px; border-radius: 0; background: transparent; }
.footer-logo.brand-logo img { position: absolute; top: -22px; left: 0; width: 210px; max-width: none; max-height: none; height: auto; }
#search .form-control { height: 48px; border: 1px solid #d3dbe1; border-right: 0; background: #f8f9f9; border-radius: 4px 0 0 4px; font-size: 14px; box-shadow: none; }
#search .form-control:focus { background: #fff; border-color: var(--ink); box-shadow: none; }
#search .btn-default { height: 48px; border-radius: 0 4px 4px 0; padding: 0 20px; background: var(--ink); border-color: var(--ink); color: #fff; box-shadow: none; }
#search .btn-default:hover { background: var(--accent); border-color: var(--accent); }
#search, .catalog-search-keyword { position: relative; }
.search-preview[hidden] { display: none !important; }
.search-preview { position: absolute; top: calc(100% + 7px); left: 0; right: 0; z-index: 1100; max-height: min(490px, 70vh); overflow-y: auto; background: #fff; border: 1px solid #d4dce2; border-top: 3px solid var(--accent); border-radius: 3px; box-shadow: 0 18px 36px rgba(20,33,57,.18); text-align: left; }
.search-preview-title { padding: 11px 16px 8px; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.search-preview-item { display: flex; align-items: center; gap: 13px; min-width: 0; padding: 9px 15px; border-top: 1px solid #edf0f2; color: var(--ink); cursor: pointer; }
.search-preview-item:hover, .search-preview-item.is-active { background: #f2f5f6; color: var(--ink); text-decoration: none; }
.search-preview-item img { display: block; width: 58px; height: 58px; flex: 0 0 58px; object-fit: contain; background: #edf1f3; border-radius: 2px; }
.search-preview-copy { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.search-preview-name { color: var(--ink); font-size: 12px; font-weight: 700; line-height: 1.4; overflow-wrap: anywhere; }
.search-preview-price { color: var(--accent-hover); font-size: 12px; font-weight: 800; }
.search-preview-empty { padding: 14px 16px 17px; color: var(--muted); font-size: 12px; }
.search-preview-all { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 12px 16px; border-top: 1px solid var(--line); background: #f7f8f9; color: var(--ink); font-size: 12px; font-weight: 800; }
.search-preview-all:hover { background: var(--accent-tint); color: var(--accent-hover); text-decoration: none; }
.header-account a { color: var(--ink); font-size: 19px; }
#cart .btn-inverse { background: transparent; color: var(--ink); border: 1px solid #d3dbe1; border-radius: 4px; padding: 11px 15px; box-shadow: none; font-size: 12px; }
#cart .btn-inverse:hover { background: var(--ink); border-color: var(--ink); color: #fff; transform: none; }

#menu { background: #fff; border-bottom: 1px solid var(--line); box-shadow: none; margin: 0 0 14px; border-radius: 0; }
#menu .navbar-collapse { padding: 0; }
#menu .navbar-nav { gap: 0; min-height: 54px; align-items: stretch; }
#menu .navbar-nav > li { display: flex; align-items: stretch; }
#menu .navbar-nav > li > a, .nav-extra > a {
  display: flex; align-items: center; background: none !important; border: 0 !important;
  border-radius: 0; padding: 14px 19px !important; font-size: 13px;
  font-weight: 600 !important; color: var(--ink-soft) !important;
}
#menu .navbar-nav > li > a:hover, .nav-extra > a:hover { color: var(--accent) !important; }
#menu .dropdown-menu { margin-top: 0; border: 1px solid var(--line); border-top: 3px solid var(--accent); border-radius: 0 0 4px 4px; box-shadow: var(--shadow-2); }

/* Home: a decisive image-led opening, with restrained technical details. */
#common-home { padding-top: 0; }
#common-home #content { float: none; }
.hero-photo {
  min-height: 560px; margin: 12px 0 0; border-radius: 6px; align-items: stretch;
  background-image:
    linear-gradient(90deg, rgba(13,25,43,.99) 0%, rgba(13,25,43,.94) 36%, rgba(13,25,43,.32) 75%, rgba(13,25,43,.08) 100%),
    url('../../../../../image/catalog/hero-bg.png');
  background-position: center, 62% center;
}
.hero-photo::before, .hero-photo::after { content: none; display: none; }
.hero-photo-text { max-width: 680px; padding: 86px 64px 100px; align-self: center; }
.hero-kicker-line, .section-kicker, .cta-kicker {
  color: var(--accent); font-size: 11px; font-weight: 800; letter-spacing: .16em; line-height: 1.5;
}
.hero-kicker-line { margin-bottom: 25px; color: #ff995f; }
.hero-photo-text h1 { color: #fff; font-size: clamp(38px, 4vw, 62px); line-height: 1.08; letter-spacing: -.06em; font-weight: 800; margin: 0 0 26px; }
.hero-photo-text h1 .accent { color: #ff8c4e; }
.hero-photo-text p { max-width: 440px; color: #d3dce5; font-size: 17px; line-height: 1.65; margin-bottom: 34px; }
.hero-actions { gap: 30px; }
.btn-primary, .btn-warning, .btn-info, .hero-actions .btn-primary, .qp-submit {
  color: #fff; background: var(--accent); border: 1px solid var(--accent); border-radius: 4px;
  box-shadow: none; font-weight: 700; transform: none;
}
.btn-primary:hover, .btn-primary:focus, .btn-warning:hover, .qp-submit:hover {
  color: #fff; background: var(--accent-hover); border-color: var(--accent-hover); box-shadow: none; transform: none;
}
.hero-actions .btn-primary { padding: 15px 25px; font-size: 14px; }
.hero-actions .btn-primary i { margin-left: 14px; }
.btn-text-link { font-size: 13px; font-weight: 700; border-color: rgba(255,255,255,.5); }
.btn-text-link:hover { color: #ff995f; border-color: #ff995f; }
.hero-proof { position: absolute; z-index: 3; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; align-items: end; min-height: 105px; padding: 38px 64px 22px; background: linear-gradient(180deg,transparent 0%,rgba(10,21,38,.69) 43%,rgba(10,21,38,.89) 100%); }
.hero-proof span { display: flex; align-items: center; gap: 13px; min-width: 0; color: #fff; font-size: 13px; font-weight: 700; line-height: 1.35; }
.hero-proof span::before { content: ''; display: block; flex: 0 0 19px; width: 19px; height: 2px; background: #ff8c4e; }
@media (min-width: 768px) { .hero-proof { display: none; } }

.section-head { margin-top: 80px; margin-bottom: 28px; }
.section-head h2, .quick-pick-head h2 { color: var(--ink); font-size: clamp(28px, 2.8vw, 40px); line-height: 1.18; font-weight: 800; letter-spacing: -.055em; }
.section-head h2 { margin-top: 10px; }
.section-link { color: var(--ink); font-size: 13px; font-weight: 700; border-bottom: 1px solid var(--ink); padding-bottom: 6px; }
.section-link:hover { color: var(--accent); border-color: var(--accent); }
.tiles-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; }
.tile { position: relative; display: flex; flex-direction: column; min-height: 0; border: 1px solid var(--line); border-radius: 4px; background: #fff; box-shadow: none; overflow: hidden; }
.tile:hover { transform: none; border-color: #a8b5bf; box-shadow: var(--shadow-2); }
.tile-media { width: 100%; height: 220px; min-height: 0; background: #e7ebed; position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.tile-media::after { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 50% 45%, rgba(255,255,255,.85), transparent 70%); pointer-events: none; }
.tile-media img { position: relative; z-index: 1; width: 100%; max-width: 92%; height: 210px; max-height: none; object-fit: contain; filter: drop-shadow(0 15px 15px rgba(20,33,57,.15)); transition: transform .25s ease; }
.tile:hover .tile-media img { transform: scale(1.04); }
.tile-body { width: 100%; min-width: 0; min-height: 120px; padding: 18px 16px; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 10px; }
.tile-name { color: var(--ink); font-family: 'Manrope', sans-serif; font-weight: 800; font-size: clamp(15px, 1.55vw, 19px); line-height: 1.2; letter-spacing: -.045em; overflow-wrap: anywhere; }
.tile:nth-child(4) .tile-name { font-size: 15px; }
.tile-count { color: var(--muted); font-size: 12px; margin-top: 10px; }
.tile-arrow { width: 34px; height: 34px; flex: 0 0 34px; align-self: flex-end; display: flex; align-items: center; justify-content: center; color: #fff; background: var(--accent); border: 0; border-radius: 4px; font-size: 14px; }
.tile:hover .tile-arrow { color: #fff; background: var(--accent-hover); border: 0; }

.quick-pick { position: relative; margin-top: 88px; padding: 43px 48px 48px; border-radius: 4px; background: #e9edf0; border: 0; }
.quick-pick::before { content: ''; position: absolute; top: 0; left: 0; width: 88px; height: 4px; background: var(--accent); }
.quick-pick-head { align-items: end; margin-bottom: 30px; }
.quick-pick-head h2 { margin-top: 10px; max-width: 640px; }
.quick-pick-head p { color: #56657b; max-width: 340px; font-size: 14px; }
.quick-pick-form { gap: 12px; }
.qp-field label { color: var(--ink); font-size: 12px; font-weight: 700; margin-bottom: 9px; }
.qp-field .form-control, #content .qp-field .form-control { height: 49px; background: #fff; border: 1px solid #cfd7de; border-radius: 4px; font-size: 13px; color: var(--ink); box-shadow: none; }
.qp-submit { height: 49px; padding: 0 24px; font-size: 13px; }
.qp-submit i { margin-left: 10px; }

.cta-banner { margin-top: 90px; margin-bottom: 0; padding: 70px 0 86px; background-position: center; background-image: linear-gradient(180deg, rgba(10,19,34,.62) 0%, rgba(10,19,34,.76) 58%, #101b30 100%), url('../../../../../image/catalog/banner-factory.png'); }
.cta-layout { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(300px,.8fr); align-items: center; gap: 50px; }
.cta-layout::before, .cta-layout::after { content: none; display: none; }
.cta-banner h2 { max-width: 720px; font-size: clamp(30px, 3vw, 46px); font-weight: 800; letter-spacing: -.05em; margin-bottom: 30px; }
.cta-points { gap: 12px; display: flex; flex-direction: column; }
.cta-point { font-size: 13px; color: #dbe4ec; }
.cta-action { background: #fff; color: var(--ink); padding: 34px 36px 38px; border-top: 4px solid var(--accent); box-shadow: 0 18px 40px rgba(0,0,0,.18); }
.cta-action-label { color: var(--accent); font-size: 11px; font-weight: 800; letter-spacing: .16em; }
.cta-action h3 { color: var(--ink); font-size: 23px; font-weight: 800; line-height: 1.25; letter-spacing: -.045em; margin: 13px 0; }
.cta-action p { color: var(--muted); font-size: 13px; line-height: 1.65; margin-bottom: 24px; }
.cta-action-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; padding: 14px 19px; font-size: 13px; }

footer { margin-top: 0; padding: 62px 0 25px; border-top: 0; border-radius: 0; background: #101b30; }
footer h5 { font-size: 11px; letter-spacing: .13em; font-weight: 800; }
footer a { font-size: 13px; }
footer a:hover { padding-left: 0; }
.footer-logo { font-weight: 800; font-size: 19px; letter-spacing: -.05em; }
.footer-about p, .footer-contacts { color: #aebacc; }
.footer-bottom { border-color: rgba(255,255,255,.14); }

/* Keep inner catalog pages consistent with the refreshed identity. */
.panel, .well, .thumbnail, .product-thumb, #column-left .list-group, #content .well.well-sm { border-radius: 4px; border-color: var(--line); box-shadow: none; }
.product-layout .product-thumb:hover { transform: none; box-shadow: var(--shadow-2); }
.product-layout .product-thumb .image, .product-layout .product-thumb .button-group { border-radius: 0; }
.pagination > li > a, .pagination > li > span { border-radius: 3px !important; }

/* Category navigation uses a typographic grid instead of OpenCart's narrow list. */
#product-category, #product-search, #product-product { padding-top: 2px; }
.breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin: 11px 0 23px; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.breadcrumb > li { display: inline-flex; align-items: center; min-width: 0; padding: 0; margin: 0; color: #8d98a6; font-size: 12px; line-height: 1.5; text-shadow: none; white-space: normal; overflow-wrap: anywhere; }
.breadcrumb > li:after { display: none; }
.breadcrumb > li + li:before { content: ''; display: inline-block; flex: 0 0 15px; width: 15px; height: 1px; margin: 0 13px 0 3px; padding: 0; background: #d4dbe2; }
.breadcrumb > li a { color: #8d98a6; text-decoration: none; }
.breadcrumb > li a:hover { color: var(--accent-hover); }
.breadcrumb > li:last-child a { color: var(--ink); font-weight: 700; }
.category-landing .catalog-category-heading { margin-bottom: 10px; }
.category-landing-intro { max-width: 660px; margin: 0 0 42px; color: var(--muted); font-size: 16px; line-height: 1.65; }
.category-landing-section-head { margin: 0 0 19px; }
.category-landing-section-head h2 { margin: 8px 0 0; color: var(--ink); font-family: 'Manrope', 'Inter', sans-serif; font-size: 25px; font-weight: 800; letter-spacing: -.04em; }
.category-showcase-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-bottom: 60px; }
.category-showcase-card { position: relative; display: flex; align-items: stretch; min-width: 0; min-height: 225px; overflow: hidden; border: 1px solid var(--line); border-radius: 6px; background: #fff; color: var(--ink); text-decoration: none; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.category-showcase-card:hover, .category-showcase-card:focus { border-color: var(--accent); box-shadow: 0 14px 30px rgba(15, 29, 52, .08); transform: translateY(-2px); text-decoration: none; }
.category-showcase-copy { z-index: 1; display: flex; flex: 1; flex-direction: column; align-items: flex-start; min-width: 0; padding: 26px 0 25px 27px; }
.category-showcase-count { margin-bottom: 17px; color: var(--accent-hover); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.category-showcase-name { max-width: 260px; color: var(--ink); font-family: 'Manrope', 'Inter', sans-serif; font-size: 24px; font-weight: 800; line-height: 1.16; letter-spacing: -.04em; }
.category-showcase-summary { max-width: 255px; margin-top: 10px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.category-showcase-link { display: inline-flex; align-items: center; gap: 10px; margin-top: auto; padding-top: 20px; color: var(--ink); font-size: 12px; font-weight: 800; }
.category-showcase-link i { color: var(--accent); transition: transform .2s ease; }
.category-showcase-card:hover .category-showcase-link i { transform: translateX(4px); }
.category-showcase-media { display: flex; align-items: center; justify-content: center; flex: 0 0 46%; min-width: 0; padding: 18px; background: linear-gradient(110deg, #fff 0%, #f5f7f9 42%, #eef2f5 100%); }
.category-showcase-media img { display: block; max-width: 100%; max-height: 185px; object-fit: contain; transition: transform .3s ease; }
.category-showcase-card:hover .category-showcase-media img { transform: scale(1.04); }
.category-showcase-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
.category-showcase-card:last-child:nth-child(odd) .category-showcase-media { flex-basis: 36%; }
.purpose-section { margin: 0 0 48px; }
.purpose-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 15px; margin-bottom: 18px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.purpose-section-head h2 { margin: 0; color: var(--ink); font-family: 'Manrope', 'Inter', sans-serif; font-size: 26px; font-weight: 800; letter-spacing: -.04em; }
.purpose-section-head a { flex: 0 0 auto; color: var(--accent-hover); font-size: 12px; font-weight: 700; text-decoration: none; }
.purpose-section-head a i { margin-left: 5px; }
.purpose-section .category-showcase-grid { margin-bottom: 0; }
@media (max-width: 767px) {
  .category-landing-intro { margin-bottom: 27px; font-size: 14px; }
  .category-landing-section-head { display: block; margin-bottom: 16px; }
  .category-landing-section-head h2 { font-size: 22px; }
  .category-showcase-grid { grid-template-columns: 1fr; gap: 12px; margin-bottom: 38px; }
  .category-showcase-card { min-height: 180px; }
  .category-showcase-copy { padding: 20px 0 20px 19px; }
  .category-showcase-count { margin-bottom: 10px; font-size: 10px; }
  .category-showcase-name { font-size: 19px; }
  .category-showcase-summary { font-size: 11px; }
  .category-showcase-media { flex-basis: 43%; padding: 10px; }
  .category-showcase-media img { max-height: 145px; }
  .category-showcase-card:last-child:nth-child(odd) { grid-column: auto; }
  .category-showcase-card:last-child:nth-child(odd) .category-showcase-media { flex-basis: 43%; }
  .purpose-section { margin-bottom: 35px; }
  .purpose-section-head h2 { font-size: 21px; }
  .purpose-section-head a { font-size: 11px; }
}
#product-category #content, #product-search #content { font-size: 15px; }
#product-category #content > h2, #product-search #content > h2 { font-size: clamp(30px, 3vw, 42px); font-weight: 800; line-height: 1.2; letter-spacing: -.05em; margin: 0 0 24px; }
.category-section-head { margin: 3px 0 22px; }
.category-section-head h3 { color: var(--ink); margin: 8px 0 0; font-size: 21px; font-weight: 800; }
.category-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; margin: 0 0 40px; }
.category-card { min-height: 150px; padding: 20px; display: flex; flex-direction: column; align-items: flex-start; background: #fff; border: 1px solid var(--line); border-radius: 4px; }
.category-card:hover { border-color: var(--accent); box-shadow: var(--shadow-1); }
.category-index { color: var(--accent); font: 800 11px 'Inter', sans-serif; letter-spacing: .12em; }
.category-name { color: var(--ink); font: 800 16px/1.3 'Manrope', sans-serif; letter-spacing: -.04em; margin-top: 19px; overflow-wrap: anywhere; }
.category-arrow { color: var(--accent); font-size: 13px; margin-top: auto; align-self: flex-end; }
#column-left .list-group { background: #fff; border-radius: 4px; }
#column-left .list-group-item { font-size: 13px; line-height: 1.45; padding: 12px 15px; }
#column-left .list-group-item.active, #column-left a.list-group-item.active { background: var(--accent-tint); border-left: 3px solid var(--accent); }
#column-left .list-group-item:hover { padding-left: 15px; background: #f5f7f7; }

/* Catalog landing, navigation and product listing. */
.catalog-intro, .catalog-category-intro { position: relative; overflow: hidden; margin: 0 0 30px; padding: 48px 52px; background: #142139; color: #fff; border-radius: 4px; }
.catalog-intro::after, .catalog-category-intro::after { content: ''; position: absolute; width: 330px; height: 330px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; top: -150px; right: -40px; box-shadow: 0 0 0 75px rgba(255,255,255,.025), 0 0 0 150px rgba(255,255,255,.02); pointer-events: none; }
.catalog-intro .section-kicker, .catalog-category-intro .section-kicker { color: #ff8854; }
.catalog-intro h1, .catalog-category-intro h1 { position: relative; z-index: 1; color: #fff; font-size: clamp(34px, 3.5vw, 52px); font-weight: 800; line-height: 1.1; margin: 13px 0 15px; letter-spacing: -.055em; }
.catalog-intro p, .catalog-category-intro p { position: relative; z-index: 1; max-width: 640px; color: #c8d2de; font-size: 15px; line-height: 1.65; margin: 0; }
.catalog-intro-search { padding: 34px 42px; }
.catalog-intro-search h1 { font-size: 34px; }
.catalog-entry-head { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; margin: 0 0 18px; }
.catalog-entry-head h2, .catalog-results-head h2, .catalog-search-heading h2 { color: var(--ink); font-size: clamp(24px, 2vw, 30px); font-weight: 800; margin: 0; letter-spacing: -.045em; }
.catalog-entry-head > span { color: var(--muted); font-size: 13px; }
.catalog-entry-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin-bottom: 25px; }
.catalog-entry-card { position: relative; min-width: 0; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: 4px; overflow: hidden; }
.catalog-entry-card:hover { border-color: #a9b7c5; box-shadow: var(--shadow-2); }
.catalog-entry-media { display: flex; align-items: center; justify-content: center; width: 100%; height: 215px; background: #e8edef; }
.catalog-entry-media img { width: 100%; height: 205px; max-width: 90%; object-fit: contain; filter: drop-shadow(0 14px 12px rgba(20,33,57,.13)); transition: transform .25s ease; }
.catalog-entry-card:hover img { transform: scale(1.045); }
.catalog-entry-name { min-height: 70px; display: flex; align-items: center; padding: 16px 42px 16px 17px; color: var(--ink); font: 800 16px/1.25 'Manrope',sans-serif; letter-spacing: -.045em; overflow-wrap: anywhere; }
.catalog-entry-card > i { position: absolute; right: 18px; bottom: 26px; color: var(--accent); font-size: 14px; }
.catalog-entry-more { display: flex; align-items: flex-start; gap: 20px; margin: 0 0 52px; }
.catalog-entry-more > span { flex: 0 0 150px; padding-top: 8px; color: var(--muted); font-size: 12px; font-weight: 700; }
.catalog-entry-more > div { display: flex; flex-wrap: wrap; gap: 7px; }
.catalog-entry-more a { display: inline-flex; align-items: center; gap: 10px; min-height: 37px; padding: 7px 12px; background: #fff; border: 1px solid var(--line); border-radius: 3px; color: var(--ink); font-size: 12px; font-weight: 600; }
.catalog-entry-more a:hover { border-color: var(--accent); color: var(--accent); }
.catalog-entry-more a i { font-size: 10px; color: var(--accent); }
.catalog-search-panel { margin: 0 0 50px; padding: 29px 32px 28px; background: #e8edef; border-top: 4px solid var(--accent); border-radius: 4px; }
.catalog-search-heading { margin-bottom: 22px; }
.catalog-search-heading h2 { margin-top: 6px; }
.catalog-search-fields { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr) 130px; align-items: end; gap: 12px; }
.catalog-search-fields .control-label { display: block; color: var(--ink); font-size: 12px; font-weight: 700; margin: 0 0 7px; }
.catalog-search-fields .form-control { height: 47px; border: 1px solid #cbd5df; border-radius: 3px; box-shadow: none; background: #fff; font-size: 14px; }
.catalog-search-fields .form-control:focus { border-color: var(--accent); }
.catalog-search-fields #button-search { height: 47px; width: 100%; border-radius: 3px; font-size: 13px; font-weight: 700; }
.catalog-search-options { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 14px; color: #526177; font-size: 12px; }
.catalog-search-options .checkbox-inline { padding-left: 20px; }
.catalog-search-options input { margin-top: 3px; }
.catalog-results-head { margin: 0 0 19px; }
.catalog-results-head h2 { margin-top: 6px; }
.catalog-category-intro { padding: 39px 42px; }
.category-section-head { margin: 10px 0 18px; }
.category-grid { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; margin-bottom: 55px; }
.category-card { min-height: 150px; border-top: 3px solid var(--accent); }
.category-card:hover { transform: translateY(-2px); }
.category-name { margin-top: 18px; }
#product-category #column-left .list-group { border: 1px solid var(--line); overflow: hidden; }
#product-category #column-left .list-group-item { border-left: 0; border-right: 0; border-color: #e9edf0; color: #45536a; }
#product-category #column-left .list-group-item.active { background: #fcece4; color: var(--ink); font-weight: 700; border-left: 3px solid var(--accent); }
.catalog-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 18px; margin: 0 0 16px; padding: 13px 16px; background: #fff; border: 1px solid var(--line); border-radius: 4px; }
.catalog-toolbar > div { float: none !important; width: auto !important; padding: 0; }
.catalog-toolbar > div:nth-child(2) { margin-right: auto; }
.catalog-toolbar .form-group { margin: 0; }
.catalog-toolbar .btn-group .btn { height: 36px; min-width: 36px; border-color: var(--line); }
.catalog-toolbar .btn-group .btn.active { background: var(--ink); color: #fff; }
.catalog-toolbar #compare-total { color: var(--muted); font-size: 12px; text-decoration: none; }
.catalog-toolbar #compare-total:hover { color: var(--accent); }
.catalog-toolbar .input-group-addon { border-color: var(--line); background: #f6f7f7; color: var(--muted); font-size: 12px; }
.catalog-toolbar .form-control { height: 36px; border-color: var(--line); box-shadow: none; font-size: 12px; }
.catalog-results-layout { display: grid; grid-template-columns: 252px minmax(0,1fr); gap: 22px; align-items: start; }
.catalog-results-main { min-width: 0; }
.catalog-spec-filters { background: #fff; border: 1px solid var(--line); border-radius: 4px; overflow: hidden; }
.catalog-spec-filters-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 21px 18px 18px; border-bottom: 1px solid var(--line); }
.catalog-spec-filters-head h3 { margin: 0; color: var(--ink); font-size: 17px; font-weight: 800; line-height: 1.25; }
.catalog-spec-filters-head span { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; height: 24px; padding: 0 6px; border-radius: 12px; background: var(--accent); color: #fff; font-size: 11px; font-weight: 800; }
.catalog-spec-mobile-trigger { display: none; }
.catalog-spec-group { border-bottom: 1px solid #e9edf0; }
.catalog-spec-group summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 15px 18px; list-style: none; cursor: pointer; color: var(--ink); font-size: 12px; font-weight: 800; line-height: 1.4; }
.catalog-spec-group summary::-webkit-details-marker { display: none; }
.catalog-spec-group summary i { flex: 0 0 auto; color: #8d98a5; transition: transform .2s ease; }
.catalog-spec-group[open] summary i { transform: rotate(180deg); }
.catalog-spec-options { max-height: 220px; overflow: auto; padding: 0 16px 14px 18px; scrollbar-width: thin; }
.catalog-spec-option { display: flex; align-items: flex-start; gap: 9px; margin: 0; padding: 5px 0; cursor: pointer; color: #3d4a5c; font-size: 12px; font-weight: 500; line-height: 1.35; }
.catalog-spec-option input { position: absolute; opacity: 0; }
.catalog-spec-check { position: relative; flex: 0 0 16px; width: 16px; height: 16px; margin-top: 0; background: #fff; border: 1px solid #b9c3ce; border-radius: 3px; }
.catalog-spec-option input:checked + .catalog-spec-check { background: var(--accent); border-color: var(--accent); }
.catalog-spec-option input:checked + .catalog-spec-check::after { position: absolute; content: ''; width: 8px; height: 5px; left: 3px; top: 3px; border: solid #fff; border-width: 0 0 2px 2px; transform: rotate(-45deg); }
.catalog-spec-option input:focus-visible + .catalog-spec-check { outline: 2px solid var(--ink); outline-offset: 2px; }
.catalog-spec-value { min-width: 0; flex: 1; overflow-wrap: anywhere; }
.catalog-spec-option small { color: #9aa5b1; font-size: 10px; }
.catalog-spec-actions { display: flex; flex-direction: column; align-items: stretch; gap: 10px; padding: 18px; }
.catalog-spec-actions .btn { padding: 12px 10px; border-radius: 3px; font-size: 12px; font-weight: 800; }
.catalog-spec-actions a { align-self: center; color: var(--muted); font-size: 12px; text-decoration: underline; }
.catalog-spec-actions a:hover { color: var(--accent); }
.catalog-filter-empty { padding: 45px 28px; background: #fff; border: 1px solid var(--line); text-align: center; }
.catalog-filter-empty h3 { margin: 0 0 8px; color: var(--ink); font-size: 20px; font-weight: 800; }
.catalog-filter-empty p { color: var(--muted); }
.catalog-filter-empty a { color: var(--accent); font-weight: 700; }
.catalog-products { display: flex; flex-wrap: wrap; align-items: stretch; margin: 0 -7px; }
.catalog-products .product-layout.product-grid { float: none; width: 33.3333% !important; padding: 0 7px; margin-bottom: 14px; }
.catalog-products .product-layout.product-list { float: none; width: 100% !important; padding: 0 7px; margin-bottom: 14px; }
.catalog-products .product-thumb { display: flex; flex-direction: column; height: 100%; margin: 0; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 4px; }
.catalog-products .product-thumb .image { width: 100%; height: 250px; flex: 0 0 250px; padding: 0 !important; float: none !important; overflow: hidden; background: #edf1f3; }
.catalog-products .product-thumb .image a { display: block; width: 100%; height: 100%; }
.catalog-products .product-thumb .image img { display: block; width: 100%; height: 100%; max-width: none; max-height: none; object-fit: contain; margin: 0; transition: transform .25s ease; }
.catalog-products .product-thumb:hover .image img { transform: scale(1.035); }
.catalog-products .product-thumb > div:last-child { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.catalog-products .product-thumb .caption, .catalog-products .product-list .product-thumb .caption { display: flex; flex-direction: column; flex: 1; min-height: 0; margin: 0; padding: 18px 18px 10px; }
.catalog-products .product-layout .product-thumb .caption h4 { display: block; min-height: 0; overflow: visible; -webkit-line-clamp: unset; -webkit-box-orient: initial; margin: 0 0 12px; color: var(--ink); font-size: 15px; font-weight: 800; line-height: 1.42; letter-spacing: -.025em; overflow-wrap: anywhere; }
.catalog-products .product-thumb h4 a { color: var(--ink); }
.catalog-products .product-thumb h4 a:hover { color: var(--accent); }
.catalog-card-specs { display: grid; gap: 7px; margin: 0 0 12px; color: var(--ink); font-size: 12px; line-height: 1.35; }
.catalog-card-specs div { display: flex; gap: 4px; }
.catalog-card-specs dt { flex: 0 0 auto; color: var(--muted); font-weight: 500; }
.catalog-card-specs dd { margin: 0; font-weight: 700; overflow-wrap: anywhere; }
.catalog-products .product-grid .caption > p:not(.price) { display: none; }
.catalog-products .product-list .caption > p:not(.price) { color: var(--muted); font-size: 13px; line-height: 1.6; }
.catalog-products .product-layout .product-thumb .caption p.price { display: block; min-height: 0; overflow: visible; -webkit-line-clamp: unset; margin: auto 0 0; padding-top: 12px; color: var(--ink); font-size: 20px; font-weight: 800; line-height: 1.2; }
.catalog-products .product-thumb .price-tax { margin-top: 5px; color: var(--muted); font-size: 11px; font-weight: 400; }
.catalog-products .product-thumb .button-group { display: flex; align-items: stretch; gap: 7px; padding: 9px 18px 18px; border: 0; background: #fff; overflow: visible; }
.catalog-products .product-thumb .button-group button, .catalog-products .product-thumb .button-group button + button { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex: 0 0 44px; padding: 0; border: 1px solid var(--line); border-radius: 3px; background: #fff; color: var(--ink); font-size: 13px; line-height: 1; }
.catalog-products .product-thumb .button-group button:first-child { flex: 1; width: auto; gap: 0; white-space: nowrap; text-transform: none; background: var(--accent); border-color: var(--accent); color: #fff; font-size: 12px; font-weight: 700; }
.catalog-products .product-thumb .button-group button:first-child i { display: none; }
.catalog-products .product-thumb .button-group button:first-child:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
.catalog-products .product-thumb .button-group button:not(:first-child):hover { border-color: var(--accent); color: var(--accent); background: var(--accent-tint); }
.catalog-products .product-list .product-thumb { flex-direction: row; min-height: 245px; }
.catalog-products .product-list .product-thumb .image { width: 280px; height: auto; flex: 0 0 280px; }
.catalog-products .product-list .product-thumb > div:last-child { justify-content: space-between; }
.catalog-products .product-list .product-thumb .button-group { max-width: 330px; }
.catalog-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 18px 0 65px; }
.catalog-pagination > div { float: none; width: auto; padding: 0; }
.catalog-pagination .text-right { color: var(--muted); font-size: 12px; }
.catalog-pagination .pagination { margin: 0; }

/* Product details: narrative and factual data remain visible as separate sections. */
#product-product .product-information { margin: 62px 0 70px; }
#product-product .product-information-head { margin-bottom: 22px; }
#product-product .product-information-head h2 { margin: 7px 0 0; color: var(--ink); font-size: clamp(25px, 2.3vw, 32px); font-weight: 800; line-height: 1.2; }
#product-product .product-information-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(290px, 1fr); align-items: start; gap: 18px; }
#product-product .product-information-panel, #product-product .product-review-panel { min-width: 0; padding: 30px 32px; background: #fff; border: 1px solid var(--line); border-radius: 6px; }
#product-product .product-information-panel h3, #product-product .product-review-panel h3 { margin: 0 0 22px; padding-bottom: 17px; border-bottom: 1px solid var(--line); color: var(--ink); font-size: 20px; font-weight: 800; line-height: 1.3; }
#product-product .product-description-copy { color: var(--ink-soft); font-size: 15px; line-height: 1.72; overflow-wrap: anywhere; }
#product-product .product-description-copy p { margin: 0 0 17px; }
#product-product .product-description-copy p:last-child { margin-bottom: 0; }
#product-product .product-description-copy h4 { margin: 27px 0 11px; color: var(--ink); font-size: 16px; font-weight: 800; line-height: 1.4; }
#product-product .product-description-copy h4:first-child { margin-top: 0; }
#product-product .product-description-copy ul, #product-product .product-description-copy ol { margin: 0 0 20px; padding-left: 22px; }
#product-product .product-description-copy li { padding-left: 3px; margin-bottom: 7px; }
#product-product .product-description-copy li::marker { color: var(--accent); }
#product-product .product-specification-table { width: 100%; border-collapse: collapse; font-size: 13px; line-height: 1.5; }
#product-product .product-specification-table tr { border-bottom: 1px solid #e8ecef; }
#product-product .product-specification-table tr:last-child { border-bottom: 0; }
#product-product .product-specification-table th, #product-product .product-specification-table td { padding: 12px 0; vertical-align: top; overflow-wrap: anywhere; }
#product-product .product-specification-table th { width: 45%; padding-right: 16px; color: var(--muted); font-weight: 500; text-align: left; }
#product-product .product-specification-table td { color: var(--ink); font-weight: 700; }
#product-product .product-specification-table .product-specification-group th { width: auto; padding: 23px 0 8px; color: var(--ink); font-size: 14px; font-weight: 800; }
#product-product .product-specification-note { margin: 19px 0 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
#product-product .product-review-panel { margin-top: 18px; }
#product-product .product-review-panel form { max-width: 760px; }
#product-product .product-review-panel form h2 { color: var(--ink); font-size: 17px; font-weight: 700; }

#product-product .similar-products { margin: 0 0 76px; }
#product-product .similar-products-head { margin-bottom: 22px; }
#product-product .similar-products-head h2 { margin: 7px 0 5px; color: var(--ink); font-size: clamp(25px, 2.3vw, 32px); font-weight: 800; line-height: 1.2; }
#product-product .similar-products-head p { margin: 0; color: var(--muted); font-size: 14px; }
#product-product .similar-products-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
#product-product #content.col-sm-9 .similar-products-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
#product-product .similar-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 6px; transition: border-color .2s ease, box-shadow .2s ease; }
#product-product .similar-card:hover { border-color: #c9d1d8; box-shadow: var(--shadow-1); }
#product-product .similar-card-image { display: block; width: 100%; height: 220px; overflow: hidden; background: #edf1f3; }
#product-product .similar-card-image img { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform .25s ease; }
#product-product .similar-card:hover .similar-card-image img { transform: scale(1.035); }
#product-product .similar-card-body { display: flex; flex: 1; flex-direction: column; min-width: 0; padding: 18px; }
#product-product .similar-card h3 { margin: 0 0 18px; color: var(--ink); font-size: 14px; font-weight: 800; line-height: 1.42; overflow-wrap: anywhere; }
#product-product .similar-card h3 a { color: inherit; }
#product-product .similar-card h3 a:hover { color: var(--accent); }
#product-product .similar-card-price { margin-top: auto; color: var(--ink); font-size: 19px; font-weight: 800; line-height: 1.3; }
#product-product .similar-card-price .price-old { margin-left: 8px; color: var(--muted); font-size: 12px; font-weight: 400; text-decoration: line-through; }
#product-product .similar-card-price small { display: block; margin-top: 4px; color: var(--muted); font-size: 11px; font-weight: 400; }
#product-product .similar-card-actions { display: flex; gap: 7px; margin-top: 16px; }
#product-product .similar-card-link { display: inline-flex; flex: 1; align-items: center; justify-content: center; gap: 8px; min-width: 0; height: 44px; padding: 0 10px; background: var(--accent); border-radius: 3px; color: #fff; font-size: 12px; font-weight: 700; }
#product-product .similar-card-link:hover { background: var(--accent-hover); color: #fff; text-decoration: none; }
#product-product .similar-card-actions button { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 1px solid var(--line); border-radius: 3px; background: #fff; color: var(--ink); }
#product-product .similar-card-actions button:hover { border-color: var(--accent); color: var(--accent); background: var(--accent-tint); }

@media (max-width: 1199px) {
  #product-product .similar-products-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  #product-product .similar-products-grid, #product-product #content.col-sm-9 .similar-products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  #product-product .similar-products { margin-bottom: 54px; }
  #product-product .similar-products-grid, #product-product #content.col-sm-9 .similar-products-grid { grid-template-columns: 1fr; }
  #product-product .similar-card-image { height: 240px; }
}

/* Catalog navigation and horizontal specification filters. */
.catalog-section-nav { align-self: start; border: 1px solid var(--line); border-radius: 4px; background: #fff; overflow: hidden; }
.catalog-section-nav-title { padding: 18px; border-bottom: 1px solid var(--line); color: var(--ink); font-size: 14px; font-weight: 800; text-transform: uppercase; }
.catalog-section-nav-group { border-bottom: 1px solid var(--line); }
.catalog-section-nav-group:last-child { border-bottom: 0; }
.catalog-section-nav-root { display: flex; justify-content: space-between; gap: 8px; padding: 13px 17px; color: var(--ink-soft); font-size: 12px; font-weight: 600; line-height: 1.4; }
.catalog-section-nav-root:is(button) { width: 100%; border: 0; background: #fff; font-family: inherit; text-align: left; cursor: pointer; }
.catalog-section-nav-root:hover, .catalog-section-nav-group.is-active > .catalog-section-nav-root { color: var(--ink); background: #f8f9fa; text-decoration: none; }
.catalog-section-nav-group.is-open > .catalog-section-nav-root { background: #f8f9fa; color: var(--ink); }
.catalog-section-nav-group.is-active > .catalog-section-nav-root { border-left: 3px solid var(--accent); padding-left: 14px; font-weight: 800; }
.catalog-section-nav-root i { color: var(--muted); }
.catalog-section-nav-root i { transition: transform .28s ease; }
.catalog-section-nav-group.is-open > .catalog-section-nav-root i { transform: rotate(180deg); }
.catalog-section-nav-children-wrap { height: 0; overflow: hidden; transition: height .28s cubic-bezier(.22, 1, .36, 1); }
.catalog-section-nav-group.is-open > .catalog-section-nav-children-wrap { height: auto; }
.catalog-section-nav-children { display: grid; gap: 2px; padding: 2px 14px 13px 19px; }
.catalog-section-nav-children a { padding: 6px 8px; border-radius: 3px; color: var(--muted); font-size: 11px; line-height: 1.3; text-decoration: none; }
.catalog-section-nav-children a:hover, .catalog-section-nav-children a.is-active { color: var(--accent-hover); background: var(--accent-tint); }
.catalog-section-nav-children a.is-active { font-weight: 800; }
.catalog-spec-filters { margin: 0 0 15px; padding: 0; border: 0; border-radius: 0; background: transparent; overflow: visible; }
.catalog-spec-form { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-start; }
.catalog-spec-group { position: relative; flex: 0 0 auto; border: 0; }
.catalog-spec-group[open] { z-index: 30; }
.catalog-spec-group summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; max-width: 230px; min-height: 36px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 3px; background: #fff; color: var(--ink-soft); font-size: 11px; font-weight: 700; line-height: 1.25; white-space: nowrap; cursor: pointer; }
.catalog-spec-group summary:hover, .catalog-spec-group[open] summary { border-color: var(--accent); color: var(--ink); }
.catalog-spec-group.has-selection summary { border-color: var(--accent); background: var(--accent-tint); color: var(--accent-hover); }
.catalog-spec-group summary i { font-size: 10px; }
.catalog-spec-options { position: absolute; top: calc(100% + 4px); left: 0; z-index: 31; width: min(280px, 85vw); max-height: 320px; overflow-y: auto; padding: 12px 14px; border: 1px solid var(--line); border-top: 2px solid var(--accent); border-radius: 3px; background: #fff; box-shadow: 0 12px 28px rgba(20,33,57,.16); }
.catalog-spec-option { padding: 7px 0; font-size: 12px; }
.catalog-spec-option small { font-size: 11px; }
.catalog-series-options { display: grid; gap: 2px; }
.catalog-series-options a { display: block; padding: 8px 10px; border-radius: 3px; color: var(--ink-soft); font-size: 12px; line-height: 1.3; text-decoration: none; }
.catalog-series-options a:hover, .catalog-series-options a.is-active { background: var(--accent-tint); color: var(--accent-hover); }
.catalog-series-options a.is-active { font-weight: 800; }
.catalog-spec-actions { display: flex; flex-direction: row; align-items: center; gap: 10px; padding: 0; }
.catalog-spec-actions .btn { min-height: 36px; padding: 7px 13px; white-space: nowrap; font-size: 11px; }
.catalog-spec-actions a { align-self: auto; white-space: nowrap; font-size: 11px; }
@media (max-width: 900px) {
  .catalog-section-nav { display: none; }
  .catalog-spec-mobile-trigger { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 44px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 3px; background: #fff; color: var(--ink); font-size: 13px; font-weight: 800; }
  .catalog-spec-mobile-trigger i { color: var(--accent); }
  .catalog-spec-filters .catalog-spec-form { display: none; padding: 12px 0 4px; }
  .catalog-spec-filters.is-open .catalog-spec-form { display: flex; }
  .catalog-spec-group summary { max-width: 210px; }
}
@media (max-width: 600px) {
  .catalog-spec-form { gap: 7px; }
  .catalog-spec-group { width: calc(50% - 4px); }
  .catalog-spec-group summary { max-width: none; width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: normal; }
  .catalog-spec-options { width: min(280px, calc(100vw - 36px)); }
  .catalog-spec-group:nth-child(even) .catalog-spec-options { right: 0; left: auto; }
  .catalog-spec-actions { width: 100%; justify-content: space-between; padding-top: 6px; }
}

@media (max-width: 767px) {
  #product-product .product-information { margin: 40px 0 52px; }
  #product-product .product-information-grid { grid-template-columns: 1fr; gap: 12px; }
  #product-product .product-information-panel, #product-product .product-review-panel { padding: 23px 20px; }
  #product-product .product-information-panel h3, #product-product .product-review-panel h3 { margin-bottom: 18px; padding-bottom: 14px; }
}

@media (max-width: 1199px) {
  .hero-photo { min-height: 490px; }
  .hero-photo-text { padding: 64px 48px 75px; }
  .hero-proof { padding-right: 48px; padding-left: 48px; }
  .tile-media { height: 190px; }
  .tile-media img { height: 185px; }
  .tile-body { padding: 18px 14px; min-height: 100px; }
}
@media (max-width: 991px) {
  .catalog-results-layout { grid-template-columns: 220px minmax(0,1fr); gap: 16px; }
  header .row { flex-wrap: wrap; }
  .hero-photo { min-height: 450px; background-position: center, 62% center; }
  .hero-photo-text { max-width: 610px; padding: 58px 42px 72px; }
  .hero-photo-text h1 { font-size: 45px; }
  .hero-proof { gap: 13px; padding-right: 42px; padding-left: 42px; }
  .hero-proof span { font-size: 12px; }
  .tiles-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .tile-media { height: 205px; width: 100%; }
  .tile-media img { height: 195px; }
  .tile-body { width: 100%; padding: 18px 14px; }
  .tile-name { font-size: 17px; }
  .quick-pick-form { flex-direction: row; }
  .qp-field { flex: 1 1 42%; }
  .qp-submit { flex: 1 1 42%; }
  .cta-layout { grid-template-columns: 1fr; gap: 32px; }
  .cta-action { max-width: 480px; }
  .category-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 767px) {
  .catalog-results-layout { display: block; }
  .catalog-spec-filters { margin-bottom: 18px; }
  .catalog-spec-filters-head { display: none; }
  .catalog-spec-mobile-trigger { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 16px 18px; border: 0; background: #fff; color: var(--ink); font-size: 14px; font-weight: 800; text-align: left; }
  .catalog-spec-mobile-trigger i { color: var(--accent); transition: transform .2s ease; }
  .catalog-spec-filters.is-open .catalog-spec-mobile-trigger i { transform: rotate(180deg); }
  .catalog-spec-form { display: none; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .catalog-spec-filters.is-open .catalog-spec-form { display: grid; }
  .catalog-spec-form > input[type="hidden"] { display: none; }
  .catalog-spec-group { min-width: 0; }
  .catalog-spec-actions { grid-column: 1 / -1; }
  #search .search-preview { min-width: 0; }
  .search-preview-item { padding: 8px 11px; }
  .search-preview-item img { width: 50px; height: 50px; flex-basis: 50px; }
  body { padding-bottom: 60px; }
  #top { display: none; }
  header, header.is-stuck { position: relative; padding: 13px 0; }
  header .row { display: flex; align-items: center; gap: 10px 0; }
  header .row > .col-sm-3:first-child { width: 62%; }
  header .row > .col-sm-6 { order: 3; width: 100%; }
  header .row > .col-sm-3:last-child { width: 38%; }
  header #logo h1 { font-size: 16px; line-height: 1.15; }
  header #logo h1 a::before { width: 6px; height: 22px; margin-right: 5px; }
  .header-right { gap: 12px; }
  #cart .btn-inverse { padding: 8px 10px; }
  #cart .btn-inverse .fa { font-size: 16px; }
  #cart .btn-inverse span { display: none; }
  #menu { margin-bottom: 0; }
  #menu .navbar-header { min-height: 46px; }
  #menu #category { color: var(--ink); font-weight: 700; font-size: 13px; padding-top: 13px; }
  #menu .navbar-toggle { background: var(--ink); border-color: var(--ink); color: #fff; margin: 6px 0; border-radius: 4px; }
  #menu .navbar-nav { display: block; min-height: 0; }
  #menu .navbar-nav > li { display: block; }
  #menu .navbar-nav > li > a { padding: 11px 14px !important; }
  #common-home { padding-left: 15px; padding-right: 15px; }
  .hero-photo { min-height: 570px; margin-top: 13px; align-items: flex-start; background-image: linear-gradient(180deg, rgba(13,25,43,.98) 0%, rgba(13,25,43,.94) 43%, rgba(13,25,43,.08) 100%), url('../../../../../image/catalog/hero-bg.png'); background-position: center, 57% center; }
  .hero-photo-text { padding: 39px 25px 250px; max-width: none; }
  .hero-kicker-line { font-size: 10px; margin-bottom: 18px; }
  .hero-photo-text h1 { font-size: clamp(31px, 8vw, 44px); line-height: 1.08; margin-bottom: 18px; }
  .hero-photo-text p { font-size: 14px; line-height: 1.5; margin-bottom: 23px; }
  .hero-actions { gap: 17px; }
  .hero-actions .btn-primary { padding: 12px 15px; font-size: 12px; }
  .btn-text-link { font-size: 12px; }
  .hero-proof { grid-template-columns: 1fr; gap: 11px; min-height: 0; padding: 40px 25px 19px; background: linear-gradient(180deg,transparent,rgba(10,21,38,.9) 28%,rgba(10,21,38,.95)); }
  .hero-proof span { gap: 11px; font-size: 12px; }
  .hero-proof span::before { flex-basis: 15px; width: 15px; }
  .section-head { margin-top: 60px; }
  .section-head h2, .quick-pick-head h2 { font-size: 28px; }
  .tiles-grid { grid-template-columns: 1fr; gap: 10px; }
  .tile { flex-direction: row-reverse; min-height: 175px; }
  .tile-media { min-height: 175px; height: auto; width: 52%; }
  .tile-media img { height: 165px; max-width: 100%; }
  .tile-body { width: 48%; min-height: 175px; padding: 19px 15px; flex-direction: column; align-items: flex-start; }
  .tile-name { font-size: 17px; }
  .tile-count { font-size: 11px; }
  .tile-arrow { width: 30px; height: 30px; flex-basis: 30px; }
  .quick-pick { margin-top: 60px; padding: 34px 22px; }
  .quick-pick-head { gap: 12px; }
  .quick-pick-form { display: block; }
  .qp-field { margin-bottom: 14px; }
  .qp-submit { width: 100%; }
  .cta-banner { margin-top: 60px; margin-bottom: 0; padding: 50px 0 64px; }
  .cta-banner h2 { font-size: 28px; }
  .cta-action { padding: 26px 24px 28px; }
  footer { padding: 45px 0 20px; }
  .footer-grid > div { margin-bottom: 22px; }
  .mobile-tabbar { background: #fff; }
  .mobile-tabbar a { min-height: 57px; }
  .breadcrumb { gap: 7px; margin: 13px 0 20px; }
  .breadcrumb > li { display: inline-flex; line-height: 1.6; }
  .breadcrumb > li + li:before { flex-basis: 10px; width: 10px; margin-right: 10px; }
  #product-category #content > h2 { font-size: 31px; }
  .category-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .category-card { min-height: 135px; padding: 15px; }
  .category-name { font-size: 14px; margin-top: 14px; }
}
@media (max-width: 390px) {
  .tile { min-height: 158px; }
  .tile-media, .tile-body { min-height: 158px; }
  .tile-media img { height: 150px; }
  .hero-actions { display: block; }
  .hero-actions .btn-primary { margin-bottom: 14px; }
  .btn-text-link { display: inline-block; }
}
@media (max-width: 1199px) {
  .catalog-entry-media { height: 180px; }
  .catalog-entry-media img { height: 170px; }
  .category-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 991px) {
  .catalog-entry-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .catalog-products .product-layout.product-grid { width: 50% !important; }
  .catalog-toolbar > div:nth-child(2) { margin-right: 0; }
  .catalog-toolbar { justify-content: space-between; }
}
@media (max-width: 767px) {
  .catalog-intro, .catalog-category-intro { padding: 30px 24px; margin-bottom: 25px; }
  .catalog-intro h1, .catalog-category-intro h1 { font-size: 32px; }
  .catalog-intro p, .catalog-category-intro p { font-size: 13px; }
  .catalog-entry-head > span { display: none; }
  .catalog-entry-media { height: 160px; }
  .catalog-entry-media img { height: 150px; }
  .catalog-entry-name { min-height: 64px; font-size: 14px; padding: 12px 28px 12px 12px; }
  .catalog-entry-card > i { right: 11px; bottom: 24px; }
  .catalog-entry-more { display: block; margin-bottom: 40px; }
  .catalog-entry-more > span { display: block; margin-bottom: 9px; }
  .catalog-search-panel { padding: 23px 18px; margin-bottom: 42px; }
  .catalog-search-fields { grid-template-columns: 1fr; }
  .catalog-search-options { display: block; }
  .catalog-search-options .checkbox-inline { display: block; margin: 8px 0 0; }
  .category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #product-category #column-left .list-group { max-height: 205px; overflow: auto; margin-bottom: 24px; }
  .catalog-toolbar { padding: 12px; gap: 9px; }
  .catalog-toolbar > div { width: 100% !important; }
  .catalog-toolbar .input-group { width: 100%; }
  .catalog-pagination { justify-content: center; text-align: center; }
}
@media (max-width: 600px) {
  .catalog-spec-filters.is-open .catalog-spec-form { display: block; }
  .catalog-products .product-layout.product-grid { width: 100% !important; }
  .catalog-products .product-thumb .image { height: 260px; flex-basis: 260px; }
  .catalog-products .product-list .product-thumb { flex-direction: column; }
  .catalog-products .product-list .product-thumb .image { width: 100%; height: 260px; flex-basis: 260px; }
}
@media (max-width: 390px) {
  .catalog-entry-media { height: 125px; }
  .catalog-entry-media img { height: 116px; }
  .catalog-entry-name { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .tile-media img, .tile:hover .tile-media img { transition: none; transform: none; }
  #product-product .similar-card, #product-product .similar-card-image img { transition: none; }
}

/* Product comparison: persistent wayfinding and readable side-by-side data. */
.compare-dock { position: fixed; right: 24px; bottom: 24px; z-index: 1050; display: none; align-items: center; gap: 14px; width: min(490px, calc(100vw - 32px)); padding: 14px; border: 1px solid #2b3b55; border-top: 3px solid var(--accent); border-radius: 5px; background: #142139; box-shadow: 0 18px 45px rgba(10,20,35,.28); color: #fff; }
.compare-dock.is-visible { display: flex; }
.compare-dock.is-fresh { box-shadow: 0 18px 45px rgba(10,20,35,.28), 0 0 0 4px rgba(235,91,33,.18); }
.compare-dock-icon { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; flex: 0 0 38px; border-radius: 4px; background: rgba(235,91,33,.16); color: #ff925b; font-size: 17px; }
.compare-dock-copy { display: flex; flex: 1; flex-direction: column; min-width: 0; line-height: 1.35; }
.compare-dock-copy strong { color: #fff; font-size: 14px; font-weight: 800; }
.compare-dock-copy > span { margin-top: 3px; color: #c6d1df; font-size: 12px; }
.compare-dock-copy b { color: #fff; }
.compare-dock a { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 44px; flex: 0 0 auto; padding: 9px 14px; border-radius: 3px; background: var(--accent); color: #fff; font-size: 12px; font-weight: 800; text-align: center; }
.compare-dock a:hover, .compare-dock a:focus { background: var(--accent-hover); color: #fff; text-decoration: none; }
#product-compare { padding-top: 2px; padding-bottom: 80px; }
#product-compare #content { float: none; width: 100%; }
.compare-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 2px 0 29px; }
.compare-heading h1 { margin: 8px 0 8px; color: var(--ink); font-size: clamp(32px, 3vw, 43px); font-weight: 800; line-height: 1.15; }
.compare-heading p { margin: 0; color: var(--muted); font-size: 14px; }
.compare-heading-count { display: inline-flex; align-items: center; min-height: 34px; padding: 7px 12px; border: 1px solid var(--line); border-radius: 3px; background: #fff; color: var(--ink); font-size: 12px; font-weight: 700; white-space: nowrap; }
.compare-hint { margin: 0 0 15px; padding: 13px 16px; border-left: 3px solid var(--accent); background: var(--accent-tint); color: var(--ink); font-size: 13px; }
.compare-tools { display: flex; justify-content: flex-end; margin: -5px 0 14px; }
.compare-diff-toggle { display: inline-flex; align-items: center; gap: 9px; min-height: 40px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 3px; background: #fff; color: var(--ink); font-size: 12px; font-weight: 700; cursor: pointer; }
.compare-diff-toggle:hover { border-color: var(--accent); }
.compare-diff-toggle input { accent-color: var(--accent); width: 16px; height: 16px; margin: 0; cursor: pointer; }
.compare-table.show-differences-only tbody tr:not(.compare-group):not(.is-different) { display: none; }
.compare-table tbody tr.is-different > th { box-shadow: inset 3px 0 0 var(--accent); }
.compare-scroll-note { display: none; margin: 0 0 9px; color: var(--muted); font-size: 12px; }
.compare-scroll-note i { color: var(--accent); margin-right: 5px; }
.compare-table-scroll { max-width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: 4px; background: #fff; scrollbar-color: #aeb9c6 #edf0f2; }
.compare-table-scroll:focus-visible { outline: 3px solid rgba(235,91,33,.5); outline-offset: 3px; }
.compare-table { width: 100%; min-width: max-content; border-collapse: separate; border-spacing: 0; color: var(--ink-soft); font-size: 13px; line-height: 1.55; }
.compare-table th, .compare-table td { box-sizing: border-box; border-right: 1px solid #e5e9ed; border-bottom: 1px solid #e5e9ed; }
.compare-table tr > :last-child { border-right: 0; }
.compare-table tr:last-child > * { border-bottom: 0; }
.compare-table thead th { vertical-align: top; text-align: left; }
.compare-property-head, .compare-table tbody tr:not(.compare-group) > th { position: sticky; left: 0; z-index: 2; width: 195px; min-width: 195px; max-width: 195px; background: #f8fafb; }
.compare-property-head { z-index: 3; padding: 22px 20px; color: var(--muted); font-size: 12px; font-weight: 800; }
.compare-product-head { width: 290px; min-width: 290px; max-width: 290px; padding: 18px; background: #fff; }
.compare-product-image { display: flex; align-items: center; justify-content: center; width: 100%; height: 178px; margin-bottom: 17px; overflow: hidden; border-radius: 3px; background: #edf1f3; color: var(--muted); font-size: 42px; }
.compare-product-image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.compare-product-name { display: block; min-height: 59px; color: var(--ink); font: 800 14px/1.4 'Manrope', 'Inter', sans-serif; overflow-wrap: anywhere; }
.compare-product-name:hover { color: var(--accent-hover); text-decoration: none; }
.compare-product-code { display: block; margin: 9px 0 17px; color: var(--muted); font: 500 11px/1.5 'Inter', sans-serif; overflow-wrap: anywhere; }
.compare-product-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.compare-product-actions .btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 40px; padding: 8px 13px; font-size: 12px; }
.compare-remove { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 8px 10px; border-radius: 3px; background: #fff0e9; color: #a73a1d; font-size: 11px; font-weight: 700; }
.compare-remove:hover { background: #fce2d5; color: #862b11; text-decoration: none; }
.compare-table tbody tr:not(.compare-group) > th { padding: 15px 20px; color: var(--ink); font-weight: 700; text-align: left; vertical-align: top; }
.compare-table tbody td { width: 290px; min-width: 290px; max-width: 290px; padding: 15px 18px; vertical-align: top; background: #fff; overflow-wrap: anywhere; }
.compare-table tbody tr:nth-child(2n):not(.compare-group) td { background: #fcfdfd; }
.compare-table .compare-group th { padding: 12px 20px; background: #e9eef2; color: var(--ink); font-size: 12px; font-weight: 800; text-align: left; }
.compare-price strong { display: block; color: var(--ink); font: 800 18px/1.2 'Manrope', sans-serif; }
.compare-price s { display: block; margin-bottom: 5px; color: var(--muted); font-size: 12px; }
.compare-availability { color: #287347; font-weight: 700; }
.compare-code { font-size: 12px; font-weight: 600; }
.compare-star { margin-right: 2px; color: #eb9c29; }
.compare-reviews { display: block; margin-top: 5px; color: var(--muted); font-size: 11px; }
.compare-description { color: var(--ink-soft); line-height: 1.65; }
.compare-muted { color: #97a2ae; }
.compare-after { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 18px; color: var(--muted); font-size: 12px; }
.compare-after a { color: var(--ink); font-weight: 800; }
.compare-after a i { margin-right: 7px; color: var(--accent); }
.compare-after a:hover { color: var(--accent-hover); text-decoration: none; }
.compare-empty { display: flex; flex-direction: column; align-items: center; max-width: 750px; margin: 14px auto 0; padding: 64px 32px 70px; border: 1px solid var(--line); border-radius: 4px; background: #fff; text-align: center; }
.compare-empty-icon { display: inline-flex; align-items: center; justify-content: center; width: 60px; height: 60px; border-radius: 4px; background: var(--accent-tint); color: var(--accent); font-size: 27px; }
.compare-empty h2 { margin: 21px 0 9px; color: var(--ink); font-size: 25px; font-weight: 800; }
.compare-empty p { max-width: 440px; margin: 0 0 25px; color: var(--muted); font-size: 14px; }
.compare-empty .btn { min-height: 45px; padding: 11px 19px; font-size: 13px; }
.compare-empty .btn i { margin-left: 12px; }
@media (max-width: 850px) {
  .compare-scroll-note { display: block; }
  .compare-table-scroll { margin-right: -15px; }
  .compare-property-head, .compare-table tbody tr:not(.compare-group) > th { width: 150px; min-width: 150px; max-width: 150px; padding-left: 14px; padding-right: 14px; }
  .compare-product-head, .compare-table tbody td { width: 255px; min-width: 255px; max-width: 255px; }
}
@media (max-width: 600px) {
  .compare-dock { left: 12px; right: 12px; bottom: 71px; width: auto; display: none; flex-wrap: wrap; padding: 11px 12px; gap: 9px; }
  .compare-dock.is-visible { display: flex; }
  .compare-dock-icon { width: 32px; height: 32px; flex-basis: 32px; font-size: 15px; }
  .compare-dock-copy strong { font-size: 12px; }
  .compare-dock-copy > span { font-size: 11px; }
  .compare-dock a { width: 100%; min-height: 44px; font-size: 12px; }
  #product-compare { padding-bottom: 58px; }
  .compare-heading { align-items: start; flex-direction: column; gap: 12px; }
  .compare-heading p { font-size: 13px; }
  .compare-tools { justify-content: flex-start; margin-top: 0; }
  .compare-product-head, .compare-table tbody td { width: 230px; min-width: 230px; max-width: 230px; }
  .compare-product-image { height: 150px; }
  .compare-after { align-items: start; flex-direction: column; }
  .compare-empty { padding: 43px 21px 50px; }
}

/* Customer account: clear entry point and practical dashboard. */
.account-page { padding-bottom: 86px; }
.account-eyebrow { display: block; color: var(--accent); font-size: 11px; font-weight: 800; letter-spacing: .16em; line-height: 1.5; }
.account-login-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .86fr); align-items: stretch; min-height: 480px; margin-bottom: 18px; }
.account-login-intro { padding: clamp(42px, 5vw, 80px); color: #fff; background: #142139; border-radius: 5px 0 0 5px; }
.account-login-intro h1 { margin: 18px 0 22px; color: #fff; font-size: clamp(34px, 3.2vw, 50px); font-weight: 800; line-height: 1.12; }
.account-login-intro > p { max-width: 440px; margin: 0 0 36px; color: #cbd4df; font-size: 15px; line-height: 1.7; }
.account-intro-line { display: flex; align-items: center; gap: 13px; margin-top: 16px; color: #e7ecf2; font-size: 14px; }
.account-intro-line i { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; flex: 0 0 32px; color: #ff8c4e; font-size: 16px; }
.account-login-panel { display: flex; flex-direction: column; justify-content: center; padding: clamp(38px, 4vw, 66px); background: #fff; border: 1px solid var(--line); border-left: 0; border-radius: 0 5px 5px 0; }
.account-login-panel h2 { margin: 12px 0 30px; color: var(--ink); font-size: 29px; font-weight: 800; }
.account-login-panel .form-group { margin-bottom: 22px; }
.account-login-panel label { margin-bottom: 9px; color: var(--ink); font-size: 13px; font-weight: 700; }
.account-login-panel .form-control { height: 49px; border: 1px solid #cfd7de; border-radius: 4px; box-shadow: none; background: #fff; color: var(--ink); font-size: 14px; }
.account-login-panel .form-control:focus { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(20,33,57,.09); }
.account-label-row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.account-label-row a { color: var(--accent-hover); font-size: 12px; font-weight: 700; }
.account-submit { display: inline-flex; align-items: center; justify-content: space-between; width: 100%; min-height: 51px; padding: 12px 18px; margin-top: 2px; font-size: 14px; }
.account-register-prompt { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-top: 27px; padding-top: 23px; border-top: 1px solid var(--line); font-size: 13px; }
.account-register-prompt span { color: var(--muted); }
.account-register-prompt a { color: var(--ink); font-weight: 800; }
.account-register-prompt a:hover { color: var(--accent-hover); }
.account-register-prompt a i { margin-left: 5px; }
.account-dashboard-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 0 0 30px; }
.account-dashboard-head h1 { margin: 8px 0 6px; color: var(--ink); font-size: clamp(29px, 3vw, 40px); font-weight: 800; }
.account-dashboard-head p { margin: 0; color: var(--muted); font-size: 14px; }
.account-logout { padding: 10px 14px; border: 1px solid var(--line); border-radius: 4px; color: var(--ink); font-size: 13px; font-weight: 700; white-space: nowrap; }
.account-logout i { margin-left: 6px; }
.account-logout:hover { border-color: var(--accent); color: var(--accent-hover); text-decoration: none; }
.account-dashboard-layout { display: grid; grid-template-columns: 230px minmax(0, 1fr); align-items: start; gap: 24px; }
.account-dashboard-nav { display: flex; flex-direction: column; padding: 8px; border: 1px solid var(--line); border-radius: 4px; background: #fff; }
.account-dashboard-nav a { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 9px 12px; border-radius: 3px; color: var(--ink-soft); font-size: 13px; font-weight: 700; }
.account-dashboard-nav a:hover { background: var(--accent-tint); color: var(--accent-hover); text-decoration: none; }
.account-dashboard-nav i { width: 17px; color: var(--accent); font-size: 16px; text-align: center; }
.account-action-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.account-action-card { position: relative; display: flex; flex-direction: column; min-height: 172px; padding: 24px 26px; border: 1px solid var(--line); border-radius: 4px; background: #fff; color: var(--ink); }
.account-action-card:hover { border-color: var(--accent); box-shadow: var(--shadow-1); color: var(--ink); text-decoration: none; }
.account-card-icon { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; margin-bottom: 16px; border-radius: 4px; background: var(--accent-tint); color: var(--accent); font-size: 17px; }
.account-action-card strong { font: 800 17px 'Manrope', 'Inter', sans-serif; }
.account-action-card > span:not(.account-card-icon) { margin-top: 4px; color: var(--muted); font-size: 12px; }
.account-action-card > i { position: absolute; right: 25px; top: 30px; color: var(--accent); }
.account-more { margin-top: 32px; padding: 25px 28px 28px; border: 1px solid var(--line); border-radius: 4px; background: #fff; }
.account-more h2 { margin: 0 0 17px; color: var(--ink); font-size: 21px; font-weight: 800; }
.account-more-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; }
.account-more-links a { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 11px 0; border-top: 1px solid #e9edf0; color: var(--ink-soft); font-size: 13px; font-weight: 600; }
.account-more-links a:hover { color: var(--accent-hover); text-decoration: none; }
.account-more-links i { color: var(--accent); }
#account-register { padding-bottom: 80px; }
#account-register #column-left { display: none; }
#account-register #column-right { display: none; }
#account-register #content { width: 100%; float: none; }
#account-register #content > h1, #account-register #content > p { max-width: 860px; margin-left: auto; margin-right: auto; }
#account-register #content > h1 { color: var(--ink); font-size: clamp(30px, 3vw, 40px); font-weight: 800; }
#account-register #content > p { color: var(--muted); }
#account-register #content > form { max-width: 860px; margin: 26px auto 0; padding: 28px 34px 52px; border: 1px solid var(--line); border-radius: 4px; background: #fff; }
#account-register fieldset legend { padding-bottom: 12px; color: var(--ink); font: 800 20px 'Manrope', sans-serif; }
#account-register .form-control { min-height: 45px; border-color: #cfd7de; box-shadow: none; }
#account-register .control-label { color: var(--ink); font-size: 13px; }
#account-register .buttons { margin-bottom: 0; }
#account-register .buttons .btn { min-height: 44px; padding: 10px 20px; }
[id^="account-"]:not(#account-login):not(#account-account):not(#account-register) { padding-bottom: 75px; }
[id^="account-"]:not(#account-login):not(#account-account):not(#account-register) #content > h1,
[id^="account-"]:not(#account-login):not(#account-account):not(#account-register) #content > h2 { margin: 0 0 23px; color: var(--ink); font-size: clamp(28px, 2.7vw, 38px); font-weight: 800; }
[id^="account-"]:not(#account-login):not(#account-account):not(#account-register) #content > form { padding: 28px; border: 1px solid var(--line); border-radius: 4px; background: #fff; }
[id^="account-"]:not(#account-login):not(#account-account):not(#account-register) #content fieldset legend { padding-bottom: 11px; color: var(--ink); font-size: 20px; font-weight: 800; }
[id^="account-"]:not(#account-login):not(#account-account):not(#account-register) #content .form-control { min-height: 44px; border-color: #cfd7de; box-shadow: none; }
[id^="account-"]:not(#account-login):not(#account-account):not(#account-register) #content .control-label { color: var(--ink); font-size: 13px; }
[id^="account-"]:not(#account-login):not(#account-account):not(#account-register) #column-right .list-group,
[id^="account-"]:not(#account-login):not(#account-account):not(#account-register) #column-left .list-group { padding: 7px; border: 1px solid var(--line); border-radius: 4px; background: #fff; box-shadow: none; }
[id^="account-"]:not(#account-login):not(#account-account):not(#account-register) .list-group-item { min-height: 40px; padding: 9px 11px; border: 0; border-radius: 3px; color: var(--ink-soft); font-size: 12px; font-weight: 600; }
[id^="account-"]:not(#account-login):not(#account-account):not(#account-register) .list-group-item:hover { background: var(--accent-tint); color: var(--accent-hover); }
[id^="account-"]:not(#account-login):not(#account-account):not(#account-register) #content .table-responsive { border: 1px solid var(--line); border-radius: 4px; background: #fff; }
[id^="account-"]:not(#account-login):not(#account-account):not(#account-register) #content .table { margin-bottom: 0; }
@media (min-width: 768px) {
  #account-register .form-horizontal .form-group > .control-label { width: 26%; }
  #account-register .form-horizontal .form-group > .col-sm-10 { width: 74%; }
}
@media (max-width: 850px) {
  .account-login-layout { grid-template-columns: 1fr; }
  .account-login-intro { border-radius: 5px 5px 0 0; }
  .account-login-panel { border: 1px solid var(--line); border-top: 0; border-radius: 0 0 5px 5px; }
  .account-dashboard-layout { grid-template-columns: 1fr; }
  .account-dashboard-nav { flex-direction: row; flex-wrap: wrap; }
}
@media (max-width: 600px) {
  .account-page, #account-register { padding-bottom: 55px; }
  .account-login-intro { display: none; }
  .account-login-panel { padding: 30px 24px; border: 1px solid var(--line); border-radius: 5px; }
  .account-dashboard-head { align-items: start; }
  .account-dashboard-head p { font-size: 13px; }
  .account-dashboard-nav { display: none; }
  .account-action-grid, .account-more-links { grid-template-columns: 1fr; }
  .account-action-card { min-height: 154px; }
  #account-register #content > form { padding: 22px 18px; }
}

/* Cart: clear product list and a focused checkout path. */
#cart.open > .btn.btn-inverse, #cart.open > .btn.btn-inverse:hover { background: #fff; border-color: #cfd7df; color: var(--ink); }
#cart .mini-cart-menu { width: min(430px, calc(100vw - 24px)); max-height: min(620px, calc(100vh - 110px)); overflow-y: auto; padding: 0; margin-top: 9px; border: 1px solid var(--line); border-top: 3px solid var(--accent); border-radius: 5px; background: #fff; box-shadow: 0 22px 50px rgba(20,33,57,.18); color: var(--ink); }
#cart .mini-cart-menu li > div { min-width: 0; }
#cart .mini-cart-list > .mini-cart-item { padding: 16px 18px; }
#cart .mini-cart-foot > .mini-cart-total, #cart .mini-cart-foot > .mini-cart-actions { padding: 0; }
#cart .mini-cart-menu > li { display: block; float: none; white-space: normal; }
#cart .mini-cart-head { display: flex !important; flex-direction: column; gap: 2px; padding: 19px 22px 16px; border-bottom: 1px solid var(--line); }
#cart .mini-cart-head strong { font: 800 19px/1.25 'Manrope',sans-serif; }
#cart .mini-cart-head span { color: var(--muted); font-size: 12px; }
#cart .mini-cart-list { max-height: 330px; overflow-y: auto; }
#cart .mini-cart-item { display: flex; align-items: flex-start; gap: 13px; padding: 16px 18px; border-bottom: 1px solid #edf0f2; }
#cart .mini-cart-image { display: flex; align-items: center; justify-content: center; flex: 0 0 76px; width: 76px; height: 76px; overflow: hidden; border-radius: 3px; background: #f3f6f8; color: var(--accent); font-size: 28px; }
#cart .mini-cart-image img { display: block; width: 100%; height: 100%; object-fit: contain; }
#cart .mini-cart-details { flex: 1; min-width: 0; }
#cart .mini-cart-name { display: block; color: var(--ink); font: 800 12px/1.42 'Manrope','Inter',sans-serif; overflow-wrap: anywhere; }
#cart .mini-cart-name:hover { color: var(--accent-hover); text-decoration: none; }
#cart .mini-cart-options { display: flex; flex-direction: column; margin-top: 5px; color: var(--muted); font-size: 11px; }
#cart .mini-cart-meta { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-top: 11px; color: var(--muted); font-size: 11px; }
#cart .mini-cart-meta strong { color: var(--ink); font-size: 13px; white-space: nowrap; }
#cart .mini-cart-remove { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 30px; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 3px; background: transparent; color: #788699; font-size: 14px; }
#cart .mini-cart-remove:hover { background: #fff0eb; color: var(--accent-hover); }
#cart .mini-cart-foot { padding: 17px 20px 19px; background: #f8fafb; }
#cart .mini-cart-total { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 17px; color: var(--ink); font-size: 13px; font-weight: 700; }
#cart .mini-cart-total strong { font: 800 20px 'Manrope',sans-serif; white-space: nowrap; }
#cart .mini-cart-actions { display: flex; gap: 9px; }
#cart .mini-cart-actions a { display: inline-flex; align-items: center; justify-content: center; gap: 7px; flex: 1; min-height: 43px; padding: 8px 10px; border-radius: 3px; font-size: 11px; font-weight: 800; text-align: center; }
#cart .mini-cart-view { border: 1px solid #cbd4dc; background: #fff; color: var(--ink); }
#cart .mini-cart-view:hover { border-color: var(--ink); color: var(--ink); text-decoration: none; }
#cart .mini-cart-checkout { border: 1px solid var(--accent); background: var(--accent); color: #fff; }
#cart .mini-cart-checkout:hover { background: var(--accent-hover); color: #fff; text-decoration: none; }
#cart .mini-cart-empty { display: flex !important; flex-direction: column; align-items: center; padding: 35px 24px 37px; text-align: center; }
#cart .mini-cart-empty > span { display: flex; align-items: center; justify-content: center; width: 53px; height: 53px; margin-bottom: 16px; border-radius: 4px; background: var(--accent-tint); color: var(--accent); font-size: 22px; }
#cart .mini-cart-empty strong { color: var(--ink); font: 800 17px 'Manrope',sans-serif; }
#cart .mini-cart-empty p { max-width: 250px; margin: 7px 0 17px; color: var(--muted); font-size: 12px; line-height: 1.5; }
#cart .mini-cart-empty a { color: var(--accent-hover); font-size: 12px; font-weight: 800; }
#cart .mini-cart-empty a:hover { text-decoration: underline; }
.cart-page { padding-bottom: 85px; }
.cart-page-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 18px 0 29px; }
.cart-eyebrow { color: var(--accent); font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.cart-page-heading h1 { margin: 9px 0 4px; color: var(--ink); font: 800 clamp(31px,3vw,42px)/1.15 'Manrope',sans-serif; }
.cart-page-heading p { margin: 0; color: var(--muted); font-size: 13px; }
.cart-count { padding: 7px 11px; border: 1px solid var(--line); border-radius: 3px; background: #fff; color: var(--ink-soft); font-size: 12px; font-weight: 700; white-space: nowrap; }
.cart-page-layout { display: grid; grid-template-columns: minmax(0,1fr) 310px; align-items: start; gap: 23px; }
.cart-products, .cart-products form { min-width: 0; }
.cart-product { position: relative; display: flex; align-items: flex-start; gap: 22px; min-width: 0; margin-bottom: 12px; padding: 23px 53px 23px 22px; border: 1px solid var(--line); border-radius: 5px; background: #fff; }
.cart-product-image { display: flex; align-items: center; justify-content: center; flex: 0 0 143px; width: 143px; height: 143px; overflow: hidden; border-radius: 3px; background: #f0f3f5; color: var(--accent); font-size: 35px; }
.cart-product-image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.cart-product-main { display: flex; flex: 1; flex-direction: column; align-self: stretch; min-width: 0; }
.cart-product-name { color: var(--ink); font: 800 16px/1.45 'Manrope',sans-serif; overflow-wrap: anywhere; }
.cart-product-name:hover { color: var(--accent-hover); text-decoration: none; }
.cart-product-model, .cart-product-options { display: block; margin-top: 6px; color: var(--muted); font-size: 11px; }
.cart-product-options span { display: block; }
.cart-stock-warning { margin-top: 7px; color: var(--accent-hover); font-size: 11px; font-weight: 700; }
.cart-product-bottom { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-top: auto; padding-top: 18px; }
.cart-product-quantity label { display: block; margin-bottom: 6px; color: var(--muted); font-size: 10px; font-weight: 700; }
.cart-quantity-controls { display: flex; height: 36px; border: 1px solid #cfd7df; border-radius: 3px; overflow: hidden; }
.cart-quantity-controls input { width: 60px; height: 34px; padding: 4px 7px; border: 0; color: var(--ink); font-size: 13px; text-align: center; }
.cart-quantity-controls button { width: 38px; border: 0; border-left: 1px solid #cfd7df; background: #f6f8f9; color: var(--ink); }
.cart-quantity-controls button:hover { background: var(--accent); color: #fff; }
.cart-product-price { display: flex; flex-direction: column; align-items: end; text-align: right; }
.cart-product-price span { color: var(--muted); font-size: 11px; }
.cart-product-price strong { color: var(--ink); font: 800 19px 'Manrope',sans-serif; white-space: nowrap; }
.cart-product-remove { position: absolute; right: 17px; top: 18px; display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: 0; border-radius: 3px; background: transparent; color: #8290a0; font-size: 16px; }
.cart-product-remove:hover { background: #fff0eb; color: var(--accent-hover); }
.cart-voucher .cart-product-bottom { align-items: center; }
.cart-summary { position: sticky; top: 22px; padding: 25px 24px 22px; border: 1px solid var(--line); border-top: 3px solid var(--accent); border-radius: 4px; background: #fff; }
.cart-summary h2 { margin: 8px 0 22px; color: var(--ink); font: 800 22px 'Manrope',sans-serif; }
.cart-summary-lines { padding: 4px 0 17px; }
.cart-summary-line { display: flex; justify-content: space-between; gap: 10px; padding: 10px 0; color: var(--muted); font-size: 12px; }
.cart-summary-line strong { color: var(--ink); white-space: nowrap; }
.cart-summary-grand { align-items: baseline; margin-top: 7px; padding-top: 18px; border-top: 1px solid var(--line); color: var(--ink); font-size: 14px; font-weight: 800; }
.cart-summary-grand strong { font: 800 23px 'Manrope',sans-serif; }
.cart-summary-checkout { display: flex; align-items: center; justify-content: center; gap: 11px; width: 100%; min-height: 49px; padding: 11px 16px; border-radius: 3px; background: var(--accent); color: #fff; font-size: 13px; font-weight: 800; text-align: center; }
.cart-summary-checkout:hover { background: var(--accent-hover); color: #fff; text-decoration: none; }
.cart-summary-continue { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 44px; margin-top: 9px; color: var(--ink); font-size: 12px; font-weight: 700; }
.cart-summary-continue:hover { color: var(--accent-hover); text-decoration: none; }
.cart-summary-note { display: flex; align-items: flex-start; gap: 9px; margin: 19px 0 0; padding-top: 17px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; line-height: 1.5; }
.cart-summary-note i { margin-top: 2px; color: var(--accent); font-size: 14px; }
.cart-options { margin-top: 30px; }
.cart-options h2 { margin: 0 0 5px; color: var(--ink); font-size: 21px; font-weight: 800; }
.cart-options > p { color: var(--muted); font-size: 12px; }
.cart-options .panel { border-color: var(--line); box-shadow: none; }
.cart-options .panel-heading { background: #fff; }
.cart-page-empty { display: flex; flex-direction: column; align-items: center; max-width: 750px; margin: 10px auto 0; padding: 65px 25px 70px; border: 1px solid var(--line); border-radius: 5px; background: #fff; text-align: center; }
.cart-page-empty-icon { display: flex; align-items: center; justify-content: center; width: 65px; height: 65px; border-radius: 4px; background: var(--accent-tint); color: var(--accent); font-size: 29px; }
.cart-page-empty h2 { margin: 22px 0 7px; color: var(--ink); font-size: 25px; font-weight: 800; }
.cart-page-empty p { max-width: 420px; margin: 0 0 24px; color: var(--muted); font-size: 13px; }
.cart-page-empty .cart-summary-checkout { width: auto; min-width: 190px; }
@media (max-width: 900px) { .cart-page-layout { grid-template-columns: 1fr; } .cart-summary { position: static; } }
@media (max-width: 620px) {
  #cart .mini-cart-menu { right: -4px; }
  #cart .mini-cart-list > .mini-cart-item { gap: 10px; padding: 14px; }
  #cart .mini-cart-image { flex-basis: 62px; width: 62px; height: 62px; }
  #cart .mini-cart-actions { flex-direction: column; }
  .cart-page { padding-bottom: 60px; }
  .cart-page-heading { align-items: start; margin: 10px 0 21px; }
  .cart-page-heading p { max-width: 290px; }
  .cart-count { display: none; }
  .cart-product { gap: 13px; padding: 16px 42px 18px 13px; }
  .cart-product-image { flex-basis: 90px; width: 90px; height: 90px; }
  .cart-product-name { font-size: 13px; }
  .cart-product-bottom { align-items: start; flex-direction: column; padding-top: 13px; }
  .cart-product-price { align-items: start; text-align: left; }
  .cart-product-price strong { font-size: 17px; }
  .cart-product-remove { right: 7px; top: 10px; }
  .cart-summary { padding: 23px 20px; }
}
@media (max-width: 370px) { #cart .mini-cart-menu { right: -8px; } .cart-product-image { flex-basis: 72px; width: 72px; height: 80px; } }

/* Wide catalog cards follow the supplied Virona product-card reference. */
.catalog-products { display: grid; gap: 12px; margin: 0; }
.catalog-product-row { display: grid; grid-template-columns: minmax(190px, 24%) minmax(0, 1fr) 215px; gap: 20px; align-items: center; min-height: 260px; padding: 24px 28px 24px 20px; border: 1px solid #e2e2e5; border-radius: 4px; background: #fff; }
.catalog-product-image { display: flex; align-items: center; justify-content: center; align-self: stretch; min-width: 0; }
.catalog-product-image { position: relative; }
.catalog-product-image img { display: block; width: 100%; max-width: 230px; max-height: 210px; object-fit: contain; }
.catalog-gallery-source { display: none; }
.catalog-gallery-dots { position: absolute; right: 0; bottom: 4px; left: 0; display: flex; justify-content: center; gap: 5px; pointer-events: none; opacity: 0; transition: opacity .2s ease; }
.catalog-product-row.has-gallery-hover .catalog-gallery-dots { opacity: 1; }
.catalog-gallery-dots i { display: block; width: 5px; height: 5px; border-radius: 50%; background: #bec7d0; }
.catalog-gallery-dots i.is-active { background: var(--accent); }
#product-product .image-additional > a.is-active { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
.catalog-product-details { min-width: 0; align-self: center; }
.catalog-product-series, .catalog-product-article { color: #aaaab3; font-size: 12px; line-height: 1.45; }
.catalog-product-row h3 { margin: 7px 0 8px; font-size: 18px; font-weight: 500; line-height: 1.38; letter-spacing: 0; overflow-wrap: anywhere; }
.catalog-product-row h3 a { color: #101a2d; text-decoration: none; }
.catalog-product-row h3 a:hover { color: var(--accent-hover); }
.catalog-product-specs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 16px; margin: 15px 0 0; padding-top: 13px; border-top: 1px solid #edf0f2; font-size: 12px; line-height: 1.4; }
.catalog-product-specs div { display: flex; flex-wrap: wrap; gap: 4px; min-width: 0; }
.catalog-product-specs dt { color: #8b96a5; font-weight: 400; }
.catalog-product-specs dt::after { content: ' —'; }
.catalog-product-specs dd { margin: 0; color: #172239; font-weight: 600; overflow-wrap: anywhere; }
.catalog-product-actions { display: flex; flex-direction: column; gap: 12px; align-self: start; padding-top: 10px; }
.catalog-product-price { display: flex; align-items: baseline; justify-content: center; flex-wrap: wrap; gap: 5px 9px; min-height: 31px; color: var(--ink); line-height: 1.2; text-align: center; }
.catalog-price-current { font-family: 'Manrope', 'Inter', sans-serif; font-size: 21px; font-weight: 800; letter-spacing: -.035em; }
.catalog-price-old { color: #98a3af; font-size: 12px; }
.catalog-price-request { color: var(--muted); font-size: 13px; font-weight: 600; }
.catalog-product-actions > a, .catalog-product-actions > button { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 9px 15px; border: 1px solid var(--accent); border-radius: 999px; font-family: inherit; font-size: 14px; font-weight: 700; line-height: 1.2; text-align: center; text-decoration: none; cursor: pointer; transition: background .2s ease, color .2s ease; }
.catalog-product-order { background: var(--accent); color: #fff; }
.catalog-product-order:hover, .catalog-product-order:focus { background: var(--accent-hover); border-color: var(--accent-hover); color: #fff; }
.catalog-product-actions > .catalog-cart-add[hidden], .catalog-cart-stepper[hidden] { display: none !important; }
.catalog-cart-stepper { display: flex; align-items: stretch; justify-content: space-between; min-height: 42px; overflow: hidden; border: 1px solid #d9e0e8; border-radius: 999px; background: #fff; color: var(--ink); }
.catalog-cart-stepper > button { display: flex; align-items: center; justify-content: center; width: 46px; flex: 0 0 46px; padding: 0; border: 0; background: #f4f6f8; color: var(--ink); font: 700 22px/1 'Manrope', sans-serif; cursor: pointer; transition: background .2s ease, color .2s ease; }
.catalog-cart-stepper > button:hover, .catalog-cart-stepper > button:focus-visible { outline: 0; background: #e8edf2; color: var(--ink); }
.catalog-cart-stepper > button:disabled { opacity: .5; cursor: wait; }
.catalog-cart-quantity { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 70px; padding: 3px 5px; line-height: 1.1; }
.catalog-cart-quantity small { color: var(--muted); font-size: 10px; font-weight: 600; }
.catalog-cart-quantity strong { color: var(--ink); font-size: 16px; font-weight: 800; }
.catalog-products.is-grid .catalog-cart-stepper { min-height: 39px; }
.catalog-product-actions > .catalog-product-question { border-color: var(--ink); background: #fff; color: var(--ink); }
.catalog-product-question:hover, .catalog-product-question:focus { background: var(--ink); color: #fff; }
.catalog-product-actions > .catalog-product-compare { align-self: center; min-width: 0; min-height: 0; padding: 4px 10px; border: 0; border-radius: 0; box-shadow: none; background: transparent; color: #8b8f9b; font-size: 12px; }
.catalog-product-actions > .catalog-product-compare:hover, .catalog-product-actions > .catalog-product-compare.is-selected { border: 0; background: transparent; color: var(--accent-hover); }
.catalog-product-actions > .catalog-product-compare:focus-visible { outline: 0; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1199px) {
  .catalog-product-row { grid-template-columns: 160px minmax(0, 1fr) 170px; gap: 15px; padding: 20px; }
  .catalog-product-row h3 { font-size: 16px; }
  .catalog-product-specs { grid-template-columns: 1fr; }
  .catalog-product-actions > a, .catalog-product-actions > button { font-size: 12px; }
}
@media (max-width: 900px) {
  .catalog-product-row { grid-template-columns: 180px minmax(0, 1fr); }
  .catalog-product-actions { grid-column: 2; flex-direction: row; align-self: auto; flex-wrap: wrap; padding-top: 0; }
  .catalog-product-actions > a, .catalog-product-actions > button { min-width: 150px; }
}
@media (max-width: 600px) {
  .catalog-product-row { grid-template-columns: 110px minmax(0, 1fr); gap: 12px; min-height: 0; padding: 15px; }
  .catalog-product-image { align-self: start; }
  .catalog-product-image img { max-height: 140px; }
  .catalog-product-row h3 { font-size: 14px; }
  .catalog-product-series, .catalog-product-article, .catalog-product-specs { font-size: 11px; }
  .catalog-product-actions { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .catalog-product-price { grid-column: 1 / -1; justify-content: flex-start; min-height: 0; margin-bottom: 3px; text-align: left; }
  .catalog-price-current { font-size: 19px; }
  .catalog-product-actions > a, .catalog-product-actions > button { min-width: 0; min-height: 40px; padding: 8px; font-size: 11px; }
  .catalog-product-compare { grid-column: 1 / -1; }
}

@media (max-width: 991px) {
  .catalog-results-layout { display: block; }
  .catalog-section-nav { display: none; }
  .catalog-spec-mobile-trigger { display: flex; width: 100%; min-height: 44px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 3px; background: #fff; font-size: 13px; }
  .catalog-spec-filters .catalog-spec-form { display: none; }
  .catalog-spec-filters.is-open .catalog-spec-form { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 0 4px; }
}
@media (max-width: 600px) {
  .catalog-spec-filters.is-open .catalog-spec-form { display: flex; }
  .catalog-spec-group { width: calc(50% - 4px); }
  .catalog-spec-group:nth-child(even) .catalog-spec-options { right: auto; left: 0; }
  .catalog-spec-group:nth-of-type(even) .catalog-spec-options { right: 0; left: auto; }
  .catalog-spec-actions { width: 100%; }
}

/* Catalog view switch, tiled cards and filter dropdown motion. */
.catalog-toolbar .catalog-view-switch { display: inline-flex; align-items: center; gap: 3px; margin-right: 0; padding: 3px; border: 1px solid var(--line); border-radius: 4px; background: #fff; }
.catalog-view-switch button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 32px; padding: 6px 10px; border: 0; border-radius: 3px; background: transparent; color: var(--muted); font-size: 11px; font-weight: 700; white-space: nowrap; }
.catalog-view-switch button:hover { color: var(--accent-hover); }
.catalog-view-switch button.is-active { background: var(--accent-tint); color: var(--accent-hover); }
.catalog-view-switch button:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.catalog-spec-group[open] .catalog-spec-options { transform-origin: top center; animation: catalog-filter-slide .22s ease-out both; }
@keyframes catalog-filter-slide { from { opacity: 0; transform: translateY(-9px) scaleY(.96); } to { opacity: 1; transform: translateY(0) scaleY(1); } }
.catalog-products.is-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.catalog-products.is-grid .catalog-product-row { display: flex; flex-direction: column; align-items: stretch; min-height: 475px; padding: 17px 17px 22px; }
.catalog-products.is-grid .catalog-product-image { align-self: center; width: 100%; height: 245px; flex: 0 0 245px; }
.catalog-products.is-grid .catalog-product-image img { max-width: 100%; max-height: 235px; }
.catalog-products.is-grid .catalog-product-details { display: flex; flex: 1; flex-direction: column; align-items: center; width: 100%; text-align: center; }
.catalog-products.is-grid .catalog-product-series { margin: 3px 0 0; }
.catalog-products.is-grid .catalog-product-row h3 { margin: 10px 0 9px; font-size: 15px; line-height: 1.45; }
.catalog-products.is-grid .catalog-product-article { margin-top: auto; padding-top: 8px; }
.catalog-products.is-grid .catalog-product-specs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; gap: 10px 12px; margin-top: 16px; padding-top: 13px; text-align: left; font-size: 11px; }
.catalog-products.is-grid .catalog-product-specs div { display: flex; flex-direction: column; gap: 2px; }
.catalog-products.is-grid .catalog-product-specs dt::after { content: none; }
.catalog-products.is-grid .catalog-product-specs .catalog-spec-extra { display: none; }
.catalog-products.is-grid .catalog-product-actions { display: flex; flex-direction: column; align-self: stretch; gap: 5px; padding: 20px 0 0; }
.catalog-products.is-grid .catalog-product-price { justify-content: center; margin-bottom: 8px; text-align: center; }
.catalog-products.is-grid .catalog-product-actions > .catalog-product-order { min-height: 39px; border-color: var(--accent); background: #fff; color: var(--accent-hover); font-size: 12px; }
.catalog-products.is-grid .catalog-product-actions > .catalog-product-order:hover { background: var(--accent); color: #fff; }
.catalog-products.is-grid .catalog-product-actions > .catalog-product-question { min-height: 0; padding: 5px; border: 0; background: transparent; color: var(--ink); font-size: 11px; font-weight: 600; }
.catalog-products.is-grid .catalog-product-actions > .catalog-product-question:hover { color: var(--accent-hover); }
.catalog-products.is-grid .catalog-product-compare { font-size: 11px; }
@media (max-width: 1199px) { .catalog-products.is-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
  .catalog-toolbar .catalog-view-switch { justify-content: center; }
  .catalog-products.is-grid { grid-template-columns: 1fr; }
  .catalog-products.is-grid .catalog-product-row { min-height: 0; }
  .catalog-products.is-grid .catalog-product-image { height: 220px; flex-basis: 220px; }
  .catalog-products.is-grid .catalog-product-image img { max-height: 210px; }
}
@media (prefers-reduced-motion: reduce) { .catalog-spec-group[open] .catalog-spec-options { animation: none; } }
@media (prefers-reduced-motion: reduce) { .catalog-section-nav-children-wrap, .catalog-section-nav-root i { transition: none; } }

/* Light category path with menus for switching section and series. */
.catalog-path { position: relative; z-index: 80; display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin: 11px 0 23px; padding: 0; color: #9aa3af; font-size: 12px; line-height: 1.5; }
.catalog-path > a { color: #8d98a6; text-decoration: none; }
.catalog-path > a:hover { color: var(--accent-hover); }
.catalog-path-separator { flex: 0 0 15px; width: 15px; height: 1px; background: #d4dbe2; }
.catalog-path-dropdown { position: relative; }
.catalog-path-dropdown[open] { z-index: 90; }
.catalog-path-dropdown summary { display: inline-flex; align-items: center; gap: 6px; max-width: 310px; list-style: none; color: var(--ink-soft); white-space: nowrap; cursor: pointer; }
.catalog-path-dropdown:first-of-type summary { color: var(--accent-hover); }
.catalog-path-dropdown summary::-webkit-details-marker { display: none; }
.catalog-path-dropdown summary i { font-size: 9px; transition: transform .2s ease; }
.catalog-path-dropdown[open] summary i { transform: rotate(180deg); }
.catalog-path-dropdown summary:hover { color: var(--accent-hover); }
.catalog-path-dropdown summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.catalog-path-menu { position: absolute; top: 100%; left: -12px; display: grid; gap: 2px; width: max-content; min-width: 250px; max-width: min(340px, calc(100vw - 30px)); max-height: 320px; overflow-y: auto; padding: 9px; border: 1px solid var(--line); border-radius: 4px; background: #fff; box-shadow: 0 16px 32px rgba(20,33,57,.16); animation: catalog-filter-slide .16s ease-out both; }
.catalog-path-menu a { display: block; padding: 9px 11px; border-radius: 3px; color: var(--ink-soft); font-size: 12px; line-height: 1.3; text-decoration: none; white-space: normal; }
.catalog-path-menu a:hover, .catalog-path-menu a.is-active { background: var(--accent-tint); color: var(--accent-hover); }
.catalog-path-menu a.is-active { font-weight: 800; }
@media (max-width: 600px) {
  .catalog-path { gap: 7px; margin: 13px 0 20px; font-size: 11px; }
  .catalog-path-separator { flex-basis: 10px; width: 10px; }
  .catalog-path-dropdown summary { max-width: min(270px, calc(100vw - 40px)); overflow: hidden; text-overflow: ellipsis; }
  .catalog-path-menu { left: 0; }
}
@media (prefers-reduced-motion: reduce) { .catalog-path-menu { animation: none; } .catalog-path-dropdown summary i { transition: none; } }

/* Open, typographic category heading inspired by the supplied Virona reference. */
.catalog-category-heading { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin: 8px 0 42px; }
.catalog-category-heading h1 { margin: 0; color: var(--ink); font-family: 'Inter', sans-serif; font-size: clamp(34px, 3.2vw, 46px); font-weight: 500; line-height: 1.16; letter-spacing: -.035em; }
.catalog-category-count { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; min-height: 29px; padding: 3px 8px; border: 1px solid var(--line); border-radius: 3px; background: #fff; color: #9ca7b3; font-size: 14px; line-height: 1; }
@media (max-width: 600px) {
  .catalog-category-heading { gap: 10px; margin: 7px 0 30px; }
  .catalog-category-heading h1 { font-size: clamp(28px, 8vw, 36px); }
  .catalog-category-count { min-height: 25px; font-size: 12px; }
}

/* Sorting strip followed by compact facet pills, matching the catalog reference. */
.catalog-toolbar-virona { display: flex; align-items: center; justify-content: space-between; flex-wrap: nowrap; gap: 16px; min-height: 58px; margin: 0 0 18px; padding: 10px 17px; border: 1px solid var(--line); border-radius: 4px; background: #fff; }
.catalog-toolbar-virona > .catalog-toolbar-right { margin-right: 0; }
.catalog-sort-inline { position: relative; min-width: 0; flex: 1 1 280px; }
.catalog-sort-inline select { width: 100%; max-width: 420px; height: 35px; padding: 5px 24px 5px 4px; border: 0; outline: 0; appearance: none; background: transparent; color: var(--ink-soft); font-size: 13px; cursor: pointer; }
.catalog-sort-inline i { position: absolute; top: 12px; left: min(390px, calc(100% - 18px)); color: var(--ink); font-size: 10px; pointer-events: none; }
.catalog-toolbar-right { display: flex; align-items: center; justify-content: flex-end; gap: 14px; flex: 0 0 auto; }
.catalog-toolbar-virona .catalog-toolbar-search { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 32px; padding: 4px 14px 4px 0; border: 0; border-right: 1px solid var(--line); background: transparent; color: var(--ink-soft); font-size: 12px; font-weight: 700; white-space: nowrap; }
.catalog-toolbar-virona .catalog-toolbar-search i { color: var(--accent); font-size: 14px; }
.catalog-toolbar-virona .catalog-toolbar-search:hover { color: var(--accent-hover); }
.catalog-toolbar-virona .catalog-toolbar-search:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.catalog-toolbar-virona #compare-total { padding: 0; color: var(--muted); font-size: 11px; white-space: nowrap; }
.catalog-toolbar-virona .catalog-view-switch { display: inline-flex; gap: 2px; margin: 0; padding: 0 0 0 13px; border: 0; border-left: 1px solid var(--line); border-radius: 0; background: transparent; }
.catalog-toolbar-virona .catalog-view-switch button { width: 32px; min-height: 32px; padding: 5px; background: transparent; color: #98a3ae; font-size: 14px; }
.catalog-toolbar-virona .catalog-view-switch button.is-active { color: var(--accent); }
.catalog-toolbar-virona .catalog-view-switch button:hover { color: var(--accent-hover); }
.catalog-limit-inline { border-left: 1px solid var(--line); padding-left: 12px; }
.catalog-limit-inline select { height: 32px; padding: 2px 5px; border: 0; background: transparent; color: var(--muted); font-size: 11px; cursor: pointer; }
.catalog-spec-filters { display: flex; align-items: flex-start; gap: 12px; margin: 0 0 19px; }
.catalog-filter-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 24px; height: 36px; color: var(--ink); font-size: 14px; }
.catalog-spec-filters .catalog-spec-form { flex: 1; gap: 8px; }
.catalog-spec-group summary { min-height: 33px; padding: 7px 10px; color: var(--ink-soft); font-size: 12px; font-weight: 500; }
.catalog-spec-actions { min-height: 33px; }
.catalog-spec-actions a { color: var(--muted); font-size: 11px; }
@media (max-width: 991px) {
  .catalog-toolbar-virona { flex-wrap: wrap; }
  .catalog-sort-inline { flex-basis: 100%; }
  .catalog-toolbar-right { width: 100%; justify-content: space-between; }
  .catalog-filter-icon { display: none; }
  .catalog-spec-filters { display: block; }
}
@media (max-width: 600px) {
  .catalog-toolbar-virona .catalog-toolbar-search { min-width: 31px; padding-right: 7px; }
  .catalog-toolbar-virona .catalog-toolbar-search span { display: none; }
  .catalog-toolbar-virona { padding: 10px 12px; }
  .catalog-toolbar-right { gap: 7px; }
  .catalog-toolbar-virona #compare-total { font-size: 10px; }
  .catalog-limit-inline { padding-left: 7px; }
}

