/* Ulrich Motorsport 24.0 — consolidated legacy cascade for product
   Generated from original CSS in load order. Edit sources, then rebuild.
*/

/* === SOURCE: ulrich-v21-mobile.css === */
/* V21 — Menu mobile noir/rouge et newsletter native responsive. */
#footer .um-footer-newsletter__native{min-width:0;width:100%}
#footer .um-native-newsletter,
#footer .um-native-newsletter.block_newsletter{float:none!important;max-width:none!important;width:100%!important;padding:0!important;margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important;color:#fff}
#footer .um-native-newsletter__form{display:flex;align-items:stretch;gap:10px;width:100%;min-width:0;margin:0}
#footer .um-native-newsletter__form input[type=email]{display:block;flex:1 1 0;min-width:0;width:100%;height:52px;padding:0 17px;border:1px solid #dfe3e8;border-radius:9px;background:#fff;color:#14161a;font-size:14px;line-height:1.4;box-shadow:none}
#footer .um-native-newsletter__form button{flex:0 0 auto;height:52px;white-space:nowrap;padding:0 19px;border:0;border-radius:9px;background:#e00920;color:#fff;font-size:13px;font-weight:900;cursor:pointer}
#footer .um-native-newsletter__form button:hover{background:#b7071a}
#footer .um-native-newsletter__conditions{color:#c8cbd0;font-size:11px;line-height:1.5;margin-top:10px}
#footer .um-native-newsletter__conditions a{color:#fff;text-decoration:underline}
#footer .um-native-newsletter .alert{margin:10px 0 0;padding:10px 12px;border-radius:8px;font-size:12px}
#footer .um-native-newsletter .psgdpr_consent_message{color:#d5d7da;font-size:11px}

@media(max-width:767px){
  #footer .um-footer-newsletter{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:13px!important;min-width:0!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;padding:20px 16px!important}
  #footer .um-footer-newsletter__intro{min-width:0;width:100%}
  #footer .um-footer-newsletter__intro h3{overflow-wrap:anywhere;font-size:clamp(21px,6vw,28px)!important;line-height:1.12!important}
  #footer .um-footer-newsletter__native,#footer .um-native-newsletter{min-width:0!important;width:100%!important;max-width:100%!important}
  #footer .um-native-newsletter__form{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;width:100%!important;min-width:0!important}
  #footer .um-native-newsletter__form input[type=email]{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;flex:0 0 46px!important;min-height:46px!important;height:46px!important;box-sizing:border-box!important;padding:0 14px!important;border-radius:9px!important;font-size:14px!important}
  #footer .um-native-newsletter__form button{display:block!important;width:100%!important;max-width:100%!important;flex:0 0 46px!important;height:46px!important;min-height:46px!important;box-sizing:border-box!important;padding:0 14px!important;border-radius:9px!important;font-size:13px!important}

  /* Navigation overlay uses the original ps_mainmenu content and its collapse behavior. */
  #header #mobile_top_menu_wrapper{position:relative!important;z-index:35!important;width:100%!important;max-width:100%!important;margin:0!important;padding:8px 14px 18px!important;background:#141619!important;color:#fff!important;border-top:1px solid #33383e!important;border-bottom:3px solid #e00920!important;box-shadow:0 18px 35px rgba(0,0,0,.23)!important;box-sizing:border-box!important}
  #header #mobile_top_menu_wrapper .js-top-menu.mobile{background:transparent!important;width:100%!important;padding:0!important;margin:0!important}
  #header #mobile_top_menu_wrapper .top-menu,
  #header #mobile_top_menu_wrapper #top-menu{display:block!important;width:100%!important;max-width:none!important;list-style:none!important;margin:0!important;padding:0!important;background:transparent!important}
  #header #mobile_top_menu_wrapper .top-menu li{display:block!important;float:none!important;width:100%!important;max-width:100%!important;background:transparent!important;border-bottom:1px solid rgba(255,255,255,.09)!important;margin:0!important;padding:0!important;position:relative!important}
  #header #mobile_top_menu_wrapper .top-menu li:last-child{border-bottom:0!important}
  #header #mobile_top_menu_wrapper .top-menu a,
  #header #mobile_top_menu_wrapper .top-menu a.dropdown-item,
  #header #mobile_top_menu_wrapper .top-menu a[data-depth]{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;min-height:51px!important;padding:13px 12px!important;width:100%!important;max-width:100%!important;margin:0!important;background:transparent!important;color:#fff!important;font-size:14px!important;font-weight:800!important;letter-spacing:.3px!important;text-transform:uppercase!important;line-height:1.35!important;white-space:normal!important;box-sizing:border-box!important;text-decoration:none!important}
  #header #mobile_top_menu_wrapper .top-menu li.current>a,
  #header #mobile_top_menu_wrapper .top-menu a:hover{color:#ff4656!important}
  #header #mobile_top_menu_wrapper .top-menu .navbar-toggler,
  #header #mobile_top_menu_wrapper .top-menu .collapse-icons{display:inline-flex!important;align-items:center!important;justify-content:center!important;float:none!important;flex:0 0 32px!important;width:32px!important;height:32px!important;min-height:32px!important;margin:0!important;padding:0!important;border-radius:8px!important;background:#292c31!important;color:#fff!important;position:static!important;box-shadow:none!important}
  #header #mobile_top_menu_wrapper .top-menu .collapse-icons i{font-size:23px!important;color:#fff!important}
  #header #mobile_top_menu_wrapper .top-menu .popover,
  #header #mobile_top_menu_wrapper .top-menu .sub-menu{position:static!important;inset:auto!important;width:100%!important;max-width:100%!important;min-width:0!important;transform:none!important;float:none!important;margin:0!important;padding:0!important;background:#1d2024!important;color:#fff!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important}
  #header #mobile_top_menu_wrapper .top-menu .sub-menu ul{margin:0!important;padding:0 0 0 12px!important;background:#1d2024!important;display:block!important;width:100%!important;box-sizing:border-box!important}
  #header #mobile_top_menu_wrapper .top-menu .sub-menu a,
  #header #mobile_top_menu_wrapper .top-menu .sub-menu a[data-depth]{padding:10px 12px!important;min-height:42px!important;font-size:12px!important;font-weight:650!important;color:#e4e6e8!important;text-transform:none!important}
  #header #mobile_top_menu_wrapper .js-top-menu-bottom{margin:12px 0 0!important;padding:12px 6px 0!important;background:transparent!important;border-top:1px solid rgba(255,255,255,.12)!important;color:#fff!important}
  #header #mobile_top_menu_wrapper .js-top-menu-bottom a{color:#fff!important}
  #header #mobile_top_menu_wrapper .language-selector,#header #mobile_top_menu_wrapper .currency-selector{color:#fff!important}
  #header #mobile_top_menu_wrapper .top-menu .collapse:not(.in):not(.show){display:none!important}
  #header #menu-icon{cursor:pointer!important;background:transparent!important;border:0!important}
}


/* === SOURCE: ulrich-v19-pages.css === */
:root{
  --um18-ink:#11161d;
  --um18-red:#e00920;
  --um18-red-dark:#b70619;
  --um18-line:#e7eaef;
  --um18-soft:#f5f7fa;
  --um18-shadow:0 12px 30px rgba(15,20,29,.08);
  --um18-radius:18px;
  --um18-container:1560px;
}

/* Global content breathing room on internal pages */
body:not(#index) #wrapper>.container{
  width:calc(100% - 56px)!important;
  max-width:var(--um18-container)!important;
  padding:0 0 34px!important;
}
@media (max-width:991px){
  body:not(#index) #wrapper>.container{width:calc(100% - 32px)!important}
}
@media (max-width:767px){
  body:not(#index) #wrapper>.container{width:calc(100% - 20px)!important;padding:0 0 24px!important}
}

/* Listing / category pages: coherent spacing with header */
body#category #left-column,
body#best-sales #left-column,
body#new-products #left-column,
body#prices-drop #left-column,
body#search #left-column,
body#manufacturer #left-column,
body#supplier #left-column{padding-right:14px!important}

body#category #content-wrapper,
body#best-sales #content-wrapper,
body#new-products #content-wrapper,
body#prices-drop #content-wrapper,
body#search #content-wrapper,
body#manufacturer #content-wrapper,
body#supplier #content-wrapper{padding-left:14px!important}

body#category #main,
body#best-sales #main,
body#new-products #main,
body#prices-drop #main,
body#search #main,
body#manufacturer #main,
body#supplier #main{padding-top:8px}

body#category .breadcrumb,
body#best-sales .breadcrumb,
body#new-products .breadcrumb,
body#prices-drop .breadcrumb,
body#search .breadcrumb,
body#manufacturer .breadcrumb,
body#supplier .breadcrumb,
body#contact .breadcrumb,
body#authentication .breadcrumb,
body#cart .breadcrumb{margin-bottom:16px!important}

body#category .block-category.um-category-header,
body#best-sales .block-category.um-category-header,
body#new-products .block-category.um-category-header,
body#prices-drop .block-category.um-category-header,
body#search .block-category.um-category-header,
body#manufacturer .block-category.um-category-header,
body#supplier .block-category.um-category-header{
  border:1px solid var(--um18-line)!important;
  border-radius:18px!important;
  box-shadow:var(--um18-shadow)!important;
  padding:24px 24px!important;
  margin-bottom:18px!important;
}

body#category .products-selection,
body#best-sales .products-selection,
body#new-products .products-selection,
body#prices-drop .products-selection,
body#search .products-selection,
body#manufacturer .products-selection,
body#supplier .products-selection{
  background:#fff!important;
  border:1px solid var(--um18-line)!important;
  border-radius:16px!important;
  box-shadow:var(--um18-shadow)!important;
  padding:14px 18px!important;
  margin:0 0 18px!important;
}

body#category #js-product-list .products,
body#best-sales #js-product-list .products,
body#new-products #js-product-list .products,
body#prices-drop #js-product-list .products,
body#search #js-product-list .products,
body#manufacturer #js-product-list .products,
body#supplier #js-product-list .products{margin-top:0!important}

body#category #left-column .block-categories,
body#category #left-column #search_filters,
body#best-sales #left-column .block-categories,
body#best-sales #left-column #search_filters,
body#new-products #left-column .block-categories,
body#new-products #left-column #search_filters,
body#prices-drop #left-column .block-categories,
body#prices-drop #left-column #search_filters,
body#search #left-column .block-categories,
body#search #left-column #search_filters,
body#manufacturer #left-column .block-categories,
body#manufacturer #left-column #search_filters,
body#supplier #left-column .block-categories,
body#supplier #left-column #search_filters{
  border-radius:18px!important;
}

/* Customer login / account pages */
body#authentication #main,
body#identity #main,
body#password #main,
body#registration #main,
body#addresses #main,
body#address #main,
body#history #main,
body#my-account #main{padding:10px 0 8px!important}

body#authentication .page-header,
body#identity .page-header,
body#password .page-header,
body#registration .page-header,
body#addresses .page-header,
body#address .page-header,
body#history .page-header,
body#my-account .page-header{
  margin:8px auto 14px!important;
  text-align:center!important;
}

body#authentication .page-header h1,
body#identity .page-header h1,
body#password .page-header h1,
body#registration .page-header h1,
body#addresses .page-header h1,
body#address .page-header h1,
body#history .page-header h1,
body#my-account .page-header h1{
  margin:0!important;
  color:var(--um18-ink)!important;
  font-size:clamp(28px,4vw,44px)!important;
  line-height:1!important;
  font-weight:900!important;
  font-style:italic!important;
  text-transform:uppercase!important;
  letter-spacing:-.02em!important;
}

body#authentication #content,
body#identity #content,
body#password #content,
body#registration #content,
body#addresses #content,
body#address #content,
body#history #content,
body#my-account #content{
  max-width:760px!important;
  margin:0 auto 22px!important;
  background:#fff!important;
  border:1px solid var(--um18-line)!important;
  border-radius:20px!important;
  box-shadow:var(--um18-shadow)!important;
  padding:28px 30px!important;
}

body#authentication form,
body#identity form,
body#password form,
body#registration form,
body#addresses form,
body#address form{margin:0!important}

body#authentication .form-group,
body#identity .form-group,
body#password .form-group,
body#registration .form-group,
body#addresses .form-group,
body#address .form-group{margin-bottom:18px!important}

body#authentication .form-control,
body#authentication select,
body#authentication input,
body#identity .form-control,
body#identity select,
body#identity input,
body#password .form-control,
body#registration .form-control,
body#addresses .form-control,
body#address .form-control{
  border:1px solid #d9dee5!important;
  background:#fafbfd!important;
  border-radius:10px!important;
  min-height:48px!important;
  box-shadow:none!important;
}

body#authentication .btn-primary,
body#identity .btn-primary,
body#password .btn-primary,
body#registration .btn-primary,
body#addresses .btn-primary,
body#address .btn-primary,
body#my-account .btn-primary{
  background:var(--um18-red)!important;
  border:0!important;
  border-radius:10px!important;
  color:#fff!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  min-height:48px!important;
  padding:12px 24px!important;
  box-shadow:0 10px 18px rgba(224,9,32,.18)!important;
}
body#authentication .btn-primary:hover,
body#identity .btn-primary:hover,
body#password .btn-primary:hover,
body#registration .btn-primary:hover,
body#addresses .btn-primary:hover,
body#address .btn-primary:hover,
body#my-account .btn-primary:hover{background:var(--um18-red-dark)!important}

body#authentication .forgot-password,
body#authentication .no-account,
body#registration .no-account{text-align:center!important}
body#authentication hr{margin:22px 0!important;border-color:#eceff3!important}
body#my-account #content .links a,
body#history #content table,
body#addresses #content .address,
body#address #content .address,
body#identity #content .address{border-radius:14px!important}

/* Cart page harmonization */
body#cart #main{padding:10px 0 10px!important}
body#cart .cart-grid{display:flex;flex-wrap:wrap;gap:26px!important;margin:0!important}
body#cart .cart-grid>.cart-grid-body,
body#cart .cart-grid>.cart-grid-right{padding:0!important}
body#cart .cart-grid>.cart-grid-body{flex:1 1 0;min-width:0}
body#cart .cart-grid>.cart-grid-right{flex:0 0 420px;max-width:420px}
body#cart .cart-container,
body#cart .cart-summary,
body#cart #block-reassurance,
body#cart .blockreassurance_product{
  background:#fff!important;
  border:1px solid var(--um18-line)!important;
  border-radius:20px!important;
  box-shadow:var(--um18-shadow)!important;
}
body#cart .cart-container .card-block,
body#cart .cart-summary .card-block{padding:24px!important}
body#cart .cart-container .h1,
body#cart .cart-summary .h1{
  margin:0!important;
  font-size:clamp(30px,4vw,46px)!important;
  line-height:1!important;
  font-weight:900!important;
  font-style:italic!important;
  text-transform:uppercase!important;
  color:var(--um18-ink)!important;
}
body#cart .cart-summary .btn-primary,
body#cart .cart-grid-right .btn-primary,
body#cart .cart-grid-right .checkout .btn{
  background:var(--um18-red)!important;
  border:0!important;
  border-radius:10px!important;
  min-height:52px!important;
  text-transform:uppercase!important;
  font-weight:900!important;
}
body#cart .cart-summary .btn-primary:hover,
body#cart .cart-grid-right .btn-primary:hover{background:var(--um18-red-dark)!important}
body#cart .separator{border-color:#edf0f4!important;margin:0!important}
body#cart .label{display:inline-flex!important;align-items:center!important;gap:6px!important;color:#444b53!important;font-weight:700!important;margin-top:18px!important}
body#cart .blockreassurance_product>div,
body#cart #block-reassurance>div{padding:18px 22px!important}

/* Contact page */
body#contact #main{padding:8px 0 12px!important}
body#contact #left-column{padding-right:16px!important}
body#contact #content-wrapper{padding-left:16px!important}
body#contact .um-contact-page{max-width:none!important;margin:0!important;padding:0!important}
body#contact .um-contact-heading{
  background:#fff!important;
  border:1px solid var(--um18-line)!important;
  border-radius:20px!important;
  box-shadow:var(--um18-shadow)!important;
  border-left:0!important;
  padding:24px 28px!important;
  margin-bottom:18px!important;
  position:relative;
}
body#contact .um-contact-heading::before{
  content:'';
  position:absolute;
  left:18px;
  top:28px;
  width:42px;
  height:4px;
  border-radius:999px;
  background:var(--um18-red);
}
body#contact .um-contact-heading span{
  display:block;
  padding-left:58px;
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  font-weight:900;
  color:#7a828b;
}
body#contact .um-contact-heading h1{
  padding-left:58px;
  margin:6px 0 6px!important;
  font-size:clamp(28px,4vw,44px)!important;
  line-height:1!important;
  font-weight:900!important;
  font-style:italic!important;
  text-transform:uppercase!important;
  color:var(--um18-ink)!important;
}
body#contact .um-contact-heading p{padding-left:58px;margin:0!important;color:#66707a;font-size:15px}
body#contact .um-contact-panel{
  background:#fff!important;
  border:1px solid var(--um18-line)!important;
  border-radius:20px!important;
  box-shadow:var(--um18-shadow)!important;
  padding:28px!important;
}
body#contact .um-contact-panel .contact-form{box-shadow:none!important;border:0!important;padding:0!important;background:transparent!important}
body#contact .um-contact-panel .form-control,
body#contact .um-contact-panel input,
body#contact .um-contact-panel select,
body#contact .um-contact-panel textarea{
  border:1px solid #d9dee5!important;
  background:#fafbfd!important;
  border-radius:10px!important;
  box-shadow:none!important;
}
body#contact .um-contact-panel textarea{min-height:170px!important}
body#contact .um-contact-panel .btn-primary,
body#contact .um-contact-panel button[type="submit"]{
  background:var(--um18-red)!important;
  border:0!important;
  color:#fff!important;
  border-radius:10px!important;
  min-height:48px!important;
  padding:12px 24px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
}
body#contact #left-column .block-contact,
body#contact #left-column .contact-rich,
body#contact #left-column .contact-box,
body#contact #left-column > *{
  background:#fff!important;
  border:1px solid var(--um18-line)!important;
  border-radius:20px!important;
  box-shadow:var(--um18-shadow)!important;
  padding:22px 22px 18px!important;
}
body#contact #left-column h4,
body#contact #left-column .h3,
body#contact #left-column .title{
  font-size:30px!important;
  line-height:1!important;
  font-weight:900!important;
  font-style:italic!important;
  text-transform:uppercase!important;
  color:var(--um18-ink)!important;
  margin-bottom:18px!important;
}

/* Small-screen adjustments */
@media (max-width:1199px){
  body#cart .cart-grid>.cart-grid-right{flex:1 1 100%;max-width:none}
}
@media (max-width:991px){
  body#contact #left-column,body#contact #content-wrapper,
  body#category #left-column,body#category #content-wrapper,
  body#best-sales #left-column,body#best-sales #content-wrapper,
  body#new-products #left-column,body#new-products #content-wrapper,
  body#prices-drop #left-column,body#prices-drop #content-wrapper,
  body#search #left-column,body#search #content-wrapper,
  body#manufacturer #left-column,body#manufacturer #content-wrapper,
  body#supplier #left-column,body#supplier #content-wrapper{padding-left:0!important;padding-right:0!important}
  body#contact .um-contact-panel{padding:20px!important}
}
@media (max-width:767px){
  body#authentication #content,
  body#identity #content,
  body#password #content,
  body#registration #content,
  body#addresses #content,
  body#address #content,
  body#history #content,
  body#my-account #content{padding:18px 16px!important;border-radius:16px!important}
  body#contact .um-contact-heading{padding:18px 16px 18px!important}
  body#contact .um-contact-heading::before{left:16px;top:20px;width:32px}
  body#contact .um-contact-heading span,
  body#contact .um-contact-heading h1,
  body#contact .um-contact-heading p{padding-left:44px}
  body#contact .um-contact-heading h1{font-size:34px!important}
  body#contact .um-contact-panel{padding:16px!important}
  body#cart .cart-container .card-block,
  body#cart .cart-summary .card-block{padding:18px!important}
  body#cart .cart-container .h1{font-size:34px!important}
}

/* ===========================================================
   ULRICH MOTORSPORT V19
   Pages intérieures homogènes et chargement explicite.
   =========================================================== */
