/* Padangutes storefront V52: shared design foundation and responsive M1 shell. */
:root {
  --v52-navy: #062f4f;
  --v52-navy-strong: #04243d;
  --v52-copper: #c87543;
  --v52-coral: #ff3b30;
  --v52-blue: #1677ff;
  --v52-green: #079455;
  --v52-ink: #102a3d;
  --v52-muted: #667785;
  --v52-surface: #fff;
  --v52-surface-cool: #f6f8fa;
  --v52-border: #dce3e8;
  --v52-focus: 0 0 0 3px rgba(22,119,255,.24);
  --v52-radius-sm: 4px;
  --v52-radius: 8px;
  --v52-space-1: 4px;
  --v52-space-2: 8px;
  --v52-space-3: 12px;
  --v52-space-4: 16px;
  --v52-space-5: 24px;
  --v52-space-6: 32px;
  --v52-text-xs: .75rem;
  --v52-text-sm: .875rem;
  --v52-text-base: 1rem;
  --v52-text-lg: 1.125rem;
  --v52-content: 1824px;
  --v52-header-desktop: 100px;
  --v52-header-tablet: 148px;
}

body:not(#checkout) {
  color: var(--v52-ink);
  font-family: Inter, Avenir, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: var(--v52-text-base);
  overflow-x: clip;
}

body:not(#checkout) :where(a,button,input,select,textarea):focus-visible {
  outline: 2px solid var(--v52-blue);
  outline-offset: 2px;
  box-shadow: var(--v52-focus);
}

body:not(#checkout) #header {
  min-height: var(--v52-header-desktop);
  color: var(--v52-navy);
  background: var(--v52-surface);
  border-bottom: 1px solid var(--v52-border);
  box-shadow: none;
}

