/* Local hero proposal. Load after customer-visual-refresh.css. */
body.brand-v4 #page-app .home-workspace { container-type: inline-size; }
body.brand-v4 #page-app .home-search-card {
  display: grid; grid-template-columns: minmax(0, 1fr);
  grid-template-areas: 'visual' 'head' 'search' 'links';
  padding: 0; gap: 0; min-width: 0; background: #fff;
  border: 1px solid #dddfe2; border-radius: 18px; overflow: hidden;
  box-shadow: none; color: #17191c; isolation: isolate;
}
body.brand-v4 #page-app .home-search-card::after { display: none; }
body.brand-v4 #page-app .home-search-card .hsc-head {
  grid-area: head; width: auto; min-width: 0; margin: 0;
  padding: 23px 22px 18px; position: relative; display: block;
}
body.brand-v4 #page-app .home-search-card h2 {
  margin: 0 0 10px; color: #17191c; font-size: 30px;
  line-height: 1.05; font-weight: 750; letter-spacing: -1.2px;
}
body.brand-v4 #page-app .home-search-card .hsc-sub {
  color: #5d626a; font-size: 14px; line-height: 1.5; max-width: none;
}
body.brand-v4 #page-app .home-search-card .home-visual-stage {
  grid-area: visual; display: block; position: relative; inset: auto;
  width: 100%; height: auto; aspect-ratio: 1.85; min-width: 0;
  padding: 0; overflow: hidden; mix-blend-mode: normal;
  background: #151719; border: 0; border-bottom: 4px solid #ffd129;
}
body.brand-v4 #page-app .home-search-card .home-workshop-visual {
  display: block; position: absolute; inset: 0; width: 100%; height: 100%;
  aspect-ratio: auto; object-fit: cover; object-position: 50% 47%;
  border-radius: 0; mix-blend-mode: normal; filter: none; opacity: 1;
}
body.brand-v4 #page-app .home-search-card .home-search-row {
  grid-area: search; display: flex; flex-direction: column; position: relative;
  width: auto; margin: 0 22px; padding: 0; gap: 8px;
  background: transparent; border: 0; border-radius: 0; box-shadow: none;
}
body.brand-v4 #page-app .home-search-card .home-search-row:focus-within {
  outline: revert; border: 0; box-shadow: none;
}
body.brand-v4 #page-app .home-search-card .home-search-row input {
  width: 100%; min-width: 0; height: 52px; min-height: 52px; flex: none;
  padding: 0 12px 0 42px; border: 1px solid #bfc4cb; border-radius: 9px;
  background: #fff; color: #17191c; font: 400 16px 'Segoe UI', Arial, sans-serif;
  box-shadow: none;
}
body.brand-v4 #page-app .home-search-card .home-search-row input:focus { outline: revert; }
body.brand-v4 #page-app .home-search-card .home-search-symbol {
  position: absolute; top: 17px; left: 14px; width: 18px; height: 18px;
  color: #616871; pointer-events: none;
}
body.brand-v4 #page-app .home-search-card .home-search-row button {
  width: 100%; min-height: 50px; height: 50px; padding: 0 18px;
  display: flex; align-items: center; justify-content: space-between;
  border: 0; border-radius: 9px; background: #ffd129; color: #17191c;
  font: 700 14px 'Segoe UI', Arial, sans-serif; box-shadow: none;
}
body.brand-v4 #page-app .home-search-card .home-search-row button:hover { background: #ffdc58; }
body.brand-v4 #page-app .home-search-card .home-search-row button::after { display: none; }
body.brand-v4 #page-app .home-search-card .home-search-shortcuts {
  grid-area: links; width: auto; margin: 12px 22px 18px;
  display: flex; flex-wrap: wrap; align-items: center; gap: 0 18px;
}
body.brand-v4 #page-app .home-search-card .home-search-shortcuts button {
  display: inline-flex; align-items: center; gap: 6px; min-height: 44px;
  padding: 0; background: transparent; border: 0; color: #42474f;
  font: 500 12px 'Segoe UI', Arial, sans-serif;
}
body.brand-v4 #page-app .home-search-card .home-search-shortcuts button:hover { color: #17191c; }
body.brand-v4 #page-app .home-search-card .home-search-shortcuts button > span { color: #42474f; }
body.brand-v4 #page-app .home-search-card button { cursor: pointer; }
@container (min-width: 660px) {
  body.brand-v4 #page-app .home-search-card {
    grid-template-columns: minmax(0, 1fr) minmax(0, .96fr);
    grid-template-areas: 'head visual' 'search visual' 'links visual';
  }
  body.brand-v4 #page-app .home-search-card .hsc-head { padding: 30px 28px 22px; }
  body.brand-v4 #page-app .home-search-card h2 { font-size: 40px; letter-spacing: -1.8px; }
  body.brand-v4 #page-app .home-search-card .home-search-row { margin: 0 28px; }
  body.brand-v4 #page-app .home-search-card .home-search-shortcuts { margin: 12px 28px 22px; }
  body.brand-v4 #page-app .home-search-card .home-visual-stage {
    height: 100%; aspect-ratio: auto; border-bottom: 0; border-left: 4px solid #ffd129;
  }
}