:root{--um19-red:#e00920;--um19-ink:#15191e;--um19-muted:#626b75;--um19-border:#e8ebef;--um19-soft:#f5f6f8;--um19-shadow:0 12px 30px rgba(15,21,29,.07)}

/* Alignement au header : une marge régulière sur toutes les pages intérieures. */
body:not(#index) #wrapper > .container{
  box-sizing:border-box!important;
  width:calc(100% - 64px)!important;
  max-width:1500px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:0 0 36px!important;
}
body:not(#index) #wrapper > .container > .row{margin-left:-10px!important;margin-right:-10px!important}
body:not(#index) #wrapper > .container > .row > [id$='column'],
body:not(#index) #wrapper > .container > .row > #content-wrapper{padding-left:10px!important;padding-right:10px!important}
body:not(#index) #wrapper{background:#f6f7f9!important}
body:not(#index) #wrapper .breadcrumb{margin:0 0 22px!important;padding:14px 0 0!important}

/* Bandeau titre / compte et formulaires */
body#authentication #main,
body#registration #main,
body#identity #main,
body#my-account #main,
body#password #main,
body#password-email #main,
body#password-new #main,
body#addresses #main,
body#address #main,
body#history #main,
body#order-detail #main,
body#order-slip #main,
body#discount #main,
body#order-follow #main,
body#order-return #main{padding:14px 0 30px!important}

body#authentication #main .page-header,
body#registration #main .page-header,
body#identity #main .page-header,
body#my-account #main .page-header,
body#history #main .page-header,
body#addresses #main .page-header,
body#address #main .page-header,
body#order-detail #main .page-header,
body#order-slip #main .page-header,
body#discount #main .page-header,
body#order-follow #main .page-header,
body#order-return #main .page-header{
  max-width:1100px!important;
  margin:0 auto 18px!important;
  padding-left:20px!important;
  text-align:left!important;
}
body#authentication #main .page-header h1,
body#registration #main .page-header h1,
body#identity #main .page-header h1,
body#my-account #main .page-header h1,
body#history #main .page-header h1,
body#addresses #main .page-header h1,
body#address #main .page-header h1,
body#order-detail #main .page-header h1,
body#order-slip #main .page-header h1,
body#discount #main .page-header h1,
body#order-follow #main .page-header h1,
body#order-return #main .page-header h1{
  font-size:clamp(25px,3vw,40px)!important;
  font-style:italic!important;
  font-weight:900!important;
  color:var(--um19-ink)!important;
  text-transform:uppercase!important;
  letter-spacing:-.025em!important;
  line-height:1.1!important;
}
body#authentication #main #content,
body#registration #main #content,
body#identity #main #content,
body#password #main #content,
body#password-email #main #content,
body#password-new #main #content,
body#addresses #main #content,
body#address #main #content{
  max-width:760px!important;
  margin:0 auto 22px!important;
  padding:30px 36px 32px!important;
  border:1px solid var(--um19-border)!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:var(--um19-shadow)!important;
}
body#authentication #main #content{max-width:650px!important}
.um-kicker{font-size:11px!important;font-weight:900!important;letter-spacing:.17em!important;text-transform:uppercase!important;color:var(--um19-red)!important}
.um-auth-intro{padding:0 0 21px;margin:0 0 24px;border-bottom:1px solid #edf0f3}
.um-auth-intro h2,.um-account-intro h2{font-size:clamp(21px,2.5vw,32px)!important;font-style:italic!important;font-weight:900!important;line-height:1.1!important;letter-spacing:-.025em!important;text-transform:uppercase!important;color:var(--um19-ink)!important;margin:9px 0!important}
.um-auth-intro p,.um-account-intro p{color:var(--um19-muted);font-size:14px;line-height:1.55;margin:0}

/* Formulaire responsive : labels à gauche sur ordinateur, au-dessus sur mobile. */
body#authentication #login-form .form-group,
body#authentication #login-form .form-group.row,
body#registration .register-form .form-group,
body#identity #content .form-group,
body#address #content .form-group,
body#password #content .form-group{
  display:flex!important;
  align-items:center!important;
  margin:0 0 16px!important;
  gap:8px!important;
}
body#authentication #login-form .form-group > .form-control-label,
body#authentication #login-form .form-group > label,
body#registration .register-form .form-group > label,
body#identity #content .form-group > label,
body#address #content .form-group > label{
  flex:0 0 25%;max-width:25%;text-align:left!important;
  color:#343940!important;font-weight:800!important;font-size:13px!important;
  padding:0!important;margin:0!important;
}
body#authentication #login-form .form-group > .col-md-6,
body#authentication #login-form .form-group > .col-md-8,
body#registration .register-form .form-group > .col-md-6,
body#identity #content .form-group > .col-md-6,
body#address #content .form-group > .col-md-6{
  flex:1 1 auto;max-width:none!important;width:auto!important;padding:0!important;
}
body#authentication #login-form input,
body#authentication #login-form .form-control,
body#registration .register-form .form-control,
body#identity #content .form-control,
body#address #content .form-control,
body#password #content .form-control{
  min-height:48px!important;
  background:#f9fafb!important;
  border:1px solid #dbe0e6!important;
  border-radius:10px!important;
  padding:10px 14px!important;
  color:var(--um19-ink)!important;
  box-shadow:none!important;
}
body#authentication #login-form input:focus,
body#registration .register-form .form-control:focus,
body#identity #content .form-control:focus,
body#address #content .form-control:focus,
body#password #content .form-control:focus{border-color:var(--um19-red)!important;outline:2px solid rgba(224,9,32,.1)!important;outline-offset:0!important}
body#authentication #login-form .input-group-btn .btn,
body#authentication #login-form button[data-action='show-password']{
  border-radius:0 10px 10px 0!important;
  min-height:48px!important;
  background:#343a40!important;
  border:0!important;
  color:#fff!important;
}
body#authentication #login-form .forgot-password{margin:12px 0 20px!important;text-align:right!important}
body#authentication #login-form .forgot-password a,
body#authentication .no-account a,
body#registration .register-form a{color:var(--um19-red)!important;font-weight:750!important}
body#authentication #login-form .form-footer,
body#registration .form-footer{text-align:center!important;margin-top:8px!important}
body#authentication #submit-login,
body#registration #content .btn-primary,
body#identity #content .btn-primary,
body#address #content .btn-primary,
body#password #content .btn-primary{
  background:var(--um19-red)!important;
  border:0!important;
  border-radius:10px!important;
  min-height:48px!important;
  padding:11px 32px!important;
  color:white!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  box-shadow:0 9px 16px rgba(224,9,32,.18)!important;
}

/* Dashboard personnel: grille de grandes tuiles au lieu des liens Classic. */
body#my-account #main #content{max-width:1100px!important;padding:30px 30px 22px!important}
body#my-account .um-account-intro{border-bottom:1px solid #eceff3;margin-bottom:24px;padding-bottom:22px}
body#my-account .um-account-dashboard{margin:0!important}
body#my-account .um-account-dashboard .links{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  width:100%!important;
  padding:0!important;
  margin:0!important;
}
body#my-account .um-account-dashboard .links > a,
body#my-account .um-account-dashboard .links > div > a{
  display:flex!important;
  align-items:center!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  min-height:148px!important;
  padding:20px!important;
  border:1px solid var(--um19-border)!important;
  border-radius:15px!important;
  background:linear-gradient(145deg,#fbfbfc,#f5f6f8)!important;
  box-shadow:none!important;
  color:var(--um19-ink)!important;
  text-decoration:none!important;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
body#my-account .um-account-dashboard .links > a:hover,
body#my-account .um-account-dashboard .links > div > a:hover{
  border-color:#e7b4bc!important;
  box-shadow:0 12px 24px rgba(15,20,29,.07)!important;
  transform:translateY(-2px);
}
body#my-account .um-account-dashboard .links .link-item{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:12px!important;
  width:100%!important;
  padding:0!important;
  color:var(--um19-ink)!important;
  font-size:15px!important;
  line-height:1.35!important;
  font-weight:850!important;
  text-transform:none!important;
}
body#my-account .um-account-dashboard .links .link-item .material-icons{
  font-size:30px!important;
  line-height:1!important;
  color:var(--um19-red)!important;
  margin:0!important;
}
body#my-account .page-footer{text-align:center;margin:20px 0 6px!important}
body#my-account .page-footer a,body#my-account .page-footer .account-link{font-size:13px!important;color:#414951!important;font-weight:800!important}

/* Account details: larger usable width for orders, addresses, and tables. */
body#history #main #content,
body#order-detail #main #content,
body#addresses #main #content,
body#order-slip #main #content,
body#discount #main #content,
body#order-follow #main #content,
body#order-return #main #content{max-width:1120px!important}
body#history #content .table,
body#order-detail #content .table,
body#order-slip #content .table{
  width:100%!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  border:1px solid var(--um19-border)!important;
  border-radius:14px!important;
  overflow:hidden!important;
}
body#history #content .table thead th,
body#order-detail #content .table thead th,
body#order-slip #content .table thead th{
  background:#202327!important;color:white!important;border:0!important;
  padding:15px 12px!important;
  font-size:12px!important;
  text-transform:uppercase!important;
}
body#history #content .table tbody td,
body#history #content .table tbody th,
body#order-detail #content .table tbody td,
body#order-detail #content .table tbody th,
body#order-slip #content .table tbody td{
  border-top:1px solid #edf0f2!important;
  border-bottom:0!important;
  padding:14px 12px!important;
  vertical-align:middle!important;
}
body#addresses #content .address,
body#order-detail #content .address{
  height:100%;
  background:#f9fafb!important;
  border:1px solid var(--um19-border)!important;
  border-radius:14px!important;
  padding:18px!important;
  box-shadow:none!important;
}
body#addresses #content .address-footer{border-top:1px solid #e5e8ec!important;padding-top:12px!important}
body#addresses .addresses-footer a{display:inline-flex;gap:8px;align-items:center;color:var(--um19-red)!important;font-weight:800!important}
body#my-account #main .alert,
body#history #main .alert,
body#order-detail #main .alert,
body#addresses #main .alert{border-radius:12px!important}

/* Panier : vraie structure, panneaux égaux, contrôles et état vide premium. */
body#cart #main{padding:18px 0 24px!important}
body#cart .cart-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(320px,390px)!important;
  gap:24px!important;
  align-items:start!important;
  margin:0!important;
}
body#cart .cart-grid > .cart-grid-body,
body#cart .cart-grid > .cart-grid-right{
  float:none!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  flex:none!important;
  padding:0!important;
}
body#cart .cart-grid .card.cart-container,
body#cart .cart-grid .card.cart-summary{
  background:#fff!important;
  border:1px solid var(--um19-border)!important;
  border-radius:20px!important;
  box-shadow:var(--um19-shadow)!important;
  overflow:hidden!important;
  margin:0 0 16px!important;
}
body#cart .cart-container > .card-block:first-child{
  padding:24px 28px!important;
  border-bottom:1px solid #edf0f2!important;
}
body#cart .cart-container .h1{
  font-size:clamp(29px,3vw,42px)!important;
  line-height:1.08!important;
  font-weight:900!important;
  font-style:italic!important;
  text-transform:uppercase!important;
  color:var(--um19-ink)!important;
  margin:0!important;
}
body#cart .cart-grid .separator{display:none!important}
body#cart .cart-grid .cart-overview{padding:24px 28px!important}
body#cart .cart-grid .cart-summary .card-block{padding:20px 24px!important}
body#cart .cart-grid .cart-summary .cart-summary-totals,
body#cart .cart-grid .cart-summary .cart-summary-subtotals-container{border-top:1px solid #ecf0f3!important}
body#cart .cart-grid .cart-summary .cart-summary-line{padding:12px 0!important;color:#343b43!important}
body#cart .cart-grid .cart-summary .cart-summary-line .value{font-weight:800!important;color:#181c20!important}
body#cart .cart-grid .cart-summary .cart-total .value,
body#cart .cart-grid .cart-summary .cart-summary-line.cart-total .value{font-size:22px!important;font-weight:900!important;color:var(--um19-red)!important}
body#cart .cart-grid .checkout .btn-primary,
body#cart .cart-grid .cart-detailed-actions .btn-primary{
  display:block!important;
  width:100%!important;
  min-height:50px!important;
  border:0!important;
  border-radius:10px!important;
  background:var(--um19-red)!important;
  color:white!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  padding:14px 18px!important;
  box-shadow:0 8px 16px rgba(224,9,32,.18)!important;
}
body#cart .cart-grid .checkout .btn.disabled,
body#cart .cart-grid .checkout button:disabled,
body#cart .cart-grid .cart-detailed-actions button:disabled{
  opacity:1!important;
  background:#eef0f3!important;
  color:#a4aab1!important;
  box-shadow:none!important;
  cursor:not-allowed!important;
}
body#cart .cart-grid-body > a.label{
  display:inline-flex!important;
  align-items:center!important;
  padding:8px 4px!important;
  margin:4px 0 12px!important;
  color:#363d45!important;
  font-size:13px!important;
  font-weight:800!important;
  text-decoration:none!important;
}
body#cart .cart-grid-body > a.label:hover{color:var(--um19-red)!important}
body#cart .cart-item{
  border-bottom:1px solid #edf0f3!important;
  margin-bottom:0!important;
  padding:18px 0!important;
}
body#cart .cart-item:last-child{border-bottom:0!important}
body#cart .cart-item .product-line-grid{
  align-items:center!important;
}
body#cart .cart-item .product-line-grid img{border-radius:10px!important;background:#f3f4f6!important}
body#cart .cart-item .product-line-info a{color:#20262b!important;font-weight:800!important}
body#cart .cart-item .current-price,
body#cart .cart-item .product-price{color:var(--um19-red)!important;font-weight:900!important}
body#cart .cart-item .product-line-actions .input-group input{border-radius:8px!important}
body#cart .blockreassurance_product,
body#cart #block-reassurance{
  border:1px solid var(--um19-border)!important;
  border-radius:18px!important;
  background:#fff!important;
  padding:12px 16px!important;
  box-shadow:var(--um19-shadow)!important;
  margin-top:18px!important;
}
body#cart .um-empty-cart{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:270px;
  gap:12px;
  text-align:center;
  padding:18px 0 24px;
}
body#cart .um-empty-cart__icon{
  display:flex;align-items:center;justify-content:center;
  width:75px;height:75px;border-radius:22px;
  background:#fff1f3;color:var(--um19-red);
}
body#cart .um-empty-cart__icon svg{width:39px;height:39px}
body#cart .um-empty-cart h2{font-size:25px!important;font-weight:900!important;font-style:italic!important;line-height:1.1!important;margin:0!important;text-transform:uppercase!important;color:var(--um19-ink)!important}
body#cart .um-empty-cart p{font-size:14px;color:var(--um19-muted);margin:0 0 8px;max-width:360px;line-height:1.5}
body#cart .um-empty-cart__button{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  background:var(--um19-red)!important;
  color:#fff!important;border:0!important;border-radius:10px!important;
  font-size:13px;font-weight:900;min-height:44px;padding:11px 20px!important;
  box-shadow:0 8px 16px rgba(224,9,32,.17);
}

/* Layout / listing : préserver des marges à toutes tailles. */
body#category #wrapper > .container,
body#new-products #wrapper > .container,
body#best-sales #wrapper > .container,
body#prices-drop #wrapper > .container,
body#search #wrapper > .container,
body#manufacturer #wrapper > .container,
body#supplier #wrapper > .container{max-width:1500px!important}

@media (max-width:1150px){
  body#cart .cart-grid{grid-template-columns:minmax(0,1fr) 330px!important;gap:18px!important}
  body#my-account .um-account-dashboard .links{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:900px){
  body#cart .cart-grid{grid-template-columns:minmax(0,1fr)!important}
  body#cart .cart-grid > .cart-grid-right{width:100%!important;max-width:none!important}
}
@media (max-width:767px){
  body:not(#index) #wrapper>.container{width:calc(100% - 24px)!important;padding-bottom:22px!important}
  body#authentication #main #content,
  body#registration #main #content,
  body#identity #main #content,
  body#password #main #content,
  body#password-email #main #content,
  body#password-new #main #content,
  body#addresses #main #content,
  body#address #main #content,
  body#my-account #main #content{padding:18px 16px 22px!important;border-radius:16px!important}
  body#authentication #login-form .form-group,
  body#registration .register-form .form-group,
  body#identity #content .form-group,
  body#address #content .form-group{display:block!important}
  body#authentication #login-form .form-group > .form-control-label,
  body#authentication #login-form .form-group > label,
  body#registration .register-form .form-group > label,
  body#identity #content .form-group > label,
  body#address #content .form-group > label{display:block!important;max-width:100%!important;margin-bottom:8px!important}
  body#my-account .um-account-dashboard .links{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  body#my-account .um-account-dashboard .links > a,
  body#my-account .um-account-dashboard .links > div > a{padding:15px!important;min-height:122px!important}
  body#my-account .um-account-dashboard .links .link-item{font-size:12px!important}
  body#my-account .um-account-dashboard .links .link-item .material-icons{font-size:25px!important}
  body#cart .cart-container > .card-block:first-child{padding:18px 18px!important}
  body#cart .cart-grid .cart-overview{padding:18px!important}
  body#cart .cart-grid .cart-summary .card-block{padding:18px!important}
  body#cart .um-empty-cart{min-height:240px}
  body#history #main #content,
  body#order-detail #main #content{padding:18px 12px!important;overflow-x:auto!important}
}
@media (max-width:390px){
  body#my-account .um-account-dashboard .links{grid-template-columns:1fr!important}
}


/* === SOURCE: ulrich-v19-grid4.css === */
/* V19.1 — Four product cards per row on desktop listing pages.
   Uses CSS grid instead of fighting Classic's Bootstrap columns. */
@media (min-width: 1300px) {
  body#category #js-product-list .products.row,
  body#new-products #js-product-list .products.row,
  body#best-sales #js-product-list .products.row,
  body#prices-drop #js-product-list .products.row,
  body#search #js-product-list .products.row,
  body#manufacturer #js-product-list .products.row,
  body#supplier #js-product-list .products.row {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin: 0 !important;
  }
}
@media (min-width: 992px) and (max-width: 1299.98px) {
  body#category #js-product-list .products.row,
  body#new-products #js-product-list .products.row,
  body#best-sales #js-product-list .products.row,
  body#prices-drop #js-product-list .products.row,
  body#search #js-product-list .products.row,
  body#manufacturer #js-product-list .products.row,
  body#supplier #js-product-list .products.row {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin: 0 !important;
  }
}
@media (max-width: 991.98px) {
  body#category #js-product-list .products.row,
  body#new-products #js-product-list .products.row,
  body#best-sales #js-product-list .products.row,
  body#prices-drop #js-product-list .products.row,
  body#search #js-product-list .products.row,
  body#manufacturer #js-product-list .products.row,
  body#supplier #js-product-list .products.row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin: 0 !important;
  }
}
body#category #js-product-list .products.row > .product,
body#new-products #js-product-list .products.row > .product,
body#best-sales #js-product-list .products.row > .product,
body#prices-drop #js-product-list .products.row > .product,
body#search #js-product-list .products.row > .product,
body#manufacturer #js-product-list .products.row > .product,
body#supplier #js-product-list .products.row > .product {
  float: none !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
@media (max-width: 399px) {
  body#category #js-product-list .products.row,
  body#new-products #js-product-list .products.row,
  body#best-sales #js-product-list .products.row,
  body#prices-drop #js-product-list .products.row,
  body#search #js-product-list .products.row,
  body#manufacturer #js-product-list .products.row,
  body#supplier #js-product-list .products.row {gap: 8px !important;}
}


/* === SOURCE: ulrich-stable-global.css === */
/* ULRICH MOTORSPORT — V23.0 / stabilisation prudente.
   Sources concatenées dans l'ordre original de la cascade CSS.
   NE PAS trier ces sections : l'ordre est volontaire.
   Les fichiers sources restent disponibles pour restauration. */

/* ===== SOURCE 1: v22.6 ===== */
/* V22.6 — Newsletter mobile : neutralise les anciens floats/largeurs Bootstrap et les regles imbriquees.
   Aucun changement au formulaire PHP du module ps_emailsubscription. */