body:not(#checkout) #header .header__banner,
body:not(#checkout) #header .topbar { display: none; }

.v52-header { background: var(--v52-surface); }
.v52-header__inner {
  width: min(100% - 48px, var(--v52-content));
  height: 99px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 260px minmax(560px,1fr) minmax(280px,360px) auto;
  grid-template-areas: "brand nav search actions";
  align-items: center;
  gap: var(--v52-space-4);
}
.v52-brand { grid-area: brand; display: flex; width: 260px; color: var(--v52-navy); }
.v52-logo { display: block; width: 100%; height: auto; }
.v52-nav { grid-area: nav; min-width: 0; height: 64px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.v52-nav__item {
  position: relative;
  min-width: 0;
  padding: 13px 12px 11px;
  color: var(--v52-navy);
  border-left: 1px solid var(--v52-border);
  text-align: center;
  text-decoration: none;
  line-height: 1.15;
}
.v52-nav__item:last-child { border-right: 1px solid var(--v52-border); }
.v52-nav__item span,.v52-nav__item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v52-nav__item span { font-size: var(--v52-text-base); font-weight: 700; }
.v52-nav__item small { margin-top: 5px; color: var(--v52-muted); font-size: var(--v52-text-sm); font-weight: 500; }
.v52-nav__item::after { content:""; position:absolute; right:12px; bottom:0; left:12px; height:2px; background:var(--v52-coral); transform:scaleX(0); transform-origin:center; }
.v52-nav__item:hover,.v52-nav__item:focus-visible { color: var(--v52-blue); }
.v52-nav__item:hover::after,.v52-nav__item.is-active::after { transform: scaleX(1); }
.v52-search { grid-area: search; min-width: 0; }
.v52-search,.v52-search #_desktop_search,.v52-search .search.js-search-widget,.v52-search form { width:100%; height:48px; box-sizing:border-box; }
.v52-search .search.js-search-widget { overflow:visible; }
.v52-search form { position:relative; display:flex; overflow:visible; }
.v52-search input[type="search"] { width:100%; height:48px; padding:0 52px 0 16px; color:var(--v52-ink); background:var(--v52-surface-cool); border:1px solid var(--v52-border); border-radius:var(--v52-radius); font-size:var(--v52-text-base); }
.v52-search input[type="search"],.v52-search button { box-sizing:border-box; min-height:48px; max-height:48px; }
.v52-search input[type="search"]::placeholder { color: #788996; opacity: 1; }
.v52-search button { position:absolute; inset:0 0 0 auto; width:48px; height:48px; padding:0; display:grid; place-items:center; color:var(--v52-navy); background:transparent; border:0; }
.v52-search button .material-icons { font-size:22px; }
.v52-search .search-widgets__dropdown { z-index: 1030; top: calc(100% + 6px); width:100%; border:1px solid var(--v52-border); border-radius:var(--v52-radius); box-shadow:0 8px 24px rgba(6,47,79,.1); }
#header .v52-search #search_widget { width:100%; height:48px; padding:0; overflow:visible; box-sizing:border-box; }
#header .v52-search #search_widget form { width:100%; height:48px; overflow:visible; box-sizing:border-box; }
#header .v52-search #search_widget form input[type="search"] { height:48px; min-height:48px; max-height:48px; padding:0 52px 0 16px; border:1px solid var(--v52-border); border-radius:var(--v52-radius); box-sizing:border-box; }
#header .v52-search #search_widget form button { width:48px; height:48px; min-height:48px; max-height:48px; box-sizing:border-box; }
.v52-actions { grid-area: actions; display:flex; align-items:center; justify-content:flex-end; gap:4px; }
.v52-actions > div,.v52-actions #_desktop_user_info,.v52-actions #_desktop_cart { display:flex; align-items:center; }
.v52-actions .header-block__action-btn,.v52-menu-button { position:relative; min-width:44px; height:44px; padding:0 10px; display:flex; align-items:center; justify-content:center; gap:6px; color:var(--v52-navy); background:transparent; border:0; border-radius:var(--v52-radius-sm); text-decoration:none; }
.v52-actions .header-block__action-btn:hover,.v52-menu-button:hover { color:var(--v52-blue); background:var(--v52-surface-cool); }
.v52-actions .header-block__icon { width:22px; height:22px; }
.v52-actions .header-block__title { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.v52-actions .dropdown-toggle::after { display:none; }
.v52-actions .header-block__badge { position:absolute; top:2px; right:1px; min-width:18px; height:18px; padding:0 4px; display:grid; place-items:center; color:#fff; background:var(--v52-coral); border:2px solid #fff; border-radius:999px; font-size:10px; font-weight:700; line-height:1; }
.v52-menu-button { display:none; }
.v52-menu-button__lines,.v52-menu-button__lines::before,.v52-menu-button__lines::after { width:21px; height:2px; display:block; background:currentColor; border-radius:2px; }
.v52-menu-button__lines { position:relative; }
.v52-menu-button__lines::before,.v52-menu-button__lines::after { content:""; position:absolute; left:0; }
.v52-menu-button__lines::before { top:-7px; }.v52-menu-button__lines::after { top:7px; }
.v52-mobile-menu { color:var(--v52-navy); max-width:min(88vw,360px); }
.v52-mobile-menu .offcanvas-header { min-height:64px; border-bottom:1px solid var(--v52-border); }
.v52-mobile-menu .offcanvas-title { font-weight:750; }
.v52-mobile-menu__close { width:44px; height:44px; padding:12px; background-position:center; }
.v52-mobile-menu .offcanvas-body { padding:0; }
.v52-mobile-menu__item { min-height:68px; padding:13px 20px; display:flex; flex-direction:column; justify-content:center; color:var(--v52-navy); border-bottom:1px solid var(--v52-border); text-decoration:none; }
.v52-mobile-menu__item span { font-weight:700; }.v52-mobile-menu__item small { margin-top:4px; color:var(--v52-muted); }
.v52-menu-backdrop { position:fixed; z-index:1044; inset:0; width:100%; height:100%; padding:0; background:rgba(4,36,61,.42); border:0; opacity:0; transition:opacity .2s ease; }
.v52-menu-backdrop.is-open { opacity:1; }
body.v52-menu-open { overflow:hidden !important; }
body.v52-menu-open:not(#checkout) #header { position:relative; z-index:1046; }

body:not(#checkout) #footer { border-top:1px solid var(--v52-border); background:var(--v52-surface-cool); box-shadow:none; }
body:not(#checkout) #footer a:focus-visible { border-radius:2px; }

@media (max-width: 1399.98px) and (min-width: 1200px) {
  .v52-header__inner { width:min(100% - 32px,var(--v52-content)); grid-template-columns:190px minmax(430px,1fr) minmax(205px,260px) auto; gap:10px; }
  .v52-brand { width:185px; }
  .v52-nav__item { padding-inline:8px; }
  .v52-actions .header-block__title { display:none !important; }
}

@media (min-width: 1440px) {
  .v52-header__inner { width:min(100% - 48px,var(--v52-content)); gap:16px; }
}

@media (max-width: 1199.98px) and (min-width: 768px) {
  body:not(#checkout) #header { min-height:var(--v52-header-tablet); }
  .v52-header__inner { width:min(100% - 32px,var(--v52-content)); height:147px; padding-top:10px; grid-template-columns:190px minmax(220px,1fr) auto; grid-template-rows:62px 64px; grid-template-areas:"brand search actions" "nav nav nav"; gap:0 16px; }
  .v52-brand { width:185px; }
  .v52-nav { width:100%; height:64px; }
  .v52-actions .header-block__title { display:none !important; }
}

@media (max-width: 767.98px) {
  body:not(#checkout) #header { min-height:132px; }
  .v52-header__inner { width:100%; height:131px; padding:0 12px 12px; grid-template-columns:minmax(132px,1fr) auto; grid-template-rows:72px 47px; grid-template-areas:"brand actions" "search search"; gap:0 8px; }
  .v52-brand { width:min(178px,46vw); min-width:132px; }
  .v52-nav { display:none; }
  .v52-menu-button { display:flex; }
  .v52-actions { gap:0; }
  .v52-actions .header-block__action-btn,.v52-menu-button { min-width:44px; width:44px; padding:0; }
  .v52-actions .header-block__title { display:none !important; }
  .v52-search,.v52-search #_desktop_search,.v52-search .search.js-search-widget,.v52-search form { height:44px; }
  .v52-search input[type="search"] { height:44px; min-height:44px; max-height:44px; font-size:16px; }
  .v52-search button { width:44px; height:44px; min-height:44px; max-height:44px; }
  #header .v52-search #search_widget,#header .v52-search #search_widget form { height:44px; }
  #header .v52-search #search_widget form input[type="search"] { height:44px; min-height:44px; max-height:44px; padding-right:48px; }
  #header .v52-search #search_widget form button { width:44px; height:44px; min-height:44px; max-height:44px; }
  .v52-mobile-menu.offcanvas { display:block !important; position:fixed; z-index:1047; inset:0 auto 0 0; width:min(88vw,360px); max-width:none; height:100dvh; visibility:hidden; transform:translateX(-100%); background:var(--v52-surface); transition:transform .2s ease,visibility 0s linear .2s; }
  .v52-mobile-menu.is-open { visibility:visible; transform:translateX(0); transition-delay:0s; }
}

@media (max-width: 359.98px) {
  .v52-header__inner { padding-inline:8px; }
  .v52-brand { width:132px; min-width:132px; }
  .v52-actions .header-block__action-btn,.v52-menu-button { min-width:42px; width:42px; }
}

@media (prefers-reduced-motion: reduce) {
  .v52-nav__item::after,.v52-mobile-menu,.v52-menu-backdrop { transition:none; }
}

/* Homepage V52 ------------------------------------------------------------ */
body.page-index { background:var(--v52-surface-cool); }
body.page-index #content-wrapper { padding-bottom:0; }
body.page-index .v52-home {
  width:min(100% - 48px,var(--v52-content));
  margin:0 auto;
  padding:32px 0 72px;
  display:grid;
  grid-template-columns:396px minmax(0,1fr);
  grid-template-areas:"rail intro" "rail finder" "rail deal" "editorial top";
  gap:24px 28px;
  align-items:start;
}
body.page-index .v52-home__intro { grid-area:intro; padding:8px 4px 0; }
body.page-index .v52-home__intro h1 { margin:3px 0 8px; color:var(--v52-navy); font-size:clamp(2rem,2.6vw,2.75rem); line-height:1.05; letter-spacing:-.035em; }
body.page-index .v52-home__intro > p:last-child { margin:0; color:var(--v52-muted); font-size:var(--v52-text-lg); }
body.page-index .v52-home__eyebrow { margin:0 0 4px; color:var(--v52-copper); font-size:var(--v52-text-xs); font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
body.page-index .v52-home__finder { grid-area:finder; min-width:0; }
body.page-index .v52-home__deal { grid-area:deal; min-width:0; }
body.page-index .v52-home__top { grid-area:top; min-width:0; }

body.page-index .v52-discovery { grid-area:rail; position:sticky; top:116px; padding:24px; background:var(--v52-surface); border:1px solid var(--v52-border); border-radius:var(--v52-radius); }
body.page-index .v52-discovery__head h2,body.page-index .v52-editorial h2,body.page-index .v52-section-head h2 { margin:0; color:var(--v52-navy); letter-spacing:-.025em; }
body.page-index .v52-discovery__head h2 { font-size:1.65rem; }
body.page-index .v52-discovery__head > p:last-child { margin:7px 0 20px; color:var(--v52-muted); font-size:var(--v52-text-sm); }
body.page-index .v52-discovery a { text-decoration:none; }
body.page-index .v52-discovery__primary { min-height:72px; padding:12px; display:flex; align-items:center; gap:12px; color:#fff; background:var(--v52-navy); border-radius:var(--v52-radius); }
body.page-index .v52-discovery__primary strong,body.page-index .v52-discovery__primary small,body.page-index .v52-seasons strong,body.page-index .v52-seasons small,body.page-index .v52-vehicle-routes strong,body.page-index .v52-vehicle-routes small { display:block; }
body.page-index .v52-discovery__primary small { margin-top:4px; color:rgba(255,255,255,.7); }
body.page-index .v52-route-icon { width:42px; height:42px; display:grid; place-items:center; flex:0 0 auto; border:1px solid rgba(255,255,255,.28); border-radius:50%; }
body.page-index .v52-route-icon svg { width:25px; fill:none; stroke:currentColor; stroke-width:1.6; }
body.page-index .v52-seasons { margin-top:12px; display:grid; gap:8px; }
body.page-index .v52-seasons a { min-height:64px; padding:9px 12px; display:flex; align-items:center; gap:12px; color:var(--v52-navy); background:var(--v52-surface-cool); border:1px solid var(--v52-border); border-radius:var(--v52-radius-sm); }
body.page-index .v52-seasons a:hover { border-color:var(--v52-blue); }
body.page-index .v52-seasons svg { width:28px; height:28px; flex:0 0 auto; fill:none; stroke:var(--v52-copper); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
body.page-index .v52-seasons small,body.page-index .v52-vehicle-routes small { margin-top:3px; color:var(--v52-muted); font-size:var(--v52-text-xs); }
body.page-index .v52-sizes { margin-top:22px; }
body.page-index .v52-sizes h3 { margin:0 0 10px; color:var(--v52-navy); font-size:var(--v52-text-base); }
body.page-index .v52-sizes > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
body.page-index .v52-sizes a { min-height:44px; padding:8px; display:grid; place-items:center; color:var(--v52-navy); background:#fff; border:1px solid var(--v52-border); border-radius:var(--v52-radius-sm); font-size:var(--v52-text-sm); font-weight:700; }
body.page-index .v52-sizes a:hover { color:var(--v52-blue); border-color:var(--v52-blue); }
body.page-index .v52-vehicle-routes { margin-top:18px; border-top:1px solid var(--v52-border); }
body.page-index .v52-vehicle-routes a { min-height:64px; padding:12px 4px; display:flex; flex-direction:column; justify-content:center; color:var(--v52-navy); border-bottom:1px solid var(--v52-border); }

body.page-index .v52-editorial { grid-area:editorial; overflow:hidden; color:#fff; background:var(--v52-navy); border-radius:var(--v52-radius); }
body.page-index .v52-editorial__art { height:128px; position:relative; overflow:hidden; background:linear-gradient(145deg,#0a3b60,var(--v52-navy-strong)); }
body.page-index .v52-editorial__art::before,body.page-index .v52-editorial__art::after { content:""; position:absolute; inset:-45px 38px; border:14px solid rgba(255,255,255,.08); border-radius:46%; transform:rotate(24deg); }
body.page-index .v52-editorial__art::after { inset:-55px 115px; border-color:rgba(200,117,67,.34); }
body.page-index .v52-editorial__art span { position:absolute; width:70px; height:10px; background:rgba(255,255,255,.13); transform:rotate(-24deg); }
body.page-index .v52-editorial__art span:nth-child(1){left:32px;top:25px}body.page-index .v52-editorial__art span:nth-child(2){left:145px;top:65px}body.page-index .v52-editorial__art span:nth-child(3){right:30px;top:28px}
body.page-index .v52-editorial > div:last-child { padding:22px; }
body.page-index .v52-editorial h2 { color:#fff; font-size:1.35rem; }
body.page-index .v52-editorial p:not(.v52-home__eyebrow) { margin:8px 0 18px; color:rgba(255,255,255,.72); }
body.page-index .v52-editorial__state { min-height:40px; padding:9px 12px; display:inline-flex; align-items:center; color:rgba(255,255,255,.7); border:1px solid rgba(255,255,255,.25); border-radius:var(--v52-radius-sm); font-size:var(--v52-text-sm); }

body.page-index .v52-home-finder .finder-card { padding:20px; background:var(--v52-surface); border:1px solid var(--v52-border); border-radius:var(--v52-radius); box-shadow:none; }
body.page-index .v52-home-finder .finder-head { margin-bottom:14px; }
body.page-index .v52-home-finder .finder-h { margin:0; color:var(--v52-navy); font-size:1.35rem; }
body.page-index .v52-home-finder .finder-form { display:grid; grid-template-columns:minmax(0,3fr) minmax(150px,1fr) minmax(176px,auto); gap:12px; align-items:end; }
body.page-index .v52-home-finder .pane { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
body.page-index .v52-home-finder .field { min-width:0; }
body.page-index .v52-home-finder .field > span { display:block; margin-bottom:6px; color:var(--v52-navy); font-size:var(--v52-text-xs); font-weight:700; }
body.page-index .v52-home-finder select { width:100%; height:48px; padding:0 36px 0 12px; color:var(--v52-ink); background-color:#fff; border:1px solid var(--v52-border); border-radius:var(--v52-radius-sm); }
body.page-index .v52-home-finder .btn.primary { min-height:48px; padding:0 22px; color:#fff; background:var(--v52-coral); border:1px solid var(--v52-coral); border-radius:var(--v52-radius-sm); font-weight:750; white-space:nowrap; }
body.page-index .v52-finder-trust { margin:16px 0 0; padding:14px 0 0; display:flex; flex-wrap:wrap; gap:10px 24px; color:var(--v52-muted); border-top:1px solid var(--v52-border); list-style:none; font-size:var(--v52-text-xs); }
body.page-index .v52-finder-trust li::before { content:"✓"; margin-right:7px; color:var(--v52-green); font-weight:800; }

body.page-index .v52-home-products { padding:20px; background:var(--v52-surface); border:1px solid var(--v52-border); border-radius:var(--v52-radius); }
body.page-index .v52-section-head { margin-bottom:15px; display:flex; align-items:end; justify-content:space-between; gap:16px; }
body.page-index .v52-section-head h2 { font-size:1.55rem; }
body.page-index .v52-section-link { min-height:44px; padding:9px 0; color:var(--v52-blue); font-weight:700; text-decoration:none; white-space:nowrap; }
body.page-index .v52-class-legend { margin:0; padding:0; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px 14px; color:var(--v52-muted); list-style:none; font-size:var(--v52-text-xs); }
body.page-index .v52-class-legend li { display:flex; align-items:center; gap:6px; }
body.page-index .v52-class-legend span { width:7px; height:7px; border-radius:50%; background:var(--v52-copper); }body.page-index .v52-class-legend .is-medium{background:var(--v52-blue)}body.page-index .v52-class-legend .is-economy{background:var(--v52-green)}
body.page-index .v52-home-products .products,body.page-index .v52-home-products .products.row { margin:0; padding:0; display:grid; gap:12px; list-style:none; }
body.page-index .v52-home-products article.product-miniature { width:100%; margin:0; padding:0; }
body.page-index .v52-home-products article.product-miniature .card { height:100%; padding:14px; display:grid; grid-template-columns:180px minmax(0,1fr) 190px; gap:16px; color:var(--v52-ink); background:#fff; border:1px solid var(--v52-border); border-radius:var(--v52-radius-sm); box-shadow:none; }
body.page-index .v52-home-products article.product-miniature .img { width:180px; height:180px; margin:0; overflow:hidden; position:relative; background:var(--v52-surface-cool); border:1px solid var(--v52-border); border-radius:var(--v52-radius-sm); }
body.page-index .v52-home-products article.product-miniature .img img { width:100%; height:100%; object-fit:contain; }
body.page-index .v52-home-products article.product-miniature .product-miniature__quickview_touch { display:none; }
body.page-index .v52-home-products article.product-miniature .mid { min-width:0; }
body.page-index .v52-home-products article.product-miniature .brandline { display:flex; align-items:center; justify-content:space-between; gap:8px; color:var(--v52-muted); font-size:var(--v52-text-xs); }
body.page-index .v52-home-products article.product-miniature .brandline__right { display:flex; gap:6px; }
body.page-index .v52-home-products article.product-miniature .brand-logo { max-width:90px; max-height:25px; object-fit:contain; }
body.page-index .v52-home-products article.product-miniature .name { margin:8px 0; color:var(--v52-navy); font-size:1.05rem; line-height:1.3; overflow:visible; white-space:normal; text-overflow:clip; }
body.page-index .v52-home-products article.product-miniature .mid a { text-decoration:none; }
body.page-index .v52-home-products article.product-miniature .specs { display:flex; flex-wrap:wrap; gap:5px 12px; color:var(--v52-muted); font-size:var(--v52-text-xs); }
body.page-index .v52-home-products article.product-miniature .eurow { margin-top:10px; display:flex; flex-wrap:wrap; gap:6px; }
body.page-index .v52-home-products article.product-miniature .pill { min-height:32px; padding:4px 8px; display:flex; align-items:center; gap:5px; color:var(--v52-muted); background:var(--v52-surface-cool); border:1px solid var(--v52-border); font-size:var(--v52-text-xs); }
body.page-index .v52-home-products article.product-miniature .eu-icon { width:18px; height:18px; object-fit:contain; }
body.page-index .v52-home-products article.product-miniature .stock { margin-top:9px; color:var(--v52-green); font-size:var(--v52-text-xs); font-weight:700; }
body.page-index .v52-home-products article.product-miniature .side { min-width:0; display:flex; flex-direction:column; justify-content:space-between; gap:10px; }
body.page-index .v52-home-products article.product-miniature .prices { position:relative; padding:12px; background:var(--v52-surface-cool); border:1px solid var(--v52-border); }
body.page-index .v52-home-products article.product-miniature .old { color:var(--v52-muted); text-decoration:line-through; font-size:var(--v52-text-sm); }
body.page-index .v52-home-products article.product-miniature .now { color:var(--v52-navy); font-size:1.35rem; font-weight:800; }
body.page-index .v52-home-products article.product-miniature .per { color:var(--v52-muted); font-size:.7rem; }
body.page-index .v52-home-products article.product-miniature .wishlist-slot { position:absolute; top:8px; right:8px; }
body.page-index .v52-home-products article.product-miniature .buy { display:grid; grid-template-columns:64px minmax(0,1fr); gap:8px; }
body.page-index .v52-home-products article.product-miniature .qty-select,body.page-index .v52-home-products article.product-miniature .buy .btn { width:100%; min-height:44px; }
body.page-index .v52-home-products article.product-miniature .qty-select { padding:0 8px; color:var(--v52-navy); background:#fff; border:1px solid var(--v52-border); border-radius:var(--v52-radius-sm); }
body.page-index .v52-home-products article.product-miniature .buy .btn { color:#fff; background:var(--v52-coral); border-color:var(--v52-coral); border-radius:var(--v52-radius-sm); }
body.page-index .v52-home-products article.product-miniature .more { min-height:44px; display:flex; align-items:center; justify-content:center; color:var(--v52-blue); text-decoration:none; font-size:var(--v52-text-sm); }
body.page-index .v52-top .products { grid-template-columns:repeat(2,minmax(0,1fr)); }
body.page-index .v52-top article.product-miniature .card { grid-template-columns:120px minmax(0,1fr) 136px; gap:12px; }
body.page-index .v52-top article.product-miniature .img { width:120px; height:120px; }
body.page-index .v52-top article.product-miniature .name { font-size:.95rem; }
body.page-index .v52-top article.product-miniature .specs { display:block; }
body.page-index .v52-top article.product-miniature .specs span { display:block; margin-bottom:3px; }

@media (max-width:1279.98px) and (min-width:1024px) {
  body.page-index .v52-home { width:min(100% - 32px,var(--v52-content)); grid-template-columns:288px minmax(0,1fr); gap:20px; }
  body.page-index .v52-discovery { padding:18px; top:166px; }
  body.page-index .v52-home-finder .finder-form { grid-template-columns:minmax(0,1fr) 142px; }
  body.page-index .v52-home-finder .pane { grid-column:1/-1; }
  body.page-index .v52-top article.product-miniature .card { grid-template-columns:105px minmax(0,1fr); }
  body.page-index .v52-top article.product-miniature .img { width:105px; height:105px; }
  body.page-index .v52-top article.product-miniature .side { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; }
}

@media (max-width:1023.98px) {
  body.page-index .v52-home { width:min(100% - 32px,var(--v52-content)); padding-top:24px; grid-template-columns:minmax(0,1fr); grid-template-areas:"intro" "finder" "rail" "deal" "top" "editorial"; gap:20px; }
  body.page-index .v52-discovery { position:static; padding:18px; }
  body.page-index .v52-seasons { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.page-index .v52-sizes > div { grid-template-columns:repeat(4,minmax(0,1fr)); }
  body.page-index .v52-vehicle-routes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; border-top:0; }
  body.page-index .v52-vehicle-routes a { padding:12px; border:1px solid var(--v52-border); border-radius:var(--v52-radius-sm); }
  body.page-index .v52-editorial { display:grid; grid-template-columns:240px 1fr; }
  body.page-index .v52-editorial__art { height:100%; min-height:180px; }
}

@media (min-width:768px) and (max-width:1023.98px) {
  body.page-index .v52-home .v52-top .products.row { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.page-index .v52-top article.product-miniature .card { grid-template-columns:96px minmax(0,1fr); gap:10px; padding:11px; }
  body.page-index .v52-top article.product-miniature .img { width:96px; height:96px; }
  body.page-index .v52-top article.product-miniature .side { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr); }
  body.page-index .v52-top article.product-miniature .buy { grid-template-columns:84px minmax(0,1fr); }
  body.page-index .v52-top article.product-miniature .buy .btn { white-space:nowrap; }
}

@media (max-width:767.98px) {
  body.page-index .v52-home { width:min(100% - 24px,var(--v52-content)); padding:20px 0 48px; grid-template-areas:"intro" "finder" "deal" "rail" "top" "editorial"; gap:16px; }
  body.page-index .v52-home__intro { padding:0; }
  body.page-index .v52-home__intro h1 { font-size:2rem; }
  body.page-index .v52-home__intro > p:last-child { font-size:var(--v52-text-base); }
  body.page-index .v52-home-finder .finder-card,body.page-index .v52-home-products { padding:15px; }
  body.page-index .v52-home-finder .finder-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.page-index .v52-home-finder .pane { display:contents; }
  body.page-index .v52-home-finder .btn.primary { grid-column:1/-1; width:100%; }
  body.page-index .v52-finder-trust { gap:8px 14px; }
  body.page-index .v52-section-head { align-items:flex-start; }
  body.page-index .v52-class-legend { display:none; }
  body.page-index .v52-home-products article.product-miniature .card,body.page-index .v52-top article.product-miniature .card { grid-template-columns:120px minmax(0,1fr); }
  body.page-index .v52-home-products article.product-miniature .img,body.page-index .v52-top article.product-miniature .img { width:120px; height:120px; }
  body.page-index .v52-home-products article.product-miniature .side,body.page-index .v52-top article.product-miniature .side { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; }
  body.page-index .v52-top .products { grid-template-columns:minmax(0,1fr); }
  body.page-index .v52-home-products article.product-miniature .brandline { min-width:0; max-width:100%; flex-wrap:wrap; justify-content:flex-start; }
  body.page-index .v52-home-products article.product-miniature .brandline__right { min-width:0; max-width:100%; display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
  body.page-index .v52-home-products article.product-miniature .brandline__right > * { flex:0 0 auto; max-width:100%; }
  body.page-index .v52-home-products article.product-miniature .class-pill,body.page-index .v52-home-products article.product-miniature .season-pill { white-space:nowrap; }
  body.page-index .v52-seasons { grid-template-columns:minmax(0,1fr); }
  body.page-index .v52-sizes > div { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.page-index .v52-editorial { display:block; }
}

@media (max-width:479.98px) {
  body.page-index .v52-home-products article.product-miniature .side,body.page-index .v52-top article.product-miniature .side { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr); gap:10px; }
  body.page-index .v52-home-products article.product-miniature .prices,body.page-index .v52-home-products article.product-miniature form,body.page-index .v52-home-products article.product-miniature .more { width:100%; min-width:0; grid-column:1/-1; }
  body.page-index .v52-home-products article.product-miniature .buy,body.page-index .v52-top article.product-miniature .buy { grid-template-columns:84px minmax(0,1fr); gap:8px; }
  body.page-index .v52-home-products article.product-miniature .buy .btn { width:100%; min-width:0; min-height:48px; padding-inline:10px; white-space:nowrap; overflow:hidden; text-overflow:clip; }
  body.page-index .v52-home-products article.product-miniature .qty-select { width:84px; min-height:48px; }
  body.page-index .v52-home-products article.product-miniature .more { min-height:44px; }
}

@media (max-width:359.98px) {
  body.page-index .v52-home { width:min(100% - 16px,var(--v52-content)); }
  body.page-index .v52-home-finder .finder-form { grid-template-columns:minmax(0,1fr); }
  body.page-index .v52-home-finder .btn.primary { grid-column:auto; }
  body.page-index .v52-home-products article.product-miniature .card,body.page-index .v52-top article.product-miniature .card { grid-template-columns:96px minmax(0,1fr); padding:10px; gap:10px; }
  body.page-index .v52-home-products article.product-miniature .img,body.page-index .v52-top article.product-miniature .img { width:96px; height:96px; }
  body.page-index .v52-home-products article.product-miniature .side,body.page-index .v52-top article.product-miniature .side { grid-template-columns:minmax(0,1fr); }
}

@media (max-width:339.98px) {
  body.page-index .v52-home .v52-home-finder .finder-form { width:100%; min-width:0; display:grid; grid-template-columns:minmax(0,1fr); grid-auto-columns:minmax(0,1fr); }
  body.page-index .v52-home .v52-home-finder .finder-form .pane { display:contents; }
  body.page-index .v52-home .v52-home-finder .finder-form .field,body.page-index .v52-home .v52-home-finder .finder-form .season,body.page-index .v52-home .v52-home-finder .finder-form .btn.primary { width:100%; min-width:0; max-width:100%; grid-column:1/-1; }
  body.page-index .v52-home .v52-home-finder .finder-form .field select { width:100%; min-width:0; max-width:100%; height:48px; box-sizing:border-box; }
  body.page-index .v52-home .v52-home-finder .finder-form .btn.primary { min-height:48px; padding-inline:12px; white-space:nowrap; overflow:visible; text-overflow:clip; }
}

/* Phase 3: catalogue and manufacturer result composition. */
body.page-category,
body.page-manufacturer { background:var(--v52-bg); color:var(--v52-navy); }
body.page-category #wrapper > .container,
body.page-manufacturer #wrapper > .container { width:min(100% - 48px,var(--v52-content)); max-width:none; padding:0; }
body.page-category section#products,
body.page-manufacturer section#products { border:1px solid var(--v52-border) !important; border-radius:var(--v52-radius-md); background:var(--v52-surface) !important; box-shadow:none !important; }
body.page-category #js-product-list-top,
body.page-manufacturer #js-product-list-top { padding:16px 18px !important; border-color:var(--v52-border) !important; background:var(--v52-surface) !important; }
body.page-category #search_filters_wrapper.sidebar,
body.page-manufacturer #search_filters_wrapper.sidebar { border:1px solid var(--v52-border) !important; border-radius:var(--v52-radius-md) !important; background:var(--v52-surface); box-shadow:none; }
body.page-category #js-product-list .products,
body.page-manufacturer #js-product-list .products { gap:10px; padding:12px; }
body.page-category #js-product-list article.product-miniature .card,
body.page-manufacturer #js-product-list article.product-miniature .card { grid-template-columns:160px minmax(0,1fr) 210px; gap:16px; padding:14px; border-color:var(--v52-border); border-radius:var(--v52-radius-sm); background:var(--v52-surface); box-shadow:none; }
body.page-category #js-product-list article.product-miniature .card:hover,
body.page-manufacturer #js-product-list article.product-miniature .card:hover { transform:none; border-color:var(--v52-blue); box-shadow:0 0 0 1px rgba(22,119,255,.12); }
body.page-category #js-product-list article.product-miniature .img,
body.page-manufacturer #js-product-list article.product-miniature .img { width:160px; height:160px; box-sizing:border-box; border-color:var(--v52-border); border-radius:var(--v52-radius-sm); background:var(--v52-bg); }
body.page-category #js-product-list article.product-miniature .img img,
body.page-manufacturer #js-product-list article.product-miniature .img img { object-fit:contain; }
body.page-category #js-product-list article.product-miniature .v52-no-image,
body.page-manufacturer #js-product-list article.product-miniature .v52-no-image { display:flex; width:100%; height:100%; align-items:center; justify-content:center; padding:12px; box-sizing:border-box; color:var(--v52-muted); font-size:13px; font-weight:700; line-height:1.25; text-align:center; }
body.page-category #js-product-list article.product-miniature .brandline,
body.page-manufacturer #js-product-list article.product-miniature .brandline { min-width:0; color:var(--v52-muted); }
body.page-category #js-product-list article.product-miniature .brandline__right,
body.page-manufacturer #js-product-list article.product-miniature .brandline__right { min-width:0; max-width:100%; }
body.page-category #js-product-list article.product-miniature .name,
body.page-manufacturer #js-product-list article.product-miniature .name { color:var(--v52-navy); line-height:1.25; overflow-wrap:anywhere; }
body.page-category #js-product-list article.product-miniature .eurow,
body.page-manufacturer #js-product-list article.product-miniature .eurow { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:8px; }
body.page-category #js-product-list article.product-miniature .pill,
body.page-manufacturer #js-product-list article.product-miniature .pill { flex:0 1 132px; min-width:96px; max-width:150px; justify-content:center; border-color:var(--v52-border); border-radius:var(--v52-radius-sm); background:var(--v52-bg); }
body.page-category #js-product-list article.product-miniature .stock.ok,
body.page-manufacturer #js-product-list article.product-miniature .stock.ok { color:var(--v52-green); }
body.page-category #js-product-list article.product-miniature .prices,
body.page-manufacturer #js-product-list article.product-miniature .prices { border-color:rgba(200,117,67,.28); border-radius:var(--v52-radius-sm); background:#fff8f3; }
body.page-category #js-product-list article.product-miniature .buy,
body.page-manufacturer #js-product-list article.product-miniature .buy { grid-template-columns:80px minmax(0,1fr); gap:8px; }
body.page-category #js-product-list article.product-miniature .buy .qty-select,
body.page-manufacturer #js-product-list article.product-miniature .buy .qty-select,
body.page-category #js-product-list article.product-miniature .buy .btn,
body.page-manufacturer #js-product-list article.product-miniature .buy .btn { min-height:48px; box-sizing:border-box; }
body.page-category #js-product-list article.product-miniature .buy .btn,
body.page-manufacturer #js-product-list article.product-miniature .buy .btn { width:100%; min-width:0; white-space:nowrap; background:var(--v52-coral); border-color:var(--v52-coral); }
body.page-category #js-product-list article.product-miniature .buy .btn:disabled,
body.page-manufacturer #js-product-list article.product-miniature .buy .btn:disabled { opacity:.48; cursor:not-allowed; filter:grayscale(.4); }
body.page-category #js-product-list article.product-miniature .more,
body.page-manufacturer #js-product-list article.product-miniature .more { min-height:44px; border:1px solid var(--v52-border); border-radius:var(--v52-radius-sm); }

.v52-filter-backdrop { position:fixed; inset:0; z-index:1044; width:100%; border:0; padding:0; background:rgba(6,47,79,.42); opacity:0; pointer-events:none; transition:opacity .2s ease; }
.v52-filter-backdrop.is-open { opacity:1; pointer-events:auto; }
body.v52-filter-open { overflow:hidden; }
.v52-filter-drawer { visibility:hidden; display:flex; flex-direction:column; position:fixed; inset:0 auto 0 0; z-index:1047; width:min(420px,92vw); max-width:100%; height:100dvh; transform:translateX(-102%); background:var(--v52-surface); box-shadow:none; transition:transform .2s ease,visibility 0s linear .2s; }
.v52-filter-drawer.is-open { visibility:visible; transform:translateX(0); transition-delay:0s; }
body.v52-filter-open #offcanvas-faceted.v52-filter-drawer { visibility:visible !important; transform:translate3d(0,0,0) !important; transition:transform .2s ease; }
.v52-filter-drawer .offcanvas-header { position:sticky; top:0; z-index:2; min-height:64px; gap:10px; border-bottom:1px solid var(--v52-border); background:var(--v52-surface); }
.v52-filter-drawer .offcanvas-body { flex:1 1 auto; min-height:0; padding:16px; overflow-y:auto; overflow-x:hidden; }
.v52-filter-drawer .v52-filter-footer { position:sticky; bottom:0; z-index:2; padding:12px 16px; border-top:1px solid var(--v52-border); background:var(--v52-surface); }
.v52-filter-drawer .v52-filter-apply { width:100%; min-height:48px; color:#fff; border-color:var(--v52-blue); background:var(--v52-blue); }

@media (min-width:1024px) {
  body.page-category #wrapper > .container > .row,
  body.page-manufacturer #wrapper > .container > .row { grid-template-columns:318px minmax(0,1fr); gap:20px; }
  body.page-category #left-column,
  body.page-manufacturer #left-column { min-width:0; }
}

@media (max-width:1023.98px) {
  body.page-category #wrapper > .container,
  body.page-manufacturer #wrapper > .container { width:min(100% - 32px,var(--v52-content)); }
  body.page-category #wrapper > .container > .row,
  body.page-manufacturer #wrapper > .container > .row { display:flex; margin:0; }
  body.page-category #left-column,
  body.page-manufacturer #left-column { display:block; flex:0 0 0; width:0; max-width:0; padding:0; }
  body.page-category #left-column > :not(.v52-filter-drawer),
  body.page-manufacturer #left-column > :not(.v52-filter-drawer) { display:none; }
  body.page-category #content-wrapper,
  body.page-manufacturer #content-wrapper { flex:1 1 100%; width:100%; max-width:100%; min-width:0; padding:0; }
  body.page-category #js-product-list-top .products-selections-filters,
  body.page-manufacturer #js-product-list-top .products-selections-filters { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; align-items:stretch; }
  body.page-category #js-product-list-top .products-selections-filters > [class*="col-"],
  body.page-manufacturer #js-product-list-top .products-selections-filters > [class*="col-"] { display:block !important; width:auto; max-width:none; }
  body.page-category #js-product-list-top .sort-by-row,
  body.page-manufacturer #js-product-list-top .sort-by-row { display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1fr); height:100%; gap:10px !important; }
  body.page-category #js-product-list-top .sort-by-row > .sort-by,
  body.page-manufacturer #js-product-list-top .sort-by-row > .sort-by { display:none !important; }
  body.page-category #js-product-list-top .products-sort-order,
  body.page-manufacturer #js-product-list-top .products-sort-order,
  body.page-category #js-product-list-top .filter-button,
  body.page-manufacturer #js-product-list-top .filter-button { display:block !important; width:auto !important; max-width:none; min-width:0; margin:0 !important; padding:0 !important; }
  body.page-category #search_filter_toggler,
  body.page-manufacturer #search_filter_toggler,
  body.page-category #js-product-list-top .products-sort-order .select-title,
  body.page-manufacturer #js-product-list-top .products-sort-order .select-title { min-height:48px; width:100%; box-sizing:border-box; }
  body.page-category #js-product-list article.product-miniature .card,
  body.page-manufacturer #js-product-list article.product-miniature .card { grid-template-columns:150px minmax(0,1fr); }
  body.page-category #js-product-list article.product-miniature .img,
  body.page-manufacturer #js-product-list article.product-miniature .img { width:150px; height:150px; }
  body.page-category #js-product-list article.product-miniature .side,
  body.page-manufacturer #js-product-list article.product-miniature .side { grid-column:1/-1; display:grid; grid-template-columns:minmax(150px,.55fr) minmax(260px,1fr) 140px; align-items:stretch; }
  body.page-category #js-product-list article.product-miniature .eurow,
  body.page-manufacturer #js-product-list article.product-miniature .eurow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.page-category #js-product-list article.product-miniature .pill,
  body.page-manufacturer #js-product-list article.product-miniature .pill { width:auto; min-width:0; max-width:none; }
}

@media (max-width:767.98px) {
  body.page-category #wrapper > .container,
  body.page-manufacturer #wrapper > .container { width:min(100% - 24px,var(--v52-content)); }
  body.page-category #js-product-list-top,
  body.page-manufacturer #js-product-list-top { padding:12px !important; }
  body.page-category #js-product-list-top .products-selections-filters,
  body.page-manufacturer #js-product-list-top .products-selections-filters { grid-template-columns:minmax(0,1fr); }
  body.page-category #js-product-list-top .category-title-inline,
  body.page-manufacturer #js-product-list-top .total-products { grid-column:1/-1; grid-row:1; width:100%; max-width:none; min-width:0; margin:0 !important; text-align:left; }
  body.page-category #js-product-list-top .category-name-inline,
  body.page-manufacturer #js-product-list-top .category-name-inline { overflow-wrap:anywhere; }
  body.page-category #js-product-list-top .products-selections-filters > .order-1,
  body.page-manufacturer #js-product-list-top .products-selections-filters > .order-1 { grid-column:1/-1; grid-row:2; }
  body.page-category #js-product-list-top .sort-by-row > span,
  body.page-manufacturer #js-product-list-top .sort-by-row > span { display:none; }
  body.page-category #js-product-list .products,
  body.page-manufacturer #js-product-list .products { padding:8px; }
  body.page-category #js-product-list article.product-miniature .card,
  body.page-manufacturer #js-product-list article.product-miniature .card { grid-template-columns:118px minmax(0,1fr); gap:10px; padding:10px; }
  body.page-category #js-product-list article.product-miniature .img,
  body.page-manufacturer #js-product-list article.product-miniature .img { grid-column:1; grid-row:1 / span 3; width:118px; height:118px; }
  body.page-category #js-product-list article.product-miniature .mid,
  body.page-manufacturer #js-product-list article.product-miniature .mid { display:contents; }
  body.page-category #js-product-list article.product-miniature .brandline,
  body.page-manufacturer #js-product-list article.product-miniature .brandline { grid-column:2; min-width:0; max-width:100%; flex-wrap:wrap; gap:5px; }
  body.page-category #js-product-list article.product-miniature .brandline__right,
  body.page-manufacturer #js-product-list article.product-miniature .brandline__right { width:100%; margin-left:0; flex-wrap:wrap; gap:5px; }
  body.page-category #js-product-list article.product-miniature .mid > a,
  body.page-manufacturer #js-product-list article.product-miniature .mid > a { grid-column:2; min-width:0; }
  body.page-category #js-product-list article.product-miniature .name,
  body.page-manufacturer #js-product-list article.product-miniature .name { margin:2px 0 4px; font-size:15px; line-height:1.25; }
  body.page-category #js-product-list article.product-miniature .specs,
  body.page-manufacturer #js-product-list article.product-miniature .specs { grid-column:2; min-width:0; gap:3px 8px; font-size:12px; overflow-wrap:anywhere; }
  body.page-category #js-product-list article.product-miniature .eurow,
  body.page-manufacturer #js-product-list article.product-miniature .eurow { grid-column:1/-1; width:100%; margin-top:2px; }
  body.page-category #js-product-list article.product-miniature .pill,
  body.page-manufacturer #js-product-list article.product-miniature .pill { min-height:44px; padding:4px; font-size:12px; }
  body.page-category #js-product-list article.product-miniature .stock,
  body.page-manufacturer #js-product-list article.product-miniature .stock { grid-column:1/-1; margin-top:0; }
  body.page-category #js-product-list article.product-miniature .side,
  body.page-manufacturer #js-product-list article.product-miniature .side { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr); gap:8px; }
  body.page-category #js-product-list article.product-miniature .prices,
  body.page-manufacturer #js-product-list article.product-miniature .prices { width:100%; min-width:0; }
  body.page-category #js-product-list article.product-miniature .buy,
  body.page-manufacturer #js-product-list article.product-miniature .buy { grid-template-columns:84px minmax(0,1fr); }
  body.page-category #js-product-list article.product-miniature .more,
  body.page-manufacturer #js-product-list article.product-miniature .more { width:100%; }
}

@media (max-width:339.98px) {
  body.page-category #wrapper > .container,
  body.page-manufacturer #wrapper > .container { width:min(100% - 16px,var(--v52-content)); }
  body.page-category #js-product-list article.product-miniature .card,
  body.page-manufacturer #js-product-list article.product-miniature .card { grid-template-columns:100px minmax(0,1fr); gap:8px; padding:8px; }
  body.page-category #js-product-list article.product-miniature .img,
  body.page-manufacturer #js-product-list article.product-miniature .img { width:100px; height:100px; }
  body.page-category #js-product-list article.product-miniature .buy,
  body.page-manufacturer #js-product-list article.product-miniature .buy { grid-template-columns:76px minmax(0,1fr); gap:6px; }
  body.page-category #js-product-list article.product-miniature .buy .btn,
  body.page-manufacturer #js-product-list article.product-miniature .buy .btn { padding-inline:8px; }
}

@media (prefers-reduced-motion:reduce) {
  .v52-filter-drawer,.v52-filter-backdrop { transition:none; }
}