/* RicambiPro proposal: one presentation layer over the existing customer UI. */
body.brand-v4 #page-app .home-benefits { display:none; }
body.brand-v4 {
  --gold:#ffd129; --gold-light:#ffe786; --gold-deep:#725800; --gold-dark:#725800;
  --accent:#17191c; --accent-dark:#17191c; --accent-light:#fff3bd;
  --bg:#ffffff; --bg-soft:#ffffff; --border:#dfe2e5;
  --text:#202226; --text-muted:#646a72; --text-light:#707780;
  background:#ffffff;
}
body.brand-v4 #page-app { --client-ink:#17191c; --client-muted:#636a73; --client-line:#dfe2e5; background:#ffffff; color:#17191c; }
body.brand-v4 #page-app .main { padding-top:30px; }
body.brand-v4 #page-app .home-hero { margin-bottom:22px; }
body.brand-v4 #page-app .home-hero h1 { font-size:22px; font-weight:500; }
body.brand-v4 .btn-primary, body.brand-v4 #page-app :is(.search-btn,.add-btn,.promo-cta) { background:#ffd129!important; background-image:none!important; color:#17191c!important; border-color:#ffd129!important; box-shadow:none!important; }
body.brand-v4 .btn-primary:hover, body.brand-v4 #page-app :is(.search-btn,.add-btn,.promo-cta):hover { background:#ffdc58!important; }
body.brand-v4 .btn-primary::after { display:none!important; }
body.brand-v4 #page-app .page-title { color:#17191c; font-weight:700; letter-spacing:-.9px; }
body.brand-v4 #page-app .page-title .accent-bar { background:#ffd129; border-radius:2px; }
body.brand-v4 #page-app .page-sub { color:#636a73; font-size:15px; }
body.brand-v4 #page-app :is(.card,.result-card,.cart-item,.summary-card,.order-row,.points-info-card) { background:#fff; border-color:#dfe2e5; box-shadow:none; }
body.brand-v4 #page-app :is(.result-code-big,.cart-item-code,.order-num-cell,.order-total-cell,.result-price) { color:#17191c; }
body.brand-v4 #page-app .result-card { border-radius:14px; }
body.brand-v4 #page-app .result-card:hover { border-color:#9ba2aa; }
body.brand-v4 #page-app .result-actions { background:#fff; }
body.brand-v4 #page-app .result-brand { background:#f1f2f4; color:#373d45; }
body.brand-v4 #page-app .tech-sheet-btn { color:#444c56; background:#fff; border-color:#dfe2e5; }
body.brand-v4 #page-app .qty-selector { border-color:#c7cdd3; background:#fff; }
body.brand-v4 #page-app :is(.q-btn,.qty-btn) { background:#f1f3f4; color:#17191c; }
body.brand-v4 #page-app .search-hero { background:#fff; border-color:#dfe2e5; border-radius:16px; }
body.brand-v4 #page-app .search-hero .hsc-ico { background:#ffd129; color:#17191c; }
body.brand-v4 #page-app .search-box { background:#fff; border-color:#bcc3cb; }
body.brand-v4 #page-app .search-warning { background:#fffbed; border-color:#e2d6a4; color:#5e542c; }
body.brand-v4 #page-app .promo-card { border-radius:15px!important; border:1px solid #dfe2e5!important; box-shadow:none!important; overflow:hidden; }
body.brand-v4 #page-app .promo-card-media { border-bottom:3px solid #ffd129; }
body.brand-v4 #page-app .pc-title { font-size:18px; font-weight:700; color:#202226; }
body.brand-v4 #page-app .promo-card-foot strong { color:#17191c; }
body.brand-v4 #page-app .vetrina-cta { color:#17191c; font-size:14px; }
body.brand-v4 #page-app .pill-gold { background:#ffd129; color:#17191c; border-color:#ffd129; }
body.brand-v4 #page-app .cart-info-box { background:#f8f9fa; border-color:#dce1e5; color:#626a73; }
body.brand-v4 #page-app .cart-summary-card { border-top:4px solid #ffd129; }
body.brand-v4 #page-app .cart-summary-card .cart-summary-head { background:#17191c!important; border-bottom-color:#dfe2e5; box-shadow:none!important; }
body.brand-v4 #page-app .cart-summary-card .cart-summary-head::after { background:#ffd129!important; }
body.brand-v4 #page-app .cart-summary-card .cart-minimum.complete { background:#f0f8f3!important; box-shadow:none!important; }
body.brand-v4 #page-app .cart-summary-card .cart-points-progress { background:#f6f7f8!important; border-color:#dfe2e5!important; box-shadow:none!important; }
body.brand-v4 #page-app .cart-summary-card :is(.cart-points-head strong,.cart-points-message strong) { color:#17191c!important; }
body.brand-v4 #page-app .cart-summary-card :is(.cart-points-track,.cart-minimum-track) { background:#e4e7ea!important; border:0!important; box-shadow:none!important; }
body.brand-v4 #page-app .cart-summary-card :is(.cart-points-track,.cart-minimum-track)>span { background:#ffd129!important; box-shadow:none!important; }
body.brand-v4 #page-app .cart-item-brand { background:#eceef0; color:#343a42; }
body.brand-v4 #page-app .cart-item-unit-price { color:#343a42; }
body.brand-v4 #page-app .cart-summary-total-badge { background:#17191c; border-color:#17191c; color:#fff; }
body.brand-v4 #page-app .cart-summary-total-badge strong { color:#ffd129; }
body.brand-v4 #page-app .cart-summary-total-badge :is(span,small) { color:#d5d8dc; }
body.brand-v4 #page-app :is(.cart-minimum-track,.cart-points-track) { background:#e9ecef; }
body.brand-v4 #page-app :is(.cart-minimum-track,.cart-points-track)>span { background:#ffd129; background-image:none; }
body.brand-v4 #page-app .summary-row.total { color:#17191c; border-top-color:#d7dce1; }
body.brand-v4 #page-app .points-hero { background:#17191c; background-image:none; color:#fff; box-shadow:none; border:0; border-radius:18px; }
body.brand-v4 #page-app .points-hero::before,body.brand-v4 #page-app .points-hero::after { display:none; }
body.brand-v4 #page-app .points-hero-value { color:#ffd129; }
body.brand-v4 #page-app :is(.points-hero-label,.points-hero-equiv) { color:#e3e5e8; opacity:1; }
body.brand-v4 #page-app .points-info-card .value { color:#17191c; }
body.brand-v4 #page-app #rma-root .rma-card { border-color:#dfe2e5; border-left-color:#ffd129; }
body.brand-v4 #page-app #rma-root .rma-card:hover { background:#fafbfc; box-shadow:none; }
body.brand-v4 #page-app .rma-number { color:#17191c; }
body.brand-v4 #page-app .rma-pill.is-open { background:#f0f2f4; color:#38414b; border-color:#d1d6dc; }
body.brand-v4 #page-app .footer { color:#646a72; border-color:#dfe2e5; }
body.brand-v4 #page-login .login-hero-v5 { background:#17191c!important; }
body.brand-v4 #page-login .login-wordmark-final { color:#fff!important; }
body.brand-v4 #page-login .login-wordmark-final em { color:#ffd129!important; }
body.brand-v4 #page-login :is(.login-tagline-final,.login-kicker-v5) { color:#ffd129!important; }
body.brand-v4 #page-login .login-copy-v5 h1 { color:#fff!important; }
body.brand-v4 #page-login .login-copy-v5 h1 span { color:#fff!important; }
body.brand-v4 #page-login .login-copy-v5 h1 em { color:#ffd129!important; background:none!important; }
body.brand-v4 #page-login .login-copy-v5 p { color:#d2d5da!important; }
body.brand-v4 #page-login .login-catalogue-v5 { background:#24282d!important; border-color:#454a51!important; box-shadow:none!important; }
body.brand-v4 #page-login .login-catalogue-v5 :is(strong,b) { color:#fff!important; }
body.brand-v4 #page-login .login-catalogue-v5 small { color:#ffd129!important; }
body.brand-v4 #page-login .login-catalogue-head-v5>div>span { color:#ffd129!important; }
body.brand-v4 #page-login .login-live-v5 { color:#7cdbc0!important; }
body.brand-v4 #page-login .login-catalogue-tags-v5 span { background:#33383e!important; color:#e7e9eb!important; border-color:#454a51!important; }
body.brand-v4 #page-login .login-flow-v5 { background:transparent!important; border-color:#454a51!important; }
body.brand-v4 #page-login .login-flow-v5>div { background:transparent!important; border-color:#454a51!important; }
body.brand-v4 #page-login .login-flow-v5 article { background:#17191c!important; border-color:#454a51!important; }
body.brand-v4 #page-login .login-flow-v5 article>span { color:#ffd129!important; }
body.brand-v4 #page-login .login-flow-v5 b { color:#ffd129!important; }
body.brand-v4 #page-login .login-flow-v5 :is(strong,small) { color:#e4e7eb!important; }
body.brand-v4 #page-login :is(.login-access-kicker-v5,.login-role-switch button.active) { color:#725800!important; }
body.brand-v4 #page-login .login-role-switch button.active { border-color:#dbb21b!important; background:#fff8db!important; }
body.brand-v4 #page-login .login-canvas-v5 { background:#fff!important; border-color:#dfe2e5!important; box-shadow:none!important; }
body.brand-v4 #page-app .header { background:#17191c; color:#fff; border-color:#17191c; }
body.brand-v4 #page-app .brand-name { color:#fff; }
body.brand-v4 #page-app .brand-name .pro { color:#ffd129; }
body.brand-v4 #page-app .brand-tag { color:#afb6c0; }
body.brand-v4 #page-app .nav-btn { color:#c2c7ce; }
body.brand-v4 #page-app #nav-promotions { color:#c2c7ce; }
body.brand-v4 #page-app .nav-btn .ico { color:#a8b0ba; }
body.brand-v4 #page-app .nav-btn:hover,body.brand-v4 #page-app #nav-promotions:hover { background:#292d33; color:#fff; }
body.brand-v4 #page-app .nav-btn.active,body.brand-v4 #page-app #nav-promotions.active { background:#ffd129; border-color:#ffd129; color:#17191c; box-shadow:none; }
body.brand-v4 #page-app .nav-btn.active .ico { color:#17191c; }
body.brand-v4 #page-app .nav-btn .badge { background:#3a4048; color:#fff; }
body.brand-v4 #page-app .nav-btn.active .badge { background:#17191c; color:#ffd129; }
body.brand-v4 #page-app .client-nav-section { color:#8e98a5; }
body.brand-v4 #page-app #header-customer-name { color:#fff; }
body.brand-v4 #page-app .user-chip .points { background:#ffd129; color:#17191c; }
body.brand-v4 #page-app #header-points-pending { color:#b5bdc6!important; }
body.brand-v4 #page-app .user-logout-btn { background:transparent; color:#bcc4cd; border-color:#414751; }
body.brand-v4 #page-app .client-menu-ready .client-menu-toggle { background:#292e35; color:#fff; border-color:#414751; }
@media(min-width:1100px) {
  body.brand-v4 #page-app { --client-sidebar-width:268px; }
  body.brand-v4 #page-app .header { width:var(--client-sidebar-width); padding:22px 0 16px; }
  body.brand-v4 #page-app .header-inner { padding:0 20px; gap:20px; }
  body.brand-v4 #page-app .client-sidebar-top { display:flex; align-items:center; justify-content:space-between; gap:5px; order:0; }
  body.brand-v4 #page-app .client-sidebar-top .brand { gap:8px; min-width:0; }
  body.brand-v4 #page-app .brand-name { font-size:19px; }
  body.brand-v4 #page-app .brand-tag { font-size:8px; }
  body.brand-v4 #page-app .client-sidebar-toggle { display:grid; place-items:center; flex:0 0 34px; width:34px; height:40px; padding:0; border:1px solid #3b414a; border-radius:9px; color:#d2d7df; background:#22262c; font-size:20px; cursor:pointer; }
  body.brand-v4 #page-app .user-chip { order:1; display:grid; grid-template-columns:1fr auto; gap:6px; margin:0; padding:12px 6px 20px; border:0; border-bottom:1px solid #363c44; }
  body.brand-v4 #page-app .client-account-hello { display:block; grid-column:1/-1; grid-row:1; color:#b8bfc8; font-size:14px; }
  body.brand-v4 #page-app #header-customer-name { grid-row:2; font-size:29px; line-height:1.1; font-weight:650; max-width:none; margin-bottom:13px; letter-spacing:-1px; }
  body.brand-v4 #page-app .user-chip .points { grid-row:3; grid-column:1; font-size:12px; padding:6px 10px; border-radius:7px; }
  body.brand-v4 #page-app #header-points-pending { grid-column:1/-1; grid-row:4; font-size:11px!important; margin-top:4px; }
  body.brand-v4 #page-app .user-logout-btn { grid-row:3; grid-column:2; min-height:32px; border:0; font-size:12px; }
  body.brand-v4 #page-app .header-nav { order:2; gap:5px; }
  body.brand-v4 #page-app .nav-btn { min-height:45px; border-radius:10px; font-size:13px; padding:10px 12px; }
  body.brand-v4 #page-app .client-nav-section { font-size:9px; letter-spacing:1.4px; padding:0 12px 7px; }
  body.brand-v4 #page-app .client-nav-section-services { margin-top:10px; padding-top:3px; }
  body.brand-v4 #page-app .client-brand-mosaic { display:block; order:3; margin-top:auto; padding-top:16px; border-top:1px solid #363c44; }
  body.brand-v4 #page-app .client-mosaic-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; color:#c1c8d1; font-size:12px; }
  body.brand-v4 #page-app .client-mosaic-replay { display:grid; place-items:center; width:32px; height:32px; border:0; border-radius:8px; background:#2a2f36; color:#ffd129; font-size:18px; cursor:pointer; }
  body.brand-v4 #page-app .client-brand-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
  body.brand-v4 #page-app .client-brand-tile { display:grid; place-items:center; min-width:0; height:42px; padding:8px; background:#fff; border-radius:7px; }
  body.brand-v4 #page-app .client-brand-tile img { display:block; width:100%; height:25px; object-fit:contain; }
  body.brand-v4 #page-app .client-brand-tile:last-child { background:#32383f; }
  body.brand-v4 #page-app .main { margin-left:var(--client-sidebar-width); padding-left:32px; padding-right:32px; }
  body.brand-v4 #page-app .footer { margin-left:var(--client-sidebar-width); }
  body.brand-v4 #page-app.client-sidebar-collapsed { --client-sidebar-width:88px; }
  body.brand-v4 #page-app.client-sidebar-collapsed .header-inner { padding:0 14px; gap:18px; }
  body.brand-v4 #page-app.client-sidebar-collapsed .client-sidebar-top { flex-direction:column; gap:14px; }
  body.brand-v4 #page-app.client-sidebar-collapsed .brand-text,body.brand-v4 #page-app.client-sidebar-collapsed .user-chip,body.brand-v4 #page-app.client-sidebar-collapsed .client-brand-mosaic { display:none; }
  body.brand-v4 #page-app.client-sidebar-collapsed .client-nav-section { height:1px; padding:0; margin:10px; overflow:hidden; color:transparent; background:#363c44; }
  body.brand-v4 #page-app.client-sidebar-collapsed .nav-btn { position:relative; padding:12px 0; justify-content:center; }
  body.brand-v4 #page-app.client-sidebar-collapsed .nav-btn>span:not(.badge) { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  body.brand-v4 #page-app.client-sidebar-collapsed .nav-btn .badge { position:absolute; top:0; right:-2px; font-size:10px; }
}
@media(min-width:1100px) and (max-height:900px) {
  body.brand-v4 #page-app .header-inner { gap:14px; }
  body.brand-v4 #page-app .user-chip { padding-top:3px; padding-bottom:13px; }
  body.brand-v4 #page-app #header-customer-name { font-size:25px; margin-bottom:7px; }
  body.brand-v4 #page-app .nav-btn { min-height:41px; }
  body.brand-v4 #page-app .client-brand-mosaic { padding-top:10px; }
  body.brand-v4 #page-app .client-mosaic-heading { margin-bottom:8px; }
}
@media(prefers-reduced-motion:no-preference) {
  body.brand-v4 #page-app .nav-btn { transition:background .15s,color .15s; }
}
@container (max-width:659px) {
  body.brand-v4 #page-app .home-search-card .home-visual-stage { max-height:240px; }
}