@media (max-width: 767px) {
  html, body { max-width: 100%; }
  #footer .um-footer-shell,
  #footer .um-footer-newsletter,
  #footer .um-footer-newsletter__intro,
  #footer .um-footer-newsletter__native,
  #footer .um-footer-newsletter__native .um-native-newsletter.block_newsletter {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    float: none !important;
  }
  #footer .um-footer-newsletter {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 16px !important;
    padding: 20px 16px !important;
    overflow: visible !important;
  }
  #footer .um-footer-newsletter__intro {
    padding: 0 !important;
  }
  #footer .um-footer-newsletter__intro h3 {
    max-width: 100% !important;
    font-size: clamp(20px, 5.3vw, 27px) !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }
  #footer .um-footer-newsletter__intro p {
    font-size: 13px !important;
    line-height: 1.55 !important;
  }
  #footer .um-footer-newsletter__native,
  #footer .um-footer-newsletter__native .um-native-newsletter {
    display: block !important;
    position: static !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  #footer .um-footer-newsletter__native form.um-native-newsletter__form {
    display: flex !important;
    position: static !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    float: none !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    grid-template-columns: none !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  #footer .um-footer-newsletter__native form.um-native-newsletter__form > input[type="email"],
  #footer .um-footer-newsletter__native form.um-native-newsletter__form > button[type="submit"] {
    box-sizing: border-box !important;
    position: static !important;
    display: block !important;
    float: none !important;
    flex: 0 0 48px !important;
    grid-column: auto !important;
    align-self: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    transform: none !important;
    text-indent: 0 !important;
    font-size: 14px !important;
    line-height: normal !important;
    border-radius: 9px !important;
    white-space: normal !important;
  }
  #footer .um-footer-newsletter__native form.um-native-newsletter__form > input[type="email"] {
    background: #fff !important;
    color: #17191e !important;
    border: 1px solid #dfe3e8 !important;
  }
  #footer .um-footer-newsletter__native form.um-native-newsletter__form > button[type="submit"] {
    background: #e00920 !important;
    color: #fff !important;
    border: 0 !important;
    font-weight: 850 !important;
    cursor: pointer !important;
  }
  #footer .um-footer-newsletter__native .um-native-newsletter__conditions,
  #footer .um-footer-newsletter__native .psgdpr_consent_message,
  #footer .um-footer-newsletter__native .alert,
  #footer .um-footer-newsletter__native .gdpr_module,
  #footer .um-footer-newsletter__native .custom-checkbox {
    display: block !important;
    position: static !important;
    float: none !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
    text-align: left !important;
  }
  #footer .um-footer-newsletter__native .custom-checkbox input,
  #footer .um-footer-newsletter__native input[type="checkbox"] {
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin-right: 7px !important;
  }
}


/* ===== SOURCE 2: v22.7 ===== */
/* Ulrich Motorsport V22.7 - responsive layout refinements.
   Scope: footer, desktop nav legibility, mobile product detail.
   Keep PrestaShop forms and JS handlers unchanged. */

/* Navigation text should not inherit old heavy/shadowed typography. */
@media (min-width: 768px) {
  #header .um-navigation-bar .um-navigation-slot .top-menu a[data-depth="0"],
  #header .um-navigation-bar .um-promotions,
  #header .um-navigation-bar .um-promotions span {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    font-style: normal !important;
    letter-spacing: .12px !important;
    line-height: 1.35 !important;
    text-shadow: none !important;
    filter: none !important;
    -webkit-text-stroke: 0 !important;
    text-rendering: optimizeLegibility;
  }
  #header .um-navigation-bar .um-navigation-slot .top-menu a[data-depth="0"] {
    padding: 17px 12px !important;
  }
}
@media (min-width: 768px) and (max-width: 1150px) {
  #header .um-navigation-bar .um-navigation-slot .top-menu a[data-depth="0"] {
    font-size: 12px !important;
    padding: 16px 7px !important;
  }
}
#header #mobile_top_menu_wrapper .top-menu a,
#header #mobile_top_menu_wrapper .top-menu a span {
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 700 !important;
  font-style: normal !important;
  text-shadow: none !important;
  -webkit-text-stroke: 0 !important;
}

/* Footer: constrain the outer frame to the screen on all widths. */
#footer.um-footer,
#footer .footer-container {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: clip !important;
}
#footer .footer-container > .um-footer-shell {
  box-sizing: border-box !important;
  display: block !important;
  width: calc(100% - 48px) !important;
  max-width: 1480px !important;
  margin: 0 auto !important;
  padding: 34px 0 28px !important;
}
#footer .um-footer-newsletter,
#footer .um-footer-newsletter * {
  box-sizing: border-box !important;
}
#footer .um-footer-newsletter__intro,
#footer .um-footer-newsletter__native,
#footer .um-footer-newsletter__native .um-native-newsletter,
#footer .um-footer-newsletter__native .block_newsletter {
  min-width: 0 !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
#footer .um-footer-newsletter__native .um-native-newsletter,
#footer .um-footer-newsletter__native .block_newsletter {
  float: none !important;
  width: 100% !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}
#footer .um-footer-newsletter__native .um-native-newsletter__conditions,
#footer .um-footer-newsletter__native .psgdpr_consent_message {
  position: static !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 9px 0 0 !important;
  color: #bfc5cb !important;
  font-size: 11px !important;
  line-height: 1.5 !important;
  overflow-wrap: anywhere !important;
  white-space: normal !important;
}

/* Desktop newsletter: copy at left, a genuinely contained form at right. */
@media (min-width: 992px) {
  #footer .um-footer-newsletter {
    display: grid !important;
    grid-template-columns: minmax(0, 1.13fr) minmax(0, 1fr) !important;
    gap: clamp(24px, 3vw, 52px) !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 28px clamp(22px, 3vw, 42px) !important;
    margin: 0 0 30px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
  }
  #footer .um-footer-newsletter__intro,
  #footer .um-footer-newsletter__native {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
  }
  #footer .um-footer-newsletter__intro h3 {
    margin: 0 0 10px !important;
    font-size: clamp(24px, 2.25vw, 34px) !important;
    line-height: 1.1 !important;
    white-space: normal !important;
  }
  #footer .um-footer-newsletter__native form.um-native-newsletter__form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) max-content !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    position: static !important;
    transform: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  #footer .um-footer-newsletter__native form.um-native-newsletter__form > input[type="email"] {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: block !important;
    position: static !important;
    min-width: 0 !important;
    max-width: none !important;
    width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    float: none !important;
    flex: none !important;
    transform: none !important;
    background: #fff !important;
    color: #16191e !important;
    border: 1px solid #e0e4eb !important;
    border-radius: 9px !important;
    font-size: 14px !important;
    box-shadow: none !important;
  }
  #footer .um-footer-newsletter__native form.um-native-newsletter__form > button[type="submit"] {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: static !important;
    width: auto !important;
    min-width: 132px !important;
    max-width: 190px !important;
    height: 50px !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    float: none !important;
    flex: none !important;
    transform: none !important;
    border: 0 !important;
    border-radius: 9px !important;
    color: #fff !important;
    background: #e00920 !important;
    font: 800 13px/1.2 Arial, Helvetica, sans-serif !important;
    white-space: nowrap !important;
  }
}

/* Footer: stable five-column layout, with responsive wrapping. */
#footer .um-footer-main {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  align-items: start !important;
}
#footer .um-footer-main > * { min-width: 0 !important; }
#footer .um-footer-col h4 {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 17px !important;
  line-height: 1.3 !important;
  font-style: normal !important;
  font-weight: 800 !important;
  text-shadow: none !important;
}
#footer .um-footer-col li,
#footer .um-footer-col a {
  line-height: 1.5 !important;
}
#footer .um-footer-bottom { min-width: 0 !important; }
@media (min-width: 1201px) {
  #footer .um-footer-main {
    display: grid !important;
    grid-template-columns: minmax(220px, 1.4fr) repeat(4, minmax(125px, 1fr)) !important;
    gap: clamp(18px, 2.5vw, 45px) !important;
  }
  #footer .um-footer-brand { grid-column: auto !important; }
}
@media (min-width: 768px) and (max-width: 1200px) {
  #footer .um-footer-main {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
  }
  #footer .um-footer-brand { grid-column: 1 / -1 !important; }
}
@media (max-width: 991px) {
  #footer .footer-container > .um-footer-shell {
    width: calc(100% - 32px) !important;
    padding: 24px 0 20px !important;
  }
  #footer .um-footer-newsletter {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    padding: 24px !important;
    align-items: stretch !important;
    max-width: 100% !important;
    margin: 0 0 24px !important;
  }
  #footer .um-footer-newsletter__intro,
  #footer .um-footer-newsletter__native { width: 100% !important; }
}
@media (min-width: 768px) and (max-width: 991px) {
  #footer .um-footer-newsletter__native form.um-native-newsletter__form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 10px !important;
    width: 100% !important;
  }
  #footer .um-footer-newsletter__native form.um-native-newsletter__form input[type="email"] {
    min-width: 0 !important;
    width: 100% !important;
  }
}
@media (max-width: 767px) {
  #footer .footer-container > .um-footer-shell {
    width: calc(100% - 20px) !important;
    padding: 20px 0 !important;
  }
  #footer .um-footer-newsletter {
    padding: 19px 16px !important;
    gap: 14px !important;
  }
  #footer .um-footer-main {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px 15px !important;
    padding: 18px 0 22px !important;
  }
  #footer .um-footer-brand {
    grid-column: 1 / -1 !important;
  }
  #footer .um-footer-bottom {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12px !important;
    font-size: 11px !important;
  }
}

/* Mobile product: main photograph above a horizontal thumbnail rail. */
@media (max-width: 767px) {
  body#product #wrapper > .container {
    width: calc(100% - 24px) !important;
    max-width: none !important;
    padding: 0 0 22px !important;
  }
  body#product #wrapper #main.um-product-page .product-container.um-product-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  body#product #wrapper #main.um-product-page .um-product-layout > .um-detail-gallery,
  body#product #wrapper #main.um-product-page .um-product-layout > .um-detail-info {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex: none !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-gallery #content {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 12px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-gallery .images-container.js-images-container {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    align-items: stretch !important;
    justify-content: start !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-gallery .product-cover {
    position: relative !important;
    display: flex !important;
    float: none !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 !important;
    padding: 10px !important;
    overflow: hidden !important;
    border-radius: 12px !important;
    background: #f1f2f4 !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-gallery .product-cover picture {
    display: flex !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-gallery .product-cover img {
    position: static !important;
    display: block !important;
    float: none !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    object-fit: contain !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-gallery .js-qv-mask.mask {
    position: static !important;
    display: block !important;
    float: none !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 0 3px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
  }
  body#product #wrapper #main.um-product-page .um-detail-gallery ul.product-images {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 9px !important;
    width: max-content !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 0 2px 3px !important;
    margin: 0 !important;
    list-style: none !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-gallery .product-images .thumb-container {
    display: block !important;
    flex: 0 0 62px !important;
    width: 62px !important;
    height: 62px !important;
    margin: 0 !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-gallery .product-images img.thumb {
    display: block !important;
    width: 62px !important;
    height: 62px !important;
    max-width: 62px !important;
    max-height: 62px !important;
    object-fit: contain !important;
    margin: 0 !important;
    padding: 5px !important;
    border-radius: 9px !important;
  }

  /* Information card and price block. */
  body#product #wrapper #main.um-product-page .um-detail-info > .um-detail-buy-panel {
    padding: 19px 17px !important;
    border-radius: 16px !important;
    margin: 0 !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-buy-panel h1.h1 {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: clamp(22px, 6.1vw, 29px) !important;
    font-style: normal !important;
    font-weight: 850 !important;
    letter-spacing: -.45px !important;
    line-height: 1.14 !important;
    margin: 0 0 14px !important;
    text-shadow: none !important;
    overflow-wrap: anywhere !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-buy-panel .product-prices {
    margin: 0 0 18px !important;
    padding: 0 0 16px !important;
    border-bottom: 1px solid #e9edf1 !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-buy-panel .product-discount {
    margin: 0 0 5px !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-buy-panel .regular-price {
    color: #777e87 !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    text-decoration: line-through !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-buy-panel .current-price {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 8px 12px !important;
    width: 100% !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-buy-panel .current-price-value,
  body#product #wrapper #main.um-product-page .um-detail-buy-panel .current-price .price {
    font-size: clamp(31px, 8vw, 39px) !important;
    line-height: 1.15 !important;
    color: #df071e !important;
    font-weight: 850 !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-buy-panel .discount {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: 100% !important;
    min-height: 29px !important;
    margin: 0 !important;
    padding: 5px 9px !important;
    border-radius: 6px !important;
    background: #ffe9ec !important;
    color: #bb0920 !important;
    font: 750 11px/1.3 Arial, Helvetica, sans-serif !important;
    white-space: normal !important;
    box-shadow: none !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-buy-panel .product-description {
    font-size: 14px !important;
    line-height: 1.55 !important;
    color: #4e5761 !important;
    margin: 0 0 16px !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-buy-panel .product-variants .control-label,
  body#product #wrapper #main.um-product-page .um-detail-buy-panel .product-add-to-cart .control-label {
    display: block !important;
    margin: 0 0 9px !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    color: #20252d !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-buy-panel .product-variants-item {
    margin: 0 0 15px !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-buy-panel .product-variants select {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 48px !important;
    border-radius: 10px !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-buy-panel .product-variants .radio-label {
    min-width: 44px !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 9px !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-buy-panel .product-quantity {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-buy-panel .product-quantity .qty {
    flex: 0 0 76px !important;
    width: 76px !important;
    margin: 0 !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-buy-panel .product-quantity .add {
    flex: 1 1 160px !important;
    min-width: 0 !important;
    width: auto !important;
    margin: 0 !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-buy-panel #quantity_wanted {
    width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;
    border-radius: 10px !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-buy-panel .product-quantity .add-to-cart {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;
    padding: 0 12px !important;
    margin: 0 !important;
    border-radius: 10px !important;
    font: 800 12px/1.2 Arial, Helvetica, sans-serif !important;
    white-space: nowrap !important;
  }
  body#product #wrapper #main.um-product-page .um-product-below { margin: 16px 0 !important; }
  body#product #wrapper #main.um-product-page .um-product-below .tabs { padding: 16px !important; }
  body#product #wrapper #main.um-product-page .um-product-below .nav-tabs {
    display: flex !important;
    gap: 7px !important;
    flex-wrap: wrap !important;
  }
  body#product #wrapper #main.um-product-page .um-product-below .nav-tabs .nav-link {
    font-size: 13px !important;
    padding: 9px 7px !important;
  }
}


/* ===== SOURCE 3: v22.12 ===== */
/* Ulrich Motorsport 22.12 — responsive navigation, breadcrumb, product purchase.
   Built against Classic markup and existing Ulrich product templates.
   No modifications to checkout, add-to-cart JS, or navigation data. */

/* Breadcrumb: actual Classic structure is nav.breadcrumb > ol > li. */
body #wrapper nav.breadcrumb {
  box-sizing:border-box !important;
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 0 18px !important;
  padding:11px 16px !important;
  background:#fff !important;
  border:1px solid #e9ecf1 !important;
  border-radius:11px !important;
  box-shadow:0 3px 12px rgba(18,24,35,.035) !important;
  font:500 13px/1.45 Arial,Helvetica,sans-serif !important;
  color:#717985 !important;
}
body #wrapper nav.breadcrumb ol {
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:0 !important;
  min-width:0 !important;
  max-width:100% !important;
  padding:0 !important;
  margin:0 !important;
  list-style:none !important;
}
body #wrapper nav.breadcrumb ol > li {
  display:inline-flex !important;
  flex:0 0 auto !important;
  align-items:center !important;
  min-width:0 !important;
  float:none !important;
  margin:0 !important;
  padding:0 !important;
  color:#737b86 !important;
  font-size:13px !important;
  font-weight:500 !important;
  line-height:1.45 !important;
  white-space:nowrap !important;
}
body #wrapper nav.breadcrumb ol > li::before { content:none !important; }
body #wrapper nav.breadcrumb ol > li:not(:last-child)::after {
  content:"/" !important;
  position:static !important;
  display:inline-block !important;
  margin:0 10px !important;
  font-weight:400 !important;
  color:#b9bec7 !important;
}
body #wrapper nav.breadcrumb ol > li:last-child {
  flex:0 1 auto !important;
  overflow:hidden !important;
  font-weight:700 !important;
  color:#20262e !important;
}
body #wrapper nav.breadcrumb ol > li:last-child > span {
  overflow:hidden !important;
  white-space:nowrap !important;
  text-overflow:ellipsis !important;
  display:block !important;
  max-width:100% !important;
}
body #wrapper nav.breadcrumb a {
  color:#555e6a !important;
  font-weight:500 !important;
  text-decoration:none !important;
  transition:color .2s ease;
}
body #wrapper nav.breadcrumb a:hover { color:#dd0922 !important; }

/* Native mobile menu: anchor flyout to the bottom of the header.
   Keeps normal page in the document flow rather than inserting a tall drawer. */
@media (max-width:767px) {
  body #wrapper nav.breadcrumb {
    margin:10px 0 14px !important;
    padding:10px 12px !important;
    border-radius:9px !important;
  }
  body #wrapper nav.breadcrumb ol {
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  body #wrapper nav.breadcrumb ol::-webkit-scrollbar { display:none; }
  body #wrapper nav.breadcrumb ol > li { font-size:12px !important; }
  body #wrapper nav.breadcrumb ol > li:not(:last-child)::after { margin:0 8px !important; }
  body #wrapper nav.breadcrumb ol > li:last-child {
    flex:0 0 auto !important;
    max-width:min(56vw,225px) !important;
  }
  body #wrapper nav.breadcrumb ol > li:last-child > span {
    max-width:min(56vw,225px) !important;
  }

  #header { position:relative !important; z-index:60 !important; }
  #header .header-top.um-header-v6 { position:relative !important; }
  #header #mobile_top_menu_wrapper {
    position:absolute !important;
    top:100% !important;
    left:0 !important;
    right:0 !important;
    z-index:250 !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:min(72vh,650px) !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    overscroll-behavior:contain;
    margin:0 !important;
    padding:7px 15px 12px !important;
    background:#141619 !important;
    border-top:1px solid #33363a !important;
    border-bottom:3px solid #e00920 !important;
    box-shadow:0 17px 24px rgba(0,0,0,.23) !important;
    box-sizing:border-box !important;
  }
  #header #mobile_top_menu_wrapper .js-top-menu-bottom {
    display:none !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
  }
  #header #mobile_top_menu_wrapper #_mobile_top_menu,
  #header #mobile_top_menu_wrapper .js-top-menu.mobile,
  #header #mobile_top_menu_wrapper .top-menu {
    margin:0 !important;
    padding:0 !important;
    min-height:0 !important;
    height:auto !important;
  }
  #header #mobile_top_menu_wrapper .top-menu > li {
    position:relative !important;
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    border-bottom:1px solid rgba(255,255,255,.11) !important;
  }
  #header #mobile_top_menu_wrapper .top-menu > li > a {
    min-height:51px !important;
    padding:12px 49px 12px 13px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:100% !important;
    color:#fff !important;
    font:700 13px/1.35 Arial,Helvetica,sans-serif !important;
    letter-spacing:.12px !important;
    text-shadow:none !important;
    -webkit-text-stroke:0 !important;
  }
  /* Classic toggler must remain clickable, beside the category label. */
  #header #mobile_top_menu_wrapper .top-menu > li > .navbar-toggler {
    position:absolute !important;
    right:8px !important;
    top:8px !important;
    z-index:3 !important;
    width:34px !important;
    height:34px !important;
    min-height:34px !important;
    padding:0 !important;
    margin:0 !important;
    border-radius:8px !important;
    background:#292c31 !important;
  }
  #header #mobile_top_menu_wrapper .top-menu .sub-menu {
    padding:0 5px 6px !important;
    margin:0 !important;
  }

  /* Real touchspin DOM created around #quantity_wanted; keep up/down controls. */
  body#product #wrapper #main.um-product-page .product-add-to-cart .product-quantity {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 46px !important;
    gap:11px !important;
    width:100% !important;
    align-items:center !important;
    margin:0 0 14px !important;
  }
  body#product #wrapper #main.um-product-page .product-quantity > .qty {
    grid-column:1 !important;
    grid-row:1 !important;
    width:104px !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    float:none !important;
  }
  body#product #wrapper #main.um-product-page .product-quantity .bootstrap-touchspin {
    position:relative !important;
    display:block !important;
    width:104px !important;
    max-width:100% !important;
    height:49px !important;
    padding:0 !important;
    margin:0 !important;
    border:1px solid #dbe1e8 !important;
    border-radius:10px !important;
    background:#f8f9fb !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }
  body#product #wrapper #main.um-product-page .product-quantity input#quantity_wanted {
    display:block !important;
    float:none !important;
    width:100% !important;
    height:47px !important;
    min-height:47px !important;
    padding:0 31px 0 10px !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    text-align:center !important;
    font-size:17px !important;
    font-weight:700 !important;
    box-sizing:border-box !important;
  }
  body#product #wrapper #main.um-product-page .product-quantity .bootstrap-touchspin .input-group-btn-vertical {
    display:flex !important;
    flex-direction:column !important;
    position:absolute !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:29px !important;
    height:47px !important;
    padding:0 !important;
    margin:0 !important;
    z-index:2 !important;
  }
  body#product #wrapper #main.um-product-page .product-quantity .bootstrap-touchspin .input-group-btn-vertical > .btn {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:1 1 50% !important;
    position:relative !important;
    float:none !important;
    width:29px !important;
    max-width:29px !important;
    min-width:29px !important;
    height:23px !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-left:1px solid #dbe1e8 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:#fff !important;
    color:#252a32 !important;
  }
  body#product #wrapper #main.um-product-page .product-quantity .bootstrap-touchspin .input-group-btn-vertical > .btn:first-child {
    border-bottom:1px solid #dbe1e8 !important;
  }
  body#product #wrapper #main.um-product-page .product-quantity .bootstrap-touchspin .input-group-btn-vertical i {
    position:static !important;
    display:inline-block !important;
    font-size:13px !important;
    line-height:1 !important;
    color:#20262c !important;
  }

  /* CTA takes its own full-width row; wishlist remains accessible above. */
  body#product #wrapper #main.um-product-page .product-quantity > .add {
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    min-width:0 !important;
    width:100% !important;
    padding:0 !important;
    margin:0 !important;
    float:none !important;
  }
  body#product #wrapper #main.um-product-page .product-quantity .add-to-cart {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:9px !important;
    width:100% !important;
    min-height:52px !important;
    height:52px !important;
    padding:0 12px !important;
    margin:0 !important;
    border-radius:10px !important;
    background:#e00920 !important;
    color:#fff !important;
    font:800 13px/1.2 Arial,Helvetica,sans-serif !important;
    text-shadow:none !important;
    white-space:nowrap !important;
    box-shadow:0 8px 18px rgba(224,9,32,.17) !important;
  }
  body#product #wrapper #main.um-product-page .product-quantity > .wishlist-button-add,
  body#product #wrapper #main.um-product-page .product-quantity > .product-wishlist,
  body#product #wrapper #main.um-product-page .product-quantity > .wishlist {
    grid-column:2 !important;
    grid-row:1 !important;
    width:45px !important;
    min-width:45px !important;
    height:45px !important;
    margin:0 !important;
    justify-self:end !important;
  }
  body#product #wrapper #main.um-product-page .product-quantity > .wishlist-button-add button {
    width:45px !important;
    height:45px !important;
    border-radius:50% !important;
  }
  /* If wishlist hook produces a different direct child, put it in row 1, too. */
  body#product #wrapper #main.um-product-page .product-quantity > :not(.qty):not(.add) {
    grid-column:2 !important;
    grid-row:1 !important;
    justify-self:end !important;
  }
}
@media (max-width:360px) {
  body#product #wrapper #main.um-product-page .product-quantity .add-to-cart {
    font-size:12px !important;
  }
}


