/* VIA PARTS · Brand descriptions, unframed manufacturer logos and live CMS ribbon
   Production stylesheet, 2026-10-15. Keep existing storefront styles in site.css. */

/* Native, accessible four-sentence/four-line description expansion. */
.via-brand-readmore,.via-brand-description-short {
  color:#344457;
  font-size:clamp(14px,1.08vw,15.5px);
  line-height:1.75;
}
.via-brand-readmore{display:block;max-width:90ch}
.via-brand-readmore-summary{display:block;list-style:none;cursor:pointer}
.via-brand-readmore-summary::-webkit-details-marker{display:none}
.via-brand-readmore-summary::marker{display:none;content:""}
.via-brand-readmore-preview{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
  line-clamp:4;
  overflow:hidden;
  max-height:calc(1.75em * 4);
  white-space:pre-line;
}
.via-brand-readmore-control{
  margin-top:8px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:13px;
  font-weight:850;
  line-height:1.5;
  color:#c70e29;
  padding:7px 0;
  border-bottom:1px solid #e8a3ab;
}
.via-brand-readmore-summary:hover .via-brand-readmore-control,
.via-brand-readmore-summary:focus-visible .via-brand-readmore-control {
  color:#981324;border-color:#981324
}
.via-brand-readmore-summary:focus-visible{outline:2px solid #d31335;outline-offset:5px;border-radius:4px}
.via-brand-readmore-chevron{font-size:19px;line-height:.9;display:inline-block;transition:transform .2s ease}
.via-brand-readmore-less{display:none}
.via-brand-readmore[open] .via-brand-readmore-preview{display:none}
.via-brand-readmore[open] .via-brand-readmore-more{display:none}
.via-brand-readmore[open] .via-brand-readmore-less{display:inline}
.via-brand-readmore[open] .via-brand-readmore-chevron{transform:rotate(180deg)}
.via-brand-readmore[open] .via-brand-readmore-control{margin:0 0 9px}
.via-brand-readmore-full,.via-brand-description-short{white-space:pre-line}
.via-brand-readmore-full{line-height:1.8}
.via-brand-editorial-title{font-size:clamp(22px,2.3vw,30px)!important;margin:0 0 12px!important;font-weight:900}
.brand-about-main{border-color:#e9eef3;padding:clamp(18px,2.2vw,28px)!important}
.brand-about-grid{grid-template-columns:minmax(0,1.65fr) minmax(230px,.6fr)}
.brand-origin-row{margin-bottom:4px}
.brand-origin-footnote{margin-top:4px}
.via-manufacturer-name{font-size:clamp(18px,1.6vw,22px);margin:0 0 5px;line-height:1.2}

/* True borderless logos against the surrounding surface (white PNG backgrounds blend). */
.brand-hero{
  color:#16243a!important;
  background:linear-gradient(105deg,#f5f8fb 0%,#ffffff 48%,#e8eff7 100%)!important;
}
.brand-hero::before{opacity:.10!important}
.brand-hero-shade{background:linear-gradient(90deg,#f6fafff5 0%,#f8fbfded 54%,#f8fbfddd 100%)!important}
.brand-logo-box{
  width:clamp(115px,16vw,202px)!important;
  height:clamp(80px,8.5vw,106px)!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
  display:grid;
  place-items:center;
}
.brand-logo-box img{
  display:block;
  width:100%;height:100%;
  max-width:100%;max-height:100%;
  object-fit:contain;
  mix-blend-mode:multiply;
}
.brand-logo-box span{color:#c30e2b!important}
.brand-identity.logo-dark .brand-logo-box img{filter:brightness(.05)}
.brand-hero-meta span{
  color:#45566c!important;
  background:#edf2f78c!important;
  border-color:#dde5ee!important;
}
.brand-hero h1{color:#152239!important}
.brand-hero .market-kicker{color:#ae1831!important}
.brand-hero .market-secondary{color:#203650;border-color:#b4c2d4;background:#fff}
.brand-hero .brand-country-label{color:#45566c}
.manufacturer-logo{
  width:140px!important;height:84px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.manufacturer-logo img{width:100%;height:100%;max-height:100%;max-width:100%;object-fit:contain;mix-blend-mode:multiply}
.manufacturer-head{gap:20px;margin-bottom:17px}
.manufacturer-box{border-color:#e9eef3}
.manufacturer-links{margin-top:15px}
.manufacturer-links a:hover{color:#890c1f}
.brands-directory-grid{column-gap:18px;row-gap:10px}
.brands-directory .brand-directory-card{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:12px 8px 14px!important;
  position:relative;
  transition:transform .2s ease,background-color .2s ease;
}
.brands-directory .brand-directory-card::after{
  content:"";position:absolute;inset:auto 18% 4px;height:2px;border-radius:5px;
  background:#d30c2e;transform:scaleX(0);transition:transform .22s ease
}
.brands-directory .brand-directory-card:hover,
.brands-directory .brand-directory-card:focus-visible{background:#f6f8fa!important;transform:translateY(-2px)}
.brands-directory .brand-directory-card:is(:hover,:focus-visible)::after{transform:scaleX(1)}
.brands-directory .brand-directory-logo img{mix-blend-mode:multiply}

/* Full-width manufacturer spotlight directly below the main category navigation. */
.via-brand-spotlight{
  margin-top:20px;
  padding:16px 0 18px;
  border-top:1px solid #e8ecf0;
  border-bottom:1px solid #e8ecf0;
  background:linear-gradient(180deg,#fff,#fafcfe);
  min-width:0;
}
.via-brand-spotlight-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:10px}
.via-brand-spotlight-heading h2{
  margin:4px 0 0;
  font-weight:950;
  font-size:clamp(17px,2vw,22px);
  line-height:1.2;
  color:#202b39
}
.via-brand-spotlight-all{
  font-size:12px;font-weight:850;color:#cc1530;text-decoration:none;
  white-space:nowrap;
}
.via-brand-spotlight-all:hover,.via-brand-spotlight-all:focus-visible{text-decoration:underline}
.via-brand-carousel{display:grid;grid-template-columns:35px minmax(0,1fr) 35px;align-items:center;gap:4px;min-width:0}
.via-brand-carousel-viewport{
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:18px;
  scrollbar-width:none;
  min-width:0;
  padding:12px 3px 12px;
}
.via-brand-carousel-viewport::-webkit-scrollbar{display:none}
.via-brand-carousel-viewport:focus-visible{outline:2px solid #d31131;outline-offset:1px;border-radius:8px}
.via-brand-carousel-track{display:flex;align-items:center;gap:10px;min-width:max-content}
.via-brand-carousel-logo{
  width:clamp(115px,13.4vw,174px);flex:0 0 clamp(115px,13.4vw,174px);
  height:92px;
  display:flex;align-items:center;justify-content:center;
  padding:10px 11px 13px;
  position:relative;
  text-decoration:none;
  background:transparent;
  border:0!important;
  border-radius:10px;
  box-shadow:none;
  scroll-snap-align:center;
  transition:transform .18s ease,background-color .18s ease,filter .18s ease;
  filter:saturate(.84);
}
.via-brand-carousel-logo img{
  display:block;
  width:100%;
  height:62px;
  max-width:155px;
  max-height:68px;
  object-fit:contain;
  object-position:center;
  mix-blend-mode:multiply;
}
.via-brand-carousel-logo.logo-dark img{filter:brightness(.07)}
.via-brand-carousel-logo::after{
  content:"";position:absolute;left:21%;right:21%;bottom:3px;height:3px;
  border-radius:3px;background:#ce1730;transform:scaleX(0);
  transition:transform .18s ease;
}
.via-brand-carousel-logo.is-spotlight,
.via-brand-carousel-logo:hover,
.via-brand-carousel-logo:focus-visible{
  transform:translateY(-2px) scale(1.075);
  background:#fff3f4;
  filter:none;
  z-index:2;
}
.via-brand-carousel-logo:is(.is-spotlight,:hover,:focus-visible)::after{transform:scaleX(1)}
.via-brand-carousel-logo:focus-visible{outline:2px solid #c91532;outline-offset:2px}
.via-brand-carousel-arrow{
  width:33px;height:43px;padding:0;
  display:grid;place-items:center;
  border-radius:50%;
  border:1px solid #dce4ed;
  background:#fff;
  color:#1a3048;
  font-weight:750;font-size:25px;
  cursor:pointer;
}
.via-brand-carousel-arrow:hover,.via-brand-carousel-arrow:focus-visible{background:#142840;color:#fff}
.via-brand-carousel-arrow:disabled{opacity:.33;cursor:default}
.via-brand-card-hint{
  font-size:12px!important;
  color:#687583!important;
  font-weight:650;
  max-width:160px;
  margin:0;
}

/* CMS-powered promotional ribbon: no fabricated percentages or dates. */
.via-offer-ticker{
  display:flex;align-items:stretch;
  margin:13px 0 0;
  width:100%;
  min-height:46px;
  border-radius:9px;
  overflow:hidden;
  background:#162233;
  box-shadow:0 5px 15px #14223815;
  color:#fff;
}
.via-offer-ticker-label{
  flex:0 0 auto;
  display:flex;align-items:center;gap:8px;
  padding:0 20px;
  background:#d30f30;
  font-weight:950;
  letter-spacing:.085em;
  font-size:13px;
  white-space:nowrap;
  position:relative;
  z-index:2;
}
.via-offer-ticker-label span{font-size:19px}
.via-offer-ticker-viewport{min-width:0;flex:1;overflow:hidden;display:flex;align-items:center;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.via-offer-ticker-track{display:flex;width:max-content;align-items:stretch;animation:via-offer-scroll 36s linear infinite;will-change:transform}
.via-offer-ticker-set{display:flex;flex:none;align-items:stretch;width:max-content;white-space:nowrap}
.via-offer-item{display:flex;align-items:center;gap:13px;padding:8px 34px 8px 25px;color:#f7f9fc!important;font-size:13px;font-weight:780;text-decoration:none;min-height:46px}
.via-offer-item:hover,.via-offer-item:focus-visible{background:#ffffff16;color:#fff!important}
.via-offer-item-dot{color:#ff5870;font-size:10px}
.via-offer-pause{
  flex:0 0 42px;
  padding:0;
  margin:0;border:0;border-left:1px solid #ffffff24;
  border-radius:0;
  background:#203149;color:#fff;
  font-size:16px;font-weight:800;cursor:pointer;
}
.via-offer-pause:hover,.via-offer-pause:focus-visible{background:#314b70}
.via-offer-ticker:hover .via-offer-ticker-track,
.via-offer-ticker:focus-within .via-offer-ticker-track,
.via-offer-ticker.is-paused .via-offer-ticker-track{
  animation-play-state:paused!important;
}
@keyframes via-offer-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

@media(max-width:900px){
  .via-brand-carousel-logo{height:78px;width:clamp(115px,22vw,165px);flex-basis:clamp(115px,22vw,165px)}
  .via-brand-carousel-logo img{height:58px}
  .via-offer-item{padding-inline:18px;font-size:12px}
  .brand-hero-inner{padding-top:24px;padding-bottom:24px}
}
@media(max-width:600px){
  .via-brand-spotlight{margin-top:12px;padding:13px 0}
  .via-brand-spotlight-heading{gap:8px;align-items:start}
  .via-brand-spotlight-heading h2{font-size:17px}
  .via-brand-spotlight-all{font-size:11px}
  .via-brand-carousel{grid-template-columns:26px minmax(0,1fr) 26px;gap:3px}
  .via-brand-carousel-arrow{width:25px;height:34px;font-size:20px}
  .via-brand-carousel-logo{width:118px;flex-basis:118px;height:72px;padding:7px 6px}
  .via-brand-carousel-logo img{height:51px}
  .via-offer-ticker{min-height:40px;border-radius:7px}
  .via-offer-ticker-label{padding:0 10px;font-size:10px;letter-spacing:.05em;gap:5px}
  .via-offer-ticker-label span{font-size:13px}
  .via-offer-pause{flex-basis:34px}
  .via-offer-item{min-height:40px;padding:6px 19px;font-size:11px;gap:7px}
  .brand-logo-box{width:104px!important;height:75px!important}
  .manufacturer-logo{width:95px!important;height:68px!important}
  .via-brand-readmore,.via-brand-description-short{font-size:14px}
  .brand-about-grid{grid-template-columns:1fr}
  .via-brand-card-hint{max-width:none}
}
@media(prefers-reduced-motion:reduce){
  .via-offer-ticker-track{animation:none!important;will-change:auto}
  .via-offer-ticker-viewport{overflow-x:auto;scrollbar-width:thin;mask-image:none}
  .via-brand-carousel-logo,.via-brand-carousel-logo::after,.via-brand-readmore-chevron{transition:none}
  .via-brand-carousel-viewport{scroll-behavior:auto}
}