/* Left navigation at every width; the phone drawer opens over the page. */
body.brand-v4 #page-app { --client-sidebar-width:268px; }
body.brand-v4 #page-app .header { position:fixed; inset:var(--portal-top-offset) auto 0 0; width:var(--client-sidebar-width); height:calc(100dvh - var(--portal-top-offset)); padding:20px 0 16px; overflow:auto; border:0; z-index:201; box-sizing:border-box; }
body.brand-v4 #page-app .header-inner { display:flex; flex-direction:column; flex-wrap:nowrap; align-items:stretch; justify-content:flex-start; min-height:100%; max-width:none; margin:0; padding:0 20px; gap:18px; box-sizing:border-box; }
body.brand-v4 #page-app .client-sidebar-top { display:flex; align-items:center; justify-content:space-between; gap:6px; order:0; }
body.brand-v4 #page-app .client-sidebar-top .brand { display:flex; justify-content:flex-start; min-width:0; gap:8px; }
body.brand-v4 #page-app .header .brand-logo { width:34px; height:34px; flex:none; }
body.brand-v4 #page-app .brand-text { display:flex; }
body.brand-v4 #page-app .brand-name { font-size:19px; }
body.brand-v4 #page-app .brand-tag { font-size:8px; }
body.brand-v4 #page-app .client-sidebar-toggle { display:grid; place-items:center; flex:0 0 34px; width:34px; height:40px; padding:0; border:1px solid #3b414a; border-radius:9px; color:#d2d7df; background:#22262c; font-size:20px; cursor:pointer; }
body.brand-v4 #page-app .user-chip { order:1; display:grid; grid-template-columns:1fr auto; gap:6px; margin:0; max-width:none; padding:10px 6px 17px; border:0; border-bottom:1px solid #363c44; flex-shrink:0; }
body.brand-v4 #page-app .client-account-hello { display:block; grid-column:1/-1; grid-row:1; color:#b8bfc8; font-size:14px; }
body.brand-v4 #page-app #header-customer-name { grid-column:1/-1; grid-row:2; font-size:27px; line-height:1.1; font-weight:650; max-width:none; margin-bottom:10px; letter-spacing:-1px; text-align:left; }
body.brand-v4 #page-app .user-chip .points { grid-row:3; grid-column:1; justify-self:start; font-size:12px; padding:6px 10px; border-radius:7px; }
body.brand-v4 #page-app #header-points-pending { grid-column:1/-1; grid-row:4; text-align:left; max-width:none; font-size:11px!important; margin-top:4px; }
body.brand-v4 #page-app .user-logout-btn { grid-row:3; grid-column:2; min-height:32px; border:0; font-size:12px; }
body.brand-v4 #page-app .header-nav { order:2; display:flex; flex-direction:column; flex-wrap:nowrap; align-items:stretch; justify-content:flex-start; width:100%; gap:5px; padding:0; border:0; margin:0; }
body.brand-v4 #page-app .header-nav .nav-btn { display:flex; flex:none; width:100%; min-height:43px; justify-content:flex-start; gap:10px; border-radius:10px; font-size:13px; padding:10px 12px; }
body.brand-v4 #page-app .header-nav .client-menu-toggle { display:none!important; }
body.brand-v4 #page-app .nav-btn .badge { margin-left:auto; }
body.brand-v4 #page-app .client-nav-section { display:block; color:#8e98a5; font-size:9px; letter-spacing:1.4px; padding:0 12px 7px; }
body.brand-v4 #page-app .client-nav-section-services { margin-top:10px; padding-top:3px; }
body.brand-v4 #page-app .client-brand-mosaic { display:block; order:3; margin-top:auto; padding-top:16px; border-top:1px solid #363c44; }
body.brand-v4 #page-app .client-mosaic-heading { display:flex; align-items:center; margin-bottom:12px; color:#c1c8d1; font-size:12px; }
body.brand-v4 #page-app .main { max-width:none; width:auto; min-width:0; margin:0 0 0 var(--client-sidebar-width); padding:28px 32px 32px; }
body.brand-v4 #page-app .footer { margin-left:var(--client-sidebar-width); }
body.brand-v4 #page-app.client-sidebar-collapsed { --client-sidebar-width:72px; }
body.brand-v4 #page-app.client-sidebar-collapsed .header-inner { padding:0 12px; gap:18px; }
body.brand-v4 #page-app.client-sidebar-collapsed .client-sidebar-top { flex-direction:column; gap:14px; }
body.brand-v4 #page-app.client-sidebar-collapsed :is(.brand-text,.user-chip,.client-brand-mosaic) { display:none; }
body.brand-v4 #page-app.client-sidebar-collapsed .client-nav-section { height:1px; padding:0; margin:8px; overflow:hidden; color:transparent; background:#363c44; }
body.brand-v4 #page-app.client-sidebar-collapsed .header-nav .nav-btn { position:relative; padding:12px 0; justify-content:center; }
body.brand-v4 #page-app.client-sidebar-collapsed .nav-btn>span:not(.badge) { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
body.brand-v4 #page-app.client-sidebar-collapsed .nav-btn .badge { position:absolute; top:0; right:-2px; font-size:10px; }
.client-sidebar-scrim { display:none; }
@media(max-width:1099px) {
  body.brand-v4 #page-app { --client-sidebar-width:208px; }
  body.brand-v4 #page-app .header-inner { padding:0 14px; gap:15px; }
  body.brand-v4 #page-app .brand-name { font-size:16px; }
  body.brand-v4 #page-app .brand-tag { font-size:7px; }
  body.brand-v4 #page-app .header .brand-logo { width:30px; height:30px; }
  body.brand-v4 #page-app #header-customer-name { font-size:25px; }
  body.brand-v4 #page-app .header-nav .nav-btn { padding:10px 8px; font-size:12px; }
  body.brand-v4 #page-app .main { padding:24px 20px; }
  body.brand-v4 #page-app.client-sidebar-collapsed { --client-sidebar-width:72px; }
}
@media(max-width:639px) {
  body.brand-v4 #page-app { --client-sidebar-width:244px; }
  body.brand-v4 #page-app.client-sidebar-collapsed { --client-sidebar-width:64px; }
  body.brand-v4 #page-app .main { margin-left:64px; padding:20px 12px; }
  body.brand-v4 #page-app .footer { margin-left:64px; padding:18px 12px 85px; }
  body.brand-v4 #page-app.client-sidebar-collapsed .header-inner { padding:0 8px; }
  body.brand-v4 #page-app:not(.client-sidebar-collapsed) .header { box-shadow:12px 0 40px #1116; }
  body.brand-v4 #page-app .client-sidebar-scrim { display:block; position:fixed; z-index:200; inset:var(--portal-top-offset) 0 0 64px; padding:0; border:0; background:#15171b80; }
  body.brand-v4 #page-app .home-search-card :is(.hsc-head) { padding:22px 16px 16px; }
  body.brand-v4 #page-app .home-search-card .home-search-row { margin:0 16px; }
  body.brand-v4 #page-app .home-search-card .home-search-shortcuts { margin:12px 16px 18px; }
  body.brand-v4 #page-app .home-search-card h2 { font-size:28px; }
}
/* Decorative photo panel and autonomous brand strips. */
body.brand-v4 #page-app .home-search-card .home-visual-stage.has-ambient-gallery { display:block; min-height:0; height:auto; max-height:280px; aspect-ratio:1.5; pointer-events:none; }
.parts-ambient-viewport { position:absolute; inset:0; overflow:hidden; background:#17191c; }
body.brand-v4 #page-app .parts-ambient-image { display:block; position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; filter:none; mix-blend-mode:normal; border-radius:0; }
.parts-ambient-next { visibility:hidden; }
@container(min-width:660px) { body.brand-v4 #page-app .home-search-card .home-visual-stage.has-ambient-gallery { height:100%; max-height:none; aspect-ratio:auto; } }
body.brand-v4 #page-app .client-brand-belts { display:grid; grid-template-columns:1fr; gap:7px; overflow:hidden; }
.client-brand-lane { overflow:hidden; min-width:0; }
.client-brand-belt { display:flex; width:max-content; animation:ricambi-brand-scroll 53s linear infinite; animation-play-state:var(--brand-play-state,paused); }
.client-brand-lane:nth-child(2) .client-brand-belt { animation-direction:reverse; animation-duration:65s; }
.client-brand-group { display:flex; gap:7px; padding-right:7px; flex:none; }
body.brand-v4 #page-app .client-brand-group .client-brand-tile { display:grid; place-items:center; flex:0 0 78px; width:78px; min-width:78px; height:42px; padding:8px; background:#fff; border-radius:7px; border:1px solid #dfe2e5; }
body.brand-v4 #page-app .client-brand-group .client-brand-tile img { display:block; width:100%; height:25px; object-fit:contain; }
body.brand-v4 #page-app .client-brand-group .client-brand-ngk { background:#32383f; border-color:#32383f; }
@keyframes ricambi-brand-scroll { to { transform:translateX(-33.333333%); } }

/* Final colour details; scoped to the proposed customer theme. */
body.brand-v4 {
  --brand-yellow: #ffd129;
  --brand-yellow-light: #ffe68c;
  --brand-yellow-wash: #fff8dc;
  --brand-yellow-line: #ead78b;
  --brand-yellow-ink: #725800;
}
body.brand-v4 #page-app .nav-btn .ico { color:var(--brand-yellow-light); }
body.brand-v4 #page-app .nav-btn:hover .ico { color:var(--brand-yellow); }
body.brand-v4 #page-app :is(.nav-btn.active,#nav-promotions.active) {
  background:var(--brand-yellow-light); border-color:var(--brand-yellow-light); color:#17191c;
}
body.brand-v4 #page-app .nav-btn.active .ico { color:#17191c; }
body.brand-v4 #page-app .nav-btn #cart-badge,
body.brand-v4 #page-app .nav-btn.active #cart-badge {
  background:var(--brand-yellow); color:#17191c; border:1px solid #17191c;
  min-width:22px; min-height:22px; padding:2px 6px; font-weight:800;
  display:inline-flex; align-items:center; justify-content:center; line-height:1;
}
body.brand-v4 #page-app .client-account-hello { color:var(--brand-yellow-light); }
body.brand-v4 #page-app .client-sidebar-toggle:hover { border-color:var(--brand-yellow-light); color:var(--brand-yellow-light); }
body.brand-v4 #page-app .header button:focus-visible { outline:2px solid var(--brand-yellow); outline-offset:3px; }
body.brand-v4 #page-app .main :is(button,a,input,select):focus-visible { outline:2px solid var(--brand-yellow-ink); outline-offset:3px; }