/* ===== SOURCE 4: v22.13 ===== */
/* V22.13 — la page d'accueil ne doit pas afficher le fil d'Ariane « Accueil ». 
   Conserve le fil d'Ariane sur les categories, produits et autres pages. */
body#index #wrapper nav.breadcrumb,
body#index #wrapper .breadcrumb,
body#home #wrapper nav.breadcrumb,
body#home #wrapper .breadcrumb {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  min-height: 0 !important;
}


/* ===== V23.1 : fil d'Ariane sobre, discret, sans carte =====
   Surcharge la presentation V22.12 tout en gardant le HTML natif
   PrestaShop, y compris les liens et les donnees structurees. */
body:not(#index) #wrapper nav.breadcrumb {
  display:block !important;
  box-sizing:border-box !important;
  width:100% !important;
  max-width:100% !important;
  min-height:0 !important;
  margin:0 0 17px !important;
  padding:10px 2px 12px !important;
  border:0 !important;
  border-bottom:1px solid #e7eaee !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  font:400 12px/1.5 Arial,Helvetica,sans-serif !important;
}
body:not(#index) #wrapper nav.breadcrumb ol {
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:0 !important;
  overflow:hidden !important;
  padding:0 !important;
  margin:0 !important;
  max-width:100% !important;
  list-style:none !important;
}
body:not(#index) #wrapper nav.breadcrumb ol > li {
  display:inline-flex !important;
  flex:0 0 auto !important;
  align-items:center !important;
  min-width:0 !important;
  max-width:100% !important;
  padding:0 !important;
  margin:0 !important;
  color:#7c848f !important;
  white-space:nowrap !important;
  font:400 12px/1.5 Arial,Helvetica,sans-serif !important;
  letter-spacing:0 !important;
  text-shadow:none !important;
}
body:not(#index) #wrapper nav.breadcrumb ol > li::before {
  content:none !important;
}
body:not(#index) #wrapper nav.breadcrumb ol > li:not(:last-child)::after {
  content:"›" !important;
  display:inline-block !important;
  position:static !important;
  margin:0 10px !important;
  padding:0 !important;
  color:#b5bac3 !important;
  font:400 16px/1 Arial,Helvetica,sans-serif !important;
}
body:not(#index) #wrapper nav.breadcrumb ol > li a {
  color:#69727e !important;
  font:400 12px/1.5 Arial,Helvetica,sans-serif !important;
  text-decoration:none !important;
}
body:not(#index) #wrapper nav.breadcrumb ol > li a:hover {
  color:#dc0923 !important;
}
body:not(#index) #wrapper nav.breadcrumb ol > li:last-child {
  flex:0 1 auto !important;
  min-width:0 !important;
  overflow:hidden !important;
  color:#282e36 !important;
  font:600 12px/1.5 Arial,Helvetica,sans-serif !important;
}
body:not(#index) #wrapper nav.breadcrumb ol > li:last-child > span {
  display:block !important;
  overflow:hidden !important;
  white-space:nowrap !important;
  text-overflow:ellipsis !important;
  max-width:100% !important;
}
@media (max-width:767px) {
  body:not(#index) #wrapper nav.breadcrumb {
    margin:0 0 13px !important;
    padding:9px 0 10px !important;
    border-bottom-color:#e9edf1 !important;
    overflow:hidden !important;
  }
  body:not(#index) #wrapper nav.breadcrumb ol {
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  body:not(#index) #wrapper nav.breadcrumb ol::-webkit-scrollbar {
    display:none;
  }
  body:not(#index) #wrapper nav.breadcrumb ol > li,
  body:not(#index) #wrapper nav.breadcrumb ol > li a,
  body:not(#index) #wrapper nav.breadcrumb ol > li:last-child {
    font-size:11px !important;
  }
  body:not(#index) #wrapper nav.breadcrumb ol > li:not(:last-child)::after {
    margin:0 7px !important;
    font-size:14px !important;
  }
  body:not(#index) #wrapper nav.breadcrumb ol > li:last-child {
    flex:0 0 auto !important;
    max-width:min(53vw,210px) !important;
  }
}


/* === SOURCE: ulrich-v20-product.css === */
/* Ulrich Motorsport V20 — fiche produit : photo dominante, achat compact, sections lisibles */
body#product #wrapper{background:#f5f6f8!important}
body#product #wrapper>.container{
  max-width:1550px!important;
  width:calc(100% - 60px)!important;
  padding:0 0 40px!important;
  margin:0 auto!important;
}
body#product #wrapper #main.um-product-page{width:100%!important;padding:5px 0 18px!important}
@media(min-width:992px){
 body#product #wrapper #main.um-product-page .product-container.um-product-layout{
  display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(350px,.8fr)!important;
  gap:24px!important;align-items:start!important;width:100%!important;margin:0!important;
 }
}
body#product #wrapper #main.um-product-page .um-product-layout>.um-detail-gallery,
body#product #wrapper #main.um-product-page .um-product-layout>.um-detail-info{
  position:relative!important;display:block!important;width:100%!important;max-width:none!important;
  flex:none!important;min-width:0!important;padding:0!important;float:none!important;margin:0!important;
}
body#product #wrapper #main.um-product-page .um-detail-gallery #content{
  display:block!important;width:100%!important;max-width:none!important;min-width:0!important;
  padding:16px!important;margin:0!important;overflow:hidden!important;
  background:#fff!important;border:1px solid #e6e9ef!important;border-radius:18px!important;
  box-shadow:0 12px 28px rgba(20,26,36,.06)!important;
}
body#product #wrapper #main.um-product-page .um-detail-gallery .images-container,
body#product #wrapper #main.um-product-page .um-detail-gallery .product-cover,
body#product #wrapper #main.um-product-page .um-detail-gallery .product-cover picture{
  display:flex!important;width:100%!important;max-width:none!important;min-width:0!important;
  align-items:center!important;justify-content:center!important;
}
body#product #wrapper #main.um-product-page .um-detail-gallery .product-cover{
  position:relative!important;min-height:0!important;height:auto!important;
  aspect-ratio:1.15!important;margin:0!important;padding:12px!important;
  border-radius:13px!important;background:#f0f1f3!important;overflow:hidden!important;
}
body#product #wrapper #main.um-product-page .um-detail-gallery .product-cover picture{height:100%!important}
body#product #wrapper #main.um-product-page .um-detail-gallery .product-cover img{
  position:static!important;display:block!important;width:100%!important;height:100%!important;
  max-width:100%!important;max-height:100%!important;object-fit:contain!important;
  border-radius:10px!important;
}
body#product #wrapper #main.um-product-page .um-detail-gallery .js-qv-mask{
  width:100%!important;max-width:100%!important;margin-top:14px!important;overflow:hidden!important;
}
body#product #wrapper #main.um-product-page .um-detail-gallery .product-images{
  margin:0!important;padding:0!important;display:flex!important;align-items:center!important;
  gap:10px!important;flex-wrap:wrap!important;list-style:none!important;
}
body#product #wrapper #main.um-product-page .um-detail-gallery .product-images .thumb-container{
  margin:0!important;display:block!important;flex:0 0 76px!important;
}
body#product #wrapper #main.um-product-page .um-detail-gallery .product-images .thumb{
  width:76px!important;height:76px!important;max-width:76px!important;
  object-fit:contain!important;padding:6px!important;border:1px solid #e3e6eb!important;
  border-radius:10px!important;background:#f7f8fa!important;
}
body#product #wrapper #main.um-product-page .um-detail-gallery .product-images .thumb.selected{
  border:2px solid #e00920!important;background:#fff!important;
}
body#product #wrapper #main.um-product-page .um-detail-info>.um-detail-buy-panel{
  width:100%!important;max-width:none!important;margin:0!important;padding:26px 28px!important;
  border:1px solid #e6e9ef!important;border-radius:18px!important;background:#fff!important;
  box-shadow:0 12px 28px rgba(20,26,36,.06)!important;
}
body#product #wrapper #main.um-product-page .um-detail-buy-panel h1.h1{
  font-size:clamp(26px,2.2vw,38px)!important;line-height:1.12!important;
  letter-spacing:-.025em!important;margin:0 0 15px!important;
  color:#141820!important;font-weight:900!important;text-transform:uppercase!important;
}
body#product #wrapper #main.um-product-page .um-detail-buy-panel .product-prices{
  border-bottom:1px solid #eceef2!important;margin:0 0 17px!important;padding:0 0 16px!important;
}
body#product #wrapper #main.um-product-page .um-detail-buy-panel .current-price .price,
body#product #wrapper #main.um-product-page .um-detail-buy-panel .current-price-value{
  font-size:clamp(34px,3vw,45px)!important;color:#df071e!important;font-weight:900!important;
}
body#product #wrapper #main.um-product-page .um-detail-buy-panel .product-variants select,
body#product #wrapper #main.um-product-page .um-detail-buy-panel .product-quantity input{
  min-height:46px!important;border:1px solid #dce2e9!important;background:#f8f9fb!important;border-radius:9px!important;
}
body#product #wrapper #main.um-product-page .um-detail-buy-panel .product-add-to-cart .btn.add-to-cart{
  min-height:50px!important;background:#e00920!important;color:#fff!important;
  padding:12px 20px!important;font-weight:900!important;border-radius:10px!important;
}
body#product #wrapper #main.um-product-page .um-product-below{
  display:block!important;width:100%!important;max-width:none!important;margin:24px 0!important;
}
body#product #wrapper #main.um-product-page .um-product-below .tabs{
  width:100%!important;padding:24px 28px!important;margin:0!important;border:1px solid #e6e9ef!important;
  border-radius:18px!important;background:#fff!important;box-shadow:0 12px 28px rgba(20,26,36,.06)!important;
}
body#product #wrapper #main.um-product-page .um-product-below .nav-tabs{border-bottom:1px solid #e9edf2!important;gap:12px}
body#product #wrapper #main.um-product-page .um-product-below .nav-tabs .nav-link{
  font-size:15px!important;font-weight:850!important;color:#4e5661!important;padding:10px 12px!important;
}
body#product #wrapper #main.um-product-page .um-product-below .nav-tabs .nav-link.active{
  color:#de091e!important;border-bottom:3px solid #de091e!important;
}
body#product #wrapper #main.um-product-page .um-product-below .tab-content{
  padding:20px 3px 6px!important;min-height:0!important;font-size:15px!important;line-height:1.7!important;
}
/* Customer reviews from productcomments, without interfering with the module's events */
body#product #wrapper #main.um-product-page .product-comments,
body#product #wrapper #main.um-product-page #product-comments-list,
body#product #wrapper #main.um-product-page #product-comments-list-header,
body#product #wrapper #main.um-product-page .product-comments-additional-info{
  border-radius:14px!important;
}
body#product #wrapper #main.um-product-page .product-comments .h3,
body#product #wrapper #main.um-product-page .product-comments .h4{
  color:#171a20!important;font-weight:850!important;
}
body#product #wrapper #main.um-product-page .product-accessories{
  margin:22px 0!important;padding:24px!important;border:1px solid #e6e9ef!important;
  border-radius:18px!important;background:#fff!important;
}
@media(max-width:991px){
 body#product #wrapper #main.um-product-page .product-container.um-product-layout{
  display:block!important;margin:0!important;width:100%!important;
 }
 body#product #wrapper #main.um-product-page .um-detail-gallery{margin-bottom:16px!important}
 body#product #wrapper #main.um-product-page .um-detail-gallery .product-cover{aspect-ratio:1.15!important}
}
@media(max-width:767px){
 body#product #wrapper>.container{width:calc(100% - 20px)!important;max-width:none!important;padding:0 0 22px!important}
 body#product #wrapper #main.um-product-page .um-detail-gallery #content{padding:10px!important}
 body#product #wrapper #main.um-product-page .um-detail-gallery .product-cover{aspect-ratio:1!important;padding:7px!important}
 body#product #wrapper #main.um-product-page .um-detail-gallery .product-images .thumb-container{flex-basis:62px!important}
 body#product #wrapper #main.um-product-page .um-detail-gallery .product-images .thumb{width:62px!important;height:62px!important}
 body#product #wrapper #main.um-product-page .um-detail-info>.um-detail-buy-panel{padding:19px 17px!important}
 body#product #wrapper #main.um-product-page .um-detail-buy-panel h1.h1{font-size:27px!important}
 body#product #wrapper #main.um-product-page .um-product-below{margin:15px 0!important}
 body#product #wrapper #main.um-product-page .um-product-below .tabs{padding:16px!important}
 body#product #wrapper #main.um-product-page .um-product-below .nav-tabs .nav-link{font-size:13px!important;padding:10px 5px!important}
}


/* === SOURCE: ulrich-stable-product.css === */
/* ULRICH MOTORSPORT — V23.0 / stabilisation prudente.
   Sources concatenées dans l'ordre original de la cascade CSS.
   NE PAS trier ces sections : l'ordre est volontaire.
   Les fichiers sources restent disponibles pour restauration. */

/* ===== SOURCE 1: v22.9 ===== */
/* V22.9 — galerie et presentation produit ordinateur.
   Chargement apres les anciennes surcharges, sans toucher aux templates ni au mobile. */