/* Solid star, with no text or motion added to the points balance. */
body.brand-v4 #page-app .points-hero { border-top:3px solid var(--brand-yellow); }
body.brand-v4 #page-app .points-hero-label { padding-right:60px; color:var(--brand-yellow-light); }
body.brand-v4 #page-app .points-hero::after {
  content:""; display:block; position:absolute; inset:28px 28px auto auto;
  width:clamp(38px,12%,92px); aspect-ratio:1; opacity:1;
  background:var(--brand-yellow); transform:rotate(10deg); pointer-events:none;
  clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 93%,50% 71%,21% 93%,32% 57%,2% 35%,39% 35%);
}
body.brand-v4 #page-app .points-info-card { border-top:3px solid var(--brand-yellow-light); }
body.brand-v4 #page-app .points-info-card:first-child { background:var(--brand-yellow-wash); border-color:var(--brand-yellow-line); border-top-color:var(--brand-yellow); }
body.brand-v4 #page-app .points-info-card .label { color:var(--brand-yellow-ink); }
body.brand-v4 #page-app .points-info-card .value { font-size:clamp(21px,2.2vw,26px); line-height:1.45; }

/* Cart quantity and loyalty follow the same colour hierarchy. */
body.brand-v4 #page-app .cart-summary-card .cart-summary-count {
  background:var(--brand-yellow-light); border-color:var(--brand-yellow-light); color:#17191c!important;
  min-height:28px; padding:5px 9px!important; font-size:11.5px!important; line-height:1.4;
}
body.brand-v4 #page-app .cart-summary-card .cart-summary-count strong { color:#17191c; }
body.brand-v4 #page-app .cart-summary-card .cart-points-progress {
  background:var(--brand-yellow-wash)!important; border-color:var(--brand-yellow-line)!important;
}
body.brand-v4 #page-app .cart-summary-card .cart-points-head { color:var(--brand-yellow-ink); }
body.brand-v4 #page-app .cart-summary-card .cart-points-track { background:#eee4bd!important; }
@media(max-width:639px) {
  body.brand-v4 #page-app .points-hero { padding:28px 20px; }
  body.brand-v4 #page-app .points-hero::after { top:24px; right:20px; }
  body.brand-v4 #page-app .points-info-grid { grid-template-columns:minmax(0,1fr); }
}