@media (min-width: 992px) {
  body#product #wrapper > .container {
    width: calc(100% - 64px) !important;
    max-width: 1420px !important;
    margin-inline: auto !important;
  }
  body#product #wrapper #main.um-product-page .product-container.um-product-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.1fr) minmax(390px, .9fr) !important;
    gap: clamp(20px, 2.2vw, 32px) !important;
    align-items: start !important;
    margin: 0 !important;
    width: 100% !important;
  }
  body#product #wrapper #main.um-product-page .um-product-layout > .um-detail-gallery,
  body#product #wrapper #main.um-product-page .um-product-layout > .um-detail-info {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: none !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-gallery #content {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 18px !important;
    background: #fff !important;
    border: 1px solid #e8ebef !important;
    border-radius: 18px !important;
    box-shadow: 0 9px 26px rgba(20,25,34,.055) !important;
    overflow: hidden !important;
  }
  /* Force the cover and its thumbnails into separate full-width rows,
     even if old Classic or module styles attempt a horizontal layout. */
  body#product #wrapper #main.um-product-page .um-detail-gallery #content .images-container.js-images-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    align-content: start !important;
    justify-items: stretch !important;
    gap: 13px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-gallery #content .images-container > .product-cover {
    grid-column: 1 !important;
    grid-row: 1 !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    flex: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1.35 !important;
    max-height: 590px !important;
    padding: 15px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    border-radius: 13px !important;
    background: #f4f5f7 !important;
    overflow: hidden !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-gallery .product-cover > picture {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    align-items: center !important;
    justify-content: center !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-gallery .product-cover .js-qv-product-cover,
  body#product #wrapper #main.um-product-page .um-detail-gallery .product-cover picture > img {
    display: block !important;
    position: static !important;
    float: none !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: center !important;
    background: transparent !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-gallery #content .images-container > .js-qv-mask.mask {
    grid-column: 1 !important;
    grid-row: 2 !important;
    display: block !important;
    position: static !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 0 3px !important;
    margin: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: thin;
  }
  body#product #wrapper #main.um-product-page .um-detail-gallery .js-qv-mask ul.product-images {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 9px !important;
    width: max-content !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 0 2px !important;
    list-style: none !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-gallery .product-images > li.thumb-container {
    display: block !important;
    flex: 0 0 64px !important;
    width: 64px !important;
    height: 64px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-gallery .product-images img.thumb {
    width: 64px !important;
    height: 64px !important;
    max-width: 64px !important;
    max-height: 64px !important;
    padding: 5px !important;
    margin: 0 !important;
    background: #f7f8fa !important;
    border: 1px solid #e1e5ea !important;
    border-radius: 9px !important;
    object-fit: contain !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-gallery .product-images img.thumb.selected {
    border: 2px solid #df0920 !important;
    background: #fff !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-info > .um-detail-buy-panel {
    background: #fff !important;
    border: 1px solid #e8ebef !important;
    border-radius: 18px !important;
    padding: clamp(23px,2.3vw,36px) !important;
    box-shadow: 0 9px 26px rgba(20,25,34,.055) !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-buy-panel h1.h1 {
    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: 850 !important;
    font-style: normal !important;
    font-size: clamp(25px, 2.2vw, 35px) !important;
    line-height: 1.14 !important;
    letter-spacing: -.025em !important;
    text-shadow: none !important;
    margin-bottom: 16px !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-buy-panel .product-prices {
    margin: 0 0 19px !important;
    padding-bottom: 17px !important;
    border-bottom: 1px solid #eceff3 !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-buy-panel .product-variants-item {
    margin-bottom: 15px !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-buy-panel .product-description {
    font-size: 14px !important;
    line-height: 1.65 !important;
    color: #56616b !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-buy-panel .product-quantity {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 9px !important;
    align-items: center !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-buy-panel .product-add-to-cart .btn.add-to-cart {
    border-radius: 9px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: 800 !important;
    box-shadow: 0 6px 16px rgba(224,9,32,.17) !important;
  }
  body#product #wrapper #main.um-product-page .um-product-below {
    margin-top: 22px !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  body#product #wrapper #main.um-product-page .product-container.um-product-layout {
    grid-template-columns: minmax(0, 1fr) minmax(345px, .95fr) !important;
    gap: 18px !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-gallery #content .images-container > .product-cover {
    aspect-ratio: 1.12 !important;
  }
}


/* ===== SOURCE 2: v22.10 ===== */
/* V22.10 — fiche produit desktop : prix TTC sur la même ligne et galerie équilibrée.
   Déclinaisons, prix calculés et mécanisme panier natifs restent inchangés. */
@media (min-width: 992px) {
  body#product #wrapper #main.um-product-page .um-detail-gallery #content {
    padding: 12px !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-gallery #content .images-container.js-images-container {
    gap: 10px !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-gallery #content .images-container > .product-cover {
    aspect-ratio: 1.18 !important;
    max-height: 620px !important;
    padding: 4px !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-gallery .product-cover picture,
  body#product #wrapper #main.um-product-page .um-detail-gallery .product-cover .js-qv-product-cover {
    width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
  }

  /* Pricing is split in the stock template into a price container and a
     tax-shipping-delivery-label sibling. Lay them out on one baseline. */
  body#product #wrapper #main.um-product-page .um-detail-buy-panel .product-prices.js-product-prices {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: baseline !important;
    align-content: flex-start !important;
    column-gap: 11px !important;
    row-gap: 3px !important;
    margin-bottom: 17px !important;
    padding-bottom: 17px !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-buy-panel .product-prices > .product-discount {
    flex: 0 0 100% !important;
    width: 100% !important;
    margin: 0 0 2px !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-buy-panel .product-prices > .product-price {
    display: inline-flex !important;
    flex: 0 1 auto !important;
    align-items: baseline !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1.1 !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-buy-panel .product-prices .current-price {
    display: flex !important;
    align-items: baseline !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 7px 12px !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-buy-panel .product-prices .current-price-value {
    white-space: nowrap !important;
    margin: 0 !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-buy-panel .product-prices > .tax-shipping-delivery-label {
    display: inline-flex !important;
    flex: 0 1 auto !important;
    align-self: baseline !important;
    align-items: baseline !important;
    flex-wrap: wrap !important;
    gap: 0 6px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    color: #7c838c !important;
    text-transform: uppercase !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-buy-panel .product-prices > .tax-shipping-delivery-label .delivery-information {
    flex-basis: 100% !important;
    text-transform: none !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-info > .um-detail-buy-panel {
    padding: 24px 25px !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-buy-panel h1.h1 {
    font-size: clamp(25px, 2.15vw, 33px) !important;
    margin-bottom: 13px !important;
  }
  body#product #wrapper #main.um-product-page .um-detail-buy-panel .product-variants-item,
  body#product #wrapper #main.um-product-page .um-detail-buy-panel .product-quantity {
    margin-bottom: 12px !important;
  }
}



/* === SOURCE: ulrich-v23-2-products.css === */
/* Ulrich Motorsport 23.2 — Référence, disponibilité et micro-animations.
   Les informations proviennent des données du produit PrestaShop.
   Aucun état de stock n'est déduit ou fabriqué par cette feuille. */

.um-product-card .um-product-card__meta {
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:5px 9px !important;
  width:100% !important;
  min-width:0 !important;
  margin:1px 0 4px !important;
  padding:0 !important;
  font-family:Arial,Helvetica,sans-serif !important;
  line-height:1.35 !important;
}
.um-product-card .um-product-ref {
  display:inline-block !important;
  min-width:0 !important;
  max-width:100% !important;
  font-size:11px !important;
  font-weight:500 !important;
  color:#747e8a !important;
  letter-spacing:.01em !important;
  overflow-wrap:anywhere !important;
}
.um-stock-status {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex:0 1 auto !important;
  gap:6px !important;
  max-width:100% !important;
  min-width:0 !important;
  padding:4px 8px !important;
  border:1px solid #e1e5eb !important;
  border-radius:7px !important;
  background:#f5f6f8 !important;
  color:#59636f !important;
  font:650 11px/1.3 Arial,Helvetica,sans-serif !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}
.um-stock-dot {
  display:inline-block !important;
  flex:0 0 6px !important;
  width:6px !important;
  height:6px !important;
  border-radius:50% !important;
  background:#89929d !important;
}
.um-stock-status.is-available {
  color:#206044 !important;
  background:#edf8f1 !important;
  border-color:#d7eede !important;
}
.um-stock-status.is-available .um-stock-dot {
  background:#2f9c67 !important;
}
.um-stock-status.is-limited {
  color:#9c5b16 !important;
  background:#fff5e8 !important;
  border-color:#f6e2c4 !important;
}
.um-stock-status.is-limited .um-stock-dot {
  background:#df9336 !important;
}
.um-stock-status.is-unavailable {
  color:#775e43 !important;
  background:#f9f4ef !important;
  border-color:#ebdfd2 !important;
}
.um-stock-status.is-unavailable .um-stock-dot {
  background:#b79a76 !important;
}

/* Fiche produit : informations juste au-dessus de la quantité. */
body#product #main.um-product-page .um-detail-meta {
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:9px 15px !important;
  margin:7px 0 16px !important;
  padding:12px 14px !important;
  border:1px solid #edf0f3 !important;
  border-radius:10px !important;
  background:#f8f9fb !important;
  box-sizing:border-box !important;
}
body#product #main.um-product-page .um-detail-meta.is-empty {
  display:none !important;
}
body#product #main.um-product-page .um-detail-reference {
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:baseline !important;
  gap:4px 8px !important;
  min-width:0 !important;
}
body#product #main.um-product-page .um-detail-meta-label {
  font:500 12px/1.4 Arial,Helvetica,sans-serif !important;
  color:#7a828e !important;
}
body#product #main.um-product-page .um-detail-reference strong {
  font:700 12px/1.4 Arial,Helvetica,sans-serif !important;
  color:#353b45 !important;
  overflow-wrap:anywhere !important;
}
body#product #main.um-product-page .um-detail-stock {
  display:inline-flex !important;
  flex:0 1 auto !important;
  align-items:center !important;
  margin:0 !important;
  padding:0 !important;
}
body#product #main.um-product-page .um-detail-stock:empty {display:none !important;}
body#product #main.um-product-page .um-detail-stock i.material-icons {display:none !important;}

@media (max-width:767px) {
  .um-product-card .um-product-card__meta {
    gap:4px 6px !important;
    align-items:flex-start !important;
    margin:0 0 4px !important;
  }
  .um-product-card .um-product-ref {
    font-size:10px !important;
  }
  .um-product-card .um-stock-status {
    font-size:10px !important;
    padding:3px 6px !important;
  }
  body#product #main.um-product-page .um-detail-meta {
    padding:10px 11px !important;
    margin:6px 0 13px !important;
    gap:9px !important;
  }
}

/* De petites animations seulement aux points d'interaction.
   Pas de défilement animé automatique ou de mouvement permanent. */
@media (hover:hover) and (pointer:fine) {
  #wrapper .um-product-card {
    transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease !important;
    will-change:auto;
  }
  #wrapper .um-product-card:hover {
    transform:translateY(-3px) !important;
    box-shadow:0 11px 26px rgba(21,29,43,.10) !important;
    border-color:#e4e7ed !important;
  }
  #wrapper .um-product-card .um-product-card__thumbnail img {
    transition:transform .32s cubic-bezier(.2,.7,.25,1) !important;
  }
  #wrapper .um-product-card:hover .um-product-card__thumbnail img {
    transform:scale(1.035) !important;
  }
  #wrapper .um-product-card__cart,
  #wrapper .um-product-card__details,
  body#product .add-to-cart {
    transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease !important;
  }
  #wrapper .um-product-card__cart:hover,
  body#product .add-to-cart:not(:disabled):hover {
    transform:translateY(-2px) !important;
  }
}
@media (prefers-reduced-motion:reduce) {
  #wrapper .um-product-card,
  #wrapper .um-product-card *,
  body#product .add-to-cart {
    animation:none !important;
    transition:none !important;
    transform:none !important;
  }
}

/* V23.3 — CORRECTION : une vieille règle dans ulrich-motorsport.css cachait
   tout le composant .um-product-card__meta avec display:none!important.
   On la surclasse explicitement dans les listes (accueil, catégories). */
#wrapper .products .um-product-card .um-product-card__meta,
#wrapper .um-home .products .um-product-card .um-product-card__meta,
#wrapper .um-featured-showcase .um-product-card .um-product-card__meta,
#wrapper #js-product-list .um-product-card .um-product-card__meta {
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  flex-wrap:wrap !important;
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:18px !important;
  margin:3px 0 6px !important;
  gap:5px 8px !important;
  overflow:visible !important;
}
@media(max-width:767px) {
  #wrapper .products .um-product-card .um-product-card__meta,
  #wrapper .um-home .products .um-product-card .um-product-card__meta,
  #wrapper .um-featured-showcase .um-product-card .um-product-card__meta,
  #wrapper #js-product-list .um-product-card .um-product-card__meta {
    margin:2px 0 5px !important;
    gap:4px 6px !important;
  }
}


/* === SOURCE: ulrich-v23-36-news.css === */
.um-header-phone{display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:none;font-size:13px;font-weight:800;white-space:nowrap;padding:8px}.um-header-phone .material-icons{font-size:20px;color:#ec092b}.um-header-phone:hover{color:#ec092b}.um-trust-bar a{color:inherit;text-decoration:none}
.um-news-ticker{background:#17191d;color:#fff;border-bottom:2px solid #e60023;position:relative;z-index:3}.um-news-ticker__inner{display:flex;align-items:center;gap:16px;min-height:43px}.um-news-ticker__label{background:#e60023;color:#fff;font-size:10px;font-weight:900;letter-spacing:.07em;border-radius:3px;padding:5px 8px;flex:none}.um-news-ticker__messages{flex:1;min-width:0;position:relative;overflow:hidden}.um-news-ticker__message{display:none;margin:0!important;color:#f5f5f5;font-size:12px;line-height:1.4;align-items:center;gap:7px;animation:um-news-enter .35s ease}.um-news-ticker__message.is-active{display:flex}.um-news-ticker__message .material-icons{font-size:17px;color:#ff3552;flex:none}.um-news-ticker__message a{color:#fff;text-decoration:underline}.um-news-ticker__controls{display:flex;align-items:center;gap:3px;flex:none}.um-news-ticker__controls button{border:0;background:transparent;color:#fff;font-size:20px;cursor:pointer;min-width:28px;min-height:32px}.um-news-ticker__controls button:focus-visible{outline:2px solid #fff;outline-offset:2px}@keyframes um-news-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.um-footer-payment{margin-top:26px;padding:22px 0;border-top:1px solid rgba(255,255,255,.12)}.um-footer-payment h4{color:#fff;font-size:17px;margin:0 0 8px}.um-footer-payment p{color:#c6c6cc;font-size:13px;margin:0 0 13px}.um-footer-payment__methods{display:flex;flex-wrap:wrap;gap:8px}.um-footer-payment__methods span{background:#fff;color:#202127;border-radius:6px;padding:9px 12px;font-weight:800;font-size:12px;display:inline-flex;align-items:center;min-height:38px}.um-footer-payment__methods span:first-child{color:#145ca2}.um-footer-payment__methods span:nth-child(2){color:#183d90}.um-footer-payment__methods span:nth-child(3){color:#e11b32}.um-footer-payment__methods span:nth-child(4){color:#075ca9}.um-footer-payment__security{display:flex;align-items:center;gap:5px;margin-top:13px!important}.um-footer-payment__security .material-icons{font-size:17px;color:#65d7a0}
@media(max-width:767px){.um-header-phone{position:absolute;right:190px;top:12px;padding:6px;z-index:8}.um-header-phone span{display:none}.um-news-ticker__inner{gap:8px;padding-top:6px;padding-bottom:6px}.um-news-ticker__label{font-size:9px;padding:5px}.um-news-ticker__message{font-size:11px}.um-news-ticker__controls button{min-width:24px}.um-footer-payment__methods span{font-size:11px;padding:7px 9px}}@media(max-width:390px){.um-header-phone{right:175px}.um-news-ticker__label{display:none}}@media(prefers-reduced-motion:reduce){.um-news-ticker__message{animation:none}}


/* === SOURCE: ulrich-v23-38-mobile.css === */
/* V23.37 — typography pass: readable UI, motorsport headings preserved. */
:root{--um-ui-font:Inter,"Segoe UI",Arial,sans-serif}
body,button,input,select,textarea,.um-header-v6,.um-footer,.um-news-ticker{font-family:var(--um-ui-font)!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{font-size:15px;line-height:1.55}
.um-trust-bar,.um-trust-bar span,.um-trust-bar a{font-size:12px!important;line-height:1.4!important;letter-spacing:0!important}
.um-header-v6 .um-brand-tagline{font-size:12px!important;letter-spacing:.01em!important}
.um-header-v6 .um-navigation-bar a,.um-header-v6 .um-navigation-bar span{font-size:13px!important;letter-spacing:.02em!important;font-weight:700!important}
.um-header-phone{font-size:13px!important;letter-spacing:0!important}
.um-news-ticker__label{font-size:11px!important;letter-spacing:.045em!important}
.um-news-ticker__message{font-size:13px!important;line-height:1.5!important;letter-spacing:0!important}
.um-home .um-category > span strong{font-family:var(--um-ui-font)!important;font-weight:850!important;letter-spacing:-.025em!important;line-height:1.08!important}
.um-home .um-category > span small{font-size:13px!important;font-weight:650!important;letter-spacing:0!important}
.um-home .um-home-section-title,.um-home .um-section-title{letter-spacing:-.02em!important}
#products .product-title,.featured-products .product-title,.product-miniature .product-title,.um-home .product-title{font-family:var(--um-ui-font)!important;font-size:14px!important;font-weight:700!important;line-height:1.4!important;letter-spacing:0!important}
.product-miniature .price,.product-miniature .product-price-and-shipping,.featured-products .price{font-family:var(--um-ui-font)!important;font-size:17px!important;font-weight:800!important;letter-spacing:-.015em!important}
.product-miniature .product-reference,.product-miniature .product-description-short{font-size:12px!important;line-height:1.5!important}
.um-footer{font-size:14px!important;line-height:1.6!important}
.um-footer h4{font-family:var(--um-ui-font)!important;font-size:16px!important;line-height:1.3!important;font-weight:800!important;letter-spacing:-.01em!important}
.um-footer p,.um-footer li,.um-footer a,.um-footer span{line-height:1.6}
.um-footer-brand p,.um-footer-col li a,.um-footer-newsletter__intro p{font-size:13px!important}
.um-footer-col li{margin-bottom:7px!important}
.um-footer-newsletter__intro h3{font-size:23px!important;line-height:1.15!important;letter-spacing:-.02em!important}
.um-footer-newsletter__intro h3 span{font-size:20px!important;line-height:1.2!important}
.um-footer-payment h4{font-size:17px!important}
.um-footer-payment p{font-size:13px!important}
.um-footer-payment__methods span{font-size:12px!important;font-weight:750!important}
.um-footer-bottom,.um-footer-bottom a{font-size:12px!important}
@media(max-width:767px){
 .um-news-ticker__message{font-size:12px!important}
 .um-footer-newsletter__intro h3{font-size:20px!important}
 .um-footer-newsletter__intro h3 span{font-size:18px!important}
 .um-footer-col li a{font-size:14px!important}
 .um-home .um-category > span strong{font-size:clamp(15px,3.6vw,21px)!important}
}


/* V23.38 : mobile phone takes the existing blog slot; no extra icon in front of logo. */
@media(max-width:767px){
 .um-mobile-phone-shortcut{position:static!important;right:auto!important;top:auto!important;left:auto!important;margin:0!important;padding:0!important;display:flex!important;align-items:center;justify-content:center}
 .um-mobile-phone-shortcut svg{width:23px;height:23px}
 .um-news-ticker__inner{min-height:40px!important;gap:8px!important;padding-top:6px!important;padding-bottom:6px!important}
 .um-news-ticker__label{font-size:9px!important;padding:5px 6px!important;flex-shrink:0}
 .um-news-ticker__messages{flex:1 1 0!important;min-width:0!important}
 .um-news-ticker__message{font-size:11px!important;line-height:1.35!important;max-height:2.7em!important;overflow:hidden!important;display:none;overflow-wrap:normal;word-break:normal}
 .um-news-ticker__message.is-active{display:flex!important;align-items:center}
 .um-news-ticker__message .material-icons{font-size:15px!important}
 .um-news-ticker__controls{gap:2px!important;flex-shrink:0}
 .um-news-ticker__controls button{min-width:25px!important;min-height:30px!important;padding:0 2px!important;font-size:19px!important}
 .um-news-ticker__controls [data-um-news-pause]{display:none!important}
}
@media(min-width:768px){.um-mobile-phone-shortcut{display:none!important}}


/* === SOURCE: ulrich-v23-39-product-service-fixes.css === */
/* V23.39 : correct product tax label positioning and return reassurance icon. */
@media(max-width:767px){
 body#product .current-price,
 body#product .product-prices .current-price,
 body#product .product-prices .product-price{
   display:flex!important;flex-direction:row!important;align-items:baseline!important;
   flex-wrap:wrap!important;column-gap:8px!important;row-gap:0!important;
 }
 body#product .current-price .price,
 body#product .current-price .current-price-value,
 body#product .product-prices .product-price .price{
   display:inline!important;flex:0 0 auto!important;margin:0!important;
 }
 body#product .current-price .tax-shipping-delivery-label,
 body#product .product-prices .tax-shipping-delivery-label,
 body#product .product-prices .tax-label,
 body#product .current-price .tax-label{
   display:inline!important;position:static!important;float:none!important;
   width:auto!important;max-width:none!important;flex:0 0 auto!important;
   margin:0!important;padding:0!important;align-self:baseline!important;
   font-size:13px!important;line-height:1.4!important;white-space:nowrap!important;
 }
}
/* All reassurance cards: align each icon in its pale pink square. */
.um-service-card .um-service-icon,
.um-service-card .um-service-card__icon,
.um-services-card .um-services-icon,
.um-services-card .um-services-card__icon,
.um-home-service .um-home-service__icon,
.um-home-services .um-home-services__icon,
.um-benefit-card .um-benefit-icon,
.um-reassurance-card .um-reassurance-icon{
 display:flex!important;align-items:center!important;justify-content:center!important;
 position:relative!important;flex-shrink:0!important;
}
.um-service-card .um-service-icon > *,
.um-service-card .um-service-card__icon > *,
.um-services-card .um-services-icon > *,
.um-services-card .um-services-card__icon > *,
.um-home-service .um-home-service__icon > *,
.um-home-services .um-home-services__icon > *,
.um-benefit-card .um-benefit-icon > *,
.um-reassurance-card .um-reassurance-icon > *{
 position:static!important;transform:none!important;margin:0!important;
}


/* === SOURCE: ulrich-v23-41-desktop-header.css === */
/* V23.41 desktop header typography and spacing. Mobile unchanged. */
@media(min-width:768px){
 .um-header-v6 .um-account-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:clamp(12px,1.5vw,24px)!important;min-width:0!important}
 .um-header-v6 .um-account-actions>.um-header-phone{display:none!important}
 .um-header-v6 .um-account-item{position:relative!important;flex:0 0 auto!important;min-width:0!important}
 .um-header-v6 .um-account-item .um-account-label,
 .um-header-v6 .um-account-signin a,
 .um-header-v6 .um-account-cart a{font-family:Arial,"Helvetica Neue",sans-serif!important;font-size:12px!important;font-weight:600!important;letter-spacing:0!important;text-shadow:none!important}
 .um-header-v6 .um-navigation-bar,
 .um-header-v6 .um-navigation-bar a,
 .um-header-v6 .um-navigation-bar span{font-family:Arial,"Helvetica Neue",sans-serif!important;font-size:13px!important;font-weight:700!important;letter-spacing:.015em!important;text-shadow:none!important}
 .um-trust-bar,.um-trust-bar strong,.um-trust-bar a,
 .um-news-ticker__message{font-family:Arial,"Helvetica Neue",sans-serif!important;font-size:12px!important;font-weight:500!important;letter-spacing:0!important;text-shadow:none!important}
 .um-trust-bar strong{font-weight:700!important}
 .um-header-v6 .um-brand-tagline{font-family:Arial,"Helvetica Neue",sans-serif!important;font-size:12px!important;font-weight:500!important;letter-spacing:0!important}
}


/* === SOURCE: ulrich-v23-42-font-rendering.css === */
/* V23.42 — improve Windows desktop text rendering without altering mobile. */
/* Earlier theme styles force antialiased grayscale rendering on all text.
   Reset that on desktop; let the browser/OS choose its native rasterization. */
@media (min-width: 768px) {
  html, body, body *, body *::before, body *::after {
    -webkit-font-smoothing: auto !important;
    -moz-osx-font-smoothing: auto !important;
    text-rendering: auto !important;
  }
  .um-home .um-service-card h3, .um-home .um-service-card p,
  .um-home .um-services-card h3, .um-home .um-services-card p,
  .um-home .um-benefit-card h3, .um-home .um-benefit-card p,
  .um-home .um-reassurance-card h3, .um-home .um-reassurance-card p,
  .um-footer p, .um-footer li, .um-footer a {
    font-family: Arial, "Segoe UI", sans-serif !important;
    font-synthesis: none;
  }
  .um-home .um-service-card,
  .um-home .um-services-card,
  .um-home .um-benefit-card,
  .um-home .um-reassurance-card {
    transform: none;
    filter: none;
  }
  .um-home .um-service-card h3,
  .um-home .um-services-card h3,
  .um-home .um-benefit-card h3,
  .um-home .um-reassurance-card h3 {
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
  }
  .um-home .um-service-card p,
  .um-home .um-services-card p,
  .um-home .um-benefit-card p,
  .um-home .um-reassurance-card p {
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
  }
}
/* Motorsport headings deliberately retain their existing display font. */


/* === SOURCE: ulrich-v23-43-centered-cards.css === */
/* V23.43 - product cards centered, responsive, preserving Prestashop interactions */
@media (max-width:767px) {
 body#index .um-home .product-miniature,
 body#index .um-home .js-product-miniature,
 body#index .featured-products .product-miniature {
   text-align:center!important;
 }
 body#index .um-home .product-miniature .thumbnail-container,
 body#index .um-home .product-miniature .product-description,
 body#index .featured-products .product-miniature .thumbnail-container,
 body#index .featured-products .product-miniature .product-description {
   text-align:center!important;
 }
 body#index .um-home .product-miniature .product-title,
 body#index .featured-products .product-miniature .product-title {
   text-align:center!important;
   margin-left:auto!important;margin-right:auto!important;
   line-height:1.35!important;
 }
 body#index .um-home .product-miniature .product-title a,
 body#index .featured-products .product-miniature .product-title a {
   display:-webkit-box!important;-webkit-box-orient:vertical;
   -webkit-line-clamp:2;overflow:hidden;
 }
 body#index .um-home .product-miniature .product-reference,
 body#index .um-home .product-miniature .product-price-and-shipping,
 body#index .featured-products .product-miniature .product-reference,
 body#index .featured-products .product-miniature .product-price-and-shipping {
   text-align:center!important;
   justify-content:center!important;
 }
 body#index .um-home .product-miniature .product-flags,
 body#index .featured-products .product-miniature .product-flags {
   display:flex!important;justify-content:center!important;
   align-items:center!important;gap:4px!important;
   left:0!important;right:0!important;top:8px!important;
   width:100%!important;margin:0!important;padding:0 5px!important;
   pointer-events:none;
 }
 body#index .um-home .product-miniature .product-flags li,
 body#index .featured-products .product-miniature .product-flags li {
   position:static!important;margin:0!important;
   font-size:10px!important;line-height:1.2!important;
   padding:5px 7px!important;border-radius:5px!important;
 }
 body#index .um-home .product-miniature .product-flags li.product-flag,
 body#index .featured-products .product-miniature .product-flags li.product-flag {
   max-width:95%;white-space:normal;
 }
 body#index .um-home .product-miniature .product-price-and-shipping,
 body#index .featured-products .product-miniature .product-price-and-shipping {
   display:flex!important;flex-wrap:wrap!important;
   align-items:baseline!important;gap:5px!important;
 }
}


/* === SOURCE: ulrich-v23-44-icon-desktop-text.css === */
/* V23.44 - centered reassurance icons and desktop text clarity. */
@media(max-width:767px){
 body#index .um-service-card .um-service-icon,
 body#index .um-services-card .um-service-icon,
 body#index .um-benefit-card .um-benefit-icon,
 body#index .um-reassurance-card .um-reassurance-icon,
 body#index .um-service-card .icon,
 body#index .um-services-card .icon{
  display:flex!important;align-items:center!important;justify-content:center!important;
  position:relative!important;inset:auto!important;
  transform:none!important;line-height:1!important;
 }
 body#index .um-service-card .um-service-icon svg,
 body#index .um-services-card .um-service-icon svg,
 body#index .um-benefit-card .um-benefit-icon svg,
 body#index .um-reassurance-card .um-reassurance-icon svg{
  position:static!important;transform:none!important;display:block!important;
  margin:auto!important;flex:none!important;
 }
}
@media(min-width:768px){
 body .um-home .um-service-card,
 body .um-home .um-services-card,
 body .um-home .um-benefit-card,
 body .um-home .um-reassurance-card{
  -webkit-font-smoothing:auto!important;
  text-rendering:optimizeLegibility!important;
 }
 body .um-home .um-service-card :is(h3,p),
 body .um-home .um-services-card :is(h3,p),
 body .um-home .um-benefit-card :is(h3,p),
 body .um-home .um-reassurance-card :is(h3,p){
  transform:none!important;filter:none!important;text-shadow:none!important;
  letter-spacing:normal!important;
 }
}


/* === SOURCE: ulrich-v23-4-socials.css === */
/* Ulrich Motorsport V23.4 — pictogrammes réseaux sociaux lisibles.
   Ciblé uniquement sur le pied de page ; aucun impact sur les icônes du header. */
#footer .um-footer-socials {
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:11px !important;
}
#footer .um-footer-socials a {
  box-sizing:border-box !important;
  display:inline-flex !important;
  flex:0 0 46px !important;
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  min-height:46px !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  border:1px solid rgba(255,255,255,.06) !important;
  border-radius:50% !important;
  background:#202328 !important;
  color:#fff !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:23px !important;
  line-height:1 !important;
  font-weight:700 !important;
  font-style:normal !important;
  text-align:center !important;
  text-decoration:none !important;
  text-shadow:none !important;
  -webkit-text-stroke:0 !important;
  transition:transform .18s ease,background-color .18s ease,border-color .18s ease !important;
}
#footer .um-footer-socials a:nth-child(1) { font-size:24px !important; }
#footer .um-footer-socials a:nth-child(2) { font-size:30px !important; }
#footer .um-footer-socials a:nth-child(3) { font-size:24px !important; }
#footer .um-footer-socials a:nth-child(4) { font-size:27px !important; }
#footer .um-footer-socials a svg,
#footer .um-footer-socials a i {
  width:25px !important;
  height:25px !important;
  max-width:25px !important;
  font-size:25px !important;
  line-height:1 !important;
  flex:none !important;
}
@media (hover:hover) and (pointer:fine) {
  #footer .um-footer-socials a:hover {
    background:#e00920 !important;
    border-color:#e00920 !important;
    transform:translateY(-3px) !important;
  }
}
#footer .um-footer-socials a:focus-visible {
  outline:2px solid #ff3c55 !important;
  outline-offset:3px !important;
}
@media (max-width:767px) {
  #footer .um-footer-socials { gap:9px !important; }
  #footer .um-footer-socials a {
    flex-basis:44px !important;
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    min-height:44px !important;
  }
}
@media (prefers-reduced-motion:reduce) {
  #footer .um-footer-socials a { transition:none !important; }
  #footer .um-footer-socials a:hover { transform:none !important; }
}


/* === SOURCE: ulrich-v23-5-social-svg.css === */
/* V23.5 — Icônes SVG dans les boutons sociaux du footer.
   Conserve les liens, leurs libellés aria-label et le HTML actuel.
   Les caractères décoratifs existants deviennent invisibles visuellement. */
#footer .um-footer-socials > a {
  font-size:0 !important;
  color:transparent !important;
  line-height:0 !important;
  background-color:#202328 !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:25px 25px !important;
  -webkit-text-stroke:0 !important;
  text-shadow:none !important;
}
#footer .um-footer-socials > a:nth-of-type(1) {
  background-image:url("../img/social/facebook.svg") !important;
}
#footer .um-footer-socials > a:nth-of-type(2) {
  background-image:url("../img/social/instagram.svg") !important;
}
#footer .um-footer-socials > a:nth-of-type(3) {
  background-image:url("../img/social/youtube.svg") !important;
  background-size:26px 26px !important;
}
#footer .um-footer-socials > a:nth-of-type(4) {
  background-image:url("../img/social/tiktok.svg") !important;
}
@media (hover:hover) and (pointer:fine) {
  #footer .um-footer-socials > a:hover {
    background-color:#e00920 !important;
  }
}
@media (prefers-reduced-motion:reduce) {
  #footer .um-footer-socials > a { transition:none !important; }
}


/* === SOURCE: ulrich-v23-6-pieces.css === */
/* V23.7 : image source « Pièces détachées » remplacée, l'ancien
   recadrage V23.6 n'est plus nécessaire. Conserver les styles de base. */


/* === SOURCE: ulrich-v23-8-new-products.css === */
/* Ulrich Motorsport V23.8 — listing "Nouveaux produits" sur mobile.
   Le bloc "ACCUEIL" visible sur la capture vient de la colonne latérale
   des catégories PrestaShop, pas du menu hamburger du header.
   Correction limitée à ce type de listing et aux petits écrans. */
@media (max-width: 767px) {
  body#new-products #wrapper #left-column,
  body#newproducts #wrapper #left-column {
    display:none !important;
  }
  body#new-products #wrapper #content-wrapper,
  body#newproducts #wrapper #content-wrapper {
    display:block !important;
    float:none !important;
    flex:0 0 100% !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    padding:0 !important;
    margin:0 !important;
  }
  /* The page title is distinct from the category sidebar heading. */
  body#new-products #wrapper #main > h1,
  body#new-products #wrapper #main .page-header h1,
  body#newproducts #wrapper #main > h1,
  body#newproducts #wrapper #main .page-header h1 {
    margin:12px 0 16px !important;
    font:800 clamp(22px,5.5vw,28px)/1.2 Arial,Helvetica,sans-serif !important;
    text-shadow:none !important;
    letter-spacing:-.025em !important;
  }
  /* Avoid excessive full-width white boxes and preserve functional sort controls. */
  body#new-products #js-product-list-top,
  body#new-products .products-selection,
  body#newproducts #js-product-list-top,
  body#newproducts .products-selection {
    box-sizing:border-box !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 0 16px !important;
    padding:12px !important;
    border-radius:13px !important;
  }
  body#new-products .products-selection .row,
  body#newproducts .products-selection .row {
    display:flex !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:9px 10px !important;
    margin:0 !important;
  }
  body#new-products .products-selection .row > *,
  body#newproducts .products-selection .row > * {
    min-width:0 !important;
    max-width:100% !important;
    padding:0 !important;
    margin:0 !important;
  }
  body#new-products .products-selection .sort-by-row,
  body#newproducts .products-selection .sort-by-row {
    display:flex !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:8px !important;
  }
  body#new-products .products-selection .products-sort-order,
  body#newproducts .products-selection .products-sort-order {
    min-width:0 !important;
    max-width:100% !important;
    flex:1 1 170px !important;
    margin:0 !important;
  }
  body#new-products .products-selection .products-sort-order .select-title,
  body#newproducts .products-selection .products-sort-order .select-title {
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:8px !important;
    box-sizing:border-box !important;
    min-height:42px !important;
    width:100% !important;
    max-width:100% !important;
    padding:9px 11px !important;
    border-radius:9px !important;
    font-size:12px !important;
    line-height:1.4 !important;
    white-space:normal !important;
  }
  body#new-products .products-selection .total-products,
  body#newproducts .products-selection .total-products {
    font:400 12px/1.4 Arial,Helvetica,sans-serif !important;
    color:#717985 !important;
    width:100% !important;
    margin:4px 0 0 !important;
    text-align:left !important;
  }
  body#new-products .products-selection .filter-button,
  body#newproducts .products-selection .filter-button {
    flex:0 0 auto !important;
    margin:0 !important;
  }
  /* Keep the existing validated two-column product grid. */
  body#new-products #js-product-list .products,
  body#newproducts #js-product-list .products {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
}


/* === SOURCE: ulrich-v23-55-pretty-menu-mobile.css === */
/* V23.55 — Pretty Menu is rendered once, moved into the mobile header. */
@media(max-width:1199px){
 .um-mobile-toolbar>.container{position:relative}
 .um-mobile-toolbar .ets_prmn_megamenu{display:block!important;position:static!important;width:100%!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;overflow:visible!important}
 .um-mobile-toolbar .ets_prmn_megamenu_content,.um-mobile-toolbar .ets_prmn_megamenu_content_content{position:static!important;min-height:0!important}
 .um-mobile-toolbar .ets_prmn_megamenu .prmn-menu-toggle{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important}
 .um-mobile-toolbar #menu-icon{cursor:pointer;touch-action:manipulation;position:relative;z-index:3}
 .um-mobile-toolbar .ets_prmn_megamenu .prmn_menus_ul.active{z-index:10010!important}
}


/* === SOURCE: ulrich-v23-56-desktop-menu-cards.css === */
/* V23.56 — desktop-only Pretty Menu width and compact home product cards.
   Preserve the V23.55 mobile hamburger integration. */
@media(min-width:1200px){
 .um-header-v6 .um-navigation-shell{display:flex!important;align-items:stretch!important;width:100%!important;max-width:100%!important}
 .um-header-v6 .um-navigation-slot{display:flex!important;flex:1 1 auto!important;min-width:0!important;width:auto!important;max-width:none!important}
 .um-header-v6 .um-navigation-slot>.ets_prmn_megamenu,
 .um-header-v6 .um-navigation-slot .ets_prmn_megamenu_content,
 .um-header-v6 .um-navigation-slot .ets_prmn_megamenu_content>.container,
 .um-header-v6 .um-navigation-slot .ets_prmn_megamenu_content_content,
 .um-header-v6 .um-navigation-slot .prmn_menus{width:100%!important;max-width:none!important;min-width:0!important;margin:0!important}
 .um-header-v6 .um-navigation-slot .ets_prmn_megamenu_content>.container{padding-left:0!important;padding-right:0!important}
 .um-header-v6 .um-navigation-slot .prmn_menus>.prmn_menus_ul{display:flex!important;flex-wrap:nowrap!important;align-items:stretch!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;position:relative!important}
 .um-header-v6 .um-navigation-slot .prmn_menus>.prmn_menus_ul>.prmn_menus_li{flex:1 1 auto!important;min-width:0!important;width:auto!important}
 .um-header-v6 .um-navigation-slot .prmn_menus>.prmn_menus_ul>.prmn_menus_li>a{display:flex!important;align-items:center!important;justify-content:center!important;height:100%!important;padding-left:9px!important;padding-right:9px!important;white-space:nowrap!important}
 .um-header-v6 .um-navigation-slot .prmn_menus>.prmn_menus_ul>.prmn_menus_li.prmn_sub_align_auto{position:static!important}
 .um-header-v6 .um-navigation-slot .prmn_menus>.prmn_menus_ul>.prmn_menus_li.prmn_sub_align_auto>.prmn_columns_ul{left:0!important;right:0!important;width:100%!important;max-width:none!important;box-sizing:border-box!important}
 .um-header-v6 .um-promotions{flex:0 0 auto!important}
}
@media(min-width:1200px){
 body#index .um-home .product-miniature,
 body#index .featured-products .product-miniature{height:auto!important;min-height:0!important;display:flex!important;flex-direction:column!important;border-radius:12px!important;box-shadow:0 3px 14px rgba(0,0,0,.05)!important}
 body#index .um-home .product-miniature .thumbnail-container,
 body#index .featured-products .product-miniature .thumbnail-container{height:auto!important;min-height:0!important;max-height:none!important}
 body#index .um-home .product-miniature .product-description,
 body#index .featured-products .product-miniature .product-description{position:relative!important;height:auto!important;min-height:0!important;flex:1 1 auto!important;display:flex!important;flex-direction:column!important;padding-bottom:8px!important}
 body#index .um-home .product-miniature .product-price-and-shipping,
 body#index .featured-products .product-miniature .product-price-and-shipping{margin-bottom:10px!important}
 body#index .um-home .product-miniature .product-actions,
 body#index .featured-products .product-miniature .product-actions{margin-top:auto!important}
 body#index .um-home .product-miniature .product-flags,
 body#index .featured-products .product-miniature .product-flags{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;gap:5px!important}
 body#index .um-home .product-miniature .product-flags>li,
 body#index .featured-products .product-miniature .product-flags>li{position:static!important;margin:0!important;font-size:10px!important;border-radius:5px!important}
}


/* === SOURCE: ulrich-v23-60-mobile-search.css === */
/* V23.60: true mobile landscape search row, inside the mobile toolbar.
   Removes desktop header height rather than attempting to resize its desktop layout. */
.um-mobile-search-row{display:none}
@media (orientation:landscape) and (max-height:750px) and (pointer:coarse),
       (orientation:landscape) and (max-height:750px) and (hover:none){
 body .um-mobile-toolbar{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}
 body .um-mobile-toolbar>.container{height:auto!important;min-height:0!important;max-height:none!important}
 body .um-mobile-toolbar .um-mobile-search-row{display:block!important;position:relative!important;width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;margin:0!important;padding:4px 0 8px!important;box-sizing:border-box!important}
 body .um-mobile-toolbar .um-mobile-search-row .um-search-slot{display:block!important;position:static!important;float:none!important;width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;box-sizing:border-box!important;text-align:left!important;transform:none!important}
 body .um-mobile-toolbar .um-mobile-search-row .search-widget,
 body .um-mobile-toolbar .um-mobile-search-row .search-widget form,
 body .um-mobile-toolbar .um-mobile-search-row form{display:flex!important;position:relative!important;float:none!important;align-items:center!important;width:100%!important;max-width:100%!important;min-width:0!important;height:40px!important;min-height:40px!important;margin:0!important;padding:0!important;box-sizing:border-box!important;transform:none!important}
 body .um-mobile-toolbar .um-mobile-search-row input[type=text],
 body .um-mobile-toolbar .um-mobile-search-row input[type=search]{display:block!important;position:static!important;flex:1 1 auto!important;width:100%!important;max-width:100%!important;min-width:0!important;height:40px!important;min-height:40px!important;margin:0!important;padding:8px 48px 8px 14px!important;border-radius:9px!important;box-sizing:border-box!important;transform:none!important;font-size:15px!important}
 body .um-mobile-toolbar .um-mobile-search-row form button{position:absolute!important;right:5px!important;top:50%!important;transform:translateY(-50%)!important;height:32px!important;min-height:32px!important}
 body .um-header-v6 .um-header-shell,
 body .um-header-v6 .um-header-main.um-desktop-header-row{display:none!important}
 body .um-header-v6 .um-navigation-bar,
 body .um-header-v6 #mobile_top_menu_wrapper{display:none!important}
 body .um-header-v6{display:contents!important}
}


/* === SOURCE: ulrich-v23-61-landscape-bootstrap-fix.css === */
/* V23.61: Bootstrap's hidden-md-up hides the mobile controls on wide landscape phones.
   Explicitly restore mobile nav at coarse-pointer landscape viewport sizes. */