/* Light customer navigation, keeping the existing left drawer behaviour. */
body.brand-v4 #page-app .header {
  background:#fff; color:#202226; border-right:1px solid #e8ebee;
  scrollbar-width:thin; scrollbar-color:#d8dde2 transparent;
}
body.brand-v4 #page-app .header-inner { gap:18px; }
body.brand-v4 #page-app .brand-name { color:#202226; font-weight:700; }
body.brand-v4 #page-app .brand-name .pro { color:#ffd129; }
body.brand-v4 #page-app .brand-tag { color:#68717b; letter-spacing:.6px; }
body.brand-v4 #page-app .header .brand-logo.has-img { background:#17191c; border-radius:50%; }
body.brand-v4 #page-app .client-sidebar-toggle {
  background:#fff; color:#414952; border-color:#e1e5e9; border-radius:11px;
}
body.brand-v4 #page-app .client-sidebar-toggle:hover { background:#fff8dc; color:#202226; border-color:#e8d68b; }
body.brand-v4 #page-app .user-chip {
  padding:16px 14px; border:1px solid #f1e7be; border-radius:16px;
  background:#fffbed; gap:5px;
}
body.brand-v4 #page-app .client-account-hello { color:#6d6040; font-size:12px; font-weight:500; }
body.brand-v4 #page-app #header-customer-name {
  color:#202226; font-size:24px; font-weight:650; letter-spacing:-.6px; margin-bottom:8px;
}
body.brand-v4 #page-app .user-chip .points { border-radius:8px; padding:6px 9px; }
body.brand-v4 #page-app #header-points-pending { color:#646b74!important; font-weight:400; margin-top:5px; }
body.brand-v4 #page-app .user-logout-btn { background:transparent; color:#626a74; padding:4px; font-weight:500; }
body.brand-v4 #page-app .user-logout-btn:hover { background:#fff1c1; color:#202226; }
body.brand-v4 #page-app .client-nav-section { display:none; }
body.brand-v4 #page-app .header-nav { gap:6px; }
body.brand-v4 #page-app :is(.nav-btn,#nav-promotions) {
  color:#4c555f; background:transparent; border-color:transparent; font-weight:500;
}
body.brand-v4 #page-app .header-nav .nav-btn { min-height:44px; border-radius:12px; }
body.brand-v4 #page-app .nav-btn .ico { color:#626b75; }
body.brand-v4 #page-app :is(.nav-btn:hover,#nav-promotions:hover) { background:#fffbed; color:#202226; }
body.brand-v4 #page-app .nav-btn:hover .ico { color:#745700; }
body.brand-v4 #page-app :is(.nav-btn.active,#nav-promotions.active) {
  background:#ffe68c; color:#202226; border-color:#ffe68c; font-weight:650;
}
body.brand-v4 #page-app .nav-btn.active .ico { color:#202226; }
body.brand-v4 #page-app .nav-btn #cart-badge,
body.brand-v4 #page-app .nav-btn.active #cart-badge { border-color:transparent; }
body.brand-v4 #page-app .header button:focus-visible { outline:2px solid #806000; outline-offset:2px; }
body.brand-v4 #page-app .client-brand-mosaic { border-color:#edf0f2; padding-top:14px; }
body.brand-v4 #page-app .client-mosaic-heading { color:#646d77; font-size:11px; margin-bottom:10px; }
body.brand-v4 #page-app .client-brand-group .client-brand-tile { border-color:#edf0f2; border-radius:9px; }
body.brand-v4 #page-app .client-brand-group .client-brand-ngk { border-color:#32383f; }
@media(max-width:1099px) {
  body.brand-v4 #page-app .header-inner { padding-left:12px; padding-right:12px; }
  body.brand-v4 #page-app .user-chip { padding:14px 10px; }
  body.brand-v4 #page-app #header-customer-name { font-size:22px; }
}
@media(max-width:639px) {
  body.brand-v4 #page-app:not(.client-sidebar-collapsed) .header { box-shadow:12px 0 32px #20222616; }
}

/* Make the search destination recognizable throughout the customer portal. */
body.brand-v4 #page-app .header-nav #nav-search.search-hub-nav {
  display:grid; grid-template-columns:22px minmax(0,1fr); grid-template-rows:auto auto;
  gap:3px 9px; padding:13px 11px; min-height:66px; margin-bottom:5px;
  color:#202226; background:#ffd129; border:1px solid #ffd129; border-radius:12px;
}
body.brand-v4 #page-app #nav-search.search-hub-nav .ico { grid-column:1; grid-row:1/3; color:#202226; width:21px; height:21px; }
body.brand-v4 #page-app #nav-search .search-hub-nav-label { grid-column:2; grid-row:1; font-weight:750; font-size:13px; text-align:left; }
body.brand-v4 #page-app #nav-search .search-hub-nav-hint { grid-column:2; grid-row:2; text-align:left; color:#534400; font-size:9px; font-weight:500; white-space:nowrap; }
body.brand-v4 #page-app .header-nav #nav-search.search-hub-nav:hover { background:#ffdc58; border-color:#ffdc58; }
body.brand-v4 #page-app .header-nav #nav-search.search-hub-nav.active { border-color:#806000; box-shadow:inset 0 0 0 1px #806000; }
body.brand-v4 #page-app .header-nav .nav-btn.active:not(#nav-search) { background:#f3f5f6; border-color:#f3f5f6; color:#202226; }
body.brand-v4 #page-app.client-sidebar-collapsed .header-nav #nav-search.search-hub-nav { display:flex; min-height:46px; padding:10px 0; justify-content:center; }
body.brand-v4 #page-app.client-sidebar-collapsed #nav-search .search-hub-nav-hint { display:none; }

body.brand-v4 #page-app .home-search-gateway { grid-template-areas:'head' 'search' 'links' 'visual'; }
body.brand-v4 #page-app .home-search-gateway .hsc-head { padding-bottom:20px; }
body.brand-v4 #page-app .home-search-gateway .home-hub-cta {
  display:flex; width:100%; align-items:center; justify-content:space-between; gap:10px;
  margin-top:20px; min-height:54px; padding:14px 18px; border:0; border-radius:10px;
  background:#ffd129; color:#202226; font:750 16px/1.3 'Segoe UI',sans-serif; text-align:left;
}
body.brand-v4 #page-app .home-search-gateway .home-hub-cta:hover { background:#ffdc58; }
body.brand-v4 #page-app .home-search-gateway .home-hub-cta span { font-size:22px; }
body.brand-v4 #page-app .home-search-gateway .home-search-row { display:grid; grid-template-columns:minmax(0,1fr) 46px; gap:8px; }
body.brand-v4 #page-app .home-hub-code-label { grid-column:1/-1; font:500 12px/1.4 'Segoe UI',sans-serif; color:#606a74; }
body.brand-v4 #page-app .home-search-gateway .home-search-row input { grid-column:1; height:46px; min-height:46px; padding:0 12px; }
body.brand-v4 #page-app .home-search-gateway .home-search-symbol { display:none; }
body.brand-v4 #page-app .home-search-gateway .home-search-row button { grid-column:2; width:46px; height:46px; min-height:46px; padding:0; justify-content:center; background:#fff3bd; font-size:20px; }
body.brand-v4 #page-app .home-search-gateway .home-visual-stage { border-bottom:0; border-top:3px solid #ffd129; }
/* La scelta del percorso e' parte della ricerca, non un link secondario.
   Le destinazioni restano identiche: qui cambiano soltanto gerarchia e chiarezza. */