@media (orientation:landscape) and (max-height:750px) and (pointer:coarse),
       (orientation:landscape) and (max-height:750px) and (hover:none){
 html body .um-trust-bar,
 html body #header .um-trust-bar{display:none!important}
 html body #header .header-nav.um-mobile-toolbar,
 html body .header-nav.um-mobile-toolbar,
 html body nav.um-mobile-toolbar{display:block!important;visibility:visible!important;opacity:1!important;position:relative!important;z-index:15!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;overflow:visible!important}
 html body nav.um-mobile-toolbar>.container{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0 auto!important;padding:0 14px!important;box-sizing:border-box!important}
 html body nav.um-mobile-toolbar .hidden-md-up.mobile.um-mobile-controls,
 html body nav.um-mobile-toolbar .mobile.um-mobile-controls,
 html body nav.um-mobile-toolbar .um-mobile-controls{display:flex!important;visibility:visible!important;opacity:1!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:nowrap!important;gap:12px!important;width:100%!important;height:54px!important;min-height:54px!important;max-height:54px!important;margin:0!important;padding:0!important;box-sizing:border-box!important}
 html body nav.um-mobile-toolbar .um-mobile-controls .um-mobile-brand{display:flex!important;visibility:visible!important;opacity:1!important}
 html body nav.um-mobile-toolbar .um-mobile-controls #menu-icon,
 html body nav.um-mobile-toolbar .um-mobile-controls .um-mobile-blog-shortcut,
 html body nav.um-mobile-toolbar .um-mobile-controls .um-mobile-cart-shortcut{display:flex!important;visibility:visible!important;opacity:1!important}
 html body nav.um-mobile-toolbar .um-mobile-search-row{display:block!important;visibility:visible!important;position:relative!important;z-index:1!important;width:100%!important;max-width:100%!important;min-height:48px!important;height:auto!important;padding:4px 0 8px!important;margin:0!important;box-sizing:border-box!important}
 html body nav.um-mobile-toolbar .um-mobile-search-row .um-search-slot{display:block!important;visibility:visible!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}
 html body nav.um-mobile-toolbar .um-mobile-search-row .search-widget,
 html body nav.um-mobile-toolbar .um-mobile-search-row form{width:100%!important;max-width:100%!important;margin:0!important}
 html body nav.um-mobile-toolbar .um-mobile-search-row input[type=text],
 html body nav.um-mobile-toolbar .um-mobile-search-row input[type=search]{width:100%!important;max-width:100%!important;box-sizing:border-box!important}
 html body .um-header-v6 .um-header-shell,
 html body .um-header-v6 .um-desktop-header-row,
 html body .um-header-v6 .um-navigation-bar{display:none!important}
}


/* === SOURCE: ulrich-v23-62-mobile-order.css === */
/* V23.62 — phone landscape toolbar ordering only.
   No changes to search, Pretty Menu, or desktop layout. */
@media (orientation:landscape) and (max-height:750px) and (pointer:coarse),
       (orientation:landscape) and (max-height:750px) and (hover:none){
 html body nav.um-mobile-toolbar .um-mobile-controls{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:nowrap!important;gap:12px!important;width:100%!important}
 html body nav.um-mobile-toolbar .um-mobile-controls>*{float:none!important}
 html body nav.um-mobile-toolbar .um-mobile-controls #menu-icon{order:0!important;display:flex!important;flex:0 0 36px!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:0!important}
 html body nav.um-mobile-toolbar .um-mobile-controls .um-mobile-brand{order:1!important;display:flex!important;flex:0 1 190px!important;min-width:0!important;align-items:center!important;justify-content:flex-start!important;margin:0 auto 0 0!important;padding:0!important}
 html body nav.um-mobile-toolbar .um-mobile-controls .um-mobile-brand img{display:block!important;width:auto!important;height:auto!important;max-width:190px!important;max-height:44px!important}
 html body nav.um-mobile-toolbar .um-mobile-controls .um-mobile-account-shortcut{order:2!important;display:none!important}
 html body nav.um-mobile-toolbar .um-mobile-controls .um-mobile-blog-shortcut{order:3!important;display:flex!important;flex:0 0 38px!important;align-items:center!important;justify-content:center!important;width:38px!important;height:38px!important;margin:0!important;padding:0!important}
 html body nav.um-mobile-toolbar .um-mobile-controls .um-mobile-cart-shortcut{order:4!important;display:flex!important;flex:0 0 38px!important;align-items:center!important;justify-content:center!important;width:38px!important;height:38px!important;margin:0!important;padding:0!important}
 html body nav.um-mobile-toolbar .um-mobile-controls #_mobile_cart,
 html body nav.um-mobile-toolbar .um-mobile-controls #_mobile_user_info,
 html body nav.um-mobile-toolbar .um-mobile-controls .clearfix{display:none!important}
}


/* === SOURCE: ulrich-v23-63-mobile-header.css === */
/* V23.63: stable mobile controls in portrait and landscape. */
@media (max-width:767px), (orientation:landscape) and (max-height:750px) and (pointer:coarse), (orientation:landscape) and (max-height:750px) and (hover:none){
 html body nav.um-mobile-toolbar>.container{width:100%!important;max-width:100%!important;min-width:0!important;padding:0 14px!important;box-sizing:border-box!important}
 html body nav.um-mobile-toolbar .um-mobile-controls{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;width:100%!important;max-width:100%!important;min-width:0!important;height:54px!important;margin:0!important;padding:0!important;box-sizing:border-box!important;overflow:visible!important}
 html body nav.um-mobile-toolbar .um-mobile-controls>*{float:none!important;position:static!important;min-width:0!important}
 html body nav.um-mobile-toolbar .um-mobile-controls #menu-icon{display:flex!important;order:0!important;flex:0 0 34px!important;width:34px!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:0!important}
 html body nav.um-mobile-toolbar .um-mobile-controls .um-mobile-brand{display:flex!important;order:1!important;flex:0 1 185px!important;min-width:0!important;align-items:center!important;justify-content:flex-start!important;margin:0 auto 0 0!important;padding:0!important}
 html body nav.um-mobile-toolbar .um-mobile-controls .um-mobile-brand img{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:42px!important}
 html body nav.um-mobile-toolbar .um-mobile-controls .um-mobile-account-shortcut{display:none!important}
 html body nav.um-mobile-toolbar .um-mobile-controls .um-mobile-blog-shortcut{display:flex!important;order:2!important;flex:0 0 36px!important;width:36px!important;height:36px!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:0!important}
 html body nav.um-mobile-toolbar .um-mobile-controls .um-mobile-cart-shortcut{display:flex!important;order:3!important;flex:0 0 36px!important;width:36px!important;height:36px!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:0!important}
 html body nav.um-mobile-toolbar .um-mobile-controls #_mobile_cart,
 html body nav.um-mobile-toolbar .um-mobile-controls #_mobile_user_info,
 html body nav.um-mobile-toolbar .um-mobile-controls .clearfix{display:none!important}
}
@media(max-width:420px){
 html body nav.um-mobile-toolbar .um-mobile-controls{gap:7px!important}
 html body nav.um-mobile-toolbar .um-mobile-controls .um-mobile-brand{flex-basis:145px!important}
 html body nav.um-mobile-toolbar .um-mobile-controls .um-mobile-blog-shortcut,
 html body nav.um-mobile-toolbar .um-mobile-controls .um-mobile-cart-shortcut{flex-basis:32px!important;width:32px!important}
}


/* === SOURCE: ulrich-v23-64-mobile-structure.css === */
/* V23.64 structural mobile toolbar: exactly menu, brand, blog, cart. */
@media(max-width:767px), (orientation:landscape) and (max-height:750px) and (pointer:coarse), (orientation:landscape) and (max-height:750px) and (hover:none){
 html body nav.um-mobile-toolbar{display:block!important;max-width:100%!important;overflow:visible!important}
 html body nav.um-mobile-toolbar>.container{width:100%!important;max-width:100%!important;min-width:0!important;padding:0 14px!important;box-sizing:border-box!important}
 html body nav.um-mobile-toolbar .um-mobile-controls{display:grid!important;grid-template-columns:36px minmax(0,1fr) 36px 36px!important;align-items:center!important;justify-items:center!important;column-gap:10px!important;width:100%!important;max-width:100%!important;min-width:0!important;height:54px!important;min-height:54px!important;margin:0!important;padding:0!important;box-sizing:border-box!important;overflow:visible!important}
 html body nav.um-mobile-toolbar .um-mobile-controls>*{position:static!important;float:none!important;min-width:0!important;max-width:100%!important;margin:0!important;padding:0!important;transform:none!important}
 html body nav.um-mobile-toolbar .um-mobile-controls #menu-icon{grid-column:1!important;grid-row:1!important;display:flex!important;align-items:center!important;justify-content:center!important;width:36px!important;height:40px!important}
 html body nav.um-mobile-toolbar .um-mobile-controls .um-mobile-brand{grid-column:2!important;grid-row:1!important;display:flex!important;justify-self:start!important;align-items:center!important;width:100%!important;min-width:0!important;max-width:190px!important}
 html body nav.um-mobile-toolbar .um-mobile-controls .um-mobile-brand img{display:block!important;width:auto!important;max-width:100%!important;height:auto!important;max-height:42px!important}
 html body nav.um-mobile-toolbar .um-mobile-controls .um-mobile-blog-shortcut{grid-column:3!important;grid-row:1!important;display:flex!important;align-items:center!important;justify-content:center!important;width:36px!important;height:40px!important}
 html body nav.um-mobile-toolbar .um-mobile-controls .um-mobile-cart-shortcut{grid-column:4!important;grid-row:1!important;display:flex!important;align-items:center!important;justify-content:center!important;width:36px!important;height:40px!important}
 html body nav.um-mobile-toolbar .um-mobile-controls .um-mobile-account-shortcut,
 html body nav.um-mobile-toolbar .um-mobile-controls #_mobile_cart,
 html body nav.um-mobile-toolbar .um-mobile-controls #_mobile_user_info{display:none!important}
 html body nav.um-mobile-toolbar .um-mobile-search-row{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
}
@media(max-width:380px){html body nav.um-mobile-toolbar .um-mobile-controls{grid-template-columns:32px minmax(0,1fr) 32px 32px!important;column-gap:6px!important}}
/* Avoid clipped multi-line news items on narrow portrait screens. */
@media(max-width:767px){
 html body .um-news-ticker__messages{min-width:0!important;overflow:hidden!important}
 html body .um-news-ticker__message{font-size:12px!important;line-height:1.35!important;overflow:hidden!important}
 html body .um-news-ticker__controls{flex:0 0 auto!important}
}


/* === SOURCE: ulrich-v23-65-news-mobile.css === */
/* V23.65 — single-line mobile announcements, scrolling only when text overflows. */
@media(max-width:767px){
 .um-news-ticker .um-news-ticker__inner{display:flex!important;align-items:center!important;gap:8px!important;min-height:46px!important;height:46px!important;padding-top:0!important;padding-bottom:0!important;overflow:hidden!important}
 .um-news-ticker .um-news-ticker__label{display:inline-flex!important;flex:0 0 auto!important;align-items:center!important;white-space:nowrap!important;margin:0!important;font-size:10px!important;padding:7px 8px!important}
 .um-news-ticker .um-news-ticker__messages{display:block!important;flex:1 1 0!important;min-width:0!important;width:0!important;height:28px!important;overflow:hidden!important;position:relative!important}
 .um-news-ticker .um-news-ticker__message,
 html body .um-news-ticker .um-news-ticker__message{display:none!important;position:absolute!important;left:0!important;top:0!important;width:max-content!important;max-width:none!important;height:28px!important;min-height:28px!important;align-items:center!important;gap:7px!important;white-space:nowrap!important;overflow:visible!important;font-size:12px!important;line-height:28px!important;margin:0!important;padding:0!important;animation:none!important;transform:translateX(0)}
 .um-news-ticker .um-news-ticker__message.is-active,
 html body .um-news-ticker .um-news-ticker__message.is-active{display:flex!important}
 .um-news-ticker .um-news-ticker__message .material-icons{font-size:16px!important;line-height:1!important;flex:0 0 auto!important}
 .um-news-ticker .um-news-ticker__message a{white-space:nowrap!important;flex:0 0 auto!important}
 .um-news-ticker .um-news-ticker__controls{display:flex!important;flex:0 0 auto!important;gap:0!important;align-items:center!important}
 .um-news-ticker .um-news-ticker__controls button{display:flex!important;align-items:center!important;justify-content:center!important;width:25px!important;min-width:25px!important;height:32px!important;min-height:32px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#fff!important;font-size:20px!important;line-height:1!important}
 .um-news-ticker .um-news-ticker__controls button:focus-visible{outline:2px solid #fff!important;outline-offset:-2px!important}
}
@media(max-width:390px){.um-news-ticker .um-news-ticker__label{display:inline-flex!important;font-size:9px!important;padding:6px!important}.um-news-ticker .um-news-ticker__controls button{width:22px!important;min-width:22px!important}}


/* === SOURCE: ulrich-v23-66-pretty-menu-width.css === */
/* V23.66 — desktop Pretty Menu mega panels span the navigation slot.
   Keep Promotions outside the panel and preserve mobile behavior. */
@media (min-width:1200px){
 .um-header-v6 .um-navigation-shell{position:relative!important}
 .um-header-v6 .um-navigation-slot{position:relative!important;min-width:0!important}
 .um-header-v6 .um-navigation-slot .prmn_menus,
 .um-header-v6 .um-navigation-slot .prmn_menus>.prmn_menus_ul{position:static!important}
 .um-header-v6 .um-navigation-slot .prmn_menus>.prmn_menus_ul>.prmn_menus_li{position:static!important}
 .um-header-v6 .um-navigation-slot .prmn_menus>.prmn_menus_ul>.prmn_menus_li>.prmn_columns_ul{
   position:absolute!important;left:0!important;right:0!important;
   width:100%!important;min-width:100%!important;max-width:100%!important;
   box-sizing:border-box!important;margin-left:0!important;margin-right:0!important;
 }
 .um-header-v6 .um-navigation-slot .prmn_menus>.prmn_menus_ul>.prmn_menus_li>.prmn_columns_ul .container{
   width:100%!important;max-width:100%!important;box-sizing:border-box!important
 }
}


/* === SOURCE: ulrich-v23-67-carbon-nav.css === */
/* 23.67 — Harmonisation du thème avec Pretty Menu noir carbone.
   Desktop uniquement : aucune modification du menu mobile. */
@media (min-width:1200px){
 .um-header-v6 .um-navigation-bar{
   background:#17191c!important;
   border-top:1px solid rgba(255,255,255,.06)!important;
   border-bottom:1px solid rgba(255,255,255,.08)!important;
 }
 .um-header-v6 .um-navigation-shell,
 .um-header-v6 .um-navigation-slot,
 .um-header-v6 .um-navigation-slot .ets_prmn_megamenu,
 .um-header-v6 .um-navigation-slot .ets_prmn_megamenu_content,
 .um-header-v6 .um-navigation-slot .ets_prmn_megamenu_content_content,
 .um-header-v6 .um-navigation-slot .prmn_menus,
 .um-header-v6 .um-navigation-slot .prmn_menus_ul{
   background-color:#17191c!important;
   box-shadow:none!important;
 }
 .um-header-v6 .um-navigation-slot .prmn_menus>.prmn_menus_ul>.prmn_menus_li>a{
   background:transparent!important;color:#f5f5f5!important;
   border-color:rgba(255,255,255,.06)!important;
   transition:background-color .18s ease,color .18s ease!important;
 }
 .um-header-v6 .um-navigation-slot .prmn_menus>.prmn_menus_ul>.prmn_menus_li:hover>a,
 .um-header-v6 .um-navigation-slot .prmn_menus>.prmn_menus_ul>.prmn_menus_li.active>a{
   background:#24272b!important;color:#fff!important;
   box-shadow:inset 0 -2px 0 #e60020!important;
 }
 .um-header-v6 .um-promotions{
   background:#e60020!important;color:#fff!important;
   border-color:transparent!important;
 }
 .um-header-v6 .um-navigation-slot .prmn_columns_ul{
   background:#1b1d21!important;color:#f5f5f5!important;
   border:1px solid rgba(255,255,255,.09)!important;
   border-top:2px solid #e60020!important;
   box-shadow:0 14px 32px rgba(0,0,0,.28)!important;
 }
 .um-header-v6 .um-navigation-slot .prmn_columns_ul a{color:#e8e9eb!important}
 .um-header-v6 .um-navigation-slot .prmn_columns_ul a:hover{color:#ff4055!important}
}


/* === SOURCE: ulrich-v23-68-menu-alignment.css === */
/* V23.68 desktop menu: remove top white line and align megamenu. */
@media(min-width:1200px){
 .um-header-v6 .um-navigation-bar,
 .um-header-v6 .um-navigation-shell,
 .um-header-v6 .um-navigation-slot,
 .um-header-v6 .um-navigation-slot .ets_prmn_megamenu,
 .um-header-v6 .um-navigation-slot .ets_prmn_megamenu_content,
 .um-header-v6 .um-navigation-slot .prmn_menus,
 .um-header-v6 .um-navigation-slot .prmn_menus_ul{
   border-top:0!important;outline-top:0!important;
 }
 .um-header-v6 .um-navigation-shell::before,
 .um-header-v6 .um-navigation-shell::after{
   border-top:0!important;
 }
 .um-header-v6 .um-navigation-slot .prmn_menus>.prmn_menus_ul>.prmn_menus_li>.prmn_columns_ul{
   box-sizing:border-box!important;max-width:none!important;
 }
}


/* === SOURCE: ulrich-v23-69-newsletter-frame.css === */
/* V23.69 — newsletter premium frame, footer only. */
#footer .um-newsletter,
#footer .um-newsletter-card,
#footer .um-footer-newsletter,
#footer .newsletter-container,
#footer .block_newsletter,
footer .um-newsletter,
footer .um-newsletter-card,
footer .um-footer-newsletter{
 background-color:#15171a!important;
 border:1px solid #303238!important;
 border-left:3px solid #e60020!important;
 border-radius:14px!important;
 box-shadow:0 12px 32px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.025)!important;
}
@media(max-width:767px){
 #footer .um-newsletter,
 #footer .um-newsletter-card,
 #footer .um-footer-newsletter,
 #footer .newsletter-container,
 #footer .block_newsletter,
 footer .um-newsletter,
 footer .um-newsletter-card,
 footer .um-footer-newsletter{border-radius:12px!important}
}


/* === SOURCE: ulrich-v23-70-home-overflow.css === */
/* V23.70: contain home page carousel without clipping header dropdowns. */
body#index .um-home,
body#index .um-category-carousel{
 min-width:0!important;max-width:100%!important;
}
body#index .um-category-carousel__viewport{
 display:block!important;width:100%!important;max-width:100%!important;
 overflow-x:auto!important;overflow-y:hidden!important;
 contain:layout paint!important;
}
body#index .um-home .um-category-carousel .um-categories{
 max-width:none!important;
}
body#index main,
body#index #wrapper{
 min-width:0!important;overflow-x:clip;
}
@supports not (overflow:clip){
 body#index main,body#index #wrapper{overflow-x:hidden}
}


/* === SOURCE: ulrich-v23-71-nav-container.css === */
/* V23.71 — restore centered desktop navigation within site container.
   Keep full-width carbon background and V23.70 overflow fix. */
@media(min-width:1200px){
 .um-header-v6 .um-navigation-bar{
   width:100%!important;
 }
 .um-header-v6 .um-navigation-bar>.um-navigation-shell.container{
   width:calc(100% - 40px)!important;
   max-width:1440px!important;
   margin-left:auto!important;
   margin-right:auto!important;
   padding-left:0!important;
   padding-right:0!important;
   box-sizing:border-box!important;
 }
 .um-header-v6 .um-navigation-slot{
   flex:1 1 auto!important;
   min-width:0!important;
 }
 .um-header-v6 .um-promotions{
   flex:0 0 auto!important;
 }
}


/* === SOURCE: ulrich-v23-72-trust-phone.css === */
/* V23.72 — readable phone number in the desktop trust bar. */
@media(min-width:1200px){
 .um-trust-bar .um-trust-inner>span:last-child{
   display:inline-flex!important;align-items:center!important;
   gap:7px!important;white-space:nowrap!important;
 }
 .um-trust-bar .um-trust-inner>span:last-child a,
 .um-trust-bar .um-trust-inner>span:last-child a strong{
   font-size:14px!important;line-height:1.3!important;
   font-weight:800!important;letter-spacing:.015em!important;
   color:#fff!important;text-decoration:none!important;
 }
 .um-trust-bar .um-trust-inner>span:last-child .material-icons{
   font-size:18px!important;color:#fff!important;
 }
 .um-trust-bar .um-trust-inner>span:last-child a:hover strong{
   color:#ff4055!important;
 }
}


/* === SOURCE: ulrich-v23-73-promotions.css === */
/* V23.73 — desktop Promotions button aligned to centered nav. */
@media(min-width:1200px){
 .um-navigation-bar>.um-navigation-shell.container{
   display:flex!important;
   align-items:stretch!important;
   justify-content:space-between!important;
   width:calc(100% - 40px)!important;
   max-width:1440px!important;
   margin-inline:auto!important;
   box-sizing:border-box!important;
 }
 .um-navigation-bar .um-navigation-shell>.um-navigation-slot{
   flex:1 1 auto!important;min-width:0!important;
 }
 .um-navigation-bar .um-navigation-shell>a.um-promotions{
   position:relative!important;
   inset:auto!important;
   display:inline-flex!important;
   align-items:center!important;justify-content:center!important;
   gap:10px!important;
   flex:0 0 190px!important;
   width:190px!important;min-width:190px!important;
   height:auto!important;min-height:54px!important;
   margin:0!important;padding:0 20px!important;
   transform:none!important;
   box-sizing:border-box!important;
   background:#e60020!important;
   color:#fff!important;
   border:0!important;border-radius:0!important;
   clip-path:polygon(10% 0,100% 0,90% 100%,0 100%)!important;
   font-size:13px!important;font-weight:800!important;
   white-space:nowrap!important;
   transition:background-color .18s ease!important;
 }
 .um-navigation-bar .um-navigation-shell>a.um-promotions:hover,
 .um-navigation-bar .um-navigation-shell>a.um-promotions:focus-visible{
   background:#c9001b!important;color:#fff!important;
 }
 .um-navigation-bar .um-navigation-shell>a.um-promotions .material-icons{
   font-size:20px!important;line-height:1!important;
 }
}


/* === SOURCE: ulrich-v23-75-promotions-fix.css === */
/* V23.75 — target actual markup, not nested .um-header-v6. */
@media(min-width:1200px){
 .um-navigation-bar .um-navigation-shell>a.um-promotions,
 .um-navigation-shell>a.um-promotions{
   position:relative!important;inset:auto!important;
   display:inline-flex!important;align-items:center!important;
   justify-content:center!important;gap:8px!important;
   flex:0 0 180px!important;width:180px!important;
   min-width:180px!important;max-width:180px!important;
   min-height:52px!important;height:auto!important;
   margin:0!important;padding:0 16px!important;
   transform:none!important;
   clip-path:polygon(10% 0,100% 0,90% 100%,0 100%)!important;
   background:#e60020!important;border:0!important;
   border-radius:0!important;color:#fff!important;
   box-sizing:border-box!important;white-space:nowrap!important;
   font-size:13px!important;font-weight:800!important;
 }
 .um-navigation-shell>a.um-promotions:hover{background:#c9001b!important;color:#fff!important}
 .um-navigation-shell>a.um-promotions .material-icons{font-size:19px!important;line-height:1!important}
}


/* === SOURCE: ulrich-v23-76-promotions-clean.css === */
/* V23.76: clean rectangular Promotions button, scoped to desktop only. */
@media (min-width:1200px){
 .um-navigation-bar .um-navigation-shell > a.um-promotions,
 .um-navigation-shell > a.um-promotions{
   display:inline-flex!important;
   align-items:center!important;
   justify-content:center!important;
   gap:9px!important;
   position:relative!important;
   flex:0 0 auto!important;
   width:auto!important;
   min-width:166px!important;
   max-width:none!important;
   height:auto!important;
   min-height:52px!important;
   padding:0 22px!important;
   margin:0!important;
   transform:none!important;
   clip-path:none!important;
   border:0!important;
   border-radius:5px 5px 0 0!important;
   box-shadow:none!important;
   background:#e60023!important;
   color:#fff!important;
   font-size:13px!important;
   font-weight:800!important;
   line-height:1.2!important;
   text-align:center!important;
   white-space:nowrap!important;
   box-sizing:border-box!important;
 }
 .um-navigation-shell > a.um-promotions::before,
 .um-navigation-shell > a.um-promotions::after{
   transform:none!important;
   clip-path:none!important;
   display:none!important;
 }
 .um-navigation-shell > a.um-promotions:hover,
 .um-navigation-shell > a.um-promotions:focus-visible{
   background:#c9001e!important;
   color:#fff!important;
 }
 .um-navigation-shell > a.um-promotions .material-icons{
   font-size:19px!important;
   line-height:1!important;
 }
}


/* === SOURCE: ulrich-v23-79-promotions-reset.css === */
/* V23.79: new class avoids legacy skewed .um-promotions rules. */
@media(min-width:1200px){
 .um-navigation-shell>a.um-promotions-clean{
   display:flex!important;align-items:center!important;justify-content:center!important;
   gap:8px!important;flex:0 0 166px!important;
   width:166px!important;min-width:166px!important;max-width:166px!important;
   min-height:52px!important;height:auto!important;
   margin:0!important;padding:0 16px!important;
   position:relative!important;inset:auto!important;
   transform:none!important;clip-path:none!important;
   border:0!important;border-radius:4px 4px 0 0!important;
   background:#e60023!important;color:#fff!important;
   font-size:13px!important;font-weight:800!important;line-height:1.2!important;
   text-decoration:none!important;white-space:nowrap!important;
   box-sizing:border-box!important;
 }
 .um-navigation-shell>a.um-promotions-clean::before,
 .um-navigation-shell>a.um-promotions-clean::after{content:none!important;display:none!important}
 .um-navigation-shell>a.um-promotions-clean:hover,
 .um-navigation-shell>a.um-promotions-clean:focus-visible{background:#c9001e!important;color:#fff!important}
 .um-navigation-shell>a.um-promotions-clean .material-icons{font-size:19px!important;line-height:1!important}
}


/* === SOURCE: ulrich-v23-80-header-background.css === */
/* V23.80 — desktop refinements: legible phone, clean slanted CTA, soft homepage background. */
@media(min-width:1200px){
 .um-trust-bar .um-trust-inner>span:last-child,
 .um-trust-bar .um-trust-inner>span:last-child a,
 .um-trust-bar .um-trust-inner>span:last-child a strong{
   font-size:16px!important;
   line-height:1.3!important;
   font-weight:800!important;
   letter-spacing:.01em!important;
   white-space:nowrap!important;
 }
 .um-trust-bar .um-trust-inner>span:last-child{
   display:inline-flex!important;align-items:center!important;gap:8px!important;
 }
 .um-trust-bar .um-trust-inner>span:last-child .material-icons{
   font-size:20px!important;
 }
 .um-navigation-shell>a.um-promotions-clean{
   position:relative!important;
   transform:none!important;
   clip-path:polygon(9% 0,100% 0,91% 100%,0 100%)!important;
   border-radius:0!important;
   padding:0 22px!important;
   min-width:180px!important;
   width:180px!important;
   flex:0 0 180px!important;
   background:#eb0028!important;
   color:#fff!important;
 }
 .um-navigation-shell>a.um-promotions-clean:hover{
   background:#c90020!important;
 }
}
@media(min-width:1200px){
 body#index{background:#f2f3f5!important;}
 body#index #wrapper{background:#f2f3f5!important;}
 body#index #wrapper>.container{background:transparent!important;}
 body#index .um-home{background:transparent!important;}
 body#index .um-home .um-hero{box-shadow:0 10px 28px rgba(16,20,28,.10)!important;}
}


/* === SOURCE: ulrich-v23-81-full-hero.css === */
/* V23.81: full-bleed motocross hero; keep all following content centered. */
@media(min-width:1200px){
 body#index #wrapper #content.um-home .um-hero{
   position:relative!important;
   width:100vw!important;
   max-width:100vw!important;
   margin-left:calc(50% - 50vw)!important;
   margin-right:calc(50% - 50vw)!important;
   left:auto!important;
   right:auto!important;
   box-sizing:border-box!important;
 }
 body#index #wrapper #content.um-home .um-hero-visual{
   width:100%!important;
   max-width:100%!important;
   left:0!important;
   right:0!important;
 }
 body#index #wrapper #content.um-home .um-hero-inner{
   width:calc(100% - 40px)!important;
   max-width:1440px!important;
   margin-left:auto!important;
   margin-right:auto!important;
 }
}


/* === SOURCE: ulrich-v23-82-phone-red.css === */
/* V23.82 — highlight desktop telephone on a red background. */
@media(min-width:1200px){
 .um-trust-bar .um-trust-inner > span:last-child{
   display:inline-flex!important;
   align-items:center!important;
   justify-content:center!important;
   gap:8px!important;
   padding:8px 16px!important;
   margin:0!important;
   background:#e60023!important;
   border-radius:4px!important;
   color:#fff!important;
   white-space:nowrap!important;
   box-sizing:border-box!important;
 }
 .um-trust-bar .um-trust-inner > span:last-child a,
 .um-trust-bar .um-trust-inner > span:last-child a strong{
   color:#fff!important;
   font-size:16px!important;
   font-weight:800!important;
   line-height:1.2!important;
   text-decoration:none!important;
 }
 .um-trust-bar .um-trust-inner > span:last-child .material-icons{
   color:#fff!important;
   font-size:20px!important;
 }
 .um-trust-bar .um-trust-inner > span:last-child:hover{
   background:#c90020!important;
 }
}


/* === SOURCE: ulrich-v23-83-premium-home.css === */
/* V23.83 — premium storefront refinements. Desktop only. */
@media(min-width:1200px){
 /* The previous 1440px wrapper and its overflow clipping prevented full bleed. */
 body#index #wrapper,
 body#index main,
 body#index #content-wrapper,
 body#index #content,
 body#index .um-home{
   overflow-x:visible!important;
   overflow:visible!important;
 }
 /* Expand the hero only, while retaining centered categories and products. */
 body#index .um-home .um-hero,
 body#index #wrapper .um-hero{
   position:relative!important;
   display:block!important;
   width:100vw!important;
   max-width:none!important;
   min-width:100vw!important;
   margin-left:calc(50% - 50vw)!important;
   margin-right:0!important;
   left:auto!important;
   right:auto!important;
   border-radius:0!important;
   box-shadow:none!important;
 }
 body#index .um-hero .um-hero-visual,
 body#index .um-hero .um-hero-bg,
 body#index .um-hero img.um-hero-image{
   width:100%!important;
   max-width:none!important;
 }
 body#index .um-hero .um-hero-inner,
 body#index .um-hero .um-hero-content{
   box-sizing:border-box!important;
   max-width:1440px!important;
   margin-left:auto!important;
   margin-right:auto!important;
 }
 /* A compact premium call CTA instead of a full-column red rectangle. */
 .um-trust-bar .um-trust-inner>span:last-child{
   background:transparent!important;
   border-radius:0!important;
   padding:0 8px!important;
   margin:0!important;
   display:flex!important;
   align-items:center!important;
   justify-content:center!important;
   gap:0!important;
 }
 .um-trust-bar .um-trust-inner>span:last-child>a{
   display:inline-flex!important;
   align-items:center!important;
   justify-content:center!important;
   width:auto!important;
   max-width:100%!important;
   padding:9px 19px!important;
   border-radius:999px!important;
   background:linear-gradient(135deg,#ed002a 0%,#c90023 100%)!important;
   box-shadow:0 3px 12px rgba(215,0,37,.18)!important;
   color:#fff!important;
   text-decoration:none!important;
   transition:background .2s ease,box-shadow .2s ease!important;
 }
 .um-trust-bar .um-trust-inner>span:last-child>a:hover{
   background:linear-gradient(135deg,#fa153c 0%,#d60029 100%)!important;
   box-shadow:0 5px 16px rgba(215,0,37,.28)!important;
 }
 .um-trust-bar .um-trust-inner>span:last-child>a strong{
   color:#fff!important;
   font-size:15px!important;
   font-weight:800!important;
   letter-spacing:.025em!important;
 }
 .um-trust-bar .um-trust-inner>span:last-child>.material-icons{
   display:none!important;
 }
 /* Keep page content framed and its horizontal carousel clipped independently. */
 body#index .um-category-carousel__viewport{
   overflow-x:auto!important;
   overflow-y:hidden!important;
 }
}


/* === SOURCE: ulrich-v23-84-phone-icon.css === */
/* V23.84 — restore visible phone icon and compact red phone CTA. */
@media(min-width:1200px){
 .um-trust-bar .um-trust-inner>span:last-child{
   background:linear-gradient(135deg,#ed002a,#ca0024)!important;
   border-radius:999px!important;
   box-shadow:0 3px 12px rgba(215,0,37,.18)!important;
   width:max-content!important;
   max-width:100%!important;
   min-width:0!important;
   flex:0 0 auto!important;
   padding:8px 18px!important;
   margin:0 auto!important;
   gap:9px!important;
   display:inline-flex!important;
   align-items:center!important;
   justify-content:center!important;
   white-space:nowrap!important;
 }
 .um-trust-bar .um-trust-inner>span:last-child>.material-icons{
   display:inline-block!important;
   flex:0 0 auto!important;
   font-size:20px!important;
   line-height:1!important;
   color:#fff!important;
 }
 .um-trust-bar .um-trust-inner>span:last-child>a{
   display:inline-flex!important;
   align-items:center!important;
   width:auto!important;
   padding:0!important;
   margin:0!important;
   background:transparent!important;
   border-radius:0!important;
   box-shadow:none!important;
   color:#fff!important;
 }
 .um-trust-bar .um-trust-inner>span:last-child>a:hover{
   background:transparent!important;
   box-shadow:none!important;
 }
 .um-trust-bar .um-trust-inner>span:last-child>a strong{
   color:#fff!important;
   font-size:15px!important;
   line-height:1.2!important;
   font-weight:800!important;
 }
 .um-trust-bar .um-trust-inner>span:last-child:hover{
   background:linear-gradient(135deg,#f51640,#d5002a)!important;
 }
}


/* === SOURCE: ulrich-v23-85-hero-fix.css === */
/* V23.85 — restore full-bleed hero by unclipping its actual parent. */
@media(min-width:1200px){
 body#index .page-home.um-home,
 body#index #wrapper .page-home.um-home,
 body#index .page-home.um-home > section{
   overflow:visible!important;
   overflow-x:visible!important;
   overflow-y:visible!important;
 }
 body#index .page-home.um-home>.um-hero,
 body#index .page-home.um-home .um-hero{
   position:relative!important;
   width:100vw!important;
   max-width:none!important;
   min-width:0!important;
   margin-right:0!important;
   border-radius:0!important;
   box-shadow:none!important;
 }
 body#index .page-home.um-home .um-hero-inner{
   max-width:1440px!important;
   margin-inline:auto!important;
 }
 /* Preserve the centered sections below the hero. */
 body#index .page-home.um-home .um-category-carousel__viewport{
   overflow-x:auto!important;
   overflow-y:hidden!important;
 }
}


/* === SOURCE: ulrich-v23-86-hero-unclip.css === */
/* V23.86: unclamp real homepage parent, and keep only hero full-bleed. */
@media(min-width:1200px){
 html body#index #wrapper .page-home.um-home,
 html body#index .page-home.um-home,
 html body#index #content.um-home,
 html body#index .um-home{
   overflow:visible!important;
   overflow-x:visible!important;
   overflow-y:visible!important;
   clip-path:none!important;
   contain:none!important;
 }
 html body#index .page-home.um-home .um-hero{
   width:100vw!important;
   max-width:none!important;
   min-width:0!important;
   overflow:hidden!important;
 }
 html body#index .page-home.um-home .um-category-carousel__viewport{
   overflow-x:auto!important;
   overflow-y:hidden!important;
 }
}


/* === SOURCE: ulrich-v23-87-header-alignment.css === */
/* V23.87: align desktop trust and header content with centered menu. */
@media(min-width:1200px){
 .um-trust-bar>.container.um-trust-inner,
 .um-header-v6>.container.um-header-shell,
 .um-header-v6 .um-navigation-bar>.container.um-navigation-shell{
   width:calc(100% - 48px)!important;
   max-width:1260px!important;
   margin-left:auto!important;
   margin-right:auto!important;
   box-sizing:border-box!important;
 }
 .um-trust-bar>.container.um-trust-inner{
   display:flex!important;
   align-items:center!important;
   justify-content:space-between!important;
   gap:0!important;
   padding-left:0!important;
   padding-right:0!important;
 }
 .um-trust-bar>.container.um-trust-inner>span{
   min-width:0!important;
   flex:1 1 0!important;
   justify-content:center!important;
   box-sizing:border-box!important;
 }
 .um-trust-bar>.container.um-trust-inner>span:last-child{
   flex:0 0 auto!important;
   width:auto!important;
   max-width:none!important;
   margin:0!important;
   padding:8px 16px!important;
   border-radius:999px!important;
   display:inline-flex!important;
   align-items:center!important;
   gap:8px!important;
   background:linear-gradient(135deg,#ed002a,#c90023)!important;
 }
 .um-trust-bar>.container.um-trust-inner>span:last-child>.material-icons{
   display:inline-block!important;
   color:#fff!important;
   font-size:19px!important;
 }
 .um-trust-bar>.container.um-trust-inner>span:last-child>a{
   width:auto!important;
   padding:0!important;
   margin:0!important;
   background:none!important;
   box-shadow:none!important;
 }
 .um-header-v6>.container.um-header-shell{
   padding-left:0!important;
   padding-right:0!important;
 }
 .um-header-v6 .um-header-main{
   width:100%!important;
   max-width:100%!important;
   margin-left:0!important;
   margin-right:0!important;
   box-sizing:border-box!important;
 }
 .um-header-v6 .um-brand-block{flex:0 0 275px!important;max-width:275px!important}
 .um-header-v6 .um-search-slot{flex:1 1 auto!important;min-width:0!important}
 .um-header-v6 .um-account-actions{flex:0 0 auto!important}
}


/* === SOURCE: ulrich-v23-88-header-1440.css === */
/* V23.88: shared desktop header width 1440px, without narrowing search. */
@media(min-width:1200px){
 .um-trust-bar>.container.um-trust-inner,
 .um-header-v6>.container.um-header-shell,
 .um-header-v6 .um-navigation-bar>.container.um-navigation-shell{
   width:calc(100% - 48px)!important;
   max-width:1440px!important;
   margin-left:auto!important;
   margin-right:auto!important;
   box-sizing:border-box!important;
 }
 .um-header-v6 .um-header-main{
   width:100%!important;
   max-width:100%!important;
   box-sizing:border-box!important;
 }
 .um-header-v6 .um-brand-block{
   flex:0 0 310px!important;
   max-width:310px!important;
 }
 .um-header-v6 .um-search-slot{
   flex:1 1 auto!important;
   min-width:0!important;
 }
 .um-header-v6 .um-account-actions{
   flex:0 0 auto!important;
 }
}


/* === SOURCE: ulrich-v23-91-phone-accent.css === */
/* V23.91 — understated premium phone treatment in the trust bar. */
@media(min-width:1200px){
 html body .um-trust-bar>.container.um-trust-inner>span:last-child{
   display:inline-flex!important;
   align-items:center!important;
   justify-content:center!important;
   gap:9px!important;
   width:auto!important;
   max-width:none!important;
   min-width:0!important;
   flex:0 0 auto!important;
   margin:0!important;
   padding:6px 0 6px 17px!important;
   border:0!important;
   border-left:3px solid #f00630!important;
   border-radius:0!important;
   background:transparent!important;
   background-image:none!important;
   box-shadow:none!important;
   transform:none!important;
 }
 html body .um-trust-bar>.container.um-trust-inner>span:last-child:hover{
   background:transparent!important;
   background-image:none!important;
   box-shadow:none!important;
 }
 html body .um-trust-bar>.container.um-trust-inner>span:last-child>.material-icons,
 html body .um-trust-bar>.container.um-trust-inner>span:last-child>i{
   display:inline-block!important;
   flex:0 0 auto!important;
   font-size:19px!important;
   line-height:1!important;
   color:#f00630!important;
 }
 html body .um-trust-bar>.container.um-trust-inner>span:last-child>a{
   display:inline-flex!important;
   align-items:center!important;
   gap:7px!important;
   width:auto!important;
   margin:0!important;
   padding:0!important;
   color:#fff!important;
   border:0!important;
   border-radius:0!important;
   background:transparent!important;
   box-shadow:none!important;
   text-decoration:none!important;
 }
 html body .um-trust-bar>.container.um-trust-inner>span:last-child>a:hover{
   color:#fff!important;
   background:transparent!important;
   box-shadow:none!important;
 }
 html body .um-trust-bar>.container.um-trust-inner>span:last-child>a strong{
   color:#fff!important;
   font-size:15px!important;
   font-weight:800!important;
   letter-spacing:.45px!important;
   white-space:nowrap!important;
 }
 html body .um-trust-bar>.container.um-trust-inner>span:last-child>a .material-icons,
 html body .um-trust-bar>.container.um-trust-inner>span:last-child>a i{
   color:#f00630!important;
   font-size:19px!important;
   line-height:1!important;
 }
}