body.brand-v4 #page-app .home-search-gateway .home-search-shortcuts {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px;
  align-items:stretch;
}
body.brand-v4 #page-app .home-search-gateway .home-search-shortcuts:has(button[hidden]) { grid-template-columns:minmax(0,1fr); }
body.brand-v4 #page-app .home-search-gateway .home-search-paths-label {
  grid-column:1/-1; margin:2px 0 -2px; color:#606a74;
  font:650 11px/1.35 'Segoe UI',sans-serif; letter-spacing:.25px; text-transform:uppercase;
}
body.brand-v4 #page-app .home-search-gateway .home-search-shortcuts .home-search-path {
  display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px;
  min-height:72px; padding:12px; border:1px solid #dfe2e5; border-radius:10px;
  background:#fff; color:#202226; font:inherit; text-align:left; transition:border-color .15s, box-shadow .15s, transform .15s;
}
body.brand-v4 #page-app .home-search-gateway .home-search-shortcuts .home-search-path:hover {
  border-color:#d2af23; background:#fffdf5; color:#202226; box-shadow:0 6px 16px rgba(32,34,38,.08); transform:translateY(-1px);
}
body.brand-v4 #page-app .home-search-path-index {
  display:grid; width:29px; height:29px; place-items:center; border-radius:8px;
  background:#fff3bd; color:#725800; font:750 11px/1 'Segoe UI',sans-serif;
}
body.brand-v4 #page-app .home-search-path-copy { display:grid; gap:3px; min-width:0; }
body.brand-v4 #page-app .home-search-path-copy strong { color:#202226; font:700 13px/1.25 'Segoe UI',sans-serif; }
body.brand-v4 #page-app .home-search-path-copy small { color:#606a74; font:500 11px/1.35 'Segoe UI',sans-serif; }
body.brand-v4 #page-app .home-search-path-arrow { color:#725800; font:700 19px/1 'Segoe UI',sans-serif; }
@media(max-width:639px) {
  body.brand-v4 #page-app .home-search-gateway .home-search-shortcuts { grid-template-columns:minmax(0,1fr); }
}
@container(min-width:660px) {
  body.brand-v4 #page-app .home-search-gateway { grid-template-areas:'head visual' 'search visual' 'links visual'; }
  body.brand-v4 #page-app .home-search-gateway .home-visual-stage { border-top:0; }
}
.search-hub-heading { margin-bottom:22px; }
.search-hub-kicker { display:block; margin-bottom:8px; color:#725800; font-size:11px; font-weight:700; letter-spacing:.7px; }
body.brand-v4 #page-app #search-hub-title { margin-bottom:10px; }
.search-hub-heading .page-sub { margin-bottom:0; max-width:700px; line-height:1.6; }
.search-hub-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:26px; }
.search-hub-tabs button { border:1px solid #e0e4e8; background:#fff; color:#48525c; padding:11px 15px; min-height:44px; border-radius:10px; font:600 13px/1.3 'Segoe UI',sans-serif; cursor:pointer; }
.search-hub-tabs button[aria-pressed=true] { background:#fff3bd; border-color:#d8bd51; color:#202226; }
.search-hub-choice { margin:0 0 16px; font-size:21px; font-weight:650; }
.search-hub-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.search-hub-option { display:flex; flex-direction:column; align-items:flex-start; gap:14px; padding:24px; text-align:left; border:1px solid #dfe4e8; border-radius:16px; background:#fff; color:#202226; font:14px/1.55 'Segoe UI',sans-serif; cursor:pointer; }
.search-hub-option:hover { background:#fffbed; border-color:#d8bd51; }
.search-hub-symbol { display:grid; place-items:center; width:48px; height:48px; border-radius:13px; background:#fff3bd; color:#715600; flex:none; }
.search-hub-option strong { font-size:20px; line-height:1.2; font-weight:700; }
.search-hub-option > span:not(.search-hub-symbol):not(.search-hub-option-action) { color:#616b75; }
.search-hub-option-action { display:flex; justify-content:space-between; gap:16px; width:100%; margin-top:auto; padding-top:14px; color:#725800; font-weight:650; }
.search-hub-assistant { display:flex; align-items:flex-start; gap:22px; padding:30px; background:#fffbed; border:1px solid #ebdfa5; border-radius:18px; }
.search-hub-assistant h2 { font-size:28px; margin:0 0 12px; }
.search-hub-assistant p { color:#616b75; max-width:550px; line-height:1.65; margin:0 0 22px; }
.search-hub-assistant .btn-primary { width:auto; padding:14px 20px; min-height:48px; gap:20px; }
.search-hub-support { display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:12px; }
.search-hub-support button { background:none; border:0; padding:8px 0; min-height:44px; color:#605027; text-align:left; font:600 13px 'Segoe UI',sans-serif; cursor:pointer; }
@media(max-width:1099px) { .search-hub-options { grid-template-columns:1fr; } .search-hub-option { gap:10px; padding:22px; } }
@media(max-width:639px) {
  .search-hub-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
  .search-hub-tabs button { padding:10px 8px; font-size:12px; }
  .search-hub-assistant { flex-direction:column; padding:20px; gap:14px; }
  .search-hub-assistant h2 { font-size:24px; }
  body.brand-v4 #page-app .home-search-gateway .home-visual-stage.has-ambient-gallery { max-height:190px; }
}

/* The access page shares the customer portal's white, graphite and yellow palette. */
.landing-masthead, .landing-story, .landing-visual, .landing-brands, .landing-footer { display:none; }
body.brand-v4:has(#page-login:not(.hidden)) { background:#fff; }
body.brand-v4 #page-login {
  display:block; min-height:calc(100svh - var(--portal-top-offset, 0px));
  padding:0 clamp(22px,4vw,64px); background:#fff!important; color:#202226;
}
body.brand-v4 #page-login.hidden { display:none; }
body.brand-v4 #page-login .landing-masthead {
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  width:100%; max-width:1336px; min-height:90px; margin:0 auto; padding:19px 0;
}
body.brand-v4 #page-login .landing-masthead .login-brand-v5 { gap:13px; margin:0; }
body.brand-v4 #page-login .landing-masthead .login-logo { width:52px; height:52px; filter:none; }
body.brand-v4 #page-login .landing-masthead .login-wordmark-final { color:#202226!important; font-size:29px; letter-spacing:-1px; line-height:1.1; }
body.brand-v4 #page-login .landing-masthead .login-wordmark-final em { color:#ffd129!important; font-style:normal; }
body.brand-v4 #page-login .landing-masthead .login-tagline-final { color:#62676e!important; font-size:9px; letter-spacing:1.35px; margin-top:7px; }
body.brand-v4 #page-login .landing-signature { display:flex; align-items:center; gap:10px; color:#5f656d; font-size:13px; }
body.brand-v4 #page-login :is(.landing-signature,.landing-eyebrow) i { width:7px; height:7px; flex:0 0 7px; border-radius:50%; background:#ffd129; }
body.brand-v4 #page-login .login-canvas-v5 {
  display:grid; grid-template-columns:minmax(0,1.45fr) minmax(365px,1fr); align-items:stretch;
  gap:clamp(28px,4.2vw,64px); width:100%; max-width:1336px; min-height:0;
  margin:14px auto 0; overflow:visible; border:0!important; border-radius:0; background:#fff!important; box-shadow:none!important;
}
body.brand-v4 #page-login .login-hero-v5 { display:flex; gap:30px; padding:0; border:0!important; background:#fff!important; overflow:visible; }
body.brand-v4 #page-login .login-hero-v5 > :not(.landing-story):not(.landing-visual) { display:none!important; }
body.brand-v4 #page-login .landing-story { display:block; padding:4px 0 0; }
body.brand-v4 #page-login .landing-eyebrow { display:flex; align-items:center; gap:9px; color:#636a73; font-size:10px; font-weight:650; letter-spacing:1.4px; text-transform:uppercase; margin-bottom:20px; }
body.brand-v4 #page-login .landing-story h1 { font-size:clamp(39px,4.15vw,62px); font-weight:750; line-height:1.08; letter-spacing:-2.5px; margin:0 0 21px; color:#202226; }
body.brand-v4 #page-login .landing-story h1 span { text-decoration:underline; text-decoration-color:#ffd129; text-decoration-thickness:6px; text-underline-offset:8px; text-decoration-skip-ink:none; }
body.brand-v4 #page-login .landing-story p { font-size:15px; line-height:1.65; color:#62676e; margin:0; }
body.brand-v4 #page-login .landing-visual { display:block; flex:1; position:relative; min-height:280px; overflow:hidden; border-radius:20px; background:#202226; isolation:isolate; }
body.brand-v4 #page-login .landing-visual img { display:block; position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:translateX(100%); transition:transform .7s cubic-bezier(.22,.7,.3,1); }
body.brand-v4 #page-login .landing-visual img.is-current { transform:translateX(0); z-index:2; }
body.brand-v4 #page-login .landing-visual img.is-outgoing { transform:translateX(-100%); z-index:1; }
body.brand-v4 #page-login .login-access-v5 { display:flex; align-items:center; padding:32px 34px 26px; border:1px solid #ede7d2; border-radius:22px; background:#fffcf2!important; box-shadow:none!important; }
body.brand-v4 #page-login .login-form-wrap-v5 { width:100%; max-width:none; }
body.brand-v4 #page-login .login-access-kicker-v5 { display:flex; align-items:center; gap:8px; margin-bottom:14px; color:#62676e!important; font-size:10px; font-weight:650; letter-spacing:1.5px; }
body.brand-v4 #page-login .login-access-kicker-v5::before { content:''; width:7px; height:7px; background:#ffd129; border-radius:50%; }
body.brand-v4 #page-login .login-form-wrap-v5 > h2 { font-size:38px; font-weight:700; letter-spacing:-1.5px; line-height:1.12; color:#202226; }
body.brand-v4 #page-login .login-form-wrap-v5 > p { margin:12px 0 24px; font-size:14px; color:#62676e; }
body.brand-v4 #page-login .form-group { margin-bottom:15px; }
body.brand-v4 #page-login .form-group label { color:#41464e; font-size:12px; font-weight:600; }
body.brand-v4 #page-login .form-input { height:55px; border:1px solid #cbd0d5; border-radius:10px; background:#fff!important; color:#202226; font-size:14px; box-shadow:none!important; }
body.brand-v4 #page-login .form-input:focus { outline:2px solid #b68a00; outline-offset:2px; border-color:#b68a00; }
body.brand-v4 #page-login :is(button,a):focus-visible { outline:2px solid #8a6900; outline-offset:3px; }
body.brand-v4 #page-login .input-wrap .in-ico { color:#707780; }
body.brand-v4 #page-login .login-password-toggle { color:#62676e; min-height:40px; }
body.brand-v4 #page-login .login-submit { height:56px; justify-content:space-between; padding:0 20px; margin-top:6px; font-size:14px; font-weight:700; border-radius:10px; }
body.brand-v4 #page-login .login-form-actions-v5 { justify-content:flex-end; margin-top:12px; }
body.brand-v4 #page-login .login-form-actions-v5 button { min-height:32px; font-size:12px; color:#62676e; font-weight:500; }
body.brand-v4 #page-login .login-role-switch { margin-top:19px; padding-top:18px; border-color:#e6e1d3; }
body.brand-v4 #page-login .login-role-switch > span { display:none; }
body.brand-v4 #page-login .login-role-switch button { min-height:40px; padding:9px 8px; font-size:12px; font-weight:500; color:#62676e; border-color:#d8d9d5; border-radius:8px; }
body.brand-v4 #page-login .login-role-switch button.active { color:#202226!important; background:#ffe992!important; border-color:#ffe992!important; box-shadow:none; }
body.brand-v4 #page-login .login-hint { color:#62676e; font-size:10px; text-align:left; margin-top:12px; }
body.brand-v4 #page-login .login-security-v5 { display:none; }
body.brand-v4 #page-login .login-security-v5 span { background:#ddd8c9; }
body.brand-v4 #page-login .landing-brands { display:block; width:100%; max-width:1336px; margin:32px auto 0; padding:24px 0 18px; border-top:1px solid #e7e9eb; }
body.brand-v4 #page-login .landing-brands-heading { display:flex; justify-content:space-between; gap:16px; margin-bottom:18px; font-size:12px; color:#62676e; }
body.brand-v4 #page-login .landing-brands-heading strong { font-weight:600; color:#41464e; }
body.brand-v4 #page-login .landing-brand-window { overflow:hidden; }
body.brand-v4 #page-login .landing-brand-belt { display:flex; width:max-content; animation:landing-brand-travel 58s linear infinite; animation-play-state:paused; }
body.brand-v4 #page-login .landing-brands.is-running .landing-brand-belt { animation-play-state:running; }
body.brand-v4 #page-login .landing-brand-set { display:flex; align-items:center; gap:38px; padding-right:38px; }
body.brand-v4 #page-login .landing-brand-tile { display:grid; place-items:center; width:130px; height:54px; padding:8px; }
body.brand-v4 #page-login .landing-brand-tile img { display:block; width:100%; height:35px; object-fit:contain; }
body.brand-v4 #page-login .landing-brand-dark { background:#343b43; border-radius:7px; }
body.brand-v4 #page-login .landing-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; max-width:1336px; padding:20px 0 24px; margin:0 auto; color:#707780; font-size:10px; border-top:1px solid #e7e9eb; }
body.brand-v4 #page-app .brand-tag { white-space:nowrap; letter-spacing:.5px; }
@keyframes landing-brand-travel { to { transform:translateX(-50%); } }
@media (max-width:1050px) and (min-width:761px) {
  body.brand-v4 #page-login { padding:0 24px; }
  body.brand-v4 #page-login .login-canvas-v5 { grid-template-columns:minmax(0,1fr) minmax(330px,.94fr); gap:24px; }
  body.brand-v4 #page-login .login-access-v5 { padding:28px 24px; }
  body.brand-v4 #page-login .landing-story h1 { font-size:41px; letter-spacing:-1.8px; }
  body.brand-v4 #page-login .landing-eyebrow { font-size:9px; letter-spacing:.8px; }
}
@media (max-width:760px) {
  body.brand-v4 #page-login { padding:0 20px; }
  body.brand-v4 #page-login .landing-masthead { min-height:88px; padding:20px 0; }
  body.brand-v4 #page-login .landing-masthead .login-logo { width:43px; height:43px; }
  body.brand-v4 #page-login .landing-masthead .login-wordmark-final { font-size:25px; }
  body.brand-v4 #page-login .landing-masthead .login-tagline-final { font-size:8px; letter-spacing:1px; margin-top:5px; }
  body.brand-v4 #page-login .landing-signature { display:none; }
  body.brand-v4 #page-login .login-canvas-v5 { display:flex; flex-direction:column; gap:24px; margin-top:10px; }
  body.brand-v4 #page-login .login-hero-v5 { display:contents; }
  body.brand-v4 #page-login .landing-story { order:0; padding:0; }
  body.brand-v4 #page-login .landing-eyebrow { font-size:9px; letter-spacing:.6px; margin-bottom:15px; }
  body.brand-v4 #page-login .landing-story h1 { font-size:clamp(32px,8.5vw,39px); letter-spacing:-1.7px; margin-bottom:20px; }
  body.brand-v4 #page-login .landing-story h1 span { text-decoration-thickness:4px; text-underline-offset:6px; }
  body.brand-v4 #page-login .landing-story p { font-size:13px; }
  body.brand-v4 #page-login .login-access-v5 { order:1; padding:25px 22px 22px; border-radius:18px; }
  body.brand-v4 #page-login .login-form-wrap-v5 > h2 { font-size:30px; }
  body.brand-v4 #page-login .login-form-wrap-v5 > p { font-size:13px; margin-bottom:22px; }
  body.brand-v4 #page-login .landing-visual { order:2; flex:auto; min-height:0; height:auto; aspect-ratio:1.65; border-radius:16px; }
  body.brand-v4 #page-login .landing-brands { margin-top:26px; }
  body.brand-v4 #page-login .landing-brands-heading { font-size:11px; }
  body.brand-v4 #page-login .landing-brands-heading > span { display:none; }
  body.brand-v4 #page-login .landing-brand-set { gap:24px; padding-right:24px; }
  body.brand-v4 #page-login .landing-brand-tile { width:112px; }
  body.brand-v4 #page-login .landing-footer { flex-direction:column; align-items:flex-start; gap:8px; }
}
@media(prefers-reduced-motion:reduce) {
  body.brand-v4 #page-login .landing-brand-belt { animation:none; }
  body.brand-v4 #page-login .landing-brand-window { overflow-x:auto; }
  body.brand-v4 #page-login .landing-brand-set[aria-hidden] { display:none; }
  body.brand-v4 #page-login .landing-visual img { transition:none; }
}

/* Production layout adjustments over the approved presentation. */
:root { --portal-top-offset:0px; }
body.brand-v4 { --customer-sidebar-offset:268px; }
body.brand-v4.visual-sidebar-collapsed { --customer-sidebar-offset:72px; }
body.brand-v4 #page-app [hidden], .customer-assistant-launch[hidden] { display:none!important; }
body.brand-v4 #page-app .header-nav.client-menu-ready { display:flex; }
body.brand-v4 #page-app .header-nav.client-menu-ready .client-nav-secondary { display:flex; }
body.brand-v4 #page-app .user-chip { cursor:default; }
body.brand-v4 #page-app .header-inner { min-height:100%; }
body.brand-v4 #page-app #header-customer-name { white-space:normal; overflow-wrap:anywhere; }
body.brand-v4 #page-app .main { min-height:calc(100dvh - 100px); }
body.brand-v4 #page-app .home-workspace { grid-template-columns:minmax(0,1fr)!important; }
body.brand-v4 #page-app .home-hub-cta { cursor:pointer; }
body.brand-v4 #page-app .user-chip .points::before { content:'✦ '; }
body.brand-v4 #page-app .astra-launch { display:none!important; }
body.brand-v4 #page-app .search-hub-options { grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
body.brand-v4 #page-app #main-content:is([data-visual-search-mode=all],[data-visual-search-mode=assistant]) > :is(.search-hero,#search-results,#search-promos,.rp-active-vehicle-bar) { display:none!important; }
body.brand-v4 #page-app .search-hub-tabs { margin-bottom:20px; }
body.brand-v4 #page-app .rp-search-discovery { display:none; }
body.brand-v4 #page-app .rp-catalog-tab.is-active { background:#fff3bd; border-color:#d8bd51; color:#202226; }
.customer-assistant-launch { position:fixed; right:20px; bottom:20px; z-index:190; display:flex; align-items:center; gap:10px; min-height:54px; padding:14px 22px; border:1px solid #17191c; border-radius:30px; background:#17191c; color:#fff; font:700 14px 'Segoe UI',sans-serif; box-shadow:0 5px 18px #17191c25; cursor:pointer; }
.customer-assistant-launch>span { color:#ffd129; font-size:23px; }
body.brand-v4:has(.astra-floating:not([hidden])) .customer-assistant-launch { display:none; }
body.visual-sidebar-open :is(.customer-assistant-launch,.rp-chat-launcher,.rp-chat-widget,.rp-support-guide,.astra-floating) { visibility:hidden!important; pointer-events:none; }
body.brand-v4 .rp-chat-launcher, body.brand-v4 .rp-chat-widget { left:calc(var(--customer-sidebar-offset) + 20px); }
body.brand-v4 .rp-chat-widget { max-width:calc(100vw - var(--customer-sidebar-offset) - 40px); }
body.brand-v4 .rp-chat-launcher { background:#fff; color:#202226; border-color:#dfe2e5; }
@media(max-width:1099px) { body.brand-v4 { --customer-sidebar-offset:208px; } }
@media(max-width:699px) { body.brand-v4 #page-app .header-nav.client-menu-ready .client-nav-secondary { grid-column:auto; } }
@media(max-width:650px) {
  body.brand-v4 .rp-chat-widget { left:12px; right:12px; width:auto; max-width:none; }
  body.brand-v4 .rp-chat-launcher { bottom:84px; }
}
@media(max-width:639px) {
  body.brand-v4,body.brand-v4.visual-sidebar-collapsed { --customer-sidebar-offset:64px; }
  .customer-assistant-launch { right:12px; bottom:16px; padding:10px 15px; min-height:48px; font-size:12px; }
  body.brand-v4 #page-app .search-hub-options { grid-template-columns:minmax(0,1fr); }
  body.brand-v4 #page-app .main { padding-bottom:100px; }
}


/* Promotion status belongs to the text area, leaving the campaign artwork clear. */
#page-app .promo-card .promo-card-flags {
  display:flex; align-items:center; gap:8px; min-height:25px; flex-shrink:0;
  margin:0 0 2px; padding:0;
}
.promo-featured-label {
  display:inline-flex; align-items:center; gap:6px; align-self:flex-start;
  min-height:25px; padding:4px 9px; border:1px solid #efdaa0; border-radius:7px;
  background:#fff5cc; color:#634c08; font:650 11px/1.35 'Segoe UI',Arial,sans-serif;
  letter-spacing:.1px; white-space:nowrap; box-shadow:none;
}
.promo-featured-label .ico { color:#9b7400; fill:#ffd129; flex:0 0 13px; }

/* Selected customer search direction: yellow surface, black primary action. */
body.brand-v4 #page-app .search-hero.search-01 {
  --search-yellow:#ffd426; --search-ink:#17191c; --search-inset:24px;
  background:var(--search-yellow); color:var(--search-ink); border:1px solid #e7c125;
  padding:20px var(--search-inset) 0; border-radius:16px; box-shadow:none; overflow:visible;
}
body.brand-v4 #page-app .search-01::before { display:none; }
body.brand-v4 #page-app .search-01 .hsc-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:0 0 14px!important; }
body.brand-v4 #page-app .search-01 .hsc-head h2 { color:var(--search-ink); font-size:30px; font-weight:850; letter-spacing:-1px; line-height:1.1; margin:0; }
body.brand-v4 #page-app .search-01-heading-arrow { font-size:28px; line-height:1; color:var(--search-ink); }
body.brand-v4 #page-app .search-01 .rp-catalog-shell { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:0 12px; margin:0; }
body.brand-v4 #page-app .search-01 .rp-catalog-tabs { display:flex; flex-wrap:wrap; gap:5px; width:auto; margin:0 0 12px; padding:0; border:0; background:transparent; }
body.brand-v4 #page-app .search-01 .rp-catalog-tab { min-height:44px; padding:10px 14px; gap:8px; border:1px solid transparent; border-radius:8px; background:transparent; color:var(--search-ink); box-shadow:none; }
body.brand-v4 #page-app .search-01 .rp-catalog-tab:hover { background:#ffdf59; }
body.brand-v4 #page-app .search-01 .rp-catalog-tab.is-active { background:var(--search-ink); border-color:var(--search-ink); color:#fff; box-shadow:none; }
body.brand-v4 #page-app .search-01 .rp-catalog-tab-icon { width:18px; height:18px; background:transparent; color:inherit; border-radius:0; }
body.brand-v4 #page-app .search-01 .rp-catalog-tab-title { font-size:13px; font-weight:750; color:inherit; letter-spacing:0; line-height:1.25; }
body.brand-v4 #page-app .search-01 .rp-catalog-tab-desc { display:none; }
body.brand-v4 #page-app .search-01-assistant { display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 14px; border:1px solid #9d810d; border-radius:8px; background:transparent; color:var(--search-ink); font:700 13px/1.2 'Archivo','Segoe UI',sans-serif; cursor:pointer; }
body.brand-v4 #page-app .search-01-assistant:hover { background:#ffdf59; }
body.brand-v4 #page-app .search-01-assistant[hidden] { display:none; }
body.brand-v4 #page-app .search-01 .search-box { grid-column:1/-1; display:flex; flex-direction:row; align-items:center; gap:8px; margin:0; padding:5px 5px 5px 13px; min-width:0; border:1px solid #fff; border-radius:11px; background:#fff; box-shadow:none; }
body.brand-v4 #page-app .search-01 .search-box:focus-within { border-color:var(--search-ink); box-shadow:0 0 0 2px var(--search-ink); }
body.brand-v4 #page-app .search-01 .search-box > .ico { color:#565a61; flex-shrink:0; }
body.brand-v4 #page-app .search-01 .search-input { width:100%; min-width:0; padding:11px 2px; min-height:46px; font-size:16px; line-height:1.4; color:var(--search-ink); }
body.brand-v4 #page-app .search-01 .search-btn { display:flex; align-items:center; justify-content:center; gap:10px; flex:0 0 auto; width:auto; min-width:0; min-height:46px; padding:11px 25px; background:var(--search-ink)!important; background-image:none!important; color:var(--search-yellow)!important; border:1px solid var(--search-ink)!important; border-radius:8px; font-size:14px; box-shadow:none!important; }
body.brand-v4 #page-app .search-01 .search-btn:hover { background:#303238!important; }
body.brand-v4 #page-app .search-01 .rp-catalog-panel { grid-column:1/-1; min-width:0; margin:0; border-radius:11px; box-shadow:none; }
body.brand-v4 #page-app .search-01 .rp-catalog-resume { grid-column:1/-1; min-width:0; display:flex; flex-wrap:wrap; align-items:center; gap:4px 16px; margin:16px calc(-1 * var(--search-inset)) 0; padding:9px var(--search-inset) 0; border:0; border-radius:0; background:#fff; color:var(--search-ink); }
body.brand-v4 #page-app .search-01 .rp-catalog-resume[hidden] { display:none; }
body.brand-v4 #page-app .search-01 .rp-resume-copy { display:flex; flex-wrap:wrap; gap:3px 8px; flex:1 1 280px; min-width:0; color:#363b43; font-size:12px; line-height:1.5; }
body.brand-v4 #page-app .search-01 .rp-resume-copy > * { font-size:12px; line-height:1.5; color:#363b43; }
body.brand-v4 #page-app .search-01 .rp-resume-actions { display:flex; flex-direction:row; flex-wrap:wrap; gap:6px 14px; margin-left:auto; }
body.brand-v4 #page-app .search-01 .rp-resume-actions :is(.rp-catalog-resume-btn,.rp-nav-btn) { flex:0 0 auto; width:auto; min-height:38px; padding:7px 0; color:var(--search-ink); border:0; border-radius:3px; background:transparent; box-shadow:none; font-size:12px; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
body.brand-v4 #page-app .search-01 .search-warning { margin:16px calc(-1 * var(--search-inset)) 0; padding:2px var(--search-inset) 7px; background:#fff; border:0; border-radius:0 0 15px 15px; color:#565a61; font-size:11px; }
body.brand-v4 #page-app .search-01:has(.rp-catalog-resume:not([hidden])) .search-warning { margin-top:0; }
body.brand-v4 #page-app .search-01 .search-warning summary { width:fit-content; max-width:100%; gap:6px; min-height:36px; padding:6px 0; }
body.brand-v4 #page-app .search-01 .search-warning strong { color:#51565d; font-size:11px; font-weight:550; line-height:1.4; }
body.brand-v4 #page-app .search-01 .search-warning summary .chev { margin-left:4px; font-size:9px; }
body.brand-v4 #page-app .search-01 .search-warning .sw-body { padding:0 0 9px; max-width:900px; font-size:12px; line-height:1.55; }
body.brand-v4 #page-app .search-01 :is(button,input,summary):focus-visible { outline:2px solid #17191c; outline-offset:3px; }
body.brand-v4 #page-app #main-content:not([data-visual-search-mode=assistant]) > .customer-search-hub { display:none; }
body.brand-v4:has(#search-input:focus) #history-dropdown-active { width:min(320px,calc(100vw - 145px))!important; }
@media(max-width:900px) {
  body.brand-v4 #page-app .search-01 .rp-catalog-shell { grid-template-columns:minmax(0,1fr); }
  body.brand-v4 #page-app .search-01-assistant { grid-row:2; justify-self:start; margin-bottom:12px; }
}
@media(max-width:379px) {
  body.brand-v4 #page-app .search-01 .search-box { display:grid; grid-template-columns:18px minmax(0,1fr); gap:4px 8px; padding:5px 8px; }
  body.brand-v4 #page-app .search-01 .search-btn { grid-column:1/-1; width:100%; }
}
@media(max-width:639px) {
  body.brand-v4 #page-app .search-hero.search-01 { --search-inset:16px; padding-top:17px; }
  body.brand-v4 #page-app .search-01 .hsc-head h2 { font-size:26px; letter-spacing:-.8px; }
  body.brand-v4 #page-app .search-01 .rp-catalog-shell { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 6px; }
  body.brand-v4 #page-app .search-01 .rp-catalog-tabs { display:contents; }
  body.brand-v4 #page-app .search-01 .rp-catalog-tab { justify-content:center; min-height:44px; padding:10px 8px; margin-bottom:7px; }
  body.brand-v4 #page-app .search-01 .rp-catalog-tab-title { font-size:12px; }
  body.brand-v4 #page-app .search-01-assistant { grid-column:2; grid-row:2; justify-self:stretch; min-height:44px; padding:10px 7px; margin-bottom:7px; font-size:12px; }
  body.brand-v4 #page-app .search-01 .search-box { margin-top:5px; padding-left:10px; }
  body.brand-v4 #page-app .search-01 .search-btn { min-height:46px; padding:10px 14px; font-size:13px; }
  body.brand-v4 #page-app .search-01 .search-input { padding:10px 0; min-height:46px; }
  body.brand-v4 #page-app .search-01 .rp-resume-copy { flex-basis:100%; }
  body.brand-v4 #page-app .search-01 .rp-resume-actions { margin-left:0; flex:1 1 100%; width:100%; }
  body.brand-v4 #page-app .search-01 .rp-resume-actions :is(.rp-catalog-resume-btn,.rp-nav-btn),
  body.brand-v4 #page-app .search-01 .search-warning summary { min-height:44px; }
  body.brand-v4 #page-app .search-01 .rp-catalog-panel { padding:14px; }
}
