/* ==========================================================================
   ITALIA MAGAZZINI — DEFINITIVE MASTER LUXURY STYLESHEET
   100% Native Creative Elements Responsive System
   Inspired by Carillo Biancheria | Made in Italy Home Textile
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. GOOGLE FONTS & DESIGN TOKENS
   -------------------------------------------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Dancing+Script:wght@600;700&family=Inter:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

:root {
  --im-navy: #103556;
  --im-navy-dark: #0A2136;
  --im-accent: #103556;
  --im-accent-hover: #0A2136;
  --im-bg-light: #F8FAFC;
  --im-border: #E2E8F0;
  --im-text-dark: #1E293B;
  --im-text-muted: #64748B;
  --bs-body-font-family: 'Outfit', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

html {
  overflow-y: scroll !important;
  scrollbar-gutter: auto !important;
  scrollbar-width: thin !important;
  scrollbar-color: #cbd5e1 transparent !important;
}

::-webkit-scrollbar {
  width: 7px !important;
  height: 7px !important;
}

::-webkit-scrollbar-track {
  background: transparent !important;
}

::-webkit-scrollbar-thumb {
  background-color: #cbd5e1 !important;
  border-radius: 9999px !important;
  border: 1px solid transparent !important;
  background-clip: content-box !important;
}

::-webkit-scrollbar-thumb:hover {
  background-color: #94a3b8 !important;
}

html, body {
  overflow-x: clip !important;
  max-width: 100% !important;
  width: 100% !important;
}
#wrapper, main {
  overflow-x: clip !important;
  max-width: 100% !important;
  width: 100% !important;
}
.swiper-container, .swiper {
  overflow: hidden !important;
}

body, input, button, select, textarea, p, span, a, label, li {
  font-family: 'Outfit', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

h1, h2, h3, h4, h5, h6, .im-title {
  font-family: 'Outfit', sans-serif !important;
}

.im-script, .im-dancing-script {
  font-family: 'Dancing Script', cursive !important;
}

/* --------------------------------------------------------------------------
   2. PRESTASHOP LAYOUT & HEADER RESETS
   -------------------------------------------------------------------------- */
#header,
#header.header,
#header.header.js-sticky-header {
  position: static !important;
  top: auto !important;
  width: 100% !important;
  background-color: #FFFFFF !important;
  z-index: 999 !important;
  box-shadow: none !important;
}

/* Hide breadcrumb completely on Homepage */
body#index .breadcrumb,
body#index .breadcrumb-wrapper,
body#index #wrapper .breadcrumb,
body#index #wrapper > .breadcrumb-wrapper {
  display: none !important;
}

/* Interior Pages Breadcrumbs */
.breadcrumb {
  background-color: transparent !important;
  padding: 12px 0 !important;
  margin-bottom: 0 !important;
  font-size: 13px !important;
}
.breadcrumb a {
  color: #64748B !important;
  text-decoration: none !important;
}
.breadcrumb a:hover {
  color: #103556 !important;
}
.breadcrumb .breadcrumb-item.active {
  color: #103556 !important;
  font-weight: 600 !important;
}

/* --------------------------------------------------------------------------
   3. RESPONSIVE HEADER VISIBILITY (Zero Duplication)
   -------------------------------------------------------------------------- */
@media (min-width: 992px) {
  .sec_mob_topbar,
  .sec_mob_main,
  .sec_mob_search,
  .elementor-hidden-desktop,
  .elementor-hidden-tablet,
  .elementor-section[data-id="sec_mob_topbar"],
  .elementor-section[data-id="sec_mob_main"],
  .elementor-section[data-id="sec_mob_search"],
  .sec_desk_topbar,
  .elementor-section[data-id="sec_desk_topbar"] {
    display: none !important;
  }
  .sec_desk_main,
  .sec_desk_nav {
    display: block !important;
  }
}

@media (max-width: 991.98px) {
  .sec_desk_topbar,
  .sec_desk_main,
  .sec_desk_nav,
  .elementor-hidden-phone,
  .elementor-hidden-mobile,
  .elementor-section[data-id="sec_desk_topbar"],
  .elementor-section[data-id="sec_desk_main"],
  .elementor-section[data-id="sec_desk_nav"] {
    display: none !important;
  }
  .sec_mob_topbar,
  .sec_mob_main,
  .sec_mob_search {
    display: block !important;
  }
}

/* --------------------------------------------------------------------------
   4. DESKTOP HEADER STYLING (Carillo Biancheria Replica)
   -------------------------------------------------------------------------- */
/* Main Header Row */
.sec_desk_main,
.elementor-section[data-id="sec_desk_main"] {
  background-color: #FFFFFF !important;
  padding: 14px 24px !important;
  border-bottom: 1px solid #F1F5F9 !important;
}
.sec_desk_main > .elementor-container,
.elementor-section[data-id="sec_desk_main"] > .elementor-container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  max-width: 1440px !important;
  width: 100% !important;
  margin: 0 auto !important;
}
.im-brand-logo-desk {
  display: flex !important;
  align-items: center !important;
  text-decoration: none !important;
}
.im-header-logo-img {
  max-height: 52px !important;
  height: 52px !important;
  width: auto !important;
  object-fit: contain !important;
  display: block !important;
}

/* Ajax Search in Header - Smooth Rounded Pill */
.sec_desk_main .elementor-widget-ajax-search,
.elementor-section[data-id="sec_desk_main"] .elementor-widget-ajax-search,
.elementor-element-sec_desk_main .elementor-widget-ajax-search {
  max-width: 520px !important;
  width: 100% !important;
  margin: 0 auto !important;
}
.sec_desk_main .elementor-search,
.elementor-section[data-id="sec_desk_main"] .elementor-search,
.elementor-element-sec_desk_main .elementor-search {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  width: 100% !important;
}
.sec_desk_main .elementor-search__container,
.elementor-section[data-id="sec_desk_main"] .elementor-search__container,
.elementor-element-sec_desk_main .elementor-search__container {
  background-color: #F4F5F7 !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 30px !important;
  display: flex !important;
  flex-direction: row-reverse !important;
  align-items: center !important;
  padding: 0 16px !important;
  height: 42px !important;
  width: 100% !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  transition: all 0.2s ease !important;
}
.sec_desk_main .elementor-search__container:focus-within,
.elementor-section[data-id="sec_desk_main"] .elementor-search__container:focus-within,
.elementor-element-sec_desk_main .elementor-search__container:focus-within {
  background-color: #FFFFFF !important;
  border-color: #103556 !important;
  box-shadow: 0 0 0 3px rgba(16, 53, 86, 0.08) !important;
}
.sec_desk_main .elementor-search__input,
.elementor-section[data-id="sec_desk_main"] .elementor-search__input,
.elementor-element-sec_desk_main .elementor-search__input {
  background: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13.5px !important;
  color: #374151 !important;
  padding: 0 8px !important;
  height: 100% !important;
  width: 100% !important;
}
.sec_desk_main .elementor-search__submit,
.elementor-section[data-id="sec_desk_main"] .elementor-search__submit,
.elementor-element-sec_desk_main .elementor-search__submit {
  background: transparent !important;
  border: none !important;
  color: #9CA3AF !important;
  font-size: 15px !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 100% !important;
  width: 24px !important;
  transition: color 0.15s ease !important;
}
.sec_desk_main .elementor-search__submit:hover,
.elementor-section[data-id="sec_desk_main"] .elementor-search__submit:hover,
.elementor-element-sec_desk_main .elementor-search__submit:hover {
  color: #103556 !important;
}

/* Desktop Sign-In */
.sec_desk_main .elementor-widget-sign-in a,
.elementor-section[data-id="sec_desk_main"] .elementor-widget-sign-in a,
.elementor-element-sec_desk_main .elementor-widget-sign-in a,
.sec_desk_main .elementor-sign-in {
  color: #1E293B !important;
  text-decoration: none !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13.5px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  transition: color 0.15s ease !important;
}
.sec_desk_main .elementor-widget-sign-in a:hover,
.elementor-section[data-id="sec_desk_main"] .elementor-widget-sign-in a:hover,
.elementor-element-sec_desk_main .elementor-widget-sign-in a:hover {
  color: #103556 !important;
}

/* Customer Care Support Link (Headphones 🎧) */
.im-head-support-link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  color: #1E293B !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
}
.im-head-support-link:hover {
  color: #103556 !important;
  background-color: #F1F5F9 !important;
}

/* Desktop Shopping Cart Box (Pill with Badge & Amount) */
.sec_desk_main .elementor-widget-shopping-cart .elementor-button,
.sec_desk_main .elementor-cart__toggle .elementor-button,
.elementor-section[data-id="sec_desk_main"] .elementor-cart__toggle .elementor-button,
.elementor-element-sec_desk_main .elementor-cart__toggle .elementor-button {
  background: #FFFFFF !important;
  border: 1.5px solid #E2E8F0 !important;
  border-radius: 24px !important;
  padding: 6px 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.03) !important;
}
.sec_desk_main .elementor-widget-shopping-cart .elementor-button:hover,
.sec_desk_main .elementor-cart__toggle .elementor-button:hover,
.elementor-section[data-id="sec_desk_main"] .elementor-cart__toggle .elementor-button:hover,
.elementor-element-sec_desk_main .elementor-cart__toggle .elementor-button:hover {
  border-color: #103556 !important;
  box-shadow: 0 3px 8px rgba(16, 53, 86, 0.08) !important;
}
.sec_desk_main .elementor-button-icon[data-counter]::before,
.elementor-section[data-id="sec_desk_main"] .elementor-button-icon[data-counter]::before,
.elementor-element-sec_desk_main .elementor-button-icon[data-counter]::before,
.elementor-cart--items-indicator-bubble .elementor-button-icon[data-counter]::before,
.ce-cart-items-count {
  background-color: #103556 !important;
  color: #FFFFFF !important;
  border: 1px solid #FFFFFF !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 800 !important;
  font-size: 10px !important;
  min-width: 17px !important;
  height: 17px !important;
  line-height: 15px !important;
}
.sec_desk_main .elementor-cart__subtotal,
.sec_desk_main .elementor-button-text,
.elementor-section[data-id="sec_desk_main"] .elementor-button-text,
.elementor-element-sec_desk_main .elementor-button-text {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #103556 !important;
}

/* --------------------------------------------------------------------------
   4b. DESKTOP NAVIGATION MENU (Carillo Pill Menu - 15 Items in Single Line)
   -------------------------------------------------------------------------- */
.sec_desk_nav,
.elementor-section[data-id="sec_desk_nav"],
.elementor-element-sec_desk_nav {
  background-color: #FFFFFF !important;
  border-top: 1px solid #F1F5F9 !important;
  border-bottom: 1px solid #ECECEC !important;
  padding: 4px 0 !important;
  position: relative !important;
  z-index: 1015 !important;
}
.sec_desk_nav .elementor-container,
.sec_desk_nav .elementor-row,
.elementor-section[data-id="sec_desk_nav"] .elementor-container,
.elementor-section[data-id="sec_desk_nav"] .elementor-row,
.elementor-element-sec_desk_nav .elementor-container,
.elementor-element-sec_desk_nav .elementor-row {
  max-width: 1440px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 8px !important;
  position: static !important;
  overflow: visible !important;
}
.sec_desk_nav .elementor-column,
.sec_desk_nav .elementor-widget-wrap,
.sec_desk_nav .elementor-widget-container,
.sec_desk_nav .elementor-nav-menu,
.elementor-section[data-id="sec_desk_nav"] .elementor-column,
.elementor-section[data-id="sec_desk_nav"] .elementor-widget-wrap,
.elementor-section[data-id="sec_desk_nav"] .elementor-widget-container,
.elementor-section[data-id="sec_desk_nav"] .elementor-nav-menu,
.elementor-element-sec_desk_nav .elementor-column,
.elementor-element-sec_desk_nav .elementor-widget-wrap,
.elementor-element-sec_desk_nav .elementor-widget-container,
.elementor-element-sec_desk_nav .elementor-nav-menu {
  position: static !important;
  width: 100% !important;
  overflow: visible !important;
}
.sec_desk_nav ul.elementor-nav,
.elementor-section[data-id="sec_desk_nav"] ul.elementor-nav,
.elementor-element-sec_desk_nav ul.elementor-nav {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  margin: 0 auto !important;
  padding: 0 !important;
  gap: 0 !important;
  list-style: none !important;
  max-width: 1440px !important;
  width: 100% !important;
  position: static !important;
}
.sec_desk_nav ul.elementor-nav > li.menu-item,
.elementor-section[data-id="sec_desk_nav"] ul.elementor-nav > li.menu-item,
.elementor-element-sec_desk_nav ul.elementor-nav > li.menu-item {
  position: static !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
}
.sec_desk_nav a.elementor-item,
.elementor-section[data-id="sec_desk_nav"] a.elementor-item,
.elementor-element-sec_desk_nav a.elementor-item {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #222222 !important;
  text-transform: none !important;
  letter-spacing: -0.15px !important;
  padding: 5px 8px !important;
  border-radius: 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  transition: background-color 0.15s ease, color 0.15s ease !important;
  text-decoration: none !important;
  border-bottom: none !important;
  white-space: nowrap !important;
}
/* Hide elementor default pointer lines */
.sec_desk_nav .e--pointer-underline a.elementor-item:before,
.sec_desk_nav .e--pointer-underline a.elementor-item:after,
.elementor-section[data-id="sec_desk_nav"] .e--pointer-underline a.elementor-item:before,
.elementor-section[data-id="sec_desk_nav"] .e--pointer-underline a.elementor-item:after,
.elementor-element-sec_desk_nav .e--pointer-underline a.elementor-item:before,
.elementor-element-sec_desk_nav .e--pointer-underline a.elementor-item:after {
  display: none !important;
  content: none !important;
}
/* Hide dropdown carets (like Carillo reference image) */
.sec_desk_nav .sub-arrow,
.elementor-section[data-id="sec_desk_nav"] .sub-arrow,
.elementor-element-sec_desk_nav .sub-arrow {
  display: none !important;
}
/* Pill Hover State */
.sec_desk_nav a.elementor-item:hover,
.sec_desk_nav li.menu-item:hover > a.elementor-item,
.sec_desk_nav li.menu-item.im-hovered > a.elementor-item,
.elementor-section[data-id="sec_desk_nav"] a.elementor-item:hover,
.elementor-section[data-id="sec_desk_nav"] li.menu-item:hover > a.elementor-item,
.elementor-section[data-id="sec_desk_nav"] li.menu-item.im-hovered > a.elementor-item,
.elementor-element-sec_desk_nav a.elementor-item:hover,
.elementor-element-sec_desk_nav li.menu-item:hover > a.elementor-item,
.elementor-element-sec_desk_nav li.menu-item.im-hovered > a.elementor-item {
  background-color: #EFEFEF !important;
  color: #103556 !important;
  border-radius: 16px !important;
}
/* Ultimi Arrivi Badge */
.elementor-element-sec_desk_nav .menu-item-category-95 > a.elementor-item::after,
.elementor-section[data-id="sec_desk_nav"] .menu-item-category-95 > a.elementor-item::after,
.sec_desk_nav .menu-item-category-95 > a.elementor-item::after,
[data-id="sec_desk_nav"] .menu-item-category-95 > a.elementor-item::after,
.im-menu-badge-new {
  content: 'NEW' !important;
  display: inline-block !important;
  background: #0284C7 !important;
  color: #FFFFFF !important;
  font-size: 8.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.5px !important;
  padding: 1px 5px !important;
  border-radius: 10px !important;
  margin-left: 4px !important;
  line-height: 1.3 !important;
  vertical-align: middle !important;
}
/* Outlet Badge - Reference Style */
.elementor-element-sec_desk_nav .menu-item-category-63 > a.elementor-item::after,
.elementor-section[data-id="sec_desk_nav"] .menu-item-category-63 > a.elementor-item::after,
.sec_desk_nav .menu-item-category-63 > a.elementor-item::after,
[data-id="sec_desk_nav"] .menu-item-category-63 > a.elementor-item::after,
.im-menu-badge-outlet {
  content: '-70%' !important;
  display: inline-block !important;
  background: #103556 !important;
  color: #FFFFFF !important;
  font-size: 8.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.5px !important;
  padding: 1px 5px !important;
  border-radius: 10px !important;
  margin-left: 4px !important;
  line-height: 1.3 !important;
  vertical-align: middle !important;
}

/* --------------------------------------------------------------------------
   4c. CARILLO 4-COLUMN STRUCTURED MEGAMENU
   -------------------------------------------------------------------------- */
.sec_desk_nav ul.sub-menu.elementor-nav--dropdown,
.elementor-section[data-id="sec_desk_nav"] ul.sub-menu.elementor-nav--dropdown,
.elementor-element-sec_desk_nav ul.sub-menu.elementor-nav--dropdown {
  position: absolute !important;
  top: 100% !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 100% !important;
  max-width: 1400px !important;
  background: #FFFFFF !important;
  border-top: 3px solid #103556 !important;
  border-bottom: 1px solid #E2E8F0 !important;
  border-left: 1px solid #E2E8F0 !important;
  border-right: 1px solid #E2E8F0 !important;
  box-shadow: 0 20px 45px rgba(16, 53, 86, 0.12) !important;
  border-radius: 0 0 12px 12px !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  z-index: 1030 !important;
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 0.18s ease, visibility 0.18s ease !important;
}

/* Invisible hover bridge to eliminate gap flickers */
.elementor-element-sec_desk_nav ul.sub-menu.elementor-nav--dropdown::before,
.sec_desk_nav ul.sub-menu.elementor-nav--dropdown::before {
  content: '' !important;
  position: absolute !important;
  top: -14px !important;
  left: 0 !important;
  right: 0 !important;
  height: 14px !important;
  background: transparent !important;
}

.sec_desk_nav li.menu-item-has-children:hover > ul.sub-menu.elementor-nav--dropdown,
.sec_desk_nav li.menu-item-has-children.im-hovered > ul.sub-menu.elementor-nav--dropdown,
.elementor-section[data-id="sec_desk_nav"] li.menu-item-has-children:hover > ul.sub-menu.elementor-nav--dropdown,
.elementor-section[data-id="sec_desk_nav"] li.menu-item-has-children.im-hovered > ul.sub-menu.elementor-nav--dropdown,
.elementor-element-sec_desk_nav li.menu-item-has-children:hover > ul.sub-menu.elementor-nav--dropdown,
.elementor-element-sec_desk_nav li.menu-item-has-children.im-hovered > ul.sub-menu.elementor-nav--dropdown,
.elementor-element-sec_desk_nav li.menu-item-has-children:focus-within > ul.sub-menu.elementor-nav--dropdown {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Structured Megamenu Inside */
.im-mm-structured-wrap {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr 1.25fr !important;
  gap: 32px !important;
  padding: 28px 36px 20px !important;
  box-sizing: border-box !important;
}
.im-mm-col {
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
}
.im-mm-col-title {
  position: static !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
  border-bottom: none !important;
  line-height: 1.3 !important;
}
.im-mm-sublinks,
ul.im-mm-sublinks {
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
}
.im-mm-sublinks li,
ul.im-mm-sublinks > li {
  position: static !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  border: none !important;
  background: transparent !important;
}
.im-mm-sublinks a {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #475569 !important;
  text-decoration: none !important;
  padding: 2px 0 !important;
  margin: 0 !important;
  line-height: 1.4 !important;
  display: inline-block !important;
  transition: color 0.15s ease, transform 0.15s ease !important;
}
.im-mm-sublinks a:hover {
  color: #103556 !important;
  font-weight: 600 !important;
  transform: translateX(4px) !important;
}
.im-mm-promo-card {
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 10px !important;
  padding: 20px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  box-sizing: border-box !important;
  height: 100% !important;
}
.im-mm-promo-badge {
  display: inline-block !important;
  background: #103556 !important;
  color: #FFFFFF !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  padding: 3px 10px !important;
  border-radius: 12px !important;
  margin-bottom: 10px !important;
}
.im-mm-promo-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  margin-bottom: 6px !important;
  line-height: 1.25 !important;
}
.im-mm-promo-desc {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  color: #64748B !important;
  line-height: 1.5 !important;
  margin-bottom: 14px !important;
}
.im-mm-promo-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: #103556 !important;
  color: #FFFFFF !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 8px 16px !important;
  border-radius: 20px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  margin-top: auto !important;
}
.im-mm-promo-btn:hover {
  background: #0A2136 !important;
  color: #FFFFFF !important;
  transform: translateY(-1px) !important;
}
.im-mm-bottom-bar {
  grid-column: 1 / -1 !important;
  border-top: 1px solid #EDF2F7 !important;
  margin-top: 16px !important;
  padding-top: 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
.im-mm-usps {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #64748B !important;
}
.im-mm-view-all-cta {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
}
.im-mm-view-all-cta:hover {
  color: #0A2136 !important;
  transform: translateX(2px) !important;
}

/* --------------------------------------------------------------------------
   5. MOBILE HEADER STYLING (Strict 1-Row Compact Bar)
   -------------------------------------------------------------------------- */
.sec_mob_topbar,
.elementor-section[data-id="sec_mob_topbar"] {
  background-color: #0F172A !important;
  color: #FFFFFF !important;
  font-size: 11px !important;
  padding: 6px 10px !important;
  text-align: center !important;
}
.im-mob-topbar a {
  color: #FFFFFF !important;
  text-decoration: underline !important;
  font-weight: 700 !important;
}

@media (max-width: 991.98px) {
  .elementor-element-sec_mob_main > .elementor-container,
  .elementor-section[data-id="sec_mob_main"] > .elementor-container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    padding: 6px 10px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  .elementor-element-sec_mob_main .elementor-row,
  .elementor-section[data-id="sec_mob_main"] .elementor-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  .elementor-element-sec_mob_main .elementor-column[data-id="col_mob_burger"],
  .elementor-section[data-id="sec_mob_main"] .elementor-column[data-id="col_mob_burger"],
  .elementor-element-col_mob_burger {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    flex: 0 0 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }

  .elementor-element-sec_mob_main .elementor-column[data-id="col_mob_logo"],
  .elementor-section[data-id="sec_mob_main"] .elementor-column[data-id="col_mob_logo"],
  .elementor-element-col_mob_logo {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    overflow: hidden !important;
  }

  .elementor-element-sec_mob_main .elementor-column[data-id="col_mob_signin"],
  .elementor-section[data-id="sec_mob_main"] .elementor-column[data-id="col_mob_signin"],
  .elementor-element-col_mob_signin {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    flex: 0 0 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .elementor-element-sec_mob_main .elementor-column[data-id="col_mob_cart"],
  .elementor-section[data-id="sec_mob_main"] .elementor-column[data-id="col_mob_cart"],
  .elementor-element-col_mob_cart {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    flex: 0 0 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
  }

  .im-brand-logo-mob {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .im-mob-logo-img {
    max-height: 28px !important;
    max-width: 170px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
  }

  /* Clean mobile hamburger toggle */
  .elementor-element-col_mob_burger .elementor-menu-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 6px !important;
    background: #F8FAFC !important;
    border: 1px solid #E2E8F0 !important;
    color: #103556 !important;
    font-size: 18px !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
  }
  .elementor-element-col_mob_burger .elementor-nav--main {
    display: none !important;
  }

  /* Clean mobile icons: hide Accedi text, style icons */
  #usermenu-w_mob_signin span,
  .elementor-element-w_mob_signin span,
  .elementor-widget-sign-in a span {
    display: none !important;
  }
  .elementor-element-w_mob_signin a,
  .elementor-widget-sign-in a i,
  .elementor-widget-sign-in a svg {
    font-size: 19px !important;
    color: #0F172A !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
  }
  .elementor-element-col_mob_cart .elementor-button,
  .elementor-element-w_mob_cart .elementor-cart__toggle .elementor-button {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    color: #0F172A !important;
    min-width: auto !important;
    width: 36px !important;
    height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .elementor-element-w_mob_cart .elementor-cart__toggle .elementor-button i,
  .elementor-element-w_mob_cart .elementor-cart__toggle .elementor-button svg {
    font-size: 20px !important;
    color: #0F172A !important;
  }
  .elementor-element-w_mob_cart .elementor-cart__toggle .elementor-button-icon {
    display: inline-flex !important;
    align-items: center !important;
    position: relative !important;
  }
  .elementor-element-w_mob_cart .elementor-button-text,
  .elementor-element-w_mob_cart .elementor-cart__subtotal {
    display: none !important;
  }

  /* Mobile menu drawer breakout & styling */
  .elementor-element-sec_mob_main,
  .elementor-section[data-id="sec_mob_main"] {
    position: relative !important;
    overflow: visible !important;
  }
  .elementor-element-sec_mob_main > .elementor-container,
  .elementor-section[data-id="sec_mob_main"] > .elementor-container,
  .elementor-element-sec_mob_main .elementor-row,
  .elementor-section[data-id="sec_mob_main"] .elementor-row,
  .elementor-element-col_mob_burger,
  .elementor-element-col_mob_burger .elementor-column-wrap,
  .elementor-element-col_mob_burger .elementor-widget-wrap,
  .elementor-element-col_mob_burger .elementor-widget-container {
    position: static !important;
    overflow: visible !important;
  }

  .elementor-element-col_mob_burger nav.elementor-nav--dropdown,
  .elementor-element-w_mob_nav_menu nav.elementor-nav--dropdown {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-height: calc(100vh - 110px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    background: #FFFFFF !important;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.22) !important;
    border-top: 1px solid #E2E8F0 !important;
    border-bottom: 2px solid #103556 !important;
    z-index: 1030 !important;
    padding: 6px 0 30px 0 !important;
    margin: 0 !important;
  }

  .elementor-element-col_mob_burger nav.elementor-nav--dropdown ul.elementor-nav {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }
  .elementor-element-col_mob_burger nav.elementor-nav--dropdown ul.elementor-nav > li {
    display: block !important;
    width: 100% !important;
    border-bottom: 1px solid #F1F5F9 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
  }
  .elementor-element-col_mob_burger nav.elementor-nav--dropdown ul.elementor-nav > li > a.elementor-item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 13px 20px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #103556 !important;
    text-decoration: none !important;
    line-height: 1.3 !important;
    background: transparent !important;
    border: none !important;
  }
  .elementor-element-col_mob_burger nav.elementor-nav--dropdown ul.elementor-nav > li > a.elementor-item:active {
    background-color: #F8FAFC !important;
  }
  .elementor-element-col_mob_burger nav.elementor-nav--dropdown ul.elementor-nav > li .sub-arrow {
    font-size: 12px !important;
    color: #94A3B8 !important;
    padding: 4px 8px !important;
  }
  .elementor-element-col_mob_burger nav.elementor-nav--dropdown ul.sub-menu {
    position: static !important;
    width: 100% !important;
    background: #F8FAFC !important;
    border-top: 1px solid #F1F5F9 !important;
    border-bottom: none !important;
    box-shadow: none !important;
    padding: 4px 0 8px 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }
  .elementor-element-col_mob_burger nav.elementor-nav--dropdown ul.sub-menu > li {
    display: block !important;
    width: 100% !important;
    border-bottom: 1px solid rgba(226, 232, 240, 0.6) !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
  }
  .elementor-element-col_mob_burger nav.elementor-nav--dropdown ul.sub-menu > li:last-child {
    border-bottom: none !important;
  }
  .elementor-element-col_mob_burger nav.elementor-nav--dropdown ul.sub-menu > li > a.elementor-sub-item {
    display: block !important;
    padding: 10px 20px 10px 32px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #475569 !important;
    text-decoration: none !important;
    background: transparent !important;
    border: none !important;
  }
  .elementor-element-col_mob_burger nav.elementor-nav--dropdown ul.sub-menu > li > a.elementor-sub-item:active {
    color: #103556 !important;
    background-color: #EEF2F6 !important;
  }

  .sec_mob_search,
  .elementor-section[data-id="sec_mob_search"],
  .elementor-element-sec_mob_search {
    padding: 6px 14px 10px 14px !important;
    border-bottom: 1px solid #E2E8F0 !important;
  }
  .sec_mob_search input,
  .elementor-section[data-id="sec_mob_search"] input,
  .elementor-element-sec_mob_search input {
    border-radius: 9999px !important;
    border: 1px solid #CBD5E1 !important;
    padding: 8px 16px !important;
    font-size: 13px !important;
    background-color: #F8FAFC !important;
    width: 100% !important;
  }
}

/* --------------------------------------------------------------------------
   6. HERO SLIDER (Full-Bleed Luxury Layout like Reference Design)
   -------------------------------------------------------------------------- */
/* Full width page breakout for Hero */
.page-index #wrapper .columns-container {
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
.page-index #wrapper #center-column {
  padding: 0 !important;
}

/* Contain all standard content sections to max-width 1320px */
.elementor-section[data-id="sec_home_trust"] > .elementor-container,
.elementor-section[data-id="sec_home_cat_head"] > .elementor-container,
.elementor-section[data-id="sec_home_cat_grid"] > .elementor-container,
.elementor-section[data-id="sec_home_prod_head"] > .elementor-container,
.elementor-section[data-id="sec_home_prod_grid"] > .elementor-container,
.elementor-section[data-id="sec_home_carousel_head"] > .elementor-container,
.elementor-section[data-id="sec_home_carousel"] > .elementor-container,
.elementor-section[data-id="sec_ft_newsletter"] > .elementor-container,
.elementor-section[data-id="sec_ft_links"] > .elementor-container,
.elementor-section[data-id="sec_ft_sub"] > .elementor-container {
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}

.elementor-section[data-id="sec_home_hero"],
.elementor-element-sec_home_hero {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}
.elementor-section[data-id="sec_home_hero"] > .elementor-container,
.elementor-element-sec_home_hero > .elementor-container {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
.elementor-section[data-id="sec_home_hero"] .elementor-column-wrap,
.elementor-section[data-id="sec_home_hero"] .elementor-widget-wrap,
.elementor-section[data-id="sec_home_hero"] .elementor-widget-image-slider,
.elementor-section[data-id="sec_home_hero"] .carousel,
.elementor-section[data-id="sec_home_hero"] .carousel-inner,
.elementor-section[data-id="sec_home_hero"] .carousel-item {
  border-radius: 0 !important;
  overflow: hidden !important;
}

.elementor-widget-image-slider .carousel-item {
  position: relative !important;
}
.elementor-widget-image-slider .carousel-item img,
.elementor-widget-image-slider img,
.ps-imageslider img,
#ps_imageslider img {
  width: 100% !important;
  object-fit: cover !important;
  border-radius: 0 !important;
}
@media (min-width: 768px) {
  .elementor-widget-image-slider .carousel-item img {
    height: 540px !important;
  }
}
@media (max-width: 767.98px) {
  .elementor-widget-image-slider .carousel-item img {
    height: 360px !important;
  }
}

/* Gradient overlay on the LEFT side (like media_1790499468415.jpg) */
.elementor-widget-image-slider .carousel-item::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(90deg, rgba(16, 53, 86, 0.88) 0%, rgba(16, 53, 86, 0.55) 45%, rgba(16, 53, 86, 0) 80%) !important;
  pointer-events: none !important;
}
@media (max-width: 767.98px) {
  .elementor-widget-image-slider .carousel-item::after {
    background: linear-gradient(180deg, rgba(16, 53, 86, 0.4) 0%, rgba(16, 53, 86, 0.85) 100%) !important;
  }
}

/* Caption: Left-Aligned like Reference Image */
.elementor-widget-image-slider .ps-imageslider__figcaption.carousel-caption,
.elementor-widget-image-slider .carousel-caption {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: none !important;
  box-shadow: none !important;
  top: 50% !important;
  bottom: auto !important;
  left: 7% !important;
  right: auto !important;
  transform: translateY(-50%) !important;
  text-align: left !important;
  max-width: 580px !important;
  margin: 0 !important;
  padding: 0 15px !important;
  z-index: 10 !important;
}
@media (max-width: 767.98px) {
  .elementor-widget-image-slider .ps-imageslider__figcaption.carousel-caption,
  .elementor-widget-image-slider .carousel-caption {
    left: 5% !important;
    right: 5% !important;
    max-width: 100% !important;
    text-align: center !important;
    padding: 0 10px !important;
  }
}

/* Hide default raw slide title */
.elementor-widget-image-slider .ps-imageslider__figcaption > h2.h1,
.elementor-widget-image-slider .carousel-caption > h2.h1 {
  display: none !important;
}

.elementor-widget-image-slider .carousel-caption h2 {
  font-family: 'Outfit', sans-serif !important;
  font-size: 40px !important;
  font-weight: 800 !important;
  color: #FFFFFF !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.5) !important;
  margin-bottom: 12px !important;
  line-height: 1.15 !important;
  text-align: left !important;
}
@media (max-width: 767.98px) {
  .elementor-widget-image-slider .carousel-caption h2 {
    font-size: 23px !important;
    text-align: center !important;
  }
}

.elementor-widget-image-slider .carousel-caption p {
  font-family: 'Inter', sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #F1F5F9 !important;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.5) !important;
  max-width: 480px !important;
  margin: 0 0 24px 0 !important;
  line-height: 1.6 !important;
  text-align: left !important;
}
@media (max-width: 767.98px) {
  .elementor-widget-image-slider .carousel-caption p {
    font-size: 13px !important;
    text-align: center !important;
    margin: 0 auto 16px auto !important;
  }
}

.im-slider-pill-badge {
  display: inline-block !important;
  background: linear-gradient(135deg, #103556 0%, #1E3A8A 100%) !important;
  color: #FFFFFF !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 6px 18px !important;
  border-radius: 9999px !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  margin-bottom: 14px !important;
  box-shadow: 0 4px 14px rgba(16, 53, 86, 0.25) !important;
}

.elementor-widget-image-slider .carousel-caption .elementor-button,
.elementor-widget-image-slider .carousel-caption .btn-primary {
  background: linear-gradient(135deg, #103556 0%, #1E3A8A 100%) !important;
  color: #FFFFFF !important;
  border: none !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  padding: 13px 32px !important;
  border-radius: 9999px !important;
  box-shadow: 0 6px 20px rgba(16, 53, 86, 0.35) !important;
  transition: all 0.25s ease !important;
  text-decoration: none !important;
  display: inline-block !important;
}
.elementor-widget-image-slider .carousel-caption .elementor-button:hover,
.elementor-widget-image-slider .carousel-caption .btn-primary:hover {
  background: linear-gradient(135deg, #1E3A8A 0%, #0F2844 100%) !important;
  box-shadow: 0 8px 24px rgba(16, 53, 86, 0.45) !important;
  transform: translateY(-2px) !important;
  color: #FFFFFF !important;
}

/* Frosted Glass Watermark Badge on Hero Slide (like media_1790606811979.jpg) */
.im-slider-watermark {
  position: absolute !important;
  bottom: 45px !important;
  left: 51% !important;
  transform: translateX(-50%) !important;
  background: rgba(255, 255, 255, 0.4) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.8) !important;
  border-radius: 6px !important;
  padding: 8px 36px !important;
  font-family: 'Playfair Display', cursive, serif !important;
  font-style: italic !important;
  font-size: 32px !important;
  color: #103556 !important;
  letter-spacing: 0.5px !important;
  white-space: nowrap !important;
  pointer-events: none !important;
  z-index: 9 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
}
.carousel-caption .im-slider-watermark {
  left: 480px !important;
  bottom: -45px !important;
  transform: none !important;
}
.carousel-item > .im-slider-watermark {
  bottom: 45px !important;
  left: 49% !important;
  transform: translateX(-50%) !important;
}
@media (max-width: 1199.98px) {
  .im-slider-watermark {
    display: none !important;
  }
}

/* Slider Pagination Indicators */
.elementor-widget-image-slider .carousel-indicators {
  bottom: 12px !important;
  margin-bottom: 0 !important;
  gap: 8px !important;
  z-index: 10 !important;
}
.elementor-widget-image-slider .carousel-indicators button,
.elementor-widget-image-slider .carousel-indicators li {
  width: 26px !important;
  height: 4.5px !important;
  border-radius: 9999px !important;
  background-color: rgba(255, 255, 255, 0.45) !important;
  border: none !important;
  opacity: 1 !important;
  transition: all 0.3s ease !important;
}
.elementor-widget-image-slider .carousel-indicators button.active,
.elementor-widget-image-slider .carousel-indicators li.active {
  background-color: #103556 !important;
  width: 36px !important;
}

/* --------------------------------------------------------------------------
   7. REASSURANCE TRUST BAR (Clean Compact Strip)
   -------------------------------------------------------------------------- */
.sec_home_trust,
.elementor-section[data-id="sec_home_trust"] {
  background-color: #F8FAFC !important;
  border-top: 1px solid #E2E8F0 !important;
  border-bottom: 1px solid #E2E8F0 !important;
  padding: 18px 0 !important;
}
.im-trust-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  gap: 16px !important;
}
.im-trust-card {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex: 1 !important;
}
.im-trust-icon-box {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  border-radius: 50% !important;
  background-color: #103556 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 10px rgba(16, 53, 86, 0.15) !important;
}
.im-trust-icon-box svg {
  stroke: #FFFFFF !important;
  width: 20px !important;
  height: 20px !important;
}
.im-trust-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #0F172A !important;
  margin: 0 0 2px 0 !important;
}
.im-trust-desc {
  font-family: 'Inter', sans-serif !important;
  font-size: 11.5px !important;
  color: #64748B !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}
@media (max-width: 767.98px) {
  .im-trust-bar {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px 10px !important;
    padding: 0 10px !important;
  }
  .im-trust-card {
    flex-direction: column !important;
    text-align: center !important;
    gap: 6px !important;
  }
}

/* --------------------------------------------------------------------------
   8. HEADINGS & CATEGORY CIRCLES (Refined Reference Style)
   -------------------------------------------------------------------------- */
.im-section-header-wrap {
  text-align: center !important;
  margin: 44px 0 24px 0 !important;
  padding: 0 15px !important;
}
.im-section-script-subtitle {
  font-family: 'Playfair Display', serif !important;
  font-style: italic !important;
  font-size: 21px !important;
  font-weight: 500 !important;
  color: #1E3A8A !important;
  display: block !important;
  line-height: 1.2 !important;
  margin-bottom: 4px !important;
  letter-spacing: 0.5px !important;
}
.im-section-main-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  letter-spacing: 1.5px !important;
  color: #0F172A !important;
  text-transform: uppercase !important;
  margin: 0 0 8px 0 !important;
  line-height: 1.2 !important;
}
.im-section-title-line {
  width: 40px !important;
  height: 2.5px !important;
  background-color: #103556 !important;
  margin: 0 auto 10px auto !important;
  border-radius: 2px !important;
}
.im-section-desc {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  color: #64748B !important;
  max-width: 580px !important;
  margin: 0 auto !important;
  line-height: 1.5 !important;
}
@media (max-width: 767.98px) {
  .im-section-header-wrap {
    margin: 32px 0 16px 0 !important;
  }
  .im-section-script-subtitle {
    font-size: 18px !important;
  }
  .im-section-main-title {
    font-size: 18px !important;
    letter-spacing: 1px !important;
  }
  .im-section-desc {
    font-size: 12px !important;
  }
}

/* Fallback for standard h2 in sections */
.sec_prod_related_head h2,
.elementor-section[data-id="sec_prod_related_head"] h2 {
  font-family: 'Playfair Display', serif !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #0F172A !important;
  text-align: center !important;
  margin: 40px 0 24px 0 !important;
}

.elementor-section[data-id="sec_home_cat_grid"] .elementor-image-box-img img {
  border-radius: 50% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border: 3px solid #E2E8F0 !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 4px 14px rgba(16, 53, 86, 0.08) !important;
  margin: 0 auto !important;
  display: block !important;
  width: 120px !important;
  height: 120px !important;
}
.elementor-section[data-id="sec_home_cat_grid"] .elementor-image-box-wrapper:hover .elementor-image-box-img img {
  transform: scale(1.06) !important;
  border-color: #103556 !important;
  box-shadow: 0 8px 24px rgba(16, 53, 86, 0.2) !important;
}
.elementor-section[data-id="sec_home_cat_grid"] .elementor-image-box-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  margin-top: 10px !important;
  text-align: center !important;
}
.elementor-section[data-id="sec_home_cat_grid"] .elementor-image-box-description {
  display: none !important;
}

/* Category Circles Mobile 3x2 Grid */
@media (max-width: 767.98px) {
  .elementor-section[data-id="sec_home_cat_grid"] > .elementor-container,
  .elementor-section[data-id="sec_home_cat_grid"] .elementor-row {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 16px 8px !important;
    padding: 0 8px !important;
  }
  .elementor-section[data-id="sec_home_cat_grid"] .elementor-column {
    width: 29% !important;
    flex: 0 0 29% !important;
    max-width: 29% !important;
  }
  .elementor-section[data-id="sec_home_cat_grid"] .elementor-image-box-img img {
    width: 82px !important;
    height: 82px !important;
    border-width: 2px !important;
  }
  .elementor-section[data-id="sec_home_cat_grid"] .elementor-image-box-title {
    font-size: 12px !important;
    margin-top: 6px !important;
  }
}

/* --------------------------------------------------------------------------
   9. PRODUCT GRID & MINIATURE CARDS (Clean Luxury Layout)
   -------------------------------------------------------------------------- */

/* Fix #1: Override Hummingbird .layout-full-width .products (display:grid;1fr) */
.layout-full-width .elementor-widget-product-grid.products,
.layout-full-width .elementor-widget-product-carousel.products,
body.layout-full-width .elementor-element.elementor-widget-product-grid,
body.layout-full-width .elementor-element.elementor-widget-product-carousel {
  display: block !important;
  grid-template-columns: none !important;
  width: 100% !important;
}

/* Fix #2: Reset double-nesting on widget wrapper */
.elementor-widget-product-grid,
.elementor-widget-product-carousel {
  display: block !important;
  width: 100% !important;
}
.elementor-widget-product-grid > .elementor-widget-container,
.elementor-widget-product-carousel > .elementor-widget-container {
  display: block !important;
  width: 100% !important;
}

/* Fix #3: 4-column grid on the actual inner .elementor-grid */
.elementor-widget-product-grid .ce-product-grid.elementor-grid,
.elementor-widget-product-grid .elementor-grid,
.elementor-section[data-id="sec_home_prod_grid"] .ce-product-grid,
[data-id="w_native_prod_grid"] .ce-product-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Fix #4: Tablet 2-col */
@media (max-width: 1024px) {
  .elementor-widget-product-grid .ce-product-grid.elementor-grid,
  .elementor-widget-product-grid .elementor-grid,
  .elementor-section[data-id="sec_home_prod_grid"] .ce-product-grid,
  [data-id="w_native_prod_grid"] .ce-product-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
  }
}

/* Fix #5: Mobile 2-col */
@media (max-width: 575.98px) {
  .elementor-widget-product-grid .ce-product-grid.elementor-grid,
  .elementor-widget-product-grid .elementor-grid,
  [data-id="w_native_prod_grid"] .ce-product-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
}

/* ==========================================================================
   PRODUCT MINIATURE CARD: DEFINITIVE MASTER LUXURY
   ========================================================================== */
.product-miniature {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-width: 0 !important;
  width: 100% !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-sizing: border-box !important;
}

.product-miniature__inner {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  height: 100% !important;
  padding: 14px !important;
  background: #FFFFFF !important;
  border: 1px solid #EEF2F6 !important;
  border-radius: 16px !important;
  box-sizing: border-box !important;
  box-shadow: 0 2px 10px rgba(16, 53, 86, 0.03) !important;
  transition: border-color 0.25s ease, box-shadow 0.25s ease !important;
  transform: none !important;
}

.product-miniature:hover .product-miniature__inner,
.product-miniature:active .product-miniature__inner,
.product-miniature:focus-within .product-miniature__inner {
  border-color: #CBD5E1 !important;
  box-shadow: 0 12px 30px rgba(16, 53, 86, 0.10) !important;
  transform: none !important;
}

/* Product Top & Image */
.product-miniature__top {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 12px !important;
  background: #F8FAFC !important;
  margin-bottom: 12px !important;
}

.product-miniature__image {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: 12px !important;
  transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
  display: block !important;
}

@media (min-width: 992px) and (hover: hover) {
  .product-miniature:hover .product-miniature__image {
    transform: scale(1.03) !important;
  }
}
@media (max-width: 991.98px) {
  .product-miniature:hover .product-miniature__image,
  .product-miniature:active .product-miniature__image {
    transform: none !important;
  }
}

/* Product Flags / Badges */
.product-flags {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  z-index: 3 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  pointer-events: none !important;
}

.product-flags .badge {
  font-family: 'Outfit', sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  border-radius: 6px !important;
  padding: 4px 8px !important;
  line-height: 1.2 !important;
  border: none !important;
}

.product-flags .badge.discount {
  background: #EF4444 !important;
  color: #FFFFFF !important;
  box-shadow: 0 2px 8px rgba(239, 68, 68, 0.3) !important;
}

.product-flags .badge.new,
.product-flags .badge.on-sale {
  background: #103556 !important;
  color: #FFFFFF !important;
  box-shadow: 0 2px 8px rgba(16, 53, 86, 0.2) !important;
}

/* Product Details / Typography */
.product-miniature__bottom {
  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1 !important;
  padding: 0 !important;
}

.product-miniature__infos {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  margin-bottom: 12px !important;
}

.product-miniature__title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  letter-spacing: -0.2px !important;
  color: #103556 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: 40px !important;
  transition: color 0.2s ease !important;
}

.product-miniature__title:hover {
  color: #103556 !important;
  text-decoration: none !important;
}

/* Color Swatches */
.product-miniature__variants {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 2px 0 4px 0 !important;
}

.product-miniature__variants .color {
  width: 16px !important;
  height: 16px !important;
  border-radius: 50% !important;
  border: 1px solid #CBD5E1 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
  transition: transform 0.2s ease, border-color 0.2s ease !important;
}

.product-miniature__variants .color:hover {
  transform: scale(1.18) !important;
  border-color: #103556 !important;
}

/* Price Block */
.product-miniature__prices {
  display: flex !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 4px !important;
}

.product-miniature__price {
  font-family: 'Outfit', sans-serif !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #103556 !important;
  letter-spacing: -0.3px !important;
  line-height: 1 !important;
}

.product-miniature__regular-price {
  font-family: 'Inter', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  color: #94A3B8 !important;
  text-decoration: line-through !important;
  line-height: 1 !important;
}

/* Hide Quantity Selector in Catalog Miniature */
.product-miniature .quantity-button,
.product-miniature .js-quantity-button,
.product-miniature .product-quantity,
.product-miniature .qty-input-group,
.product-miniature .bootstrap-touchspin,
.product-miniature input[name="qty"] {
  display: none !important;
}

.product-miniature__actions {
  width: 100% !important;
  margin-top: auto !important;
}

.product-miniature__form {
  width: 100% !important;
  display: block !important;
  margin: 0 !important;
}

/* Luxury Solid Navy Button */
.product-miniature .product-miniature__add,
.product-miniature .product-miniature__add.btn-square-icon,
.product-miniature button[data-button-action="add-to-cart"] {
  width: 100% !important;
  height: 42px !important;
  background-color: #103556 !important;
  color: #FFFFFF !important;
  border: 1px solid #103556 !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.6px !important;
  text-transform: uppercase !important;
  padding: 0 16px !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  transition: all 0.25s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
  box-shadow: 0 4px 12px rgba(16, 53, 86, 0.15) !important;
}

.product-miniature .product-miniature__add:hover,
.product-miniature button[data-button-action="add-to-cart"]:hover {
  background-color: #0A2136 !important;
  border-color: #0A2136 !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(16, 53, 86, 0.25) !important;
}

.product-miniature .product-miniature__add:active,
.product-miniature button[data-button-action="add-to-cart"]:active {
  transform: translateY(0) !important;
}

.product-miniature .product-miniature__add i,
.product-miniature button[data-button-action="add-to-cart"] i {
  font-size: 18px !important;
  line-height: 1 !important;
  color: #FFFFFF !important;
}

.product-miniature__add-text {
  color: #FFFFFF !important;
  display: inline-block !important;
  white-space: nowrap !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
}

/* Details fallback button */
.product-miniature__details {
  width: 100% !important;
  height: 42px !important;
  background-color: transparent !important;
  color: #103556 !important;
  border: 1.5px solid #103556 !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  border-radius: 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.product-miniature__details:hover {
  background-color: #103556 !important;
  color: #FFFFFF !important;
}

/* Mobile Product Card Adjustments (< 576px) */
@media (max-width: 575.98px) {
  .product-miniature__inner {
    padding: 10px !important;
    border-radius: 12px !important;
  }
  .product-miniature__top {
    border-radius: 8px !important;
    margin-bottom: 8px !important;
  }
  .product-miniature__image {
    border-radius: 8px !important;
  }
  .product-miniature__title {
    font-size: 13px !important;
    line-height: 1.3 !important;
    letter-spacing: -0.15px !important;
    min-height: 34px !important;
  }
  .product-miniature__price {
    font-size: 15px !important;
  }
  .product-miniature__regular-price {
    font-size: 11.5px !important;
  }
  .product-miniature .product-miniature__add,
  .product-miniature .product-miniature__add.btn-square-icon,
  .product-miniature button[data-button-action="add-to-cart"],
  .product-miniature__details {
    height: 36px !important;
    padding: 0 10px !important;
    border-radius: 8px !important;
    font-size: 11.5px !important;
    gap: 6px !important;
  }
  .product-miniature .product-miniature__add i {
    font-size: 16px !important;
  }
  .product-miniature__add-text {
    font-size: 11.5px !important;
  }
}

/* --------------------------------------------------------------------------
   10. BRAND STORY CALLOUT BANNER (Warm Editorial Photo Background)
   -------------------------------------------------------------------------- */
.sec_home_banner,
.elementor-section[data-id="sec_home_banner"] {
  background: #103556 url('https://images.unsplash.com/photo-1616486338812-3dadae4b4ace?auto=format&fit=crop&w=1600&q=80') center center / cover no-repeat !important;
  position: relative !important;
  padding: 70px 20px !important;
  color: #FFFFFF !important;
  text-align: center !important;
  margin: 50px 0 !important;
  border-radius: 0 !important;
}
.sec_home_banner::before,
.elementor-section[data-id="sec_home_banner"]::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: rgba(16, 53, 86, 0.88) !important;
}
.sec_home_banner > *,
.elementor-section[data-id="sec_home_banner"] > * {
  position: relative !important;
  z-index: 2 !important;
}
.im-brand-banner-badge {
  font-family: 'Outfit', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  letter-spacing: 2.5px !important;
  color: #94A3B8 !important;
  display: block !important;
  margin-bottom: 12px !important;
  text-transform: uppercase !important;
}
.im-brand-banner-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 34px !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  margin-bottom: 14px !important;
}
.im-brand-banner-text {
  font-family: 'Inter', sans-serif !important;
  font-size: 15px !important;
  color: #E2E8F0 !important;
  max-width: 680px !important;
  margin: 0 auto 28px auto !important;
  line-height: 1.7 !important;
}
.im-brand-banner-actions {
  display: flex !important;
  justify-content: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}
.im-btn-gold {
  background-color: #FFFFFF !important;
  color: #103556 !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  padding: 13px 28px !important;
  border-radius: 9999px !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2) !important;
}
.im-btn-gold:hover {
  background-color: #F8FAFC !important;
  color: #0A2136 !important;
  transform: translateY(-2px) !important;
}
.im-btn-outline {
  background: transparent !important;
  color: #FFFFFF !important;
  border: 1.5px solid rgba(255, 255, 255, 0.6) !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  padding: 13px 28px !important;
  border-radius: 9999px !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
}
.im-btn-outline:hover {
  background-color: rgba(255, 255, 255, 0.15) !important;
  border-color: #FFFFFF !important;
  color: #FFFFFF !important;
}

/* --------------------------------------------------------------------------
   11. LIGHT LUXURY CARILLO FOOTER (White Background, Clean Navy Accents)
   -------------------------------------------------------------------------- */
/* Newsletter Section: Soft Clean Bar */
.sec_ft_newsletter,
.elementor-section[data-id="sec_ft_newsletter"] {
  background-color: #F8FAFC !important;
  border-top: 1px solid #E2E8F0 !important;
  border-bottom: 1px solid #E2E8F0 !important;
  padding: 44px 20px !important;
}
.im-nl-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  color: #0F172A !important;
  margin: 0 0 6px 0 !important;
}
.im-nl-desc {
  font-family: 'Inter', sans-serif !important;
  font-size: 13.5px !important;
  color: #64748B !important;
  margin: 0 !important;
}
.sec_ft_newsletter input[type="email"],
.sec_ft_newsletter .elementor-field {
  border-radius: 9999px !important;
  border: 1px solid #CBD5E1 !important;
  padding: 12px 22px !important;
  font-size: 13.5px !important;
  background-color: #FFFFFF !important;
  color: #0F172A !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
}
.sec_ft_newsletter button,
.sec_ft_newsletter input[type="submit"],
.sec_ft_newsletter .elementor-button,
.sec_ft_newsletter .btn,
.sec_ft_newsletter .btn-primary,
.elementor-widget-email-subscription button,
.elementor-widget-email-subscription input[type="submit"],
.elementor-widget-email-subscription .elementor-button,
.elementor-widget-email-subscription .btn,
.elementor-widget-email-subscription .btn-primary,
.ce-subscribe-form button,
.ce-subscribe-form input[type="submit"] {
  background-color: #103556 !important;
  color: #FFFFFF !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 700 !important;
  font-size: 12.5px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  border-radius: 9999px !important;
  padding: 12px 28px !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}
.sec_ft_newsletter button:hover,
.sec_ft_newsletter input[type="submit"]:hover,
.sec_ft_newsletter .elementor-button:hover,
.sec_ft_newsletter .btn:hover,
.sec_ft_newsletter .btn-primary:hover,
.elementor-widget-email-subscription button:hover,
.elementor-widget-email-subscription input[type="submit"]:hover,
.elementor-widget-email-subscription .elementor-button:hover,
.elementor-widget-email-subscription .btn:hover,
.elementor-widget-email-subscription .btn-primary:hover,
.ce-subscribe-form button:hover,
.ce-subscribe-form input[type="submit"]:hover {
  background-color: #0A2136 !important;
  color: #FFFFFF !important;
}

/* Footer Container: Full-width host for luxury footer */
footer.footer,
#footer {
  padding: 0 !important;
  margin: 0 !important;
  background-color: transparent !important;
  border: none !important;
  width: 100% !important;
  max-width: 100% !important;
}

.sec_ft_links,
.elementor-section[data-id="sec_ft_links"] {
  background-color: #FFFFFF !important;
  padding: 55px 20px 35px 20px !important;
  color: #475569 !important;
  border-bottom: 1px solid #E2E8F0 !important;
}
.im-ft-heading {
  font-family: 'Outfit', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 800 !important;
  color: #0F172A !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  margin-bottom: 18px !important;
}
.im-ft-desc {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  color: #64748B !important;
  line-height: 1.6 !important;
  margin-bottom: 14px !important;
}
.im-ft-store {
  font-size: 13px !important;
  color: #334155 !important;
  margin-bottom: 6px !important;
}
.im-ft-piva {
  font-size: 11.5px !important;
  color: #94A3B8 !important;
}
.im-ft-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.im-ft-list li {
  margin-bottom: 9px !important;
}
.im-ft-list a {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  color: #64748B !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}
.im-ft-list a:hover {
  color: #103556 !important;
  font-weight: 500 !important;
}
.im-wa-text {
  color: #16A34A !important;
  font-weight: 700 !important;
}
.im-outlet-link {
  color: #103556 !important;
  font-weight: 700 !important;
}

/* Subfooter: Clean light grey */
.sec_ft_sub,
.elementor-section[data-id="sec_ft_sub"] {
  background-color: #F8FAFC !important;
  border-top: 1px solid #E2E8F0 !important;
  padding: 18px 20px !important;
  font-size: 12px !important;
  color: #64748B !important;
}
.im-subfooter-copy {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  color: #64748B !important;
}
.im-subfooter-copy strong {
  color: #0F172A !important;
}
.im-subfooter-pay {
  display: flex !important;
  gap: 8px !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
}
.im-pay-badge {
  background-color: #FFFFFF !important;
  color: #475569 !important;
  border: 1px solid #E2E8F0 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  padding: 5px 12px !important;
  border-radius: 4px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}
@media (max-width: 767.98px) {
  .im-subfooter-pay {
    justify-content: center !important;
    margin-top: 12px !important;
  }
  .im-subfooter-copy {
    text-align: center !important;
  }
}
@media (max-width: 767.98px) {
  .im-subfooter-pay {
    justify-content: center !important;
    margin-top: 12px !important;
  }
  .im-subfooter-copy {
    text-align: center !important;
  }
}

/* --------------------------------------------------------------------------
   12. PRODUCT DETAIL PAGE (Theme 28)
   -------------------------------------------------------------------------- */
.sec_prod_main,
.elementor-section[data-id="sec_prod_main"] {
  padding: 30px 0 !important;
}
.im-prod-tag-box {
  margin-bottom: 8px !important;
}
.im-prod-tag {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  color: #103556 !important;
  text-transform: uppercase !important;
}
.ce-product-name,
.elementor-widget-product-name h1,
.elementor-widget-product-name .elementor-heading-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #0F172A !important;
  line-height: 1.25 !important;
  margin: 8px 0 12px 0 !important;
}
@media (max-width: 767.98px) {
  .ce-product-name,
  .elementor-widget-product-name h1,
  .elementor-widget-product-name .elementor-heading-title {
    font-size: 22px !important;
  }
}

/* Product Detail Page Add to Cart */
.elementor-widget-product-add-to-cart .elementor-button,
.elementor-widget-product-add-to-cart button[data-button-action="add-to-cart"] {
  background-color: #0F172A !important;
  color: #FFFFFF !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 700 !important;
  font-size: 13.5px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  padding: 15px 36px !important;
  border-radius: 6px !important;
  border: none !important;
  width: 100% !important;
  display: block !important;
  text-align: center !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.2) !important;
  cursor: pointer !important;
}
.elementor-widget-product-add-to-cart .elementor-button:hover,
.elementor-widget-product-add-to-cart button[data-button-action="add-to-cart"]:hover {
  background-color: #1E293B !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(15, 23, 42, 0.3) !important;
}

/* Product Trust Bullets */
.im-prod-trust-box {
  background-color: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 8px !important;
  padding: 16px !important;
  margin: 20px 0 !important;
}
.im-prod-trust-item {
  font-size: 13px !important;
  color: #334155 !important;
  margin-bottom: 8px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.im-prod-trust-item:last-child {
  margin-bottom: 0 !important;
}
.im-check {
  color: #103556 !important;
  font-weight: 800 !important;
  font-size: 14px !important;
}

/* Accordion */
.sec_prod_tabs .elementor-accordion,
.elementor-section[data-id="sec_prod_tabs"] .elementor-accordion {
  border: 1px solid #E2E8F0 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}
.sec_prod_tabs .elementor-tab-title,
.elementor-section[data-id="sec_prod_tabs"] .elementor-tab-title {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  color: #0F172A !important;
  background-color: #F8FAFC !important;
  padding: 16px 20px !important;
  border-bottom: 1px solid #E2E8F0 !important;
}
.sec_prod_tabs .elementor-tab-title.elementor-active,
.elementor-section[data-id="sec_prod_tabs"] .elementor-tab-title.elementor-active {
  background-color: #FFFFFF !important;
  color: #103556 !important;
}
.sec_prod_tabs .elementor-tab-content,
.elementor-section[data-id="sec_prod_tabs"] .elementor-tab-content {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  color: #475569 !important;
  padding: 20px !important;
  background-color: #FFFFFF !important;
}

/* ==========================================================================
   ITALIA MAGAZZINI LUXURY NATIVE THEME ARCHITECTURE
   ========================================================================== */

/* Google Fonts Import */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800;900&family=Playfair+Display:ital,wght@1,500;1,600;1,700&display=swap');

/* Reset and Full-Width Utility */
.page--home-luxury {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
}

/* 1. TOP ANNOUNCEMENT BAR TICKER */
.im-topbar {
  background-color: #103556 !important;
  color: #ffffff !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.5px !important;
  padding: 6px 0 !important;
  position: relative !important;
  z-index: 100030 !important;
  overflow: visible !important;
}
.im-topbar-inner {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 32px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  position: relative !important;
  height: 24px !important;
  box-sizing: border-box !important;
}

.im-topbar-ticker {
  position: relative !important;
  height: 24px !important;
  overflow: hidden !important;
  flex: 1 1 auto !important;
  max-width: 620px !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
@media (max-width: 991px) {
  .im-topbar-ticker {
    max-width: 100% !important;
  }
}

.im-topbar-track {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.im-topbar-slide {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 0 !important;
  transform: translateY(100%) !important;
  pointer-events: none !important;
  will-change: transform, opacity !important;
}

.im-topbar-track.is-animated .im-topbar-slide {
  transition: transform 0.65s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.im-topbar-slide.is-active {
  opacity: 1 !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
  z-index: 2 !important;
}

.im-topbar-slide.is-prev {
  opacity: 0 !important;
  transform: translateY(-100%) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

.im-topbar-slide.is-prev-reverse {
  opacity: 0 !important;
  transform: translateY(100%) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

.im-topbar-slide.from-top {
  transform: translateY(-100%) !important;
  opacity: 0 !important;
}

.im-topbar-slide-link {
  color: #ffffff !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  transition: opacity 0.2s ease !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  user-select: none !important;
}
.im-topbar-slide-link:hover {
  color: #ffffff !important;
  opacity: 0.85 !important;
}

.im-topbar-icon {
  font-size: 13px !important;
  line-height: 1 !important;
}
.im-topbar-highlight {
  font-weight: 800 !important;
  letter-spacing: 0.7px !important;
}
.im-topbar-sub {
  color: #cbd5e1 !important;
  font-weight: 500 !important;
}

.im-topbar-right {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  font-size: 12px !important;
  margin-left: auto !important;
  position: relative !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
  z-index: 10 !important;
  flex-shrink: 0 !important;
}
.im-topbar-link {
  color: #e2e8f0 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  transition: color 0.2s ease !important;
}
.im-topbar-link:hover {
  color: #ffffff !important;
}
.im-topbar-wa {
  color: #4ade80 !important;
  font-weight: 600 !important;
}
.im-topbar-sep {
  opacity: 0.35 !important;
  color: #cbd5e1 !important;
}

/* ==========================================================================
   LUXURY LANGUAGE SELECTOR (DESKTOP NEXT TO CART + MOBILE DRAWER TOP)
   ========================================================================== */
.im-action-lang {
  display: inline-flex !important;
  align-items: center !important;
}

/* ==========================================================================
   LUXURY LANGUAGE SELECTOR (Desktop Minimalist Pill & Mobile Fluid Bar)
   ========================================================================== */
.im-lang-selector-box {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
}

@media (max-width: 991.98px) {
  .im-lang-selector-box {
    display: block !important;
    width: 100% !important;
  }
}

.im-lang-dropdown {
  position: relative !important;
}

/* 1. Desktop Minimalist Pill in Header (Beside Cart) */
.im-action-lang .im-lang-btn {
  background: #FFFFFF !important;
  border: 1.5px solid #E2E8F0 !important;
  color: #103556 !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  border-radius: 9999px !important;
  padding: 0 11px 0 10px !important;
  height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  cursor: pointer !important;
  outline: none !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  user-select: none !important;
  box-sizing: border-box !important;
}
.im-action-lang .im-lang-btn:hover,
.im-action-lang .im-lang-dropdown.is-open .im-lang-btn {
  background-color: #F8FAFC !important;
  border-color: #CBD5E1 !important;
  color: #103556 !important;
  box-shadow: 0 2px 8px rgba(16, 53, 86, 0.08) !important;
}
.im-action-lang .im-lang-dropdown.is-open .im-lang-btn {
  border-color: #103556 !important;
}
.im-action-lang .im-lang-btn:hover .im-lang-btn-text,
.im-action-lang .im-lang-dropdown.is-open .im-lang-btn .im-lang-btn-text {
  color: #103556 !important;
}
.im-action-lang .im-lang-btn:hover .im-lang-btn-arrow,
.im-action-lang .im-lang-dropdown.is-open .im-lang-btn .im-lang-btn-arrow {
  color: #103556 !important;
}

.im-lang-current-flag,
.im-flag-svg {
  display: inline-flex !important;
  align-items: center !important;
  border-radius: 2px !important;
  flex-shrink: 0 !important;
}
.im-flag-svg {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12) !important;
}

.im-lang-btn-text {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.im-lang-btn-arrow {
  color: #103556 !important;
  transition: transform 0.2s ease, color 0.18s ease !important;
  flex-shrink: 0 !important;
}
.im-lang-dropdown.is-open .im-lang-btn-arrow {
  transform: rotate(180deg) !important;
  color: #103556 !important;
}

/* Floating Luxury Dropdown Menu */
.im-lang-menu {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  right: 0 !important;
  min-width: 210px !important;
  background: #FFFFFF !important;
  border-radius: 14px !important;
  box-shadow: 0 16px 36px rgba(16, 53, 86, 0.14), 0 2px 8px rgba(0, 0, 0, 0.04) !important;
  border: 1px solid #E2E8F0 !important;
  padding: 6px !important;
  z-index: 100040 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(6px) !important;
  transition: opacity 0.2s cubic-bezier(0.16, 1, 0.3, 1), transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.2s !important;
  pointer-events: none !important;
}

.im-lang-dropdown.is-open .im-lang-menu {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}

.im-lang-menu-header {
  font-family: 'Outfit', sans-serif !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  padding: 6px 10px 6px !important;
  border-bottom: 1px solid #F1F5F9 !important;
  margin-bottom: 4px !important;
}

.im-lang-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.im-lang-list-item {
  margin: 2px 0 !important;
}

.im-lang-option {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 8px 10px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  color: #103556 !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  transition: background-color 0.15s ease, color 0.15s ease !important;
}

.im-lang-option:hover,
.im-lang-option:focus,
.im-lang-option:active {
  background-color: #F8FAFC !important;
  color: #103556 !important;
}

.im-lang-option.is-active {
  background-color: #EFF6FF !important;
  color: #103556 !important;
  font-weight: 700 !important;
}

.im-lang-flag {
  display: inline-flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  border-radius: 2px !important;
}

.im-lang-label {
  flex: 1 !important;
  white-space: nowrap !important;
  color: #103556 !important;
}

.im-lang-badge-iso {
  font-family: 'Outfit', sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  background: #EFF6FF !important;
  color: #103556 !important;
  border: 1px solid rgba(16, 53, 86, 0.12) !important;
  padding: 2px 6px !important;
  border-radius: 4px !important;
  line-height: 1 !important;
  letter-spacing: 0.4px !important;
}
.im-lang-option.is-active .im-lang-badge-iso {
  background: #103556 !important;
  color: #FFFFFF !important;
  border-color: #103556 !important;
}

.im-lang-check-icon {
  flex-shrink: 0 !important;
}

/* 2. Mobile Drawer Contextual Language Bar (Apple/iOS Segmented Control) */
.im-mobile-lang-box {
  width: 100% !important;
  padding: 10px 16px 14px 16px !important;
  margin-bottom: 6px !important;
  border-bottom: 1px solid #F1F5F9 !important;
  box-sizing: border-box !important;
}

.im-mobile-lang-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 8px !important;
}

.im-mobile-lang-title {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #94A3B8 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.6px !important;
}

.im-mobile-lang-current-label {
  font-family: 'Outfit', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: #103556 !important;
}

/* iOS Segmented Track */
.im-mobile-segmented-control {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 3px !important;
  background-color: #E2E8F0 !important;
  padding: 3px !important;
  border-radius: 12px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* iOS Segment (Individual Pill) */
.im-segmented-segment {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  height: 36px !important;
  padding: 0 4px !important;
  border-radius: 9px !important;
  background: transparent !important;
  border: none !important;
  color: #64748B !important;
  text-decoration: none !important;
  transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1) !important;
  user-select: none !important;
  -webkit-tap-highlight-color: transparent !important;
  box-sizing: border-box !important;
}

.im-segmented-segment:hover {
  color: #1E293B !important;
}

.im-segmented-segment.is-active {
  background-color: #FFFFFF !important;
  color: #103556 !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

.im-segmented-segment .im-segmented-flag {
  display: inline-flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
}

.im-segmented-segment .im-segmented-iso {
  font-family: 'Outfit', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px !important;
  line-height: 1 !important;
}

.im-segmented-segment.is-active .im-segmented-iso {
  font-weight: 800 !important;
  color: #103556 !important;
}

/* 2. MAIN HEADER */
.im-main-header {
  background: #ffffff !important;
  border-bottom: none !important;
  padding: 12px 0 !important;
  position: relative !important;
  z-index: 1020 !important;
}
.im-main-header:focus-within {
  z-index: 1025 !important;
}
.im-header-container {
  max-width: 1292px !important;
  margin: 0 auto !important;
  padding: 0 16px !important;
}
.im-header-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
}
.im-header-logo {
  flex-shrink: 0 !important;
}
.im-logo-img {
  max-height: 48px !important;
  width: auto !important;
  display: block !important;
}
@media (max-width: 768px) {
  .im-logo-img {
    max-height: 38px !important;
  }
}
.im-header-search {
  flex: 1 !important;
  max-width: 620px !important;
  margin: 0 15px !important;
  position: relative !important;
}
.im-header-search .ps-searchbar,
.im-mobile-search-row .ps-searchbar {
  position: relative !important;
  width: 100% !important;
}
.im-header-search .ps-searchbar__form,
.im-mobile-search-row .ps-searchbar__form {
  position: relative !important;
  width: 100% !important;
  margin: 0 !important;
}
.im-search-input {
  width: 100% !important;
  height: 44px !important;
  background-color: #f8fafc !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 9999px !important;
  padding: 8px 20px 8px 46px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  color: #1e293b !important;
  outline: none !important;
  transition: all 0.2s ease !important;
}
.im-search-input:focus {
  background-color: #ffffff !important;
  border-color: #103556 !important;
  box-shadow: 0 0 0 3px rgba(16, 53, 86, 0.1) !important;
}
.im-search-icon {
  position: absolute !important;
  left: 16px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: #94a3b8 !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

/* Search clear button (Neutral slate icon, soft hover) */
.im-header-search .ps-searchbar__clear,
.im-mobile-search-row .ps-searchbar__clear,
.ps-searchbar__clear,
.js-search-clear {
  position: absolute !important;
  right: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  border-radius: 50% !important;
  background-color: #f1f5f9 !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  color: #64748b !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  z-index: 5 !important;
}
.im-header-search .ps-searchbar__clear.d-none,
.im-mobile-search-row .ps-searchbar__clear.d-none,
.ps-searchbar__clear.d-none,
.js-search-clear.d-none {
  display: none !important;
}
.im-header-search .ps-searchbar__clear:hover,
.im-header-search .ps-searchbar__clear:focus,
.im-mobile-search-row .ps-searchbar__clear:hover,
.im-mobile-search-row .ps-searchbar__clear:focus,
.ps-searchbar__clear:hover,
.ps-searchbar__clear:focus,
.js-search-clear:hover,
.js-search-clear:focus {
  background-color: #e2e8f0 !important;
  color: #103556 !important;
  border: none !important;
  outline: none !important;
  box-shadow: 0 2px 6px rgba(16, 53, 86, 0.12) !important;
  transform: translateY(-50%) scale(1.08) !important;
}
.im-header-search .ps-searchbar__clear svg,
.im-mobile-search-row .ps-searchbar__clear svg,
.ps-searchbar__clear svg,
.js-search-clear svg {
  stroke: currentColor !important;
  display: block !important;
}

/* Search Autocomplete Dropdown - Anchored cleanly beneath search bar (Contextual & 100% Responsive) */
.im-header-search .ps-searchbar__dropdown,
.im-mobile-search-row .ps-searchbar__dropdown,
#ps_searchbar_dropdown {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  background-color: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 14px !important;
  box-shadow: 0 16px 40px rgba(16, 53, 86, 0.16) !important;
  z-index: 999999 !important;
  overflow: hidden !important;
  animation: imSearchDropdownIn 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

@keyframes imSearchDropdownIn {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.ps-searchbar__dropdown.d-none {
  display: none !important;
}

.im-header-search .ps-searchbar__results,
.im-mobile-search-row .ps-searchbar__results,
#ps_searchbar_results {
  max-height: 380px !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 8px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  scrollbar-width: thin !important;
  scrollbar-color: #cbd5e1 transparent !important;
}

@media (max-width: 991px) {
  .im-mobile-search-row .ps-searchbar__dropdown {
    top: calc(100% + 6px) !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 32px rgba(16, 53, 86, 0.18) !important;
  }
  .im-mobile-search-row .ps-searchbar__results {
    max-height: 52vh !important;
  }
}

.ps-searchbar__results::-webkit-scrollbar {
  width: 4px !important;
}
.ps-searchbar__results::-webkit-scrollbar-track {
  background: transparent !important;
}
.ps-searchbar__results::-webkit-scrollbar-thumb {
  background-color: #cbd5e1 !important;
  border-radius: 4px !important;
}

/* Result Item Link (Luxury Italian E-Commerce Row) */
.im-search-item {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 8px 10px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  color: #103556 !important;
  background-color: #ffffff !important;
  transition: background-color 0.15s ease, transform 0.15s ease !important;
}

.im-search-item:hover,
.im-search-item:focus,
.im-search-item.is-focused {
  background-color: #f1f5f9 !important;
  color: #1E3A8A !important;
  outline: none !important;
}

.im-search-item-img {
  width: 46px !important;
  height: 46px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  border: 1px solid #e2e8f0 !important;
  flex-shrink: 0 !important;
  background-color: #f8fafc !important;
}

.im-search-item-info {
  flex: 1 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

.im-search-item-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #103556 !important;
  margin: 0 !important;
  line-height: 1.35 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.im-search-item-price {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #1E3A8A !important;
  margin: 0 !important;
}

.im-search-item-arrow {
  color: #94a3b8 !important;
  flex-shrink: 0 !important;
  transition: transform 0.15s ease, color 0.15s ease !important;
}

.im-search-item:hover .im-search-item-arrow,
.im-search-item:focus .im-search-item-arrow,
.im-search-item.is-focused .im-search-item-arrow {
  transform: translateX(3px) !important;
  color: #103556 !important;
}

/* Bottom "Vedi tutti i risultati" Button */
.im-search-footer {
  border-top: 1px solid #f1f5f9 !important;
  background-color: #f8fafc !important;
  padding: 0 !important;
}

.im-search-view-all {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  padding: 11px 16px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  text-decoration: none !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
}

.im-search-view-all:hover,
.im-search-view-all:focus,
.im-search-view-all.is-focused {
  background-color: #103556 !important;
  color: #ffffff !important;
  outline: none !important;
}

/* Loading & Empty States */
.im-search-loading {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 22px 16px !important;
  color: #64748b !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
}

.im-search-spinner {
  width: 18px !important;
  height: 18px !important;
  border: 2px solid #e2e8f0 !important;
  border-top-color: #103556 !important;
  border-radius: 50% !important;
  animation: imSearchSpin 0.7s linear infinite !important;
}

@keyframes imSearchSpin {
  to { transform: rotate(360deg); }
}

.im-search-empty {
  padding: 24px 16px !important;
  text-align: center !important;
}

.im-search-empty-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  margin: 0 0 4px 0 !important;
}

.im-search-empty-sub {
  font-size: 12px !important;
  color: #64748b !important;
  margin: 0 !important;
}

.im-header-actions {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  flex-shrink: 0 !important;
}
.im-account-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #103556 !important;
  text-decoration: none !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  padding: 6px 10px !important;
  border-radius: 6px !important;
  transition: background-color 0.2s ease !important;
}
.im-account-btn:hover {
  background-color: #f8fafc !important;
  color: #103556 !important;
}
.im-hdr-icon-link {
  color: #103556 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  transition: background-color 0.2s ease !important;
}
.im-hdr-icon-link:hover {
  background-color: #f1f5f9 !important;
  color: #103556 !important;
}
.im-cart-box {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 40px !important;
  gap: 10px !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 9999px !important;
  padding: 0 16px 0 12px !important;
  text-decoration: none !important;
  color: #103556 !important;
  background: #ffffff !important;
  box-sizing: border-box !important;
  transition: all 0.2s ease !important;
}
.im-cart-box:hover {
  border-color: #cbd5e1 !important;
  box-shadow: 0 2px 8px rgba(16, 53, 86, 0.08) !important;
}
.im-cart-icon-wrap {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
}
.im-cart-badge {
  position: absolute !important;
  top: -8px !important;
  right: -10px !important;
  background-color: #103556 !important;
  color: #ffffff !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  min-width: 18px !important;
  height: 18px !important;
  border-radius: 9999px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 4px !important;
  line-height: 1 !important;
  box-shadow: 0 2px 6px rgba(16, 53, 86, 0.35) !important;
  transform-origin: center center !important;
  will-change: transform;
  transition: background-color 0.2s ease, transform 0.2s ease !important;
}
.im-cart-total {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #103556 !important;
}
.im-hamburger-btn {
  background: none !important;
  border: none !important;
  padding: 4px !important;
  color: #103556 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
}
.im-mobile-search-row {
  margin-top: 10px !important;
  position: relative !important;
}

@media (max-width: 991px) {
  .im-main-header {
    padding: 8px 0 10px !important;
  }
  .im-header-container {
    padding: 0 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .im-header-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 4px !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    height: 40px !important;
    min-height: 40px !important;
  }
  .im-header-mobile-left {
    display: flex !important;
    align-items: center !important;
    gap: 2px !important;
    flex-shrink: 0 !important;
    min-width: 0 !important;
    height: 40px !important;
  }
  .im-hamburger-btn {
    width: 40px !important;
    height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border-radius: 50% !important;
    transition: background-color 0.15s ease !important;
  }
  .im-header-mobile-left .im-hdr-icon-link {
    width: 40px !important;
    height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    transition: background-color 0.15s ease !important;
  }
  .im-header-logo {
    flex: 0 0 135px !important;
    width: 135px !important;
    max-width: 135px !important;
    min-width: 0 !important;
    height: 40px !important;
    text-align: center !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    overflow: hidden !important;
    margin: 0 auto !important;
  }
  .im-logo-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    max-width: 135px !important;
    width: 135px !important;
    height: 100% !important;
  }
  .im-logo-img {
    width: 100% !important;
    max-width: 135px !important;
    height: auto !important;
    max-height: 28px !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
  }
  .im-header-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 2px !important;
    flex-shrink: 0 !important;
    min-width: 0 !important;
    height: 40px !important;
    margin: 0 !important;
  }
  .im-action-support,
  .im-action-cart {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    position: relative !important;
  }
  .im-action-support .im-hdr-icon-link {
    width: 40px !important;
    height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    transition: background-color 0.15s ease !important;
  }
  .im-action-support .im-hdr-icon-link svg {
    width: 22px !important;
    height: 22px !important;
    stroke-width: 2.15px !important;
    display: block !important;
    color: #103556 !important;
  }
  .im-cart-box {
    width: 40px !important;
    height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    gap: 0 !important;
    box-sizing: border-box !important;
    position: relative !important;
    border-radius: 50% !important;
    transition: background-color 0.15s ease !important;
  }
  .im-cart-box:active,
  .im-action-support .im-hdr-icon-link:active,
  .im-hamburger-btn:active,
  .im-header-mobile-left .im-hdr-icon-link:active {
    background-color: #f1f5f9 !important;
  }
  .im-cart-box svg {
    width: 22px !important;
    height: 22px !important;
    display: block !important;
    color: #103556 !important;
  }
  .im-cart-icon-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    position: relative !important;
    margin-right: 2px !important;
  }
  .im-cart-badge {
    position: absolute !important;
    top: -2px !important;
    right: -4px !important;
    min-width: 16px !important;
    height: 16px !important;
    font-size: 9.5px !important;
    font-weight: 700 !important;
    line-height: 16px !important;
    background-color: #103556 !important;
    color: #ffffff !important;
    border: 1.5px solid #ffffff !important;
    border-radius: 9999px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 3px !important;
    box-shadow: 0 1px 3px rgba(16, 53, 86, 0.25) !important;
    pointer-events: none !important;
  }
  .im-cart-total {
    display: none !important;
  }
  .im-mobile-search-row {
    margin-top: 8px !important;
    position: relative !important;
  }
  .im-mobile-search-row .im-search-input {
    height: 42px !important;
    font-size: 13.5px !important;
  }
  .im-main-heading {
    font-size: 19px !important;
    letter-spacing: 0.5px !important;
  }
  .im-script-subtitle {
    font-size: 17px !important;
  }
}
@media (max-width: 575px) {
  .im-trust-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }
  .im-trust-card {
    padding: 10px 8px !important;
    gap: 8px !important;
  }
  .im-trust-icon {
    font-size: 20px !important;
  }
  .im-trust-title {
    font-size: 12px !important;
    margin-bottom: 2px !important;
  }
  .im-trust-desc {
    font-size: 10.5px !important;
  }
}

/* Hide default Hummingbird desktop menu, keep mobile drawer */
.im-native-mobile-drawer-wrapper .ps-mainmenu--desktop {
  display: none !important;
}
.im-native-mobile-drawer-wrapper .ps-mainmenu__mobile-toggle {
  display: none !important;
}

/* ==========================================================================
   MOBILE MENU DRAWER — ULTRA FLUID ENTRANCE & EXIT (Luxury iOS Ease)
   ========================================================================== */
html.im-drawer-locked,
html:has(.offcanvas.show),
html:has(.modal.show) {
  overflow: hidden !important;
}

body.im-drawer-locked,
body:has(.offcanvas.show),
body:has(.modal.show) {
  overflow: hidden !important;
  padding-right: 0 !important;
}

/* Ensure backdrop covers entire window edge-to-edge without white gaps */
.offcanvas-backdrop {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
}



/* ==========================================================================
   MOBILE MENU DRAWER — ULTRA FLUID LUXURY (Matching Cart Drawer Aesthetic)
   ========================================================================== */
#mobileMenu.offcanvas,
.ps-mainmenu--mobile.offcanvas {
  position: fixed !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100vh !important;
  height: 100dvh !important;
  background-color: #ffffff !important;
  box-shadow: none !important;
  border: none !important;
  z-index: 9999999 !important;
  display: flex !important;
  flex-direction: column !important;
  visibility: hidden !important;
  transform: translate3d(-100%, 0, 0) !important;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), visibility 0s linear 0.35s !important;
  will-change: transform !important;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
  overflow: hidden !important;
  overscroll-behavior: contain !important;
}

#mobileMenu.offcanvas.is-open,
#mobileMenu.offcanvas.show {
  visibility: visible !important;
  transform: translate3d(0, 0, 0) !important;
  transition-delay: 0s !important;
}

/* Luxury Drawer Backdrop with Gaussian Blur (Single Shared High-End Backdrop) */
.offcanvas-backdrop {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background-color: rgba(15, 23, 42, 0.45) !important;
  backdrop-filter: blur(3px) !important;
  -webkit-backdrop-filter: blur(3px) !important;
  z-index: 9999998 !important;
  opacity: 0 !important;
  transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
  will-change: opacity !important;
}
.offcanvas-backdrop.show {
  opacity: 1 !important;
}

/* Hide deprecated redundant backdrop if present */
.im-mobile-backdrop {
  display: none !important;
}

/* Drawer Header — Clean Minimal Brand Presence */
#mobileMenu .offcanvas-header {
  padding: 16px 20px !important;
  border-bottom: 1px solid #f1f5f9 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background-color: #ffffff !important;
  min-height: 64px !important;
  flex-shrink: 0 !important;
}

#mobileMenu .im-drawer-logo {
  max-height: 26px !important;
  width: auto !important;
  display: block !important;
  object-fit: contain !important;
}

#mobileMenu .ps-mainmenu__back-button {
  display: flex !important;
  align-items: center !important;
}

#mobileMenu .im-drawer-title {
  display: flex !important;
  align-items: center !important;
}

#mobileMenu .im-drawer-title.d-none {
  display: none !important;
}

#mobileMenu .ps-mainmenu__back-button .btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: #103556 !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13.5px !important;
  padding: 6px 12px !important;
  border-radius: 20px !important;
  text-decoration: none !important;
  background-color: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  line-height: 1 !important;
  transition: all 0.15s ease !important;
}

#mobileMenu .ps-mainmenu__back-button .btn:hover {
  background-color: #f1f5f9 !important;
  border-color: #cbd5e1 !important;
}

/* Close Button — 1:1 match with .im-cart-drawer-close */
#mobileMenu .btn-close,
#mobileMenu .im-drawer-close-btn {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  border-radius: 50% !important;
  border: 1px solid #e2e8f0 !important;
  background: #ffffff !important;
  color: #64748b !important;
  outline: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  opacity: 1 !important;
  transition: all 0.15s ease !important;
}

#mobileMenu .btn-close:hover,
#mobileMenu .im-drawer-close-btn:hover {
  background-color: #f8fafc !important;
  color: #103556 !important;
  border-color: #cbd5e1 !important;
  transform: none !important;
}

/* Drawer Body & Menu Links */
#mobileMenu .ps-mainmenu__mobile {
  flex: 1 1 auto !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  touch-action: pan-y !important;
  overscroll-behavior: contain !important;
  padding: 0 0 16px 0 !important;
  scrollbar-width: thin !important;
  scrollbar-color: #cbd5e1 transparent !important;
}

#mobileMenu .menu--mobile {
  padding: 0 !important;
  margin: 0 !important;
}

#mobileMenu .ps-mainmenu__mobile::-webkit-scrollbar {
  width: 4px !important;
}

#mobileMenu .ps-mainmenu__mobile::-webkit-scrollbar-track {
  background: transparent !important;
}

#mobileMenu .ps-mainmenu__mobile::-webkit-scrollbar-thumb {
  background: #cbd5e1 !important;
  border-radius: 4px !important;
}

/* In-Menu Search Bar */
.im-drawer-search-wrap {
  padding: 12px 14px 8px 14px !important;
}
.im-drawer-search-form {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
}
.im-drawer-search-icon {
  position: absolute !important;
  left: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
  color: #64748b !important;
}
.im-drawer-search-input {
  width: 100% !important;
  height: 42px !important;
  padding: 0 16px 0 40px !important;
  background-color: #f1f5f9 !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  color: #103556 !important;
  outline: none !important;
  transition: all 0.2s ease !important;
}
.im-drawer-search-input:focus {
  background-color: #ffffff !important;
  border-color: #103556 !important;
  box-shadow: 0 0 0 3px rgba(16, 53, 86, 0.08) !important;
}
.im-drawer-search-input::placeholder {
  color: #94a3b8 !important;
}

/* ========================================================
   CARILLO-STYLE MOBILE MENU (Capsule Cards & Accordions)
   ======================================================== */
#mobileMenu.offcanvas {
  width: 100% !important;
  max-width: 100% !important;
  background-color: #ffffff !important;
  border: none !important;
  box-shadow: none !important;
}

.im-carillo-header {
  position: relative !important;
  padding: 24px 20px 16px 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: #ffffff !important;
  border-bottom: none !important;
}

.im-carillo-header-center {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 1 !important;
}

.im-carillo-header .im-drawer-logo {
  height: 38px !important;
  max-height: 42px !important;
  width: auto !important;
  object-fit: contain !important;
}

.im-carillo-close-btn {
  position: absolute !important;
  right: 18px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background: transparent !important;
  border: none !important;
  padding: 8px !important;
  color: #94a3b8 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 1 !important;
  border-radius: 50% !important;
  transition: all 0.15s ease !important;
}

.im-carillo-close-btn:hover,
.im-carillo-close-btn:active {
  color: #103556 !important;
  background-color: #f1f5f9 !important;
}

.im-carillo-drawer-scroll {
  flex: 1 1 auto !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  padding-bottom: 24px !important;
}

/* Category Capsule Cards List */
.im-carillo-menu-wrap {
  padding: 10px 16px 16px 16px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.im-carillo-item {
  width: 100% !important;
  border-radius: 22px !important;
  background-color: #f4f6f8 !important;
  transition: background-color 0.18s ease !important;
  overflow: hidden !important;
}

.im-carillo-item:hover {
  background-color: #eef2f6 !important;
}

.im-carillo-item--saldi {
  background-color: #fef3c7 !important;
}
.im-carillo-item--saldi:hover {
  background-color: #fde68a !important;
}

.im-carillo-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding: 13px 18px !important;
  background: transparent !important;
  border: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
  color: #1e293b !important;
  box-sizing: border-box !important;
  -webkit-tap-highlight-color: transparent !important;
}

.im-carillo-left {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
}

.im-carillo-icon {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  object-fit: contain !important;
  display: block !important;
}

.im-carillo-label {
  font-family: 'Outfit', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  color: #1e293b !important;
  letter-spacing: -0.2px !important;
  line-height: 1.25 !important;
}

.im-carillo-btn--saldi .im-carillo-label {
  color: #b45309 !important;
  font-weight: 700 !important;
}

.im-saldi-bar {
  color: #d97706 !important;
  font-weight: 300 !important;
  margin-right: 4px !important;
}

.im-carillo-chevron {
  color: #64748b !important;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  flex-shrink: 0 !important;
}

.im-carillo-btn[aria-expanded="true"] .im-carillo-chevron {
  transform: rotate(180deg) !important;
}

/* Accordion Subcategories */
.im-carillo-collapse:not(.show) {
  display: none !important;
}
.im-carillo-collapse.show {
  display: block !important;
}

.im-carillo-sub-body {
  padding: 4px 18px 14px 48px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  background-color: #f4f6f8 !important;
  border-top: 1px solid rgba(0, 0, 0, 0.03) !important;
}

.im-carillo-sub-link {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 9px 0 !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  color: #475569 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.04) !important;
  transition: color 0.15s ease !important;
}

.im-carillo-sub-link:last-child {
  border-bottom: none !important;
}

.im-carillo-sub-link:hover,
.im-carillo-sub-link:active {
  color: #103556 !important;
}

.im-carillo-sub-link svg {
  color: #94a3b8 !important;
}

.im-carillo-sub-link--viewall {
  font-weight: 700 !important;
  color: #103556 !important;
  padding-bottom: 10px !important;
  margin-bottom: 3px !important;
  border-bottom: 1px solid rgba(16, 53, 86, 0.12) !important;
}

.im-carillo-sub-link--viewall svg {
  color: #103556 !important;
}

/* Account Footer Button */
.im-carillo-footer {
  padding: 10px 16px 20px 16px !important;
}

.im-carillo-account-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  height: 48px !important;
  background-color: #ffffff !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 24px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.im-carillo-account-btn:hover,
.im-carillo-account-btn:active {
  background-color: #103556 !important;
  border-color: #103556 !important;
  color: #ffffff !important;
}

/* 3. HERO SLIDER */
.im-hero-slider-wrap {
  position: relative !important;
  width: 100% !important;
  overflow: hidden !important;
  background-color: #0f172a !important;
}
.im-hero-slider {
  position: relative !important;
  width: 100% !important;
  min-height: 480px !important;
}
@media (max-width: 768px) {
  .im-hero-slider {
    min-height: 380px !important;
  }
}
.im-hero-slides {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
}
.im-hero-slide {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 480px !important;
  background-size: cover !important;
  background-position: center right !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: none !important;
  display: flex !important;
  align-items: center !important;
  will-change: opacity !important;
  transform: translateZ(0) !important;
}
@media (max-width: 768px) {
  .im-hero-slide {
    min-height: 380px !important;
    background-position: center center !important;
  }
}
.im-hero-slider.is-ready .im-hero-slide {
  transition: opacity 0.8s ease-in-out, visibility 0.8s ease-in-out !important;
}
.im-hero-slide.is-active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  z-index: 2 !important;
}
.im-hero-overlay {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(90deg, rgba(16, 53, 86, 0.88) 0%, rgba(16, 53, 86, 0.55) 45%, rgba(16, 53, 86, 0.1) 100%) !important;
  z-index: 1 !important;
}
@media (max-width: 768px) {
  .im-hero-overlay {
    background: linear-gradient(180deg, rgba(16, 53, 86, 0.35) 0%, rgba(16, 53, 86, 0.88) 100%) !important;
  }
}
.im-hero-container {
  max-width: 1292px !important;
  margin: 0 auto !important;
  padding: 40px 24px !important;
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
}
.im-hero-card {
  max-width: 560px !important;
}
.im-hero-pill-badge {
  display: inline-block !important;
  background-color: #103556 !important;
  color: #ffffff !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  padding: 5px 14px !important;
  border-radius: 9999px !important;
  margin-bottom: 16px !important;
  box-shadow: 0 4px 12px rgba(16, 53, 86, 0.25) !important;
}
.im-hero-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 40px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  color: #ffffff !important;
  margin: 0 0 14px 0 !important;
  letter-spacing: -0.5px !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}
@media (max-width: 768px) {
  .im-hero-title {
    font-size: 26px !important;
  }
}
.im-hero-desc {
  font-family: 'Outfit', sans-serif !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  color: #e2e8f0 !important;
  margin: 0 0 24px 0 !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.4) !important;
}
@media (max-width: 768px) {
  .im-hero-desc {
    font-size: 14px !important;
    margin-bottom: 18px !important;
  }
}
.im-btn-cta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background-color: #103556 !important;
  color: #ffffff !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  padding: 14px 28px !important;
  border-radius: 9999px !important;
  text-decoration: none !important;
  box-shadow: 0 6px 20px rgba(16, 53, 86, 0.35) !important;
  transition: all 0.25s ease !important;
}
.im-btn-cta:hover {
  background-color: #1E3A8A !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(30, 58, 138, 0.45) !important;
}
.im-slider-arrow {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.85) !important;
  backdrop-filter: blur(4px) !important;
  border: none !important;
  color: #103556 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  z-index: 10 !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}
.im-slider-arrow:hover {
  background: #ffffff !important;
  transform: translateY(-50%) scale(1.08) !important;
}
.im-slider-prev {
  left: 20px !important;
}
.im-slider-next {
  right: 20px !important;
}
@media (max-width: 768px) {
  .im-slider-arrow {
    display: none !important;
  }
}
.im-hero-dots {
  position: absolute !important;
  bottom: 20px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  display: flex !important;
  gap: 10px !important;
  z-index: 10 !important;
}
.im-dot {
  width: 10px !important;
  height: 10px !important;
  border-radius: 9999px !important;
  background: rgba(255, 255, 255, 0.45) !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0 !important;
  transition: all 0.3s ease !important;
}
.im-dot.is-active {
  width: 28px !important;
  background: #ffffff !important;
}

/* 4. CIRCULAR CATEGORIES SECTION */
.im-section {
  padding: 48px 0 !important;
}
.im-sec-container {
  max-width: 1292px !important;
  margin: 0 auto !important;
  padding: 0 16px !important;
}
.im-sec-header {
  margin-bottom: 36px !important;
}
.im-script-subtitle {
  font-family: 'Playfair Display', Georgia, cursive, serif !important;
  font-style: italic !important;
  font-size: 22px !important;
  color: #1E3A8A !important;
  display: block !important;
  margin-bottom: 4px !important;
}
.im-main-heading {
  font-family: 'Outfit', sans-serif !important;
  font-size: 26px !important;
  font-weight: 800 !important;
  letter-spacing: 1.2px !important;
  color: #103556 !important;
  text-transform: uppercase !important;
  margin: 0 0 8px 0 !important;
}
.im-sec-desc {
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  color: #64748b !important;
  margin: 0 !important;
}
.im-cat-circles-grid {
  display: grid !important;
  grid-template-columns: repeat(6, 1fr) !important;
  gap: 20px !important;
}
@media (max-width: 991px) {
  .im-cat-circles-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 16px !important;
  }
}
@media (max-width: 575px) {
  .im-cat-circles-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
  }
}
.im-cat-bubble {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-decoration: none !important;
  text-align: center !important;
}
.im-cat-img-wrap {
  width: 130px !important;
  height: 130px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  border: 3px solid #f1f5f9 !important;
  box-shadow: 0 6px 16px rgba(16, 53, 86, 0.08) !important;
  transition: all 0.3s ease !important;
  position: relative !important;
  margin-bottom: 12px !important;
}
@media (max-width: 575px) {
  .im-cat-img-wrap {
    width: 105px !important;
    height: 105px !important;
  }
}
.im-cat-img-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.4s ease !important;
}
.im-cat-bubble:hover .im-cat-img-wrap {
  border-color: #103556 !important;
  box-shadow: 0 10px 24px rgba(16, 53, 86, 0.2) !important;
  transform: translateY(-4px) !important;
}
.im-cat-bubble:hover .im-cat-img-wrap img {
  transform: scale(1.08) !important;
}
.im-bubble-badge {
  position: absolute !important;
  top: 6px !important;
  right: 6px !important;
  background-color: #103556 !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  border-radius: 9999px !important;
  padding: 2px 7px !important;
  box-shadow: 0 2px 6px rgba(16, 53, 86, 0.35) !important;
}
.im-cat-label {
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  line-height: 1.3 !important;
  transition: color 0.2s ease !important;
}
.im-cat-bubble:hover .im-cat-label {
  color: #1E3A8A !important;
}
.im-label-outlet {
  color: #1E3A8A !important;
}

/* 5. TRUST BAR */
.im-trust-section {
  padding: 20px 0 !important;
}
.im-trust-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
}
@media (max-width: 991px) {
  .im-trust-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 575px) {
  .im-trust-grid {
    grid-template-columns: 1fr !important;
  }
}
.im-trust-card {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  padding: 16px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  transition: transform 0.2s ease !important;
}
.im-trust-card:hover {
  transform: translateY(-2px) !important;
  border-color: #cbd5e1 !important;
}
.im-trust-icon {
  font-size: 26px !important;
  flex-shrink: 0 !important;
}
.im-trust-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  color: #103556 !important;
  margin: 0 0 3px 0 !important;
}
.im-trust-desc {
  font-family: 'Outfit', sans-serif !important;
  font-size: 12px !important;
  color: #64748b !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}

/* 6. PRODUCTS GRID */
.im-products-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}
@media (max-width: 991px) {
  .im-products-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }
}
.im-product-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
  transition: all 0.25s ease !important;
  cursor: pointer !important;
}
.im-product-card:hover {
  border-color: #cbd5e1 !important;
  box-shadow: 0 10px 24px rgba(16, 53, 86, 0.08) !important;
  transform: translateY(-3px) !important;
}
.im-pcard-badge {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  background-color: #103556 !important;
  color: #ffffff !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  padding: 3px 8px !important;
  border-radius: 4px !important;
  z-index: 2 !important;
}
.im-pcard-img-link {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  background-color: #f8fafc !important;
}
.im-pcard-img-link img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.4s ease !important;
}
.im-product-card:hover .im-pcard-img-link img {
  transform: scale(1.05) !important;
}
.im-pcard-body {
  padding: 16px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}
.im-pcard-cat {
  font-family: 'Outfit', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.8px !important;
  color: #94a3b8 !important;
  text-transform: uppercase !important;
  margin-bottom: 6px !important;
}
.im-pcard-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  line-height: 1.35 !important;
  margin: 0 0 8px 0 !important;
  flex: 1 !important;
}
.im-pcard-title a {
  color: #103556 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}
.im-pcard-title a:hover {
  color: #1E3A8A !important;
}
.im-pcard-rating {
  color: #f59e0b !important;
  font-size: 12px !important;
  margin-bottom: 12px !important;
}
.im-rating-count {
  color: #94a3b8 !important;
  font-size: 11px !important;
}
.im-pcard-price-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  border-top: 1px solid #f1f5f9 !important;
  padding-top: 12px !important;
  margin-top: auto !important;
}
.im-pcard-prices {
  display: flex !important;
  flex-direction: column !important;
}
.im-pcard-old-price {
  font-family: 'Outfit', sans-serif !important;
  font-size: 12px !important;
  color: #94a3b8 !important;
  text-decoration: line-through !important;
}
.im-pcard-price {
  font-family: 'Outfit', sans-serif !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  color: #103556 !important;
}
.im-pcard-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: transparent !important;
  color: #103556 !important;
  border: 1.5px solid #103556 !important;
  border-radius: 9999px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  padding: 6px 14px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}
.im-pcard-btn:hover {
  background-color: #103556 !important;
  color: #ffffff !important;
}

/* 7. BRAND STORY BANNER */
.im-brand-story-banner {
  background: linear-gradient(135deg, #103556 0%, #0d2842 100%) !important;
  color: #ffffff !important;
  padding: 60px 20px !important;
  margin: 40px 0 !important;
  text-align: center !important;
  position: relative !important;
  overflow: hidden !important;
}
.im-brand-story-inner {
  max-width: 780px !important;
  margin: 0 auto !important;
  position: relative !important;
  z-index: 2 !important;
}
.im-story-badge {
  display: inline-block !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #38bdf8 !important;
  margin-bottom: 12px !important;
}
.im-story-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 32px !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  margin: 0 0 16px 0 !important;
  letter-spacing: -0.3px !important;
}
@media (max-width: 768px) {
  .im-story-title {
    font-size: 24px !important;
  }
}
.im-story-desc {
  font-family: 'Outfit', sans-serif !important;
  font-size: 15.5px !important;
  line-height: 1.7 !important;
  color: #cbd5e1 !important;
  margin: 0 0 28px 0 !important;
}
.im-story-actions {
  display: flex !important;
  justify-content: center !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
}
.im-story-btn {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 12px 24px !important;
  border-radius: 9999px !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
}
.im-story-btn--white {
  background-color: #ffffff !important;
  color: #103556 !important;
}
.im-story-btn--white:hover {
  background-color: #f1f5f9 !important;
  transform: translateY(-2px) !important;
}
.im-story-btn--outline {
  background-color: transparent !important;
  color: #4ade80 !important;
  border: 1.5px solid #4ade80 !important;
}
.im-story-btn--outline:hover {
  background-color: #4ade80 !important;
  color: #0f172a !important;
  transform: translateY(-2px) !important;
}

/* 8. FOOTER STYLES */
.im-ft-newsletter {
  background-color: #f8fafc !important;
  border-top: 1px solid #e2e8f0 !important;
  border-bottom: 1px solid #e2e8f0 !important;
  padding: 40px 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
.im-ft-container {
  max-width: 1292px !important;
  margin: 0 auto !important;
  padding: 0 16px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.im-ft-news-box {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 30px !important;
}
@media (max-width: 991px) {
  .im-ft-news-box {
    flex-direction: column !important;
    text-align: center !important;
  }
}
.im-ft-news-text {
  flex: 1 !important;
}
.im-ft-news-tag {
  font-family: 'Outfit', sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 1.2px !important;
  color: #1E3A8A !important;
  text-transform: uppercase !important;
  display: block !important;
  margin-bottom: 6px !important;
}
.im-ft-news-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  color: #103556 !important;
  margin: 0 0 6px 0 !important;
}
.im-ft-news-desc {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  color: #64748b !important;
  margin: 0 !important;
}
.im-ft-news-form-wrap {
  flex: 1 !important;
  max-width: 500px !important;
  width: 100% !important;
}
.im-ft-input-group {
  display: flex !important;
  gap: 8px !important;
}
.im-ft-input {
  flex: 1 !important;
  height: 46px !important;
  background-color: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 9999px !important;
  padding: 8px 18px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  outline: none !important;
}
.im-ft-input:focus {
  border-color: #103556 !important;
}
.im-ft-submit {
  height: 46px !important;
  background-color: #103556 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 9999px !important;
  padding: 0 24px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
  white-space: nowrap !important;
}
.im-ft-submit:hover {
  background-color: #1E3A8A !important;
}
.im-ft-privacy {
  font-size: 11px !important;
  color: #94a3b8 !important;
  margin-top: 8px !important;
}

/* 4-column footer */
.im-ft-main {
  background-color: #ffffff !important;
  padding: 50px 0 40px 0 !important;
}
.im-ft-grid {
  display: grid !important;
  grid-template-columns: 1.4fr 1fr 1fr 1.2fr !important;
  gap: 36px !important;
}
@media (max-width: 991px) {
  .im-ft-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 575px) {
  .im-ft-grid {
    grid-template-columns: 1fr !important;
  }
}
.im-ft-brand {
  font-family: 'Outfit', sans-serif !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  letter-spacing: 1px !important;
  color: #103556 !important;
  margin-bottom: 12px !important;
}
.im-ft-text {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
  color: #64748b !important;
  margin-bottom: 14px !important;
}
.im-ft-locations {
  font-size: 12.5px !important;
  line-height: 1.6 !important;
  color: #475569 !important;
}
.im-ft-loc-item {
  margin: 0 0 6px 0 !important;
}
.im-ft-heading {
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  color: #103556 !important;
  margin: 0 0 16px 0 !important;
}
.im-ft-links {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.im-ft-links li {
  margin-bottom: 10px !important;
}
.im-ft-links a {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  color: #64748b !important;
  text-decoration: none !important;
  transition: color 0.2s ease, transform 0.2s ease !important;
  display: inline-block !important;
}
.im-ft-links a:hover {
  color: #1E3A8A !important;
  transform: translateX(3px) !important;
}
.im-ft-link-highlight {
  color: #1E3A8A !important;
  font-weight: 700 !important;
}
.im-ft-wa-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background-color: #16a34a !important;
  color: #ffffff !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 9px 18px !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  margin-bottom: 14px !important;
  transition: background-color 0.2s ease !important;
}
.im-ft-wa-btn:hover {
  background-color: #15803d !important;
  color: #ffffff !important;
}
.im-ft-contact-detail {
  font-family: 'Outfit', sans-serif !important;
  font-size: 12.5px !important;
  color: #64748b !important;
  line-height: 1.6 !important;
}
.im-ft-contact-detail p {
  margin: 0 0 4px 0 !important;
}

/* Bottom Copyright Bar */
.im-ft-bottom {
  background-color: #f8fafc !important;
  border-top: 1px solid #e2e8f0 !important;
  padding: 18px 0 !important;
}
.im-ft-bottom-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}
@media (max-width: 768px) {
  .im-ft-bottom-row {
    flex-direction: column !important;
    text-align: center !important;
  }
}
.im-ft-copy {
  font-family: 'Outfit', sans-serif !important;
  font-size: 12px !important;
  color: #64748b !important;
}
.im-ft-payments {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}
.im-ft-pay-pill {
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 4px !important;
  padding: 3px 8px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #475569 !important;
}

/* ==========================================================================
   LUXURY CLEAN AUTHENTICATION / LOGIN PAGE (Desktop & Mobile)
   ========================================================================== */
body#authentication,
body#authentication #wrapper,
body#authentication main {
  background-color: #f8fafc !important;
}

body#authentication #wrapper {
  padding-top: 24px !important;
  padding-bottom: 60px !important;
}


body#authentication .page-header,
body#password .page-header,
body.page-password .page-header {
  display: none !important;
}

body#password .page-footer,
body.page-password .page-footer {
  display: none !important;
}

.im-auth-wrapper {
  max-width: 500px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
}

.im-auth-card {
  background-color: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  box-shadow: 0 14px 38px rgba(16, 53, 86, 0.06) !important;
  padding: 38px 32px 30px 32px !important;
  box-sizing: border-box !important;
  transition: box-shadow 0.2s ease !important;
}

@media (max-width: 575px) {
  .im-auth-card {
    padding: 26px 18px 22px 18px !important;
    border-radius: 14px !important;
  }
}

.im-auth-header {
  text-align: center !important;
  margin-bottom: 26px !important;
}

.im-auth-eyebrow {
  display: inline-block !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  color: #103556 !important;
  background-color: #f1f5f9 !important;
  padding: 3px 10px !important;
  border-radius: 20px !important;
  margin-bottom: 10px !important;
}

.im-auth-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 26px !important;
  font-weight: 800 !important;
  color: #103556 !important;
  margin: 0 0 8px 0 !important;
  line-height: 1.25 !important;
}

@media (max-width: 575px) {
  .im-auth-title {
    font-size: 22px !important;
  }
}

.im-auth-subtitle {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  color: #64748b !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}

/* Form Fields inside auth card */
.im-auth-card .mb-3 {
  margin-bottom: 18px !important;
}

.im-auth-card .form-label {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  margin-bottom: 6px !important;
  display: block !important;
}

.im-auth-card .form-control {
  height: 46px !important;
  background-color: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 8px !important;
  padding: 0 14px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  color: #103556 !important;
  box-shadow: none !important;
  outline: none !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.im-auth-card .form-control:focus {
  border-color: #103556 !important;
  box-shadow: 0 0 0 3px rgba(16, 53, 86, 0.08) !important;
  outline: none !important;
}

/* Password field with seamless eye toggle INSIDE the input */
.input-group.password-field,
.im-auth-card .input-group.password-field {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}

.input-group.password-field .form-control,
.im-auth-card .input-group.password-field .form-control {
  display: block !important;
  width: 100% !important;
  height: 46px !important;
  background-color: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 8px !important;
  padding: 0 46px 0 14px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  color: #103556 !important;
  box-shadow: none !important;
  outline: none !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
  box-sizing: border-box !important;
}

.input-group.password-field .form-control:focus,
.im-auth-card .input-group.password-field .form-control:focus {
  border-color: #103556 !important;
  box-shadow: 0 0 0 3px rgba(16, 53, 86, 0.08) !important;
  outline: none !important;
}

.input-group.password-field button[data-ps-action="toggle-password"],
.im-auth-card .input-group.password-field button[data-ps-action="toggle-password"] {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 44px !important;
  height: 46px !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #94a3b8 !important;
  cursor: pointer !important;
  z-index: 5 !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 8px 8px 0 !important;
  transition: color 0.15s ease !important;
}

.input-group.password-field button[data-ps-action="toggle-password"]:hover,
.im-auth-card .input-group.password-field button[data-ps-action="toggle-password"]:hover,
.input-group.password-field button[data-ps-action="toggle-password"]:focus,
.im-auth-card .input-group.password-field button[data-ps-action="toggle-password"]:focus {
  background: transparent !important;
  background-color: transparent !important;
  color: #103556 !important;
  box-shadow: none !important;
  outline: none !important;
}

.input-group.password-field button[data-ps-action="toggle-password"] i,
.input-group.password-field button[data-ps-action="toggle-password"] .material-icons,
.im-auth-card .input-group.password-field button[data-ps-action="toggle-password"] .material-icons,
.input-group.password-field button[data-ps-action="toggle-password"] svg,
.im-auth-card .input-group.password-field button[data-ps-action="toggle-password"] svg {
  font-size: 21px !important;
  line-height: 1 !important;
  color: inherit !important;
  pointer-events: none !important;
  display: inline-block !important;
}

/* Toggle Row for Login (Resta connesso + Forgot Password) */
.im-toggle-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-top: -2px !important;
  margin-bottom: 22px !important;
  flex-wrap: wrap !important;
  user-select: none !important;
}

.im-toggle-switch {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  cursor: pointer !important;
  margin: 0 !important;
  user-select: none !important;
}

.im-toggle-switch input {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  pointer-events: none !important;
}

.im-toggle-slider {
  position: relative !important;
  display: inline-block !important;
  width: 38px !important;
  min-width: 38px !important;
  height: 22px !important;
  background-color: #cbd5e1 !important;
  border-radius: 22px !important;
  transition: background-color 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.2s ease !important;
  flex-shrink: 0 !important;
}

.im-toggle-slider::before {
  content: "" !important;
  position: absolute !important;
  height: 16px !important;
  width: 16px !important;
  left: 3px !important;
  bottom: 3px !important;
  background-color: #ffffff !important;
  border-radius: 50% !important;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.18) !important;
}

.im-toggle-switch input:checked + .im-toggle-slider {
  background-color: #10b981 !important;
}

.im-toggle-switch input:checked + .im-toggle-slider::before {
  transform: translateX(16px) !important;
}

.im-toggle-switch:hover .im-toggle-slider {
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.15) !important;
}

.im-toggle-label {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #475569 !important;
}

/* Forgot password link */
.im-login-forgot-wrap {
  display: flex !important;
  justify-content: flex-end !important;
  margin-top: -6px !important;
  margin-bottom: 20px !important;
}

.im-forgot-link {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #64748b !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}

.im-forgot-link:hover {
  color: #103556 !important;
  text-decoration: underline !important;
}


/* Submit Login Button */
.im-submit-login-btn {
  width: 100% !important;
  height: 48px !important;
  background-color: #103556 !important;
  color: #ffffff !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px !important;
  border: none !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease !important;
  box-shadow: 0 2px 8px rgba(16, 53, 86, 0.12) !important;
}

.im-submit-login-btn:hover {
  background-color: #0A2136 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(16, 53, 86, 0.2) !important;
  transform: translateY(-1px) !important;
}

.im-submit-login-btn:active {
  transform: translateY(0) !important;
}

/* Divider "oppure" */
.im-auth-divider {
  position: relative !important;
  text-align: center !important;
  margin: 28px 0 22px 0 !important;
}

.im-auth-divider::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 0 !important;
  right: 0 !important;
  height: 1px !important;
  background-color: #e2e8f0 !important;
}

.im-auth-divider span {
  position: relative !important;
  background-color: #ffffff !important;
  padding: 0 14px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: #94a3b8 !important;
}

/* Register prompt */
.im-auth-register {
  text-align: center !important;
}

.im-auth-reg-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 15.5px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  margin: 0 0 6px 0 !important;
}

.im-auth-reg-desc {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  color: #64748b !important;
  margin: 0 0 16px 0 !important;
  line-height: 1.45 !important;
}

.im-auth-reg-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 46px !important;
  background-color: transparent !important;
  border: 1.5px solid #103556 !important;
  border-radius: 8px !important;
  color: #103556 !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
}

.im-auth-reg-btn:hover {
  background-color: #103556 !important;
  color: #ffffff !important;
}

/* Bottom trust strip inside card */
.im-auth-trust-strip {
  display: flex !important;
  align-items: center !important;
  justify-content: space-around !important;
  gap: 12px !important;
  margin-top: 26px !important;
  padding-top: 20px !important;
  border-top: 1px solid #f1f5f9 !important;
  flex-wrap: wrap !important;
}

.im-auth-trust-item {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: #64748b !important;
}

.im-auth-card .alert {
  border-radius: 8px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  margin-bottom: 20px !important;
}

.im-auth-back-wrap {
  margin: 10px 0 15px 0 !important;
}

.im-auth-back-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  padding: 6px 14px !important;
  border-radius: 8px !important;
}

.im-auth-back-link:hover {
  background-color: #f1f5f9 !important;
  color: #0b253d !important;
}

.im-auth-success-circle {
  width: 60px !important;
  height: 60px !important;
  border-radius: 50% !important;
  background-color: #ecfdf5 !important;
  border: 2px solid #a7f3d0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 16px auto !important;
}

.im-auth-info-tip {
  background-color: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  padding: 12px 16px !important;
}

/* Registration / Customer Form Luxury Styling */
.im-reg-wrapper {
  max-width: 580px !important;
}

/* Native Birthday Calendar Input & Desktop Luxury Calendar Component */
@media (min-width: 769px) {
  .im-birthday-desktop-wrapper {
    display: block !important;
    position: relative !important;
    width: 100% !important;
  }
  .im-birthday-mobile-wrapper {
    display: none !important;
  }
  .im-desktop-hint {
    display: inline !important;
  }
  .im-mobile-hint {
    display: none !important;
  }
}

@media (max-width: 768px) {
  .im-birthday-desktop-wrapper {
    display: none !important;
  }
  .im-birthday-mobile-wrapper {
    display: block !important;
    width: 100% !important;
  }
  .im-desktop-hint {
    display: none !important;
  }
  .im-mobile-hint {
    display: inline !important;
  }
}

/* Desktop Seamless Birthday Input Box (Matches 100% width and style of Nome, Cognome, Email, Password) */
.im-birthday-input-box {
  position: relative !important;
  width: 100% !important;
  display: block !important;
}

.im-birthday-input-box .im-birthday-input {
  width: 100% !important;
  border-radius: 8px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  letter-spacing: 0.5px !important;
  background-color: #ffffff !important;
  padding-right: 42px !important;
  cursor: pointer !important;
}

.im-birthday-calendar-icon {
  position: absolute !important;
  right: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  color: #103556 !important;
  transition: opacity 0.2s ease, transform 0.2s ease !important;
  z-index: 3 !important;
  pointer-events: auto !important;
}

.im-birthday-calendar-icon:hover {
  transform: translateY(-50%) scale(1.15) !important;
}

/* Desktop Calendar Dropdown Popup (Auto-confirms on Day click) */
.im-bday-popup {
  position: absolute !important;
  top: calc(100% + 6px) !important;
  left: 0 !important;
  width: 310px !important;
  max-width: 100% !important;
  background: #ffffff !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 32px rgba(16, 53, 86, 0.16), 0 2px 6px rgba(0, 0, 0, 0.04) !important;
  padding: 14px !important;
  z-index: 1050 !important;
  font-family: 'Outfit', sans-serif !important;
  animation: imFadeDown 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

@keyframes imFadeDown {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}

.im-bday-popup-header {
  margin-bottom: 10px !important;
}

.im-bday-selects {
  display: flex !important;
  gap: 8px !important;
}

.im-bday-select {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #103556 !important;
  background-color: #f8fafc !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 8px !important;
  padding: 6px 10px !important;
  cursor: pointer !important;
  transition: border-color 0.2s ease !important;
}

#im-bday-month-select {
  flex: 1.3 !important;
}

#im-bday-year-select {
  flex: 1 !important;
}

.im-bday-select:focus {
  border-color: #103556 !important;
  box-shadow: 0 0 0 2px rgba(16, 53, 86, 0.1) !important;
  outline: none !important;
}

.im-bday-weekdays {
  display: grid !important;
  grid-template-columns: repeat(7, 1fr) !important;
  text-align: center !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #64748b !important;
  margin-bottom: 6px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

.im-bday-grid {
  display: grid !important;
  grid-template-columns: repeat(7, 1fr) !important;
  gap: 3px !important;
}

.im-bday-day {
  height: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #1e293b !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  user-select: none !important;
}

.im-bday-day:hover:not(.im-day-disabled):not(.im-day-empty) {
  background-color: #e0f2fe !important;
  color: #0369a1 !important;
  font-weight: 700 !important;
  transform: scale(1.05) !important;
}

.im-bday-day.im-day-selected {
  background-color: #103556 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 6px rgba(16, 53, 86, 0.3) !important;
}

.im-bday-day.im-day-disabled {
  color: #cbd5e1 !important;
  opacity: 0.35 !important;
  cursor: not-allowed !important;
}

.im-bday-day.im-day-empty {
  cursor: default !important;
}

/* Mobile Native Date Input */
input[type="date"] {
  position: relative !important;
  cursor: pointer !important;
  font-family: 'Outfit', sans-serif !important;
  color: #103556 !important;
  font-size: 14px !important;
  letter-spacing: 0.5px !important;
  background-color: #ffffff !important;
}

input[type="date"]::-webkit-calendar-picker-indicator {
  cursor: pointer !important;
  opacity: 0.75 !important;
  transition: opacity 0.2s ease, transform 0.2s ease !important;
  padding: 4px !important;
  margin-right: 4px !important;
}

input[type="date"]::-webkit-calendar-picker-indicator:hover {
  opacity: 1 !important;
  transform: scale(1.15) !important;
}

.im-birthday-hint {
  font-family: 'Outfit', sans-serif !important;
  font-size: 12px !important;
  color: #64748b !important;
  margin-top: 4px !important;
}


/* Radio button pills for id_gender (Titolo sociale) */
.im-auth-card .form-check-inline {
  display: inline-flex !important;
  align-items: center !important;
  background: #f8fafc !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 20px !important;
  padding: 6px 16px !important;
  margin-right: 10px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.im-auth-card .form-check-inline:hover {
  border-color: #cbd5e1 !important;
  background: #f1f5f9 !important;
}

.im-auth-card .form-check-inline:has(.form-check-input:checked) {
  background: #103556 !important;
  border-color: #103556 !important;
}

.im-auth-card .form-check-inline .form-check-input {
  display: none !important;
}

.im-auth-card .form-check-inline .form-check-label {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #475569 !important;
  margin: 0 !important;
  cursor: pointer !important;
}

.im-auth-card .form-check-inline:has(.form-check-input:checked) .form-check-label {
  color: #ffffff !important;
}

/* Modern iOS toggle switches for confirmation & privacy */
.im-auth-card .form-check:not(.form-check-inline) {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  background-color: #f8fafc !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  margin-bottom: 12px !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
}

.im-auth-card .form-check:not(.form-check-inline):hover {
  border-color: #cbd5e1 !important;
  background-color: #f1f5f9 !important;
}

.im-auth-card .form-check:not(.form-check-inline):has(.form-check-input:checked) {
  border-color: #10b981 !important;
  background-color: #f0fdf4 !important;
}

.im-auth-card .form-check:not(.form-check-inline) .form-check-input {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 40px !important;
  min-width: 40px !important;
  height: 22px !important;
  background-color: #cbd5e1 !important;
  background-image: none !important;
  border-radius: 20px !important;
  position: relative !important;
  cursor: pointer !important;
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
  transition: background-color 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  margin: 2px 0 0 0 !important;
  float: none !important;
}

.im-auth-card .form-check:not(.form-check-inline) .form-check-input::before {
  content: "" !important;
  position: absolute !important;
  top: 2px !important;
  left: 2px !important;
  width: 18px !important;
  height: 18px !important;
  background-color: #ffffff !important;
  border-radius: 50% !important;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;
}

.im-auth-card .form-check:not(.form-check-inline) .form-check-input:checked {
  background-color: #10b981 !important;
  background-image: none !important;
}

.im-auth-card .form-check:not(.form-check-inline) .form-check-input:focus,
.im-auth-card .form-check:not(.form-check-inline) .form-check-input:active {
  background-image: none !important;
  box-shadow: none !important;
}

.im-auth-card .form-check:not(.form-check-inline) .form-check-input::after {
  display: none !important;
  content: none !important;
}

.im-auth-card .form-check:not(.form-check-inline) .form-check-input:checked::before {
  transform: translateX(18px) !important;
}

.im-auth-card .form-check:not(.form-check-inline) .form-check-label {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  color: #334155 !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  margin: 0 !important;
}

.im-auth-card .form-check:not(.form-check-inline) .form-check-label a {
  color: #103556 !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
}

/* Hide duplicate customer_privacy container */
.im-auth-card .mb-3:has(#field-customer_privacy) {
  display: none !important;
}

/* Submit button in customer form */
.im-auth-card .form-control-submit {
  width: 100% !important;
  height: 48px !important;
  background-color: #103556 !important;
  color: #ffffff !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 8px rgba(16, 53, 86, 0.12) !important;
}

.im-auth-card .form-control-submit:hover {
  background-color: #0A2136 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(16, 53, 86, 0.2) !important;
  transform: translateY(-1px) !important;
}



/* ==========================================================================
   LUXURY SLIDE-IN CART DRAWER (Desktop & Mobile) — Snappy 60FPS Ultra-Fluid
   ========================================================================== */
.im-cart-drawer {
  font-family: 'Outfit', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 9999999 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  overflow: hidden !important;
  transition: visibility 0s linear 0.35s !important;
}

.im-cart-drawer.is-open {
  visibility: visible !important;
  pointer-events: auto !important;
  transition-delay: 0s !important;
}

.im-cart-drawer-backdrop {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-color: rgba(15, 23, 42, 0.45) !important;
  backdrop-filter: blur(3px) !important;
  -webkit-backdrop-filter: blur(3px) !important;
  opacity: 0 !important;
  transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
  will-change: opacity !important;
  pointer-events: none !important;
}

.im-cart-drawer.is-open .im-cart-drawer-backdrop {
  opacity: 1 !important;
  pointer-events: auto !important;
}

.im-cart-drawer-panel {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  max-width: 440px !important;
  height: 100% !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  background-color: #ffffff !important;
  box-shadow: -10px 0 40px rgba(16, 53, 86, 0.16) !important;
  display: flex !important;
  flex-direction: column !important;
  transform: translate3d(100%, 0, 0) !important;
  transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1) !important;
  will-change: transform !important;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
  z-index: 2 !important;
  overscroll-behavior: contain !important;
}

.im-cart-drawer.is-open .im-cart-drawer-panel {
  transform: translate3d(0, 0, 0) !important;
}

/* Drawer Header */
.im-cart-drawer-header {
  flex-shrink: 0 !important;
  padding: 18px 22px !important;
  border-bottom: 1px solid #f1f5f9 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background-color: #ffffff !important;
}

.im-cart-drawer-title-group {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: #103556 !important;
}

.im-cart-drawer-heading {
  font-family: 'Outfit', sans-serif !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  color: #103556 !important;
  margin: 0 !important;
}

.im-cart-drawer-pill {
  font-family: 'Outfit', sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  background-color: #f1f5f9 !important;
  color: #103556 !important;
  padding: 3px 8px !important;
  border-radius: 12px !important;
}

.im-cart-drawer-close {
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  border: 1px solid #e2e8f0 !important;
  background: #ffffff !important;
  color: #64748b !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
}

.im-cart-drawer-close:hover {
  background-color: #f8fafc !important;
  color: #103556 !important;
  border-color: #cbd5e1 !important;
}

/* Free Shipping Notice */
.im-cart-drawer-shipping {
  flex-shrink: 0 !important;
  background-color: #f8fafc !important;
  border-bottom: 1px solid #e2e8f0 !important;
  padding: 12px 22px !important;
}

.im-cart-shipping-msg {
  font-family: 'Outfit', sans-serif !important;
  font-size: 12.5px !important;
  color: #334155 !important;
  margin-bottom: 8px !important;
  line-height: 1.4 !important;
}

.im-cart-shipping-msg strong {
  color: #103556 !important;
}

.im-shipping-achieved {
  color: #16a34a !important;
  font-weight: 700 !important;
}

.im-cart-shipping-bar {
  width: 100% !important;
  height: 6px !important;
  background-color: #e2e8f0 !important;
  border-radius: 9999px !important;
  overflow: hidden !important;
}

.im-cart-shipping-progress {
  height: 100% !important;
  background-color: #103556 !important;
  border-radius: 9999px !important;
  transition: width 0.4s ease !important;
}

/* Drawer Body */
.im-cart-drawer-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  touch-action: pan-y !important;
  overscroll-behavior: contain !important;
  overscroll-behavior-y: contain !important;
  padding: 18px 22px !important;
}

.im-cart-drawer-empty {
  text-align: center !important;
  padding: 50px 20px !important;
}

.im-cart-empty-circle {
  width: 72px !important;
  height: 72px !important;
  border-radius: 50% !important;
  background-color: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 18px !important;
}

.im-cart-empty-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #103556 !important;
  margin-bottom: 8px !important;
}

.im-cart-empty-desc {
  font-size: 13px !important;
  color: #64748b !important;
  line-height: 1.5 !important;
  margin-bottom: 22px !important;
}

.im-cart-empty-cta {
  display: inline-block !important;
  padding: 12px 24px !important;
  background-color: #103556 !important;
  color: #ffffff !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  transition: background-color 0.15s ease !important;
}

.im-cart-empty-cta:hover {
  background-color: #1E3A8A !important;
  color: #ffffff !important;
}

.im-cart-drawer-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

.im-cart-drawer-item {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid #f1f5f9 !important;
  position: relative !important;
}

.im-drawer-item-img-wrap {
  width: 72px !important;
  height: 72px !important;
  min-width: 72px !important;
  max-width: 72px !important;
  min-height: 72px !important;
  max-height: 72px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  border: 1px solid #e2e8f0 !important;
  background: #f8fafc !important;
  flex: 0 0 72px !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: flex-start !important;
  box-sizing: border-box !important;
  position: relative !important;
}

.im-drawer-item-img {
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  aspect-ratio: 1 / 1 !important;
}

.im-drawer-item-details {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.im-drawer-item-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  text-decoration: none !important;
  line-height: 1.3 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  margin-bottom: 4px !important;
  transition: color 0.15s ease !important;
}

.im-drawer-item-title:hover {
  color: #1E3A8A !important;
}

.im-drawer-item-attrs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  margin-bottom: 6px !important;
}

.im-drawer-item-attr {
  font-size: 11px !important;
  color: #64748b !important;
  background-color: #f1f5f9 !important;
  padding: 1px 6px !important;
  border-radius: 4px !important;
}

.im-drawer-item-meta {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.im-drawer-item-qty {
  font-size: 12px !important;
  color: #64748b !important;
}

.im-drawer-item-qty strong {
  color: #103556 !important;
}

.im-drawer-item-price {
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  color: #103556 !important;
  font-variant-numeric: tabular-nums !important;
  white-space: nowrap !important;
}

.im-drawer-item-remove {
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  color: #94a3b8 !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  flex-shrink: 0 !important;
}

.im-drawer-item-remove:hover {
  background-color: #fee2e2 !important;
  border-color: #fecdd3 !important;
  color: #ef4444 !important;
}

/* Drawer Footer */
.im-cart-drawer-footer {
  flex-shrink: 0 !important;
  padding: 18px 22px !important;
  padding-bottom: max(18px, env(safe-area-inset-bottom, 18px)) !important;
  border-top: 1px solid #f1f5f9 !important;
  background-color: #ffffff !important;
}

.im-drawer-subtotal-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 4px !important;
}

.im-drawer-subtotal-label {
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #64748b !important;
}

.im-drawer-subtotal-val {
  font-family: 'Outfit', sans-serif !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  color: #103556 !important;
  font-variant-numeric: tabular-nums !important;
  white-space: nowrap !important;
}

.im-drawer-shipping-hint {
  font-size: 11.5px !important;
  color: #94a3b8 !important;
  margin: 0 0 16px 0 !important;
}

.im-drawer-actions {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin-bottom: 16px !important;
}

.im-drawer-checkout-btn {
  height: 48px !important;
  background-color: #103556 !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 4px 14px rgba(16, 53, 86, 0.16) !important;
}

.im-drawer-checkout-btn:hover {
  background-color: #1E3A8A !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

.im-drawer-viewcart-btn {
  height: 42px !important;
  background-color: transparent !important;
  color: #103556 !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 8px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.15s ease !important;
}

.im-drawer-viewcart-btn:hover {
  border-color: #103556 !important;
  background-color: #f8fafc !important;
  color: #103556 !important;
}

.im-drawer-trust-strip {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding-top: 12px !important;
  border-top: 1px solid #f1f5f9 !important;
}

.im-drawer-trust-pill {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-size: 11px !important;
  color: #64748b !important;
  font-weight: 600 !important;
}

@media (max-width: 575.98px) {
  .im-cart-drawer-panel {
    width: 100% !important;
    max-width: 100% !important;
  }
  .im-cart-drawer-header {
    padding: 16px 18px !important;
  }
  .im-cart-drawer-shipping {
    padding: 10px 18px 12px 18px !important;
  }
  .im-cart-drawer-body {
    padding: 14px 16px !important;
    min-height: 0 !important;
  }
  .im-cart-drawer-footer {
    padding: 14px 16px max(16px, env(safe-area-inset-bottom, 16px)) 16px !important;
    flex-shrink: 0 !important;
  }
  .im-drawer-item {
    padding: 12px 0 !important;
    gap: 12px !important;
  }
  .im-drawer-item-img-wrap {
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    aspect-ratio: 1 / 1 !important;
    flex: 0 0 64px !important;
    border-radius: 8px !important;
  }
  .im-drawer-trust-strip {
    gap: 8px !important;
  }
  .im-drawer-trust-pill {
    font-size: 10px !important;
  }
}

/* ==========================================================================
   LUXURY CLEAN CART PAGE (http://prestashop.test/carrello)
   ========================================================================== */
html:has(body#cart),
body#cart,
body#cart #wrapper,
body#cart main,
body#cart .columns-container,
body#cart #center-column {
  background-color: #f8fafc !important;
  scrollbar-gutter: auto !important;
}

body#cart #wrapper {
  padding-top: 24px !important;
  padding-bottom: 60px !important;
}

body#cart .breadcrumb {
  margin-bottom: 20px !important;
}

/* Restrain cart container to balanced luxury width (1140px) on desktop */
body#cart .columns-container,
body#cart .columns-container.container,
body#cart #wrapper .container {
  max-width: 1140px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  width: 100% !important;
}

body#cart #center-column {
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Main Grid & Columns: Balanced luxury proportions */
@media (min-width: 992px) {
  body#cart .cart-grid.row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 340px !important;
    gap: 24px !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
  body#cart .cart-grid__content,
  body#cart .cart-grid__aside {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

@media (max-width: 991.98px) {
  body#cart .cart-grid.row {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
  body#cart .cart-grid__content,
  body#cart .cart-grid__aside {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body#cart .cart-grid__aside-wrapper {
    position: static !important;
    top: auto !important;
  }
}

/* Single Luxury Outer Card for Cart Products (NO Nested Border) */
body#cart .cart-grid__content {
  background-color: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  padding: 24px 22px !important;
  box-shadow: 0 4px 20px rgba(16, 53, 86, 0.04) !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
}

body#cart .cart-grid__products-details {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  width: 100% !important;
  max-width: 100% !important;
}

body#cart .page-header {
  margin-bottom: 20px !important;
  border-bottom: 1px solid #f1f5f9 !important;
  padding-bottom: 14px !important;
}

body#cart .page-header h1,
body#cart .page-header .h1 {
  font-family: 'Outfit', sans-serif !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  color: #103556 !important;
  letter-spacing: -0.01em !important;
  margin: 0 !important;
}

/* Empty Cart State */
body#cart .im-cart-empty-box {
  text-align: center !important;
  padding: 40px 20px 30px 20px !important;
}

body#cart .im-cart-empty-icon {
  width: 76px !important;
  height: 76px !important;
  border-radius: 50% !important;
  background-color: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 18px !important;
}

body#cart .im-cart-empty-heading {
  font-family: 'Outfit', sans-serif !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #103556 !important;
  margin-bottom: 8px !important;
}

body#cart .im-cart-empty-sub {
  font-size: 14px !important;
  color: #64748b !important;
  line-height: 1.6 !important;
  max-width: 460px !important;
  margin: 0 auto 24px auto !important;
}

body#cart .cart__overview hr {
  display: none !important;
}

body#cart .cart__continue-shopping {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 13px 28px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  border: 1.5px solid #103556 !important;
  background-color: transparent !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

body#cart .cart__continue-shopping:hover {
  background-color: #103556 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

/* Product list inside cart */
body#cart .cart__list {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
}

body#cart .cart__item {
  padding-bottom: 20px !important;
  border-bottom: 1px solid #f1f5f9 !important;
}

body#cart .cart__item:last-child {
  border-bottom: none !important;
}

/* Note: Product-line styles are defined in the unified section CARRELLO: LAYOUT MODERNO PRODOTTO */


/* Aside: Order Summary Card */
body#cart .cart-grid__aside-wrapper {
  background-color: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  padding: 26px 22px !important;
  box-shadow: 0 4px 20px rgba(16, 53, 86, 0.04) !important;
  box-sizing: border-box !important;
}

@media (min-width: 992px) {
  body#cart .cart-grid__aside-wrapper {
    position: sticky !important;
    top: 110px !important;
    z-index: 10 !important;
  }
}

body#cart .cart-grid__aside-wrapper h2 {
  font-family: 'Outfit', sans-serif !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  color: #103556 !important;
  margin: 0 0 16px 0 !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid #f1f5f9 !important;
}

body#cart .cart-summary__totals,
body#cart .cart-summary__subtotals,
body#cart .cart-summary__total,
body#cart .js-cart-summary-totals {
  border: none !important;
  border-block: none !important;
  border-top: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  padding-block: 0 !important;
  margin: 0 !important;
}

body#cart .cart-summary__line {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 7px 0 !important;
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  color: #475569 !important;
}

body#cart .cart-summary__line--bold {
  font-weight: 700 !important;
  border-top: 1px solid #e2e8f0 !important;
  border-bottom: none !important;
  padding-top: 14px !important;
  padding-bottom: 4px !important;
  margin-top: 8px !important;
}

body#cart .cart-summary__line--bold .cart-summary__label {
  font-size: 15.5px !important;
  color: #103556 !important;
  font-weight: 800 !important;
}

body#cart .cart-summary__line--bold .cart-summary__value {
  font-size: 20px !important;
  color: #103556 !important;
  font-weight: 800 !important;
}

/* Proceed to checkout button */
body#cart .cart-summary__actions .btn-primary {
  height: 50px !important;
  background-color: #103556 !important;
  border: none !important;
  border-radius: 10px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(16, 53, 86, 0.16) !important;
  transition: all 0.2s ease !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
}

body#cart .cart-summary__actions .btn-primary:not(:disabled):hover {
  background-color: #1E3A8A !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

body#cart .cart-summary__actions .btn-primary.disabled,
body#cart .cart-summary__actions .btn-primary:disabled {
  background-color: #e2e8f0 !important;
  color: #94a3b8 !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
}

/* Hide reassurance and coupon code specifically on cart page (available in checkout) */
body#cart .cart-grid__aside-wrapper hr,
body#cart .blockreassurance_product,
body#cart #block-reassurance,
body#cart .reassurance,
body#cart .cart-voucher,
body#cart .im-cart-voucher,
body#cart .cart-summary__voucher {
  display: none !important;
}

body#cart .reassurance__image {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  border-radius: 50% !important;
  background-color: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body#cart .reassurance__image svg,
body#cart .reassurance__image img {
  width: 20px !important;
  height: 20px !important;
  filter: none !important;
}

body#cart .reassurance__image svg path {
  fill: #103556 !important;
  stroke: #103556 !important;
}

body#cart .reassurance__title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #103556 !important;
}

body#cart .reassurance__desc {
  font-family: 'Outfit', sans-serif !important;
  font-size: 12px !important;
  color: #64748b !important;
  line-height: 1.4 !important;
}

/* Cross-selling products footer */
body#cart .cart-grid__footer {
  margin-top: 40px !important;
}

body#cart .cart-grid__footer h2,
body#cart .cart-grid__footer h3 {
  font-family: 'Outfit', sans-serif !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  color: #103556 !important;
  margin-bottom: 24px !important;
}

@media (max-width: 991px) {
  body#cart .cart-grid__content,
  body#cart .cart-grid__aside-wrapper {
    padding: 22px 18px !important;
    border-radius: 14px !important;
  }
}

/* ==========================================================================
   LUXURY CLEAN 404 ERROR PAGE (body#pagenotfound)
   ========================================================================== */
body#pagenotfound,
body#pagenotfound #wrapper,
body#pagenotfound main {
  background-color: #f8fafc !important;
}

body#pagenotfound #wrapper {
  padding-top: 36px !important;
  padding-bottom: 60px !important;
}

body#pagenotfound .breadcrumb,
body#pagenotfound .page-header {
  display: none !important;
}

.im-404-wrapper {
  max-width: 720px !important;
  margin: 0 auto !important;
  padding: 0 16px !important;
}

.im-404-card {
  background-color: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 20px !important;
  padding: 44px 38px 36px 38px !important;
  box-shadow: 0 10px 40px rgba(16, 53, 86, 0.05) !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

/* Badge Pill */
.im-404-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 5px 14px !important;
  background-color: #f1f5f9 !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 20px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: #103556 !important;
  margin-bottom: 18px !important;
}

.im-404-badge-dot {
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background-color: #ef4444 !important;
  display: inline-block !important;
}

/* Big Clean 404 Number */
.im-404-num-wrap {
  margin-bottom: 8px !important;
  line-height: 1 !important;
}

.im-404-num {
  font-family: 'Outfit', sans-serif !important;
  font-size: 88px !important;
  font-weight: 900 !important;
  color: #103556 !important;
  letter-spacing: -0.04em !important;
  line-height: 1 !important;
  display: inline-block !important;
}

/* Title & Description */
.im-404-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 23px !important;
  font-weight: 800 !important;
  color: #103556 !important;
  margin: 0 0 10px 0 !important;
  line-height: 1.35 !important;
}

.im-404-desc {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  color: #64748b !important;
  line-height: 1.6 !important;
  max-width: 520px !important;
  margin: 0 auto 26px auto !important;
}

/* Contextual Search Form */
.im-404-search-box {
  width: 100% !important;
  max-width: 520px !important;
  margin: 0 auto 26px auto !important;
  position: relative !important;
}

.im-404-search-form {
  width: 100% !important;
  margin: 0 !important;
}

.im-404-search-input-wrap {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  background-color: #FFFFFF !important;
  border: 1.5px solid #CBD5E1 !important;
  border-radius: 14px !important;
  padding: 4px 6px 4px 16px !important;
  height: 50px !important;
  gap: 10px !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-shadow: 0 2px 8px rgba(16, 53, 86, 0.04) !important;
  box-sizing: border-box !important;
}

.im-404-search-input-wrap:focus-within {
  background-color: #FFFFFF !important;
  border-color: #103556 !important;
  box-shadow: 0 0 0 3px rgba(16, 53, 86, 0.08), 0 4px 14px rgba(16, 53, 86, 0.06) !important;
}

.im-404-search-icon {
  color: #103556 !important;
  stroke: #103556 !important;
  flex-shrink: 0 !important;
}

.im-404-search-input {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  border: none !important;
  outline: none !important;
  background: transparent !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  color: #103556 !important;
  padding: 0 4px !important;
  box-shadow: none !important;
}

.im-404-search-input::placeholder {
  color: #94A3B8 !important;
  font-size: 13.5px !important;
}

.im-404-search-btn {
  height: 40px !important;
  padding: 0 18px !important;
  background-color: #103556 !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 10px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  box-shadow: 0 2px 6px rgba(16, 53, 86, 0.12) !important;
}

.im-404-search-btn:hover {
  background-color: #0A2136 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(16, 53, 86, 0.2) !important;
}

/* Quick Categories */
.im-404-categories {
  margin-bottom: 24px !important;
}

.im-404-cat-label {
  display: block !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #94a3b8 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin-bottom: 12px !important;
}

.im-404-cat-pills {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.im-404-cat-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 7px 14px !important;
  background-color: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 20px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: #103556 !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
}

.im-404-cat-pill svg {
  color: #64748b !important;
  transition: color 0.15s ease !important;
}

.im-404-cat-pill:hover {
  background-color: #103556 !important;
  border-color: #103556 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(16, 53, 86, 0.12) !important;
}

.im-404-cat-pill:hover svg {
  color: #ffffff !important;
}

.im-404-cat-pill--outlet {
  background-color: #fff1f2 !important;
  border-color: #fecdd3 !important;
  color: #be123c !important;
}

.im-404-cat-pill--outlet:hover {
  background-color: #be123c !important;
  border-color: #be123c !important;
  color: #ffffff !important;
}

/* Divider */
.im-404-divider {
  height: 1px !important;
  background-color: #f1f5f9 !important;
  margin: 0 0 24px 0 !important;
}

/* CTAs */
.im-404-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

.im-404-btn {
  height: 48px !important;
  border-radius: 8px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  padding: 0 26px !important;
}

.im-404-btn--primary {
  background-color: #103556 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(16, 53, 86, 0.16) !important;
}

.im-404-btn--primary:hover {
  background-color: #1E3A8A !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

.im-404-btn--secondary {
  background-color: transparent !important;
  color: #103556 !important;
  border: 1.5px solid #cbd5e1 !important;
}

.im-404-btn--secondary:hover {
  background-color: #f8fafc !important;
  border-color: #103556 !important;
  color: #103556 !important;
  transform: translateY(-1px) !important;
}

/* Trust Strip */
.im-404-trust-strip {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 22px !important;
  margin-top: 24px !important;
  padding-top: 20px !important;
  border-top: 1px solid #f1f5f9 !important;
}

.im-404-trust-item {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #64748b !important;
}

/* Mobile Responsive */
@media (max-width: 575.98px) {
  .im-404-card {
    padding: 30px 18px 26px 18px !important;
    border-radius: 16px !important;
  }
  .im-404-num {
    font-size: 64px !important;
  }
  .im-404-title {
    font-size: 19px !important;
  }
  .im-404-desc {
    font-size: 13px !important;
    margin-bottom: 20px !important;
  }
  .im-404-search-box {
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 22px !important;
  }
  .im-404-search-input-wrap {
    flex-direction: row !important;
    padding: 4px 6px 4px 12px !important;
    height: 46px !important;
    gap: 8px !important;
    border-radius: 12px !important;
    background-color: #FFFFFF !important;
  }
  .im-404-search-icon {
    width: 16px !important;
    height: 16px !important;
    color: #103556 !important;
    stroke: #103556 !important;
    flex-shrink: 0 !important;
  }
  .im-404-search-input {
    width: auto !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    font-size: 13px !important;
    text-align: left !important;
    padding: 0 4px !important;
  }
  .im-404-search-input::placeholder {
    font-size: 12.5px !important;
    color: #94A3B8 !important;
  }
  .im-404-search-btn {
    width: auto !important;
    height: 38px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
  }
  .im-404-actions {
    flex-direction: column !important;
    width: 100% !important;
  }
  .im-404-btn {
    width: 100% !important;
  }
  .im-404-trust-strip {
    flex-direction: column !important;
    gap: 10px !important;
  }
}

/* ==========================================================================
   ITALIA MAGAZZINI - LUXURY CONTACT PAGE (/contattaci)
   ========================================================================== */


.im-contact-wrapper {
  max-width: 1200px !important;
  margin: 0 auto 3rem auto !important;
  padding: 0 15px !important;
}

/* Hero Header */
.im-contact-hero {
  margin-bottom: 2.5rem;
}
.im-contact-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #103556;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  padding: 6px 16px;
  border-radius: 30px;
  margin-bottom: 14px;
}
.im-contact-title {
  font-size: 34px;
  font-weight: 800;
  color: #103556;
  letter-spacing: -0.6px;
  margin: 0 0 10px 0;
  line-height: 1.25;
}
.im-contact-desc {
  max-width: 620px;
  margin: 0 auto;
  font-size: 15px;
  color: #64748b;
  line-height: 1.6;
}

/* Mobile Quick Actions Bar */
.im-contact-quick-actions {
  margin-top: 1.25rem;
}
.im-quick-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  border-radius: 30px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.im-quick-btn:hover {
  transform: translateY(-2px);
}
.im-quick-wa {
  background: #25D366;
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(37, 211, 102, 0.35);
}
.im-quick-tel {
  background: #103556;
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(16, 53, 86, 0.3);
}

/* Support Cards (Left Column) */
.im-support-cards {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.im-support-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 22px;
  box-shadow: 0 2px 8px rgba(16, 53, 86, 0.03);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.im-support-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(16, 53, 86, 0.07);
}
.im-card-wa {
  border-left: 4px solid #25D366 !important;
  background: linear-gradient(180deg, #ffffff 0%, #f7fdf9 100%);
}
.im-support-card-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.im-card-icon {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.im-icon-wa {
  background: #e8f9ee;
  color: #25D366;
}
.im-icon-tel {
  background: #e8f0f8;
  color: #103556;
}
.im-icon-pin {
  background: #fef2f2;
  color: #ef4444;
}
.im-icon-mail {
  background: #eff6ff;
  color: #3b82f6;
}
.im-card-tag {
  display: block;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #94a3b8;
  line-height: 1;
  margin-bottom: 4px;
}
.im-card-title {
  font-size: 16px;
  font-weight: 700;
  color: #103556;
  margin: 0;
  line-height: 1.2;
}
.im-card-desc {
  font-size: 13px;
  color: #64748b;
  line-height: 1.5;
  margin: 0 0 14px 0;
}
.im-card-action {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none !important;
  transition: gap 0.2s ease;
}
.im-card-action:hover {
  gap: 10px;
}
.im-action-wa {
  color: #16a34a !important;
}

/* Phone & Hours */
.im-card-phone-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
.im-phone-link {
  font-size: 16px;
  font-weight: 800;
  color: #103556;
  text-decoration: none !important;
  transition: color 0.2s ease;
}
.im-phone-link:hover {
  color: #2563eb;
}
.im-phone-sep {
  color: #cbd5e1;
  font-weight: 300;
}
.im-hours-box {
  background: #f8fafc;
  border: 1px solid #f1f5f9;
  border-radius: 10px;
  padding: 10px 14px;
  font-size: 12px;
}
.im-hours-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4px;
}
.im-hours-row:last-child {
  margin-bottom: 0;
}
.im-hours-day {
  font-weight: 600;
  color: #475569;
}
.im-hours-time {
  font-weight: 700;
  color: #103556;
}
.im-hours-closed .im-hours-time {
  color: #94a3b8;
  font-weight: 500;
  font-style: italic;
}

/* Store Address */
.im-card-address {
  font-style: normal;
  font-size: 13px;
  line-height: 1.6;
  color: #475569;
  margin: 0 0 14px 0;
}
.im-card-address strong {
  color: #103556;
  font-weight: 700;
}
.im-card-map-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  background: #f1f5f9;
  color: #103556 !important;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none !important;
  transition: all 0.2s ease;
}
.im-card-map-btn:hover {
  background: #103556;
  color: #ffffff !important;
}

/* Email */
.im-mini-label {
  font-size: 11px;
  color: #64748b;
  font-weight: 500;
}
.im-email-link {
  font-size: 14px;
  font-weight: 700;
  color: #103556;
  text-decoration: none !important;
}
.im-email-link:hover {
  color: #2563eb;
  text-decoration: underline !important;
}
.im-email-pec {
  font-size: 13px;
  font-weight: 600;
  color: #475569;
  text-decoration: none !important;
}
.im-email-pec:hover {
  color: #103556;
  text-decoration: underline !important;
}

/* Trust Assurances Card */
.im-support-assurances {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 18px;
}
.im-assurance-item {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}
.im-assurance-item:last-child {
  margin-bottom: 0;
}
.im-assurance-icon {
  font-size: 16px;
  line-height: 1;
}
.im-assurance-text {
  font-size: 12px;
  font-weight: 600;
  color: #475569;
}

/* ========================================
   Contact Form Card (Right Column)
   ======================================== */
.im-contact-form-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 36px;
  box-shadow: 0 4px 20px rgba(16, 53, 86, 0.04);
}
.im-form-card-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid #f1f5f9;
}
.im-form-header-icon {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  background: #e8f0f8;
  color: #103556;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.im-form-badge {
  display: block;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #94a3b8;
  line-height: 1;
  margin-bottom: 4px;
}
.im-form-title {
  font-size: 22px;
  font-weight: 800;
  color: #103556;
  margin: 0 0 4px 0;
  line-height: 1.25;
}
.im-form-subtitle {
  font-size: 13px;
  color: #64748b;
  margin: 0;
}

/* Field Groups */
.im-field-group {
  margin-bottom: 20px;
}
.im-field-label {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 8px;
}
.im-required {
  color: #ef4444;
}
.im-optional {
  font-size: 12px;
  font-weight: 400;
  color: #94a3b8;
}

/* Form Inputs & Selects */
.im-form-input,
.im-form-select,
.im-form-textarea {
  width: 100% !important;
  padding: 12px 16px !important;
  font-size: 14px !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 10px !important;
  background-color: #ffffff !important;
  color: #1e293b !important;
  outline: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}
.im-form-input:focus,
.im-form-select:focus,
.im-form-textarea:focus {
  border-color: #103556 !important;
  box-shadow: 0 0 0 3px rgba(16, 53, 86, 0.12) !important;
}
.im-form-input::placeholder,
.im-form-textarea::placeholder {
  color: #94a3b8 !important;
  font-size: 13.5px !important;
}
.im-form-select {
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23103556' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  padding-right: 40px !important;
  cursor: pointer !important;
}

/* File Upload Box */
.im-file-upload-box {
  position: relative;
  border: 1.5px dashed #cbd5e1;
  border-radius: 10px;
  padding: 16px;
  background: #f8fafc;
  cursor: pointer;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}
.im-file-upload-box:hover {
  border-color: #103556;
  background: #f1f5f9;
}
.im-file-input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  z-index: 2;
}
.im-file-upload-ui {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 13px;
  pointer-events: none;
}
.im-file-upload-ui svg {
  color: #103556;
}
.im-file-cta {
  font-weight: 700;
  color: #103556;
  text-decoration: underline;
}
.im-file-name {
  color: #64748b;
  font-size: 12px;
  max-width: 320px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Textarea */
.im-form-textarea {
  min-height: 130px;
  resize: vertical;
}

/* GDPR Box */
.im-gdpr-wrap {
  margin-bottom: 22px;
  font-size: 12.5px;
  color: #64748b;
  line-height: 1.5;
}
.im-gdpr-wrap a {
  color: #103556;
  font-weight: 600;
}

/* Submit CTA Button */
.im-form-footer {
  margin-top: 10px;
}
.im-btn-submit {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 15px 28px;
  background: #103556;
  color: #ffffff !important;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: 0 4px 14px rgba(16, 53, 86, 0.25);
}
.im-btn-submit:hover {
  background: #0b253d;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(16, 53, 86, 0.35);
}
.im-btn-submit:active {
  transform: translateY(0);
}
.im-btn-submit svg {
  transition: transform 0.25s ease;
}
.im-btn-submit:hover svg {
  transform: translateX(4px);
}

/* Notifications */
.im-form-alert {
  padding: 16px 20px;
  border-radius: 12px;
  margin-bottom: 22px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.5;
}
.im-alert-success {
  background: #f0fdf4;
  color: #166534;
  border: 1px solid #bbf7d0;
}
.im-alert-error {
  background: #fef2f2;
  color: #991b1b;
  border: 1px solid #fecaca;
}
.im-form-alert ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Mobile Responsive (< 992px) */
@media (max-width: 991.98px) {
  .im-contact-wrapper {
    padding: 0 18px !important;
  }
  .im-contact-title {
    font-size: 26px !important;
  }
  .im-contact-desc {
    font-size: 14px !important;
  }
  .im-contact-form-card {
    padding: 22px 18px !important;
    border-radius: 16px !important;
  }
  .im-form-title {
    font-size: 20px !important;
  }
  .im-form-subtitle {
    font-size: 12.5px !important;
  }
  .im-file-upload-ui {
    flex-direction: column;
    gap: 4px;
    text-align: center;
  }
  .im-btn-submit {
    padding: 14px 20px !important;
    font-size: 13.5px !important;
  }
}

/* ==========================================================================
   CATEGORY & SEARCH RESULTS CATALOG LISTING (ITALIA MAGAZZINI LUXURY)
   ========================================================================== */

/* Layout & Columns */
.columns-container {
  padding-top: 10px;
  padding-bottom: 60px;
}

#left-column {
  padding-right: 28px;
}

#center-column {
  padding-left: 8px;
}

/* 1. Category & Search Listing Header */
.im-category-header {
  margin-bottom: 24px;
}

.im-listing-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(16, 53, 86, 0.06);
  color: #103556;
  font-family: 'Outfit', sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 5px 14px;
  border-radius: 9999px;
  margin-bottom: 12px;
}

.im-listing-eyebrow .im-eyebrow-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #103556;
}

.im-listing-title,
.page-title-section {
  font-family: 'Outfit', sans-serif !important;
  font-size: 32px !important;
  font-weight: 800 !important;
  color: #103556 !important;
  letter-spacing: -0.6px !important;
  margin: 0 0 10px 0 !important;
  line-height: 1.2 !important;
  word-break: break-word !important;
}

.im-listing-desc {
  font-family: 'Inter', sans-serif !important;
  font-size: 14.5px !important;
  color: #64748B !important;
  line-height: 1.65 !important;
  max-width: 840px !important;
  margin-bottom: 20px !important;
}

.im-listing-cover {
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 24px;
  box-shadow: 0 4px 20px rgba(16, 53, 86, 0.06);
}

.im-listing-cover img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}

/* 2. Subcategory Navigation Pills */
.subcategory {
  margin: 18px 0 24px 0 !important;
  overflow: visible !important;
}

.subcategory__list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  list-style: none !important;
  padding: 6px 4px !important;
  margin: 0 !important;
  overflow: visible !important;
}

.subcategory__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #FFFFFF !important;
  border: 1.5px solid #E2E8F0 !important;
  border-radius: 30px !important;
  padding: 8px 18px !important;
  color: #1E293B !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02) !important;
  transition: all 0.2s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
  position: relative !important;
}

.subcategory__link:hover,
.subcategory__link:focus,
.subcategory__link:active {
  background: #F8FAFC !important;
  border-color: #103556 !important;
  color: #103556 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(16, 53, 86, 0.08) !important;
}

.subcategory__thumbnail {
  width: 24px !important;
  height: 24px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
}

@media (max-width: 767.98px) {
  .subcategory {
    margin: 12px 0 16px 0 !important;
    position: relative !important;
  }
  .subcategory::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 6px !important;
    width: 36px !important;
    background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.95) 85%) !important;
    pointer-events: none !important;
    z-index: 2 !important;
  }
  .subcategory__list {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x proximity !important;
    scrollbar-width: thin !important;
    scrollbar-color: #CBD5E1 transparent !important;
    padding-bottom: 8px !important;
    padding-right: 32px !important;
  }
  .subcategory__list::-webkit-scrollbar {
    height: 3px !important;
    display: block !important;
  }
  .subcategory__list::-webkit-scrollbar-track {
    background: #F1F5F9 !important;
    border-radius: 4px !important;
  }
  .subcategory__list::-webkit-scrollbar-thumb {
    background: #94A3B8 !important;
    border-radius: 4px !important;
  }
  .subcategory__link {
    flex-shrink: 0 !important;
    padding: 6px 14px !important;
    font-size: 12.5px !important;
    scroll-snap-align: start !important;
  }
}


/* 3. Products Top Bar (Sort, Filter, Product Count) */
.im-products-top-wrapper {
  background: #FFFFFF;
  border: 1px solid #EEF2F6;
  border-radius: 14px;
  padding: 12px 20px;
  margin-bottom: 24px;
  box-shadow: 0 2px 8px rgba(16, 53, 86, 0.03);
}

.im-products-selection {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-block-end: 0 !important;
  gap: 16px !important;
}

.im-count-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #64748B;
  font-family: 'Outfit', sans-serif;
  font-size: 13.5px;
  font-weight: 500;
  letter-spacing: 0.1px;
}

.im-count-badge .im-count-icon {
  stroke: #103556;
  opacity: 0.75;
  flex-shrink: 0;
}

.im-controls-row {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.im-filter-col {
  display: none !important;
}

.im-sort-col {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.im-products-sort {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  order: initial !important;
}

.products__sort-label {
  color: #64748B !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  margin-bottom: 0 !important;
}

.products__sort-dropdown-button {
  background: #FFFFFF !important;
  border: 1.5px solid #CBD5E1 !important;
  border-radius: 12px !important;
  padding: 0 16px !important;
  height: 44px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #103556 !important;
  box-shadow: 0 1px 3px rgba(16, 53, 86, 0.04) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  min-width: 180px !important;
}

.products__sort-dropdown-button:hover,
.products__sort-dropdown-button:active,
.products__sort-dropdown-button[aria-expanded="true"] {
  border-color: #103556 !important;
  color: #103556 !important;
  background: #F8FAFC !important;
  box-shadow: 0 4px 14px rgba(16, 53, 86, 0.08) !important;
}

.products__sort-dropdown-button::after,
.products__sort-dropdown-button.dropdown-toggle::after {
  display: none !important;
}

.products__sort-dropdown-button .im-sort-svg {
  stroke: #103556 !important;
  flex-shrink: 0 !important;
}

.products__sort-dropdown-button .im-sort-current-text {
  flex-grow: 1 !important;
  text-align: left !important;
}

.products__sort-dropdown-button .im-chevron-svg {
  stroke: #64748B !important;
  flex-shrink: 0 !important;
  transition: transform 0.2s ease !important;
}

.products__sort-dropdown-button[aria-expanded="true"] .im-chevron-svg {
  transform: rotate(180deg) !important;
  stroke: #103556 !important;
}

.products__sort-dropdown {
  position: relative !important;
}

.products__sort-dropdown .dropdown-menu {
  position: absolute !important;
  inset: auto !important;
  top: calc(100% + 6px) !important;
  bottom: auto !important;
  right: 0 !important;
  left: auto !important;
  transform: none !important;
  border-radius: 14px !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 12px 32px rgba(16, 53, 86, 0.12) !important;
  padding: 8px !important;
  margin-top: 0 !important;
  min-width: 200px !important;
  max-height: 360px !important;
  overflow-y: auto !important;
  z-index: 1050 !important;
}

.products__sort-dropdown .dropdown-item {
  border-radius: 8px !important;
  padding: 9px 14px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  color: #334155 !important;
  transition: all 0.15s ease !important;
}

.products__sort-dropdown .dropdown-item.current,
.products__sort-dropdown .dropdown-item:hover {
  background: #F1F5F9 !important;
  color: #103556 !important;
  font-weight: 700 !important;
}

/* Filter Button Desktop (hidden by default) */
.im-filter-btn,
#search_filter_toggler {
  background: #FFFFFF !important;
  color: #103556 !important;
  border: 1.5px solid #CBD5E1 !important;
  border-radius: 12px !important;
  height: 44px !important;
  padding: 0 16px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  cursor: pointer !important;
  box-shadow: 0 1px 3px rgba(16, 53, 86, 0.04) !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.im-filter-btn:hover,
.im-filter-btn:active,
#search_filter_toggler:hover,
#search_filter_toggler:active {
  background: #F8FAFC !important;
  border-color: #103556 !important;
  color: #103556 !important;
  box-shadow: 0 4px 14px rgba(16, 53, 86, 0.08) !important;
}

.im-filter-btn .im-btn-svg,
#search_filter_toggler .im-btn-svg {
  stroke: #103556 !important;
  flex-shrink: 0 !important;
}

/* Hide Mobile Filter Trigger on Desktop */
@media (min-width: 992px) {
  .im-filter-col,
  .im-filter-btn,
  #search_filter_toggler {
    display: none !important;
  }
}

/* 4. Active Filters Bar */
#js-active-search-filters,
.active-filters {
  margin-bottom: 20px;
}

.active-filters__list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.active-filters__title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  margin-right: 6px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

.active-filters__link {
  background: #F1F5F9 !important;
  border: 1px solid #E2E8F0 !important;
  color: #103556 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  border-radius: 20px !important;
  padding: 6px 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  text-decoration: none !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
  transition: all 0.2s ease !important;
}

.active-filters__link:hover {
  background: #FEE2E2 !important;
  border-color: #FCA5A5 !important;
  color: #B91C1C !important;
  transform: scale(0.98) !important;
}

.active-filters__link i {
  font-size: 14px !important;
}

/* 5. Desktop Left Column Sidebar: ONLY Faceted Search Filters (redundant category tree removed) */
#left-column .ps-categorytree,
#left-column .category-tree,
.ps-categorytree.left-block,
.category-tree.left-block,
#left-column .ps-brandlist,
#left-column .brand-list,
#left-column .ps-supplierlist,
#left-column .supplier-list {
  display: none !important;
}

#left-column {
  display: block !important;
}

#search_filters_wrapper,
.ps-facetedsearch.left-block,
.ps-facetedsearch:not(.offcanvas) {
  display: block !important;
}

#search_filters_wrapper {
  background: #FFFFFF !important;
  border: 1px solid #EEF2F6 !important;
  border-radius: 16px !important;
  padding: 22px !important;
  box-shadow: 0 2px 10px rgba(16, 53, 86, 0.03) !important;
  margin-bottom: 24px !important;
}

#search_filters_wrapper #search-filters {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
}

.left-block__title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  color: #103556 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  padding-bottom: 12px !important;
  margin-bottom: 16px !important;
  border-bottom: 2px solid #F1F5F9 !important;
}

.left-block__title-link {
  color: #103556 !important;
  text-decoration: none !important;
}

/* Category Tree Items — Desktop Typographic Hierarchy (Main Bold, Sub Normal) */
.category-tree__list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.category-tree__item {
  border: none !important;
  background: transparent !important;
}

.category-tree__item-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 7px 0 !important;
}

/* 1. MAIN CATEGORIES (Root Depth 0) — BOLD & PROMINENT */
.category-tree__list[data-depth="0"] > .category-tree__item > .category-tree__item-header > .category-tree__item-link {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  text-decoration: none !important;
  letter-spacing: -0.1px !important;
  transition: all 0.2s ease !important;
}

.category-tree__list[data-depth="0"] > .category-tree__item > .category-tree__item-header > .category-tree__item-link:hover {
  color: #0d2842 !important;
  transform: translateX(4px) !important;
}

/* Main Category Active State */
.category-tree__list[data-depth="0"] > .category-tree__item.im-category-current > .category-tree__item-header > .category-tree__item-link,
.category-tree__list[data-depth="0"] > .category-tree__item > .category-tree__item-header > .category-tree__item-link.im-link-current {
  color: #103556 !important;
  font-weight: 800 !important;
}

/* 2. SUBCATEGORIES (Depth >= 1 / Inside Accordion Body) — REGULAR / NORMAL WEIGHT */
.category-tree .accordion-body {
  padding: 4px 0 6px 14px !important;
  margin-left: 6px !important;
  border-left: 1.5px solid #E2E8F0 !important;
}

.category-tree .accordion-body .category-tree__item-header {
  padding: 4.5px 0 !important;
}

.category-tree .accordion-body .category-tree__item-link,
.category-tree__list:not([data-depth="0"]) .category-tree__item-link {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #64748B !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.category-tree .accordion-body .category-tree__item-link:hover,
.category-tree__list:not([data-depth="0"]) .category-tree__item-link:hover {
  color: #103556 !important;
  font-weight: 500 !important;
  transform: translateX(3px) !important;
}

/* Subcategory Active State */
.category-tree .accordion-body .category-tree__item.im-category-current > .category-tree__item-header > .category-tree__item-link,
.category-tree .accordion-body .category-tree__item-link.im-link-current {
  color: #103556 !important;
  font-weight: 600 !important;
}

.category-tree .accordion-button {
  padding: 4px !important;
  width: auto !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #94A3B8 !important;
  transition: transform 0.2s ease, color 0.2s ease !important;
}

.category-tree .accordion-button:hover {
  color: #103556 !important;
}

/* Faceted Search Accordions */
.search-filters .accordion-item {
  border: none !important;
  border-bottom: 1px solid #F1F5F9 !important;
  padding: 6px 0 !important;
  background: transparent !important;
}

.search-filters .accordion-item:last-child {
  border-bottom: none !important;
}

.search-filters .accordion-button {
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #1E293B !important;
  padding: 10px 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.search-filters .accordion-button:not(.collapsed) {
  color: #103556 !important;
  background: transparent !important;
}

.search-filters .accordion-body {
  padding: 8px 0 14px 0 !important;
}

.search-filters__form-check {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 8px !important;
  padding-left: 0 !important;
}

.search-filters__form-check .form-check-input {
  width: 18px !important;
  height: 18px !important;
  border-radius: 5px !important;
  border: 1.5px solid #CBD5E1 !important;
  cursor: pointer !important;
  margin: 0 !important;
}

.search-filters__form-check .form-check-input:checked {
  background-color: #103556 !important;
  border-color: #103556 !important;
}

.search-filters__link {
  font-family: 'Inter', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  color: #334155 !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}

.search-filters__link:hover {
  color: #103556 !important;
}

.search-filters__magnitude {
  font-size: 12px !important;
  color: #94A3B8 !important;
  margin-left: 4px !important;
}

/* Clear all button in filters */
.search-filters__clear .btn {
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  color: #64748B !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  border-radius: 8px !important;
  padding: 6px 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  transition: all 0.2s ease !important;
}

.search-filters__clear .btn:hover {
  background: #FEE2E2 !important;
  border-color: #FCA5A5 !important;
  color: #B91C1C !important;
}

/* 6. Mobile Offcanvas Faceted Drawer */
#offcanvas-faceted.offcanvas {
  max-width: 330px !important;
  border-top-right-radius: 20px !important;
  border-bottom-right-radius: 20px !important;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15) !important;
}

#offcanvas-faceted .offcanvas-header {
  border-bottom: 1px solid #EEF2F6 !important;
  padding: 18px 22px !important;
}

#offcanvas-faceted .offcanvas-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #103556 !important;
  margin-bottom: 0 !important;
}

#offcanvas-faceted .offcanvas-body {
  padding: 20px 22px !important;
}

/* 7. Pagination & Listing Footer Summary Styling */
.products__pagination {
  margin-top: 32px !important;
  margin-bottom: 16px !important;
  width: 100% !important;
}

.pagination__container.im-pagination-wrapper {
  width: 100% !important;
  background: #FFFFFF !important;
  border: 1px solid #EEF2F6 !important;
  border-radius: 14px !important;
  padding: 14px 22px !important;
  box-shadow: 0 2px 8px rgba(16, 53, 86, 0.03) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}

.pagination__container.im-pagination-wrapper.im-pagination-wrapper--single {
  justify-content: center !important;
}

.pagination__number.im-pagination-summary {
  display: inline-flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 !important;
}

.im-pagination-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #475569 !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1px !important;
}

.im-pagination-icon-wrap {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 8px !important;
  background: rgba(16, 53, 86, 0.06) !important;
  color: #103556 !important;
  flex-shrink: 0 !important;
}

.im-pagination-progress {
  width: 72px !important;
  height: 5px !important;
  background: #E2E8F0 !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
}

.im-pagination-progress-fill {
  height: 100% !important;
  background: linear-gradient(90deg, #103556 0%, #1e5280 100%) !important;
  border-radius: 999px !important;
  transition: width 0.3s ease !important;
}

.pagination__nav.im-pagination-nav {
  margin: 0 !important;
}

.pagination__nav .pagination,
.page-list {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.page-link {
  border-radius: 10px !important;
  border: 1px solid #E2E8F0 !important;
  color: #1E293B !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 700 !important;
  font-size: 13.5px !important;
  padding: 8px 14px !important;
  background: #FFFFFF !important;
  text-decoration: none !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
  transition: all 0.2s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}

.page-item.active .page-link {
  background: #103556 !important;
  border-color: #103556 !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 14px rgba(16, 53, 86, 0.25) !important;
}

.page-link:hover:not(.active):not(.disabled) {
  border-color: #103556 !important;
  color: #103556 !important;
  background: #F8FAFC !important;
}

@media (max-width: 767.98px) {
  .pagination__container.im-pagination-wrapper {
    flex-direction: column !important;
    justify-content: center !important;
    padding: 12px 16px !important;
    gap: 12px !important;
  }
  .pagination__number.im-pagination-summary {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* 8. Mobile & Tablet Responsiveness (< 992px) */
@media (max-width: 991.98px) {
  /* Default: Full width on mobile/tablet for center column across all pages */
  .columns-container > .row {
    display: flex !important;
    flex-direction: column !important;
  }

  #center-column {
    order: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #left-column {
    order: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* CRITICAL MOBILE FIX: Hide redundant 16-item category tree on mobile */
  #left-column .ps-categorytree,
  .ps-categorytree.left-block {
    display: none !important;
  }
}

/* 8b. Tablet Responsiveness (768px - 991.98px): ONLY for pages with left column (e.g. Category listing) */
@media (min-width: 768px) and (max-width: 991.98px) {
  body.layout-left-column:not(.layout-full-width):not(#index):not(#product) .columns-container > .row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
  }
  
  body.layout-left-column:not(.layout-full-width):not(#index):not(#product) #left-column {
    order: 1 !important;
    width: 30% !important;
    max-width: 30% !important;
    flex: 0 0 30% !important;
    display: block !important;
    padding-right: 15px !important;
  }
  
  body.layout-left-column:not(.layout-full-width):not(#index):not(#product) #center-column {
    order: 2 !important;
    width: 70% !important;
    max-width: 70% !important;
    flex: 0 0 70% !important;
    padding-left: 15px !important;
  }
}

@media (max-width: 991.98px) {

  /* Symmetrical 18px padding on mobile */
  .columns-container.container,
  #content-wrapper {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  /* Title Scaling */
  .im-listing-title,
  .page-title-section {
    font-size: 22px !important;
    letter-spacing: -0.4px !important;
    line-height: 1.25 !important;
  }

  .im-listing-desc {
    font-size: 13.5px !important;
  }

  /* Selection Bar Mobile - Twin Action Capsules & Refined Counter */
  .im-products-top-wrapper {
    background: #FFFFFF !important;
    border: 1px solid #EEF2F6 !important;
    border-radius: 16px !important;
    padding: 12px 14px !important;
    margin-bottom: 20px !important;
    box-shadow: 0 2px 8px rgba(16, 53, 86, 0.03) !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }

  .im-products-selection {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .im-products-count {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 0 2px !important;
  }

  .im-count-badge {
    font-family: 'Outfit', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #64748B !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    letter-spacing: 0.1px !important;
  }

  .im-count-badge .im-count-icon {
    stroke: #103556 !important;
    opacity: 0.75 !important;
    flex-shrink: 0 !important;
  }

  .products__sort-label {
    display: none !important;
  }

  .im-controls-row {
    width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 10px !important;
    box-sizing: border-box !important;
  }

  .im-filter-col {
    display: block !important;
    flex: 1 1 50% !important;
    width: 50% !important;
    max-width: 50% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .im-sort-col {
    display: block !important;
    flex: 1 1 50% !important;
    width: 50% !important;
    max-width: 50% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    position: relative !important;
  }

  /* When only sort column exists without filter column */
  .im-controls-row > .im-sort-col:only-child {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Twin Button 1: Filtri (Mobile) */
  .im-filter-col .im-filter-btn,
  .im-filter-col #search_filter_toggler {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    padding: 0 12px !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    font-family: 'Outfit', sans-serif !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    border-radius: 12px !important;
    background: #FFFFFF !important;
    color: #103556 !important;
    border: 1.5px solid #CBD5E1 !important;
    box-shadow: 0 1px 3px rgba(16, 53, 86, 0.04) !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    cursor: pointer !important;
  }

  .im-filter-col .im-filter-btn:hover,
  .im-filter-col .im-filter-btn:active,
  .im-filter-col #search_filter_toggler:hover,
  .im-filter-col #search_filter_toggler:active {
    background: #F8FAFC !important;
    border-color: #103556 !important;
    color: #103556 !important;
    box-shadow: 0 3px 10px rgba(16, 53, 86, 0.08) !important;
    transform: none !important;
  }

  .im-filter-col .im-filter-btn .im-btn-svg,
  .im-filter-col #search_filter_toggler .im-btn-svg {
    stroke: #103556 !important;
    flex-shrink: 0 !important;
  }

  /* Twin Button 2: Sort (Mobile) */
  .im-sort-col .products__sort-dropdown {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    position: relative !important;
  }

  .im-sort-col .products__sort-dropdown-button {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    padding: 0 12px !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    font-family: 'Outfit', sans-serif !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 6px !important;
    border-radius: 12px !important;
    border: 1.5px solid #CBD5E1 !important;
    background: #FFFFFF !important;
    color: #103556 !important;
    box-shadow: 0 1px 3px rgba(16, 53, 86, 0.04) !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    cursor: pointer !important;
  }

  .im-sort-col .products__sort-dropdown-button:hover,
  .im-sort-col .products__sort-dropdown-button:active,
  .im-sort-col .products__sort-dropdown-button[aria-expanded="true"] {
    background: #F8FAFC !important;
    border-color: #103556 !important;
    color: #103556 !important;
    box-shadow: 0 3px 10px rgba(16, 53, 86, 0.08) !important;
  }

  .im-sort-col .products__sort-dropdown-button .im-sort-svg {
    stroke: #103556 !important;
    flex-shrink: 0 !important;
  }

  .im-sort-col .products__sort-dropdown-button .im-chevron-svg {
    stroke: #64748B !important;
    flex-shrink: 0 !important;
    transition: transform 0.2s ease !important;
  }

  .im-sort-col .products__sort-dropdown-button[aria-expanded="true"] .im-chevron-svg {
    transform: rotate(180deg) !important;
    stroke: #103556 !important;
  }

  .im-sort-col .products__sort-dropdown-button .im-sort-current-text {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    flex-grow: 1 !important;
    text-align: left !important;
    font-size: 13px !important;
    padding-left: 2px !important;
  }

  .im-sort-col .products__sort-dropdown-button::after,
  .im-sort-col .products__sort-dropdown-button.dropdown-toggle::after {
    display: none !important;
  }

  .im-sort-col .products__sort-dropdown .dropdown-menu {
    position: absolute !important;
    inset: auto !important;
    top: calc(100% + 6px) !important;
    bottom: auto !important;
    right: 0 !important;
    left: auto !important;
    transform: none !important;
    border-radius: 14px !important;
    border: 1px solid #E2E8F0 !important;
    box-shadow: 0 12px 30px rgba(16, 53, 86, 0.12) !important;
    padding: 8px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    width: auto !important;
    min-width: 190px !important;
    max-width: calc(100vw - 32px) !important;
    max-height: 300px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    z-index: 1050 !important;
  }
}

/* ==========================================================================
   PRODUCT MINIATURE - ULTRA-FLUID LUXURY ANTEPRIMA (DESKTOP & MOBILE)
   ========================================================================== */
.product-miniature__top {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 14px !important;
}

/* DESKTOP HOVER: Silky smooth, zero-delay floating pill */
@media (min-width: 992px) {
  .product-miniature__quickview-touch {
    display: none !important;
  }

  /* Smooth image scale on hover (1.04 instead of harsh 1.1) */
  .product-miniature__image {
    transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: transform !important;
  }

  .product-miniature:hover .product-miniature__image,
  .product-miniature__inner:hover .product-miniature__image {
    transform: scale(1.04) !important;
  }

  /* Elegant Floating Luxury Pill */
  .product-miniature__quickview-button {
    position: absolute !important;
    top: auto !important;
    bottom: 14px !important;
    left: 50% !important;
    right: auto !important;
    width: auto !important;
    max-width: 85% !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 18px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border: 1px solid rgba(16, 53, 86, 0.12) !important;
    box-shadow: 0 4px 16px rgba(16, 53, 86, 0.16) !important;
    color: #103556 !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    z-index: 10 !important;
    outline: none !important;
    
    /* Zero delay, fluid cubic-bezier lift and fade */
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translate(-50%, 10px) !important;
    transition: opacity 0.28s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.28s cubic-bezier(0.16, 1, 0.3, 1),
                background-color 0.2s ease,
                color 0.2s ease,
                border-color 0.2s ease,
                box-shadow 0.2s ease !important;
    transition-delay: 0s !important;
  }

  .product-miniature__quickview-button i,
  .product-miniature__quickview-button .material-icons,
  .product-miniature__quickview-button .product-miniature__quickview-icon,
  .product-miniature__quickview-button svg {
    font-size: 16px !important;
    width: 16px !important;
    height: 16px !important;
    line-height: 1 !important;
    color: currentColor !important;
    stroke: currentColor !important;
    flex-shrink: 0 !important;
    transition: color 0.2s ease, stroke 0.2s ease !important;
  }

  /* Card hover triggers smooth appearance */
  .product-miniature:hover .product-miniature__quickview-button,
  .product-miniature__inner:hover .product-miniature__quickview-button,
  .product-miniature:focus-within .product-miniature__quickview-button {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate(-50%, 0) !important;
  }

  .product-miniature__quickview-button:hover {
    background: #103556 !important;
    color: #FFFFFF !important;
    border-color: #103556 !important;
    transform: translate(-50%, -2px) scale(1.02) !important;
    box-shadow: 0 6px 20px rgba(16, 53, 86, 0.28) !important;
  }

  .product-miniature__quickview-button:hover i,
  .product-miniature__quickview-button:hover .material-icons {
    color: #FFFFFF !important;
  }

  .product-miniature__quickview-button:active {
    transform: translate(-50%, 0) scale(0.98) !important;
  }

  /* Prevent abrupt corner radius jump from theme */
  .product-miniature__inner:hover .product-miniature__top {
    border-end-end-radius: 14px !important;
    border-end-start-radius: 14px !important;
  }
}

/* MOBILE TOUCH: Clean compact button */
@media (max-width: 991.98px) {
  .product-miniature__quickview-button {
    display: none !important;
  }

  /* Wishlist Heart on Mobile: Top-Right of product image */
  .product-miniature .wishlist-button-add,
  .product-miniature [class*="wishlist"] {
    display: inline-flex !important;
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    left: auto !important;
    bottom: auto !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    aspect-ratio: 1 / 1 !important;
    padding: 0 !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.94) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border: 1px solid rgba(16, 53, 86, 0.12) !important;
    box-shadow: 0 2px 8px rgba(16, 53, 86, 0.10) !important;
    color: #103556 !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 15 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    transition: transform 0.18s ease, background-color 0.18s ease, color 0.18s ease !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  .product-miniature .wishlist-button-add i,
  .product-miniature [class*="wishlist"] i {
    font-size: 19px !important;
    line-height: 1 !important;
    color: #103556 !important;
  }

  /* Anteprima Touch Icon on Mobile: Bottom-Right of product image */
  .product-miniature__quickview-touch {
    display: inline-flex !important;
    position: absolute !important;
    top: auto !important;
    bottom: 10px !important;
    right: 10px !important;
    left: auto !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    aspect-ratio: 1 / 1 !important;
    padding: 0 !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.94) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border: 1px solid rgba(16, 53, 86, 0.12) !important;
    box-shadow: 0 2px 8px rgba(16, 53, 86, 0.10) !important;
    color: #103556 !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 15 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    transition: transform 0.18s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  .product-miniature__quickview-touch:hover,
  .product-miniature__quickview-touch:focus {
    background: #103556 !important;
    color: #FFFFFF !important;
    border-color: #103556 !important;
    box-shadow: 0 4px 14px rgba(16, 53, 86, 0.24) !important;
    transform: scale(1.06) !important;
  }

  .product-miniature__quickview-touch:active {
    background: #0c2740 !important;
    color: #FFFFFF !important;
    transform: scale(0.92) !important;
    box-shadow: 0 2px 6px rgba(16, 53, 86, 0.2) !important;
  }

  .product-miniature__quickview-touch .product-miniature__quickview-icon,
  .product-miniature__quickview-touch svg {
    width: 17px !important;
    height: 17px !important;
    display: block !important;
    margin: auto !important;
    pointer-events: none !important;
    color: currentColor !important;
    stroke: currentColor !important;
    transition: stroke 0.18s ease, color 0.18s ease !important;
  }

  .product-miniature__quickview-touch i {
    font-size: 16px !important;
    line-height: 1 !important;
    color: inherit !important;
    display: inline-block !important;
  }
}

/* Fallback Product Details CTA (When direct add-to-cart is not applicable) */
.product-miniature__details {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: 100% !important;
  height: 38px !important;
  padding: 0 12px !important;
  border-radius: 8px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  color: #103556 !important;
  border: 1.5px solid #103556 !important;
  background: #FFFFFF !important;
  box-sizing: border-box !important;
  transition: all 0.2s ease !important;
}

.product-miniature__details:hover {
  background: #103556 !important;
  color: #FFFFFF !important;
}

.product-miniature__details i {
  font-size: 16px !important;
}

/* Mobile Product Miniature 2-col button adaptation */
@media (max-width: 575.98px) {
  .product-miniature .product-miniature__add-text {
    font-size: 0 !important;
    line-height: 0 !important;
  }
  .product-miniature .product-miniature__add-text::after {
    content: 'AGGIUNGI' !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
  }
  html[lang*="en"] .product-miniature .product-miniature__add-text::after {
    content: 'ADD' !important;
  }
  html[lang*="fr"] .product-miniature .product-miniature__add-text::after {
    content: 'AJOUTER' !important;
  }
  html[lang*="de"] .product-miniature .product-miniature__add-text::after {
    content: 'KAUFEN' !important;
  }
  .product-miniature .product-miniature__add,
  .product-miniature .product-miniature__add.btn-square-icon,
  .product-miniature button[data-button-action="add-to-cart"] {
    height: 36px !important;
    padding: 0 8px !important;
    font-size: 11px !important;
    gap: 5px !important;
  }
  .product-miniature__details {
    height: 36px !important;
    padding: 0 6px !important;
    font-size: 11px !important;
    gap: 4px !important;
  }
  .product-miniature__details i {
    font-size: 14px !important;
  }
}

/* ==========================================================================
   GLOBAL OVERLAY & MODAL STACKING FIX (Guarantees Header Never Overlaps Modals/Drawers)
   ========================================================================== */
.modal-backdrop {
  z-index: 105000 !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  background-color: rgba(16, 53, 86, 0.45) !important;
}

.modal-backdrop.fade {
  opacity: 0 !important;
  transition: opacity 0.28s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.modal-backdrop.show {
  opacity: 1 !important;
}

@media (max-width: 991.98px) {
  /* On mobile, eliminate heavy backdrop-filter to prevent GPU frame drops / stutter during animations */
  .modal-backdrop {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background-color: rgba(16, 53, 86, 0.65) !important;
  }
}

.modal,
.modal.fade,
.modal.show,
div[data-ps-target="modal-container"] .modal {
  z-index: 105010 !important;
}

.offcanvas-backdrop {
  z-index: 104000 !important;
  backdrop-filter: blur(3px) !important;
  -webkit-backdrop-filter: blur(3px) !important;
  background-color: rgba(16, 53, 86, 0.4) !important;
}

.offcanvas,
.offcanvas.show,
.offcanvas-start,
.offcanvas-end,
#offcanvas-faceted {
  z-index: 104010 !important;
}

/* When modal or offcanvas is open, body scroll locked and header inactive */
body.modal-open,
body.offcanvas-open {
  overflow: hidden !important;
  padding-right: 0 !important;
}

body.modal-open #header,
body.modal-open .im-main-header,
body.offcanvas-open #header,
body.offcanvas-open .im-main-header {
  pointer-events: none !important;
}

/* ==========================================================================
/* ==========================================================================
/* ==========================================================================
   BROOKLINEN STYLE LUXURY QUICKVIEW MODAL (DESKTOP & MOBILE)
   ========================================================================== */

/* Hide PDP floating back buttons & zoom buttons inside Quickview Modal */
.quickview .im-pdp-floating-back,
.quickview .im-pdp-mob-back-btn,
.quickview .im-pdp-back-btn,
.quickview .im-pdp-zoom-trigger-btn,
.quickview .im-bl-zoom-trigger,
.page-product--quickview .im-pdp-zoom-trigger-btn,
.page-product--quickview .im-bl-zoom-trigger {
  display: none !important;
}

/* Eliminate all PDP lingering min-heights inside Quickview */
.quickview .product__left,
.quickview .product__images,
.quickview .product__carousel,
.quickview .carousel-inner,
.quickview .carousel-item,
.page-product--quickview .product__left,
.page-product--quickview .product__images,
.page-product--quickview .product__carousel,
.page-product--quickview .carousel-inner,
.page-product--quickview .carousel-item {
  min-height: 0 !important;
}

/* Base Modal Backdrop & Transition */
.quickview.modal {
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  background-color: rgba(15, 23, 42, 0.45) !important;
}

/* Hide legacy header, footer, badges and description in Quickview */
.quickview .modal-header,
.quickview .modal-footer,
.im-quickview-badge,
.page-product--quickview .product__description-short,
.page-product--quickview .im-product-trust-box,
.page-product--quickview .im-bl-installments-box,
.page-product--quickview .im-bl-free-shipping-tag,
.page-product--quickview .im-cart-social-proof {
  display: none !important;
}

/* Outer Modal Container: Prevent page/container scroll */
.quickview.modal {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  background-color: rgba(15, 23, 42, 0.6) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  z-index: 1055 !important;
}

/* Desktop Modal Dialog Card: Fixed dead-center, zero movement on scroll */
@media (min-width: 992px) {
  .quickview.modal {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow-y: auto !important;
    padding: 24px 16px !important;
  }

  .quickview.modal .modal-dialog {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    margin: auto !important;
    max-width: 1040px !important;
    width: 92vw !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: calc(100vh - 48px) !important;
    pointer-events: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;
    transition: opacity 0.22s ease !important;
  }

  .quickview.modal.show .modal-dialog {
    opacity: 1 !important;
    transform: none !important;
  }
}

.quickview .modal-content,
.quickview .modal-content.im-bl-qv-card {
  border: 1px solid rgba(226, 232, 240, 0.95) !important;
  border-radius: 16px !important;
  box-shadow: 0 25px 50px -12px rgba(16, 53, 86, 0.28) !important;
  overflow: hidden !important;
  background: #ffffff !important;
  position: relative !important;
  padding: 0 !important;
  margin: 0 auto !important;
  width: 100% !important;
  height: auto !important;
  max-height: min(88vh, 800px) !important;
}

/* BROOKLINEN CLOSE BUTTON: 40x40 circle, soft hover, ZERO rotation, NO red */
.im-bl-qv-close,
.quickview .ProductModal__Close,
.quickview .im-quickview-close,
.quickview .btn-close {
  position: absolute !important;
  top: 18px !important;
  right: 20px !important;
  z-index: 70 !important;
  width: 40px !important;
  height: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(248, 250, 252, 0.9) !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 50% !important;
  color: #103556 !important;
  cursor: pointer !important;
  padding: 0 !important;
  opacity: 0.95 !important;
  transform: none !important;
  box-shadow: 0 2px 8px rgba(16, 53, 86, 0.08) !important;
  outline: none !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.im-bl-qv-close .icon--close,
.quickview .ProductModal__Close .icon--close {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.im-bl-qv-close svg,
.quickview .ProductModal__Close svg,
.quickview .im-quickview-close svg,
.quickview .btn-close svg {
  width: 20px !important;
  height: 20px !important;
  fill: #103556 !important;
  display: block !important;
}

.im-bl-qv-close:hover,
.im-bl-qv-close:focus,
.im-bl-qv-close:active,
.quickview .ProductModal__Close:hover,
.quickview .im-quickview-close:hover,
.quickview .btn-close:hover {
  background-color: #f1f5f9 !important;
  border-color: #cbd5e1 !important;
  color: #103556 !important;
  opacity: 1 !important;
  transform: scale(1.06) !important;
  box-shadow: 0 4px 12px rgba(16, 53, 86, 0.14) !important;
}

.im-bl-qv-close:hover svg,
.quickview .ProductModal__Close:hover svg {
  fill: #103556 !important;
}

/* Quickview Modal Body Layout (Desktop 2 Columns) */
.quickview .modal-body,
.quickview .modal-body.im-bl-qv-body {
  padding: 28px 32px !important;
  display: flex !important;
  flex-direction: row !important;
  gap: 36px !important;
  overflow: hidden !important;
  max-height: 88vh !important;
  align-items: flex-start !important;
}

/* Left Column: Product Gallery */
@media (min-width: 992px) {
  .page-product--quickview .product__left,
  .im-bl-qv-left {
    flex: 0 0 480px !important;
    max-width: 480px !important;
    width: 480px !important;
    position: sticky !important;
    top: 0 !important;
    align-self: flex-start !important;
    display: flex !important;
    flex-direction: column !important;
  }
}

/* Brooklinen Top Gallery Link */
.im-bl-qv-gallery-top-bar {
  margin-bottom: 12px !important;
}

.ProductGallery__QVLink,
.im-bl-qv-gallery-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 13px !important;
  color: #64748b !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
}

.ProductGallery__QVLink .link--bold,
.im-bl-qv-gallery-link .link--bold {
  color: #103556 !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  transition: color 0.15s ease !important;
}

.ProductGallery__QVLink:hover .link--bold,
.im-bl-qv-gallery-link:hover .link--bold {
  color: #0284c7 !important;
}

/* Gallery Stage & Thumbnails */
.im-bl-qv-left .product__images {
  display: flex !important;
  flex-direction: row-reverse !important;
  gap: 12px !important;
  align-items: flex-start !important;
  position: relative !important;
  border-radius: 12px !important;
  overflow: visible !important;
  background: transparent !important;
  min-height: 0 !important;
  width: 100% !important;
}

.im-bl-qv-left .product__thumbnails {
  flex: 0 0 58px !important;
  max-width: 58px !important;
  width: 58px !important;
  margin: 0 !important;
}

.im-bl-qv-left .product__thumbnails-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

.im-bl-qv-left .product__thumbnail {
  width: 58px !important;
  height: 58px !important;
  border-radius: 8px !important;
  border: 1.5px solid #e2e8f0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  background: #ffffff !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  display: block !important;
}

.im-bl-qv-left .product__thumbnail:hover {
  border-color: #cbd5e1 !important;
  transform: translateY(-1px) !important;
}

.im-bl-qv-left .product__thumbnail.active {
  border-color: #103556 !important;
  box-shadow: 0 0 0 1px #103556 !important;
}

.im-bl-qv-left .product__thumbnail-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  display: block !important;
}

/* Main Carousel Stage */
.im-bl-qv-left .product__carousel {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  position: relative !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  margin: 0 !important;
  border: 1px solid #f1f5f9 !important;
  background: #f8fafc !important;
  aspect-ratio: 1 / 1 !important;
  min-height: 0 !important;
}

.im-bl-qv-left .carousel-inner,
.im-bl-qv-left .carousel-item {
  aspect-ratio: 1 / 1 !important;
  height: 100% !important;
  min-height: 0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

.im-bl-qv-left .carousel-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  aspect-ratio: 1 / 1 !important;
  display: block !important;
  border-radius: 12px !important;
}

/* Floating Luxury Badge on Image */
.page-product--quickview .im-bl-gallery-badge,
.im-bl-qv-left .im-bl-gallery-badge {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  z-index: 10 !important;
  background: rgba(255, 255, 255, 0.94) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  border: 1px solid rgba(226, 232, 240, 0.8) !important;
  color: #103556 !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  border-radius: 9999px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
}

/* Floating Slide Counter Pill */
.page-product--quickview .im-pdp-slide-counter,
.im-bl-qv-left .im-pdp-slide-counter {
  position: absolute !important;
  bottom: 12px !important;
  left: 12px !important;
  z-index: 10 !important;
  background: rgba(255, 255, 255, 0.92) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  color: #103556 !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 3px 9px !important;
  border-radius: 9999px !important;
  border: 1px solid rgba(226, 232, 240, 0.8) !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05) !important;
}

/* Brooklinen Progress Track & Fill */
.ProductGallery__ProgressTrack,
.im-bl-gallery-progress {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 3px !important;
  background: rgba(226, 232, 240, 0.7) !important;
  z-index: 10 !important;
  overflow: hidden !important;
}

.ProductGallery__ProgressFill,
.im-bl-gallery-progress-bar {
  height: 100% !important;
  background-color: #103556 !important;
  transition: width 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Floating Circular Navigation Arrows on Image */
.page-product--quickview .carousel-control-prev,
.page-product--quickview .carousel-control-next,
.im-bl-qv-left .carousel-control-prev,
.im-bl-qv-left .carousel-control-next {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 36px !important;
  height: 36px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #103556 !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12) !important;
  border: 1px solid rgba(226, 232, 240, 0.8) !important;
  opacity: 0.9 !important;
  transition: all 0.2s ease !important;
  z-index: 12 !important;
}

.page-product--quickview .carousel-control-prev,
.im-bl-qv-left .carousel-control-prev {
  left: 10px !important;
}

.page-product--quickview .carousel-control-next,
.im-bl-qv-left .carousel-control-next {
  right: 10px !important;
}

.page-product--quickview .carousel-control-prev:hover,
.page-product--quickview .carousel-control-next:hover,
.im-bl-qv-left .carousel-control-prev:hover,
.im-bl-qv-left .carousel-control-next:hover {
  background: #ffffff !important;
  opacity: 1 !important;
  transform: translateY(-50%) scale(1.06) !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.16) !important;
}

/* Right Column: Product Details & Actions (Scrolls smoothly!) */
.page-product--quickview .product__right,
.im-bl-qv-right {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow-y: auto !important;
  max-height: calc(88vh - 56px) !important;
  padding-left: 6px !important;
  padding-right: 14px !important;
  padding-top: 2px !important;
}

/* Sleek custom scrollbar on right column */
.im-bl-qv-right::-webkit-scrollbar {
  width: 5px !important;
}
.im-bl-qv-right::-webkit-scrollbar-track {
  background: #f8fafc !important;
  border-radius: 3px !important;
}
.im-bl-qv-right::-webkit-scrollbar-thumb {
  background: #cbd5e1 !important;
  border-radius: 3px !important;
}
.im-bl-qv-right::-webkit-scrollbar-thumb:hover {
  background: #94a3b8 !important;
}

/* Desktop Header */
.im-bl-qv-desktop-header {
  margin-bottom: 14px !important;
  padding-right: 48px !important;
}

.im-bl-qv-desktop-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  line-height: 1.25 !important;
  margin: 0 0 6px 0 !important;
  letter-spacing: -0.01em !important;
  word-break: break-word !important;
}

/* Rating & Reviews row */
.im-bl-qv-reviews-rating {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 13px !important;
  margin-bottom: 8px !important;
}

.im-bl-qv-reviews-rating .im-stars {
  color: #eab308 !important;
  letter-spacing: 1.5px !important;
  font-size: 14px !important;
  line-height: 1 !important;
}

.im-bl-qv-reviews-rating .im-rating-score {
  font-family: 'Outfit', sans-serif !important;
  font-weight: 700 !important;
  color: #103556 !important;
  font-size: 13.5px !important;
}

.im-bl-qv-reviews-rating .im-reviews-count {
  color: #64748b !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
}

/* Price row */
.im-bl-qv-desktop-price-row {
  margin-bottom: 10px !important;
}

.PricePill__Container {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 8px !important;
}

.im-bl-qv-old-price {
  font-family: 'Outfit', sans-serif !important;
  font-size: 15px !important;
  color: #94a3b8 !important;
  text-decoration: line-through !important;
  font-weight: 500 !important;
}

.im-bl-qv-main-price {
  font-family: 'Outfit', sans-serif !important;
  font-size: 23px !important;
  font-weight: 800 !important;
  color: #103556 !important;
  letter-spacing: -0.02em !important;
}

.im-bl-qv-discount-pill {
  font-family: 'Outfit', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  background: #e8f5e9 !important;
  color: #15803d !important;
  border: 1px solid #bbf7d0 !important;
  padding: 2px 7px !important;
  border-radius: 4px !important;
}

/* Short Description */
.ProductForm__ShortDesc,
.im-bl-qv-shortdesc {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  color: #475569 !important;
  margin-bottom: 12px !important;
  display: block !important;
}

/* Full Page Link: "Scopri tutti i dettagli. Vedi scheda completa →" */
.im-bl-qv-fullpage-wrap {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 13px !important;
  margin-bottom: 14px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid #f1f5f9 !important;
}

.im-bl-qv-details-lead {
  color: #64748b !important;
  font-weight: 500 !important;
}

.ProductForm__QVLink,
.im-bl-qv-fullpage-link {
  color: #103556 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}

.ProductForm__QVLink .link--bold,
.im-bl-qv-fullpage-link .link--bold {
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  color: #103556 !important;
}

.ProductForm__QVLink:hover .link--bold,
.im-bl-qv-fullpage-link:hover .link--bold {
  color: #0284c7 !important;
}

/* Variants Section */
.page-product--quickview .product-variant,
.im-bl-qv-actions .product-variant {
  margin-bottom: 14px !important;
}

.page-product--quickview .im-variant-header,
.im-bl-qv-actions .im-variant-header {
  display: flex !important;
  align-items: baseline !important;
  gap: 6px !important;
  margin-bottom: 8px !important;
}

.page-product--quickview .im-variant-title,
.im-bl-qv-actions .im-variant-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #64748b !important;
  margin: 0 !important;
}

.page-product--quickview .im-variant-active-val,
.im-bl-qv-actions .im-variant-active-val {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #103556 !important;
}

/* Size Chips (Brooklinen Pills) */
.page-product--quickview .im-variant-chips-wrap,
.im-bl-qv-actions .im-variant-chips-wrap {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.page-product--quickview .im-variant-chip,
.im-bl-qv-actions .im-variant-chip {
  padding: 8px 16px !important;
  border-radius: 9999px !important;
  border: 1.5px solid #cbd5e1 !important;
  background: #ffffff !important;
  color: #103556 !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.18s ease !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
}

.page-product--quickview .im-variant-chip:hover,
.im-bl-qv-actions .im-variant-chip:hover {
  border-color: #94a3b8 !important;
  background: #f8fafc !important;
}

.page-product--quickview .im-variant-chip.is-selected,
.im-bl-qv-actions .im-variant-chip.is-selected {
  background: #103556 !important;
  border-color: #103556 !important;
  color: #ffffff !important;
  box-shadow: 0 2px 8px rgba(16, 53, 86, 0.2) !important;
}

/* Color Swatches (Brooklinen Circular Rings) */
.page-product--quickview .im-variant-colors-wrap,
.im-bl-qv-actions .im-variant-colors-wrap {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: center !important;
}

.page-product--quickview .im-color-swatch-item,
.im-bl-qv-actions .im-color-swatch-item {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.page-product--quickview .im-color-swatch-tile,
.im-bl-qv-actions .im-color-swatch-tile {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  border: 1.5px solid #cbd5e1 !important;
  padding: 0 !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #ffffff !important;
}

.page-product--quickview .im-color-swatch-tile:hover,
.im-bl-qv-actions .im-color-swatch-tile:hover {
  transform: scale(1.1) !important;
  border-color: #94a3b8 !important;
}

.page-product--quickview .im-color-swatch-tile.is-selected,
.im-bl-qv-actions .im-color-swatch-tile.is-selected {
  border-color: #ffffff !important;
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #103556 !important;
  transform: scale(1.05) !important;
}

.page-product--quickview .im-color-tile,
.im-bl-qv-actions .im-color-tile {
  width: 100% !important;
  height: 100% !important;
  border-radius: 50% !important;
  display: block !important;
}

/* Purchase Actions Container */
.page-product--quickview .product-add-to-cart,
.im-bl-qv-actions .product-add-to-cart {
  margin-top: 14px !important;
  margin-bottom: 12px !important;
}

.page-product--quickview .product__actions-qty-add,
.im-bl-qv-actions .product__actions-qty-add {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
}

/* Quantity Stepper (Pill with - / +) */
.page-product--quickview .product-actions__quantity,
.page-product--quickview .product__quantity,
.page-product--quickview .quantity-button,
.im-bl-qv-actions .product-actions__quantity,
.im-bl-qv-actions .product__quantity,
.im-bl-qv-actions .quantity-button {
  width: 96px !important;
  min-width: 96px !important;
  max-width: 96px !important;
  flex: 0 0 96px !important;
  margin: 0 !important;
}

.page-product--quickview .im-luxury-qty-group,
.page-product--quickview .quantity-button__group,
.im-bl-qv-actions .im-luxury-qty-group,
.im-bl-qv-actions .quantity-button__group {
  width: 96px !important;
  height: 48px !important;
  background-color: #f8fafc !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 9999px !important;
  padding: 0 4px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  box-sizing: border-box !important;
}

.page-product--quickview .quantity-button button,
.page-product--quickview .im-qty-btn,
.page-product--quickview .quantity-button__group .btn-decrement,
.page-product--quickview .quantity-button__group .btn-increment,
.im-bl-qv-actions .quantity-button button,
.im-bl-qv-actions .im-qty-btn,
.im-bl-qv-actions .quantity-button__group .btn-decrement,
.im-bl-qv-actions .quantity-button__group .btn-increment {
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border: none !important;
  color: #103556 !important;
  cursor: pointer !important;
  padding: 0 !important;
  font-size: 16px !important;
}

.page-product--quickview .qty-input,
.page-product--quickview .product__quantity input,
.page-product--quickview .quantity-button input.js-quantity-wanted,
.page-product--quickview .im-luxury-qty-group input.form-control,
.im-bl-qv-actions .qty-input,
.im-bl-qv-actions .product__quantity input,
.im-bl-qv-actions .quantity-button input.js-quantity-wanted,
.im-bl-qv-actions .im-luxury-qty-group input.form-control {
  width: 30px !important;
  height: 30px !important;
  background: transparent !important;
  border: none !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  text-align: center !important;
  padding: 0 !important;
}

/* Add to Cart Button (Brooklinen Navy Pill Button) */
.page-product--quickview .product__add-to-cart,
.im-bl-qv-actions .product__add-to-cart {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.page-product--quickview .product__add-to-cart-button,
.im-bl-qv-actions .product__add-to-cart-button {
  background-color: #103556 !important;
  border: 1.5px solid #103556 !important;
  color: #ffffff !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2px !important;
  text-transform: none !important;
  height: 48px !important;
  border-radius: 9999px !important;
  padding: 0 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  box-shadow: 0 4px 14px rgba(16, 53, 86, 0.2) !important;
  transition: all 0.2s ease !important;
  width: 100% !important;
  cursor: pointer !important;
}

.page-product--quickview .product__add-to-cart-button:hover,
.im-bl-qv-actions .product__add-to-cart-button:hover {
  background-color: #0c2740 !important;
  border-color: #0c2740 !important;
  box-shadow: 0 6px 18px rgba(16, 53, 86, 0.28) !important;
  transform: translateY(-1px) !important;
}

/* Wishlist Button */
.page-product--quickview .im-pdp-wishlist-icon-btn,
.im-bl-qv-actions .im-pdp-wishlist-icon-btn {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  flex: 0 0 48px !important;
  border-radius: 50% !important;
  border: 1.5px solid #cbd5e1 !important;
  background: #ffffff !important;
  color: #103556 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.page-product--quickview .im-pdp-wishlist-icon-btn:hover,
.im-bl-qv-actions .im-pdp-wishlist-icon-btn:hover {
  background: #f8fafc !important;
  border-color: #94a3b8 !important;
  transform: scale(1.05) !important;
}

/* Social Proof Urgency Pill */
.page-product--quickview .im-pdp-cart-urgency,
.im-bl-qv-actions .im-pdp-cart-urgency {
  margin: 12px 0 !important;
  padding: 8px 12px !important;
  border-radius: 8px !important;
  background: #fef9ee !important;
  border: 1px solid #fef08a !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.page-product--quickview .im-urgency-text,
.im-bl-qv-actions .im-urgency-text {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 12.5px !important;
  color: #854d0e !important;
  line-height: 1.35 !important;
}

/* Trust Strip (4-box Grid) */
.page-product--quickview .im-bl-trust-strip,
.im-bl-qv-actions .im-bl-trust-strip {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  margin: 14px 0 !important;
  padding: 12px 14px !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
}

.page-product--quickview .im-bl-trust-item,
.im-bl-qv-actions .im-bl-trust-item {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.page-product--quickview .im-bl-trust-icon-box,
.im-bl-qv-actions .im-bl-trust-icon-box {
  color: #103556 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.page-product--quickview .im-bl-trust-title,
.im-bl-qv-actions .im-bl-trust-title {
  display: block !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  line-height: 1.2 !important;
}

.page-product--quickview .im-bl-trust-sub,
.im-bl-qv-actions .im-bl-trust-sub {
  display: block !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 11px !important;
  color: #64748b !important;
  line-height: 1.2 !important;
}

/* Upsell Card */
.page-product--quickview .im-bl-upsell-card,
.im-bl-qv-actions .im-bl-upsell-card {
  border-radius: 10px !important;
  border: 1px dashed #cbd5e1 !important;
  background: #fafaf9 !important;
  padding: 10px 12px !important;
  margin-top: 12px !important;
}

.page-product--quickview .im-bl-upsell-top,
.im-bl-qv-actions .im-bl-upsell-top {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-bottom: 4px !important;
}

.page-product--quickview .im-bl-upsell-sparkle,
.im-bl-qv-actions .im-bl-upsell-sparkle {
  color: #d97706 !important;
  font-size: 13px !important;
}

.page-product--quickview .im-bl-upsell-title,
.im-bl-qv-actions .im-bl-upsell-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: #103556 !important;
}

.page-product--quickview .im-bl-upsell-desc,
.im-bl-qv-actions .im-bl-upsell-desc {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 11.5px !important;
  color: #64748b !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}

/* QuickView Zoom+ Adaptability: Graceful scaling and full scrollability on browser zoom */
@media (max-height: 740px) and (min-width: 992px) {
  .quickview.modal {
    padding: 10px 14px !important;
  }
  .quickview.modal .modal-dialog {
    max-height: calc(100vh - 20px) !important;
  }
  .quickview .modal-content.im-bl-qv-card {
    max-height: calc(100vh - 20px) !important;
  }
  .quickview .modal-body.im-bl-qv-body {
    padding: 18px 22px !important;
    gap: 24px !important;
    max-height: calc(100vh - 24px) !important;
  }
  .im-bl-qv-right {
    max-height: calc(100vh - 64px) !important;
  }
  .im-bl-qv-desktop-title {
    font-size: 19px !important;
  }
}

/* ==========================================================================
   MOBILE QUICKVIEW (BROOKLINEN NATIVE BOTTOM SHEET / MODAL)
   ========================================================================== */
@media (max-width: 991.98px) {
  .quickview.modal {
    padding: 0 !important;
  }

  .quickview.modal .modal-dialog {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    width: calc(100% - 20px) !important;
    max-width: 440px !important;
    height: auto !important;
    max-height: calc(100vh - 36px) !important;
    display: flex !important;
    flex-direction: column !important;
    pointer-events: auto !important;
    z-index: 1060 !important;
    opacity: 0 !important;
    transition: opacity 0.22s ease !important;
  }

  .quickview.modal.show .modal-dialog {
    opacity: 1 !important;
    transform: translate(-50%, -50%) !important;
  }

  .quickview .modal-content,
  .quickview .modal-content.im-bl-qv-card {
    border-radius: 20px !important;
    border: 1px solid rgba(226, 232, 240, 0.95) !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.38) !important;
    max-height: calc(100vh - 36px) !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    background: #ffffff !important;
  }

  /* Close Button on Mobile: clean, top right, ZERO rotation, NO red */
  .im-bl-qv-close,
  .quickview .ProductModal__Close,
  .quickview .btn-close {
    top: 14px !important;
    right: 14px !important;
    width: 34px !important;
    height: 34px !important;
  }

  .im-bl-qv-close svg,
  .quickview .ProductModal__Close svg,
  .quickview .btn-close svg {
    width: 18px !important;
    height: 18px !important;
  }

  /* Mobile Top Header (Title + Reviews + Price + Full Page Link BEFORE image) */
  .im-bl-qv-mobile-top-header {
    padding: 16px 48px 12px 16px !important;
    border-bottom: 1px solid #f1f5f9 !important;
    background: #ffffff !important;
    flex-shrink: 0 !important;
  }

  .im-bl-qv-mobile-title {
    font-family: 'Outfit', sans-serif !important;
    font-size: 16.5px !important;
    font-weight: 700 !important;
    color: #103556 !important;
    line-height: 1.25 !important;
    margin: 0 0 4px 0 !important;
  }

  .im-bl-qv-mobile-top-header .im-bl-qv-reviews-rating {
    margin-bottom: 5px !important;
  }

  .im-bl-qv-mobile-price-row {
    display: flex !important;
    align-items: baseline !important;
    gap: 8px !important;
    margin-bottom: 5px !important;
  }

  .im-bl-qv-mobile-price-row .im-bl-qv-old-price {
    font-size: 14px !important;
  }

  .im-bl-qv-mobile-price-row .im-bl-qv-main-price {
    font-size: 19px !important;
    font-weight: 800 !important;
  }

  .im-bl-qv-mobile-price-row .im-bl-qv-discount-pill {
    font-size: 11px !important;
    background: #e8f5e9 !important;
    color: #1e7e34 !important;
    border: 1px solid #c8e6c9 !important;
    border-radius: 4px !important;
    padding: 2px 6px !important;
    font-weight: 600 !important;
  }

  .im-bl-qv-mobile-top-header .im-bl-qv-fullpage-wrap {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
    font-size: 12px !important;
  }

  /* Mobile Body Layout */
  .quickview .modal-body,
  .quickview .modal-body.im-bl-qv-body {
    padding: 14px 16px 28px 16px !important;
    flex-direction: column !important;
    gap: 16px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    flex: 1 1 auto !important;
    max-height: none !important;
  }

  .page-product--quickview .product__left,
  .quickview .product__left,
  .im-bl-qv-left {
    position: relative !important;
    top: auto !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
    margin-bottom: 14px !important;
  }

  .page-product--quickview .product__images,
  .quickview .product__images,
  .im-bl-qv-left .product__images {
    min-height: 0 !important;
    height: auto !important;
    background: #f8fafc !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    width: 100% !important;
    border: 1px solid #f1f5f9 !important;
    display: block !important;
  }

  .page-product--quickview .product__carousel,
  .quickview .product__carousel,
  .im-bl-qv-left .product__carousel,
  .page-product--quickview .carousel-inner,
  .page-product--quickview .carousel-item,
  .quickview .carousel-inner,
  .quickview .carousel-item,
  .im-bl-qv-left .carousel-inner,
  .im-bl-qv-left .carousel-item {
    min-height: 0 !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #f8fafc !important;
  }

  .page-product--quickview .carousel-item img,
  .quickview .carousel-item img,
  .im-bl-qv-left .carousel-item img {
    min-height: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 14px !important;
    display: block !important;
    image-rendering: -webkit-optimize-contrast !important;
    background: #f8fafc !important;
  }

  .page-product--quickview .product__right,
  .quickview .product__right,
  .im-bl-qv-right {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    padding-top: 4px !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    overflow-y: visible !important;
    max-height: none !important;
  }

  /* Mobile Add to Cart & Stepper - Side by Side Capsule */
  .page-product--quickview .product__actions-qty-add,
  .im-bl-qv-actions .product__actions-qty-add {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .page-product--quickview .product-actions__quantity,
  .page-product--quickview .quantity-button,
  .im-bl-qv-actions .product-actions__quantity,
  .im-bl-qv-actions .quantity-button {
    width: 80px !important;
    min-width: 80px !important;
    max-width: 80px !important;
    flex: 0 0 80px !important;
    margin: 0 !important;
  }

  .page-product--quickview .im-luxury-qty-group,
  .page-product--quickview .quantity-button__group,
  .im-bl-qv-actions .im-luxury-qty-group,
  .im-bl-qv-actions .quantity-button__group {
    width: 80px !important;
    height: 48px !important;
    border-radius: 9999px !important;
    border: 1.5px solid #cbd5e1 !important;
    padding: 0 4px !important;
  }

  .page-product--quickview .product__add-to-cart,
  .im-bl-qv-actions .product__add-to-cart {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .page-product--quickview .product__add-to-cart-button,
  .im-bl-qv-actions .product__add-to-cart-button {
    width: 100% !important;
    height: 48px !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1px !important;
    text-transform: none !important;
    padding: 0 12px !important;
    white-space: nowrap !important;
    border-radius: 9999px !important;
    background-color: #103556 !important;
    border: 1.5px solid #103556 !important;
    color: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    box-shadow: 0 4px 14px rgba(16, 53, 86, 0.2) !important;
  }

  .page-product--quickview .im-pdp-wishlist-icon-btn,
  .im-bl-qv-actions .im-pdp-wishlist-icon-btn {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    flex: 0 0 48px !important;
    border-radius: 50% !important;
    border: 1.5px solid #cbd5e1 !important;
    background: #ffffff !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

   IMMERSIVE LUXURY PRODUCT IMAGE ZOOM LIGHTBOX MODAL (#product-modal)
   Fluid 60fps fullscreen lightbox on mobile & desktop
   ========================================================================== */
#product-modal.modal {
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  background-color: rgba(10, 25, 41, 0.90) !important;
  padding: 0 !important;
}

#product-modal .modal-dialog {
  max-width: 92vw !important;
  margin: 1rem auto !important;
}

@media (min-width: 992px) {
  #product-modal .modal-dialog {
    max-width: 900px !important;
  }
}

#product-modal .modal-content {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

#product-modal .modal-header {
  border: none !important;
  padding: 8px 12px 14px 12px !important;
  display: flex !important;
  justify-content: flex-end !important;
}

#product-modal .btn-close {
  background-color: #ffffff !important;
  border-radius: 50% !important;
  width: 36px !important;
  height: 36px !important;
  padding: 8px !important;
  opacity: 0.95 !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35) !important;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s ease !important;
  cursor: pointer !important;
}

#product-modal .btn-close:hover,
#product-modal .btn-close:focus {
  opacity: 1 !important;
  transform: scale(1.1) !important;
}

#product-modal .modal-body {
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#product-modal .carousel-item {
  text-align: center !important;
}

#product-modal .carousel-item img {
  max-height: 78vh !important;
  max-width: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  border-radius: 14px !important;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.5) !important;
  background: #ffffff !important;
}

#product-modal .carousel-control-prev,
#product-modal .carousel-control-next {
  width: 42px !important;
  height: 42px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background: rgba(255, 255, 255, 0.92) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(16, 53, 86, 0.1) !important;
  border-radius: 50% !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25) !important;
  color: #103556 !important;
  opacity: 0.95 !important;
  transition: all 0.2s ease !important;
}

#product-modal .carousel-control-prev { left: 10px !important; }
#product-modal .carousel-control-next { right: 10px !important; }

#product-modal .carousel-control-prev:hover,
#product-modal .carousel-control-next:hover,
#product-modal .carousel-control-prev:focus,
#product-modal .carousel-control-next:focus {
  background: #ffffff !important;
  transform: translateY(-50%) scale(1.08) !important;
  opacity: 1 !important;
}

/* ==========================================================================
   INSTANT ADD-TO-CART MICRO-INTERACTION & FEEDBACK (0ms UI Reaction - No Spinning)
   ========================================================================== */
.im-btn-loading {
  position: relative !important;
  pointer-events: none !important;
  opacity: 0.85 !important;
  cursor: wait !important;
  transform: scale(0.98) !important;
  transition: transform 0.15s ease, opacity 0.15s ease !important;
}

.im-btn-loading .material-icons,
.im-btn-loading svg {
  animation: none !important;
  transform: none !important;
  display: inline-block !important;
}

/* ==========================================================================
   ITALIA MAGAZZINI — LUXURY EMPTY STATE (CATEGORIES & SEARCH ZERO RESULTS)
   ========================================================================== */

/* Fix empty sidebar faceted filter box */
#search_filters_wrapper:not(:has(#search-filters .facet)),
#search_filters_wrapper:not(:has(.facet)),
#search_filters_wrapper:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

.im-product-list-empty,
.page-content--not-found {
  width: 100% !important;
  margin: 12px 0 60px 0 !important;
}

.im-empty-state-wrapper {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  padding: 10px 0 30px 0 !important;
}

.im-empty-state-card {
  width: 100% !important;
  max-width: 820px !important;
  background: #FFFFFF !important;
  border: 1px solid #EAEFF5 !important;
  border-radius: 24px !important;
  box-shadow: 0 16px 45px rgba(16, 53, 86, 0.05), 0 2px 10px rgba(16, 53, 86, 0.02) !important;
  padding: 48px 40px !important;
  text-align: center !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Subtle top luxury decorative gradient hairline */
.im-empty-state-card::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 4px !important;
  background: linear-gradient(90deg, #103556 0%, #C59B27 50%, #103556 100%) !important;
}

/* 1. Icon & Glow */
.im-empty-icon-wrap {
  position: relative !important;
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin-bottom: 20px !important;
}

.im-empty-icon-glow {
  position: absolute !important;
  width: 90px !important;
  height: 90px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(197, 155, 39, 0.18) 0%, rgba(16, 53, 86, 0.04) 70%, transparent 100%) !important;
  filter: blur(8px) !important;
  z-index: 1 !important;
}

.im-empty-icon-circle {
  position: relative !important;
  z-index: 2 !important;
  width: 76px !important;
  height: 76px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #F8FAFC 0%, #EDF2F7 100%) !important;
  border: 2px solid #FFFFFF !important;
  box-shadow: 0 8px 24px rgba(16, 53, 86, 0.08) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #103556 !important;
}

.im-empty-icon-circle svg {
  stroke: #103556 !important;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.im-empty-state-card:hover .im-empty-icon-circle svg {
  transform: scale(1.08) rotate(-4deg) !important;
}

/* 2. Badge */
.im-empty-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 6px 16px !important;
  background: rgba(16, 53, 86, 0.05) !important;
  border: 1px solid rgba(16, 53, 86, 0.08) !important;
  border-radius: 50px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  margin-bottom: 16px !important;
}

.im-empty-badge-dot {
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: #C59B27 !important;
  box-shadow: 0 0 0 2px rgba(197, 155, 39, 0.25) !important;
}

/* 3. Text */
.im-empty-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 26px !important;
  font-weight: 800 !important;
  color: #0F2438 !important;
  margin: 0 0 10px 0 !important;
  line-height: 1.3 !important;
}

.im-empty-subtitle {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 15px !important;
  color: #64748B !important;
  max-width: 580px !important;
  margin: 0 auto 28px auto !important;
  line-height: 1.6 !important;
}

.im-empty-subtitle strong,
.im-empty-subtitle em {
  color: #103556 !important;
  font-weight: 600 !important;
}

/* 4. Search Box */
.im-empty-search-box {
  max-width: 540px !important;
  width: 100% !important;
  margin: 0 auto 30px auto !important;
}

.im-empty-search-form {
  width: 100% !important;
}

.im-empty-search-input-wrap {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  background: #F8FAFC !important;
  border: 1.5px solid #E2E8F0 !important;
  border-radius: 50px !important;
  padding: 5px 6px 5px 18px !important;
  transition: all 0.25s ease !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.im-empty-search-input-wrap:focus-within {
  border-color: #103556 !important;
  background: #FFFFFF !important;
  box-shadow: 0 0 0 4px rgba(16, 53, 86, 0.08) !important;
}

.im-empty-search-icon {
  flex-shrink: 0 !important;
  color: #94A3B8 !important;
  margin-right: 10px !important;
}

.im-empty-search-input {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  width: 100% !important;
  border: none !important;
  background: transparent !important;
  outline: none !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14.5px !important;
  color: #0F2438 !important;
  padding: 8px 4px !important;
  text-overflow: ellipsis !important;
}

.im-empty-search-input::placeholder {
  color: #94A3B8 !important;
}

.im-empty-search-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  background: #103556 !important;
  color: #FFFFFF !important;
  border: none !important;
  padding: 10px 22px !important;
  border-radius: 50px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  flex-shrink: 0 !important;
}

.im-empty-search-btn:hover {
  background: #0B2238 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 14px rgba(16, 53, 86, 0.25) !important;
}

/* 5. Pills Section */
.im-empty-pills-section {
  margin: 0 auto 32px auto !important;
  padding-top: 10px !important;
}

.im-empty-pills-label {
  display: block !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #475569 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.6px !important;
  margin-bottom: 14px !important;
}

.im-empty-pills-wrap {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 10px !important;
}

.im-empty-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 50px !important;
  padding: 8px 18px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #1E293B !important;
  text-decoration: none !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.im-empty-pill svg {
  stroke: #64748B !important;
  transition: stroke 0.2s ease !important;
}

.im-empty-pill:hover {
  background: #FFFFFF !important;
  border-color: #103556 !important;
  color: #103556 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(16, 53, 86, 0.08) !important;
}

.im-empty-pill:hover svg {
  stroke: #103556 !important;
}

.im-empty-pill--outlet {
  background: #FEF2F2 !important;
  border-color: #FECACA !important;
  color: #DC2626 !important;
}

.im-empty-pill--outlet svg {
  stroke: #DC2626 !important;
}

.im-empty-pill--outlet:hover {
  background: #DC2626 !important;
  border-color: #DC2626 !important;
  color: #FFFFFF !important;
  box-shadow: 0 6px 18px rgba(220, 38, 38, 0.2) !important;
}

.im-empty-pill--outlet:hover svg {
  stroke: #FFFFFF !important;
}

/* 6. Action CTAs */
.im-empty-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 14px !important;
  margin-bottom: 32px !important;
}

.im-empty-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  padding: 13px 28px !important;
  border-radius: 50px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-sizing: border-box !important;
}

.im-empty-btn--primary {
  background: #103556 !important;
  color: #FFFFFF !important;
  border: 1.5px solid #103556 !important;
  box-shadow: 0 8px 20px rgba(16, 53, 86, 0.15) !important;
}

.im-empty-btn--primary:hover {
  background: #0B2238 !important;
  border-color: #0B2238 !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 26px rgba(16, 53, 86, 0.25) !important;
}

.im-empty-btn--whatsapp {
  background: #F0FDF4 !important;
  color: #15803D !important;
  border: 1.5px solid #BBF7D0 !important;
}

.im-empty-btn--whatsapp:hover {
  background: #16A34A !important;
  border-color: #16A34A !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(22, 163, 74, 0.2) !important;
}

/* 7. Reassurance Trust Strip */
.im-empty-trust-strip {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 24px !important;
  padding-top: 24px !important;
  border-top: 1px solid #E2E8F0 !important;
}

.im-empty-trust-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: #64748B !important;
}

/* Mobile Responsive */
@media (max-width: 767px) {
  .im-empty-state-wrapper {
    width: 100% !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .im-empty-state-card {
    padding: 30px 14px 24px 14px !important;
    border-radius: 18px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .im-empty-title {
    font-size: 20px !important;
    word-break: break-word !important;
    padding: 0 4px !important;
  }

  .im-empty-subtitle {
    font-size: 13.5px !important;
    margin-bottom: 20px !important;
    padding: 0 4px !important;
  }

  .im-empty-search-box {
    width: 100% !important;
    margin-bottom: 22px !important;
  }

  .im-empty-search-input-wrap {
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 4px 5px 4px 12px !important;
  }

  .im-empty-search-input {
    min-width: 0 !important;
    width: 100% !important;
    font-size: 13px !important;
  }

  .im-empty-search-btn {
    padding: 8px 14px !important;
    font-size: 13px !important;
    flex-shrink: 0 !important;
  }

  .im-empty-pills-wrap {
    gap: 8px !important;
  }

  .im-empty-pill {
    padding: 7px 13px !important;
    font-size: 12.5px !important;
  }

  .im-empty-actions {
    flex-direction: column !important;
    width: 100% !important;
    gap: 10px !important;
    margin-bottom: 24px !important;
  }

  .im-empty-btn {
    width: 100% !important;
    padding: 12px 18px !important;
    box-sizing: border-box !important;
  }

  .im-empty-trust-strip {
    flex-direction: column !important;
    gap: 10px !important;
    padding-top: 18px !important;
  }
}

/* ==========================================================================
   PREMIUM CART MICRO-INTERACTIONS (Smooth, Elegant, High-End)
   ========================================================================== */

/* 1. Badge elastic count pop: keeps flex centering, brand blue highlight */
@keyframes imCartCountPop {
  0% {
    transform: scale(0.65);
    background-color: #0284c7;
    box-shadow: 0 0 0 0 rgba(2, 132, 199, 0.5);
  }
  50% {
    transform: scale(1.32);
    background-color: #0284c7;
    box-shadow: 0 0 0 6px rgba(2, 132, 199, 0.2);
  }
  100% {
    transform: scale(1);
    background-color: #103556;
    box-shadow: 0 2px 6px rgba(16, 53, 86, 0.35);
  }
}

.im-cart-count-pop {
  animation: imCartCountPop 0.52s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  transform-origin: center center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* 2. Header Cart Box subtle high-end highlight (smooth scale, no jerky translateY) */
@keyframes imCartPillHighlight {
  0% {
    border-color: #e2e8f0;
    transform: scale(1);
  }
  35% {
    border-color: #38bdf8;
    box-shadow: 0 4px 16px rgba(2, 132, 199, 0.16);
    transform: scale(1.03);
  }
  100% {
    border-color: #e2e8f0;
    box-shadow: 0 2px 8px rgba(16, 53, 86, 0.08);
    transform: scale(1);
  }
}

.im-cart-box.im-cart-highlight {
  animation: imCartPillHighlight 0.45s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* 3. Total price smooth micro-update (keeps Navy text color & layout stability) */
@keyframes imTotalUpdate {
  0% {
    opacity: 0.35;
    transform: translateY(2px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.im-total-update {
  animation: imTotalUpdate 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
  color: #103556 !important;
}

/* Backward compatibility fallbacks */
.im-cart-updated {
  animation: imTotalUpdate 0.35s ease-out !important;
}
.im-cart-bounce {
  animation: imCartPillHighlight 0.45s ease-out !important;
}

/* ==========================================================================
   LUXURY ADD-TO-CART CONFIRMATION POP-UP MODAL (#blockcart-modal)
   ========================================================================== */
#blockcart-modal.im-cart-modal,
.im-cart-modal.modal {
  z-index: 105050 !important;
  pointer-events: auto !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body.modal-open {
  padding-right: 0 !important;
}

/* ==========================================================================
   BROOKLINEN-STYLE "ITEM ADDED TO CART" MODAL (DESKTOP & MOBILE BOTTOM-SHEET)
   ========================================================================== */
#blockcart-modal.im-bl-added-modal.modal.fade .modal-dialog {
  max-width: 440px !important;
  margin: 1.75rem auto !important;
  z-index: 105060 !important;
  pointer-events: auto !important;
  display: flex !important;
  align-items: center !important;
  min-height: calc(100% - 3.5rem) !important;
  transform: scale(0.95) !important;
  opacity: 0 !important;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  will-change: transform, opacity !important;
}

#blockcart-modal.im-bl-added-modal.modal.show .modal-dialog {
  transform: scale(1) !important;
  opacity: 1 !important;
}

#blockcart-modal.im-bl-added-modal .im-bl-modal-card {
  background: #ffffff !important;
  border-radius: 20px !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 25px 60px -15px rgba(15, 23, 42, 0.28), 0 0 1px rgba(0, 0, 0, 0.08) !important;
  overflow: hidden !important;
  padding: 26px 28px 28px 28px !important;
  position: relative !important;
}

/* Header */
#blockcart-modal.im-bl-added-modal .im-bl-modal-header {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  padding: 0 0 16px 0 !important;
  border: none !important;
}

.im-bl-header-main {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}

.im-bl-check-badge {
  width: 20px !important;
  height: 20px !important;
  border-radius: 50% !important;
  background: #15803d !important;
  color: #ffffff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.im-bl-modal-title {
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  color: #103556 !important;
  margin: 0 !important;
  letter-spacing: -0.2px !important;
  line-height: 1.25 !important;
  text-align: center !important;
}

.im-bl-modal-close {
  position: absolute !important;
  right: -4px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background: transparent !important;
  border: none !important;
  padding: 4px !important;
  color: #334155 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: color 0.15s ease, transform 0.15s ease !important;
}

.im-bl-modal-close:hover {
  color: #0f172a !important;
  transform: translateY(-50%) scale(1.1) !important;
}

/* Body */
#blockcart-modal.im-bl-added-modal .im-bl-modal-body {
  padding: 0 !important;
}

.im-bl-product-row {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin: 16px 0 24px 0 !important;
  padding: 0 !important;
}

.im-bl-product-thumb-wrap {
  width: 74px !important;
  height: 74px !important;
  border-radius: 8px !important;
  background: #f8fafc !important;
  border: 1px solid #f1f5f9 !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.im-bl-product-thumb {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.im-bl-product-meta {
  flex: 1 !important;
  min-width: 0 !important;
}

.im-bl-product-name {
  font-size: 14.5px !important;
  font-weight: 700 !important;
  color: #1e293b !important;
  line-height: 1.35 !important;
  margin-bottom: 3px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.im-bl-product-variants {
  font-size: 13px !important;
  color: #64748b !important;
  line-height: 1.4 !important;
}

.im-bl-variant-line {
  margin-bottom: 1px !important;
}

.im-bl-variant-line span {
  color: #475569 !important;
}

.im-bl-product-pricing {
  margin-top: 6px !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 6px !important;
}

.im-bl-regular-price {
  font-size: 13.5px !important;
  color: #94a3b8 !important;
  text-decoration: line-through !important;
}

.im-bl-final-price {
  font-size: 15.5px !important;
  font-weight: 700 !important;
  color: #1e293b !important;
}

/* Modal Actions: 2 Stacked Full-Width Pill Buttons (No Arrows) */
.im-bl-modal-actions {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  width: 100% !important;
}

.im-bl-btn-primary {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 48px !important;
  border-radius: 9999px !important;
  background: #1e293b !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  font-size: 14.5px !important;
  text-decoration: none !important;
  border: none !important;
  transition: background 0.2s ease, transform 0.15s ease !important;
  cursor: pointer !important;
}

.im-bl-btn-primary:hover {
  background: #0f172a !important;
  color: #ffffff !important;
}

.im-bl-btn-secondary {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 48px !important;
  border-radius: 9999px !important;
  background: #ffffff !important;
  color: #1e293b !important;
  font-weight: 600 !important;
  font-size: 14.5px !important;
  text-decoration: none !important;
  border: 1.5px solid #1e293b !important;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
  cursor: pointer !important;
}

.im-bl-btn-secondary:hover {
  background: #f8fafc !important;
  color: #0f172a !important;
  border-color: #0f172a !important;
}

.im-bl-modal-extra {
  margin-top: 14px !important;
}

/* Mobile Responsive: Brooklinen Bottom Sheet Modal */
@media (max-width: 767.98px) {
  #blockcart-modal.im-bl-added-modal {
    padding: 0 !important;
  }

  #blockcart-modal.im-bl-added-modal.modal.fade .modal-dialog {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    min-height: unset !important;
    transform: translate3d(0, 100%, 0) !important;
    opacity: 1 !important;
    transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1) !important;
  }

  #blockcart-modal.im-bl-added-modal.modal.show .modal-dialog {
    transform: translate3d(0, 0, 0) !important;
    opacity: 1 !important;
  }

  #blockcart-modal.im-bl-added-modal .im-bl-modal-card {
    border-radius: 24px 24px 0 0 !important;
    border: none !important;
    box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.22) !important;
    padding: 24px 20px 28px 20px !important;
  }

  #blockcart-modal.im-bl-added-modal .im-bl-modal-close {
    top: -2px !important;
    right: 0 !important;
  }

  #blockcart-modal.im-bl-added-modal .im-bl-btn-primary,
  #blockcart-modal.im-bl-added-modal .im-bl-btn-secondary {
    height: 48px !important;
    font-size: 14.5px !important;
  }
}

/* ==========================================================================
   LUXURY CART & CHECKOUT VOUCHER / PROMO CODE WIDGET
   ========================================================================== */
.im-cart-voucher,
.cart-summary__voucher {
  margin: 16px 0 !important;
  border: none !important;
  padding: 0 !important;
}

/* Applied Vouchers */
.im-voucher-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 12px 0 !important;
}

.im-voucher-applied-item {
  background: #F0FDF4 !important;
  border: 1px solid #BBF7D0 !important;
  border-radius: 12px !important;
  padding: 10px 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 8px !important;
}

.im-voucher-applied-label {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
}

.im-voucher-applied-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: #166534 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px !important;
}

.im-voucher-applied-value {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
}

.im-voucher-reduction {
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #15803D !important;
}

.im-voucher-remove-btn {
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  background: #FFFFFF !important;
  border: 1px solid #FECACA !important;
  color: #DC2626 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
  text-decoration: none !important;
}

.im-voucher-remove-btn:hover {
  background: #DC2626 !important;
  color: #FFFFFF !important;
  border-color: #DC2626 !important;
  transform: scale(1.1) !important;
}

/* Accordion Trigger */
.im-voucher-accordion,
.cart-voucher__accordion {
  border: none !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
}

.im-voucher-accordion-item,
.cart-voucher__accordion-item {
  border: 1px solid #E2E8F0 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: #F8FAFC !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease, background-color 0.2s ease !important;
}

.im-voucher-accordion-item:hover,
.cart-voucher__accordion-item:hover {
  border-color: #CBD5E1 !important;
  background: #F8FAFC !important;
}

.im-voucher-accordion-item:has(.show),
.cart-voucher__accordion-item:has(.show),
.im-voucher-accordion-item:has(.collapsing),
.cart-voucher__accordion-item:has(.collapsing) {
  border: 1px solid #CBD5E1 !important;
  background: #F8FAFC !important;
  box-shadow: none !important;
}

.im-voucher-trigger-btn,
.cart-voucher__accordion-button {
  width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  box-sizing: border-box !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  padding: 0 14px !important;
  color: #103556 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  cursor: pointer !important;
  transition: color 0.2s ease !important;
}

.im-voucher-trigger-btn:hover,
.cart-voucher__accordion-button:hover {
  background: transparent !important;
  color: #103556 !important;
}

.im-voucher-trigger-btn:focus,
.im-voucher-trigger-btn:focus-visible,
.cart-voucher__accordion-button:focus,
.cart-voucher__accordion-button:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
}

.im-voucher-trigger-btn:not(.collapsed),
.cart-voucher__accordion-button:not(.collapsed) {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: #103556 !important;
  padding: 0 14px !important;
  height: 42px !important;
  min-height: 42px !important;
}

.im-voucher-trigger-content {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.im-voucher-tag-icon-wrap {
  width: 24px !important;
  height: 24px !important;
  border-radius: 6px !important;
  background: rgba(16, 53, 86, 0.08) !important;
  color: #103556 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.im-voucher-tag-icon-wrap svg {
  width: 13px !important;
  height: 13px !important;
}

.im-voucher-trigger-title {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: inherit !important;
  line-height: 1.2 !important;
}

/* Accordion Arrow */
.im-voucher-trigger-btn::after,
.cart-voucher__accordion-button::after {
  filter: grayscale(1) opacity(0.65) !important;
  transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1) !important;
  background-size: 11px !important;
  width: 12px !important;
  height: 12px !important;
  margin-left: auto !important;
}

/* Form Container - Zero outer padding/margin/borders to prevent animation jump */
.im-voucher-collapse,
.cart-voucher__accordion-collapse {
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
}

.im-voucher-collapse.collapsing,
.cart-voucher__accordion-collapse.collapsing {
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  transition: height 0.28s cubic-bezier(0.4, 0, 0.2, 1) !important;
  overflow: hidden !important;
}

.im-voucher-body,
.cart-voucher__accordion-collapse .accordion-body {
  padding: 0 14px 12px 14px !important;
  border: none !important;
  background: transparent !important;
}

/* Form Container */
.im-voucher-form {
  margin: 0 !important;
  padding: 0 !important;
}

/* Unified Single Input Group */
.im-voucher-input-group {
  display: flex !important;
  align-items: stretch !important;
  gap: 8px !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.im-voucher-field-wrap {
  position: relative !important;
  flex: 1 !important;
  min-width: 0 !important;
}

.im-voucher-input-icon {
  position: absolute !important;
  left: 11px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
  color: #94A3B8 !important;
  width: 14px !important;
  height: 14px !important;
  z-index: 2 !important;
}

.im-voucher-input,
.js-voucher-input {
  width: 100% !important;
  height: 38px !important;
  min-height: 38px !important;
  box-sizing: border-box !important;
  padding-left: 32px !important;
  padding-right: 10px !important;
  border-radius: 8px !important;
  border: 1px solid #CBD5E1 !important;
  background: #FFFFFF !important;
  font-family: 'Plus Jakarta Sans', monospace !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  color: #0F172A !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.im-voucher-input::placeholder,
.js-voucher-input::placeholder {
  text-transform: none !important;
  letter-spacing: normal !important;
  font-weight: 400 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  color: #94A3B8 !important;
  font-size: 12.5px !important;
}

.im-voucher-input:focus,
.js-voucher-input:focus {
  border-color: #103556 !important;
  box-shadow: 0 0 0 2px rgba(16, 53, 86, 0.12) !important;
  outline: none !important;
  background: #FFFFFF !important;
}

.im-voucher-btn,
.cart-voucher__form button[type="submit"] {
  height: 38px !important;
  min-height: 38px !important;
  box-sizing: border-box !important;
  padding: 0 16px !important;
  border-radius: 8px !important;
  background: #103556 !important;
  border: none !important;
  color: #FFFFFF !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px !important;
  text-transform: uppercase !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  white-space: nowrap !important;
  box-shadow: 0 2px 6px rgba(16, 53, 86, 0.15) !important;
}

.im-voucher-btn:hover,
.cart-voucher__form button[type="submit"]:hover {
  background: #0B253D !important;
  color: #FFFFFF !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 10px rgba(16, 53, 86, 0.25) !important;
}

/* Error Alert */
.im-voucher-alert,
.cart-voucher__error {
  display: none !important;
}

.im-voucher-alert:not([style*="display: none"]):not([style*="display:none"]),
.cart-voucher__error:not([style*="display: none"]):not([style*="display:none"]) {
  background: #FEF2F2 !important;
  border: 1px solid #FECACA !important;
  color: #991B1B !important;
  border-radius: 10px !important;
  padding: 8px 12px !important;
  font-size: 12px !important;
  margin-top: 8px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.im-voucher-alert svg,
.cart-voucher__error i {
  color: #DC2626 !important;
  font-size: 16px !important;
  flex-shrink: 0 !important;
}

/* Exclusive Deals Card */
.im-voucher-offers-card,
.cart-voucher__highlight {
  background: #FFFBEB !important;
  border: 1px solid #FDE68A !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  margin-top: 12px !important;
}

.im-voucher-offers-title,
.cart-voucher__highlight .h5 {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #92400E !important;
  margin: 0 0 8px 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.im-voucher-offers-list,
.cart-voucher__offers {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}

.im-voucher-offer-item,
.cart-voucher__code {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.im-voucher-offer-code,
.cart-voucher__code-value {
  background: #FFFBEB !important;
  border: 1px solid #F59E0B !important;
  color: #92400E !important;
  font-family: 'Plus Jakarta Sans', monospace !important;
  font-weight: 700 !important;
  font-size: 11.5px !important;
  padding: 3px 8px !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.im-voucher-offer-code:hover,
.cart-voucher__code-value:hover {
  background: #FEF3C7 !important;
  border-color: #B45309 !important;
  transform: scale(1.04) !important;
}

.im-voucher-offer-desc {
  font-size: 11.5px !important;
  color: #78350F !important;
}

/* Luxury Checkout Primary CTA */
.im-checkout-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  background: #103556 !important;
  border-color: #103556 !important;
  border-radius: 14px !important;
  padding: 14px 24px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 14px rgba(16, 53, 86, 0.28) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.im-checkout-btn:hover {
  background: #0B253D !important;
  border-color: #0B253D !important;
  color: #FFFFFF !important;
  transform: translateY(-1.5px) !important;
  box-shadow: 0 6px 20px rgba(16, 53, 86, 0.38) !important;
}

/* ==========================================================================
   FORM INPUT STYLING (CLEAN LUXURY - NO DISRUPTIVE CHECKMARKS OR ICONS)
   ========================================================================== */
.form-control.im-field-valid,
.form-control.is-valid,
.was-validated .form-control:valid {
  border-color: #CBD5E1 !important;
  background-image: none !important;
  background-color: #FFFFFF !important;
  box-shadow: none !important;
  padding-right: 14px !important;
}

.form-control.im-field-valid:focus,
.form-control.is-valid:focus,
.was-validated .form-control:valid:focus {
  border-color: #103556 !important;
  box-shadow: 0 0 0 3px rgba(16, 53, 86, 0.08) !important;
  background-image: none !important;
}

.password-field .form-control.im-field-valid,
.password-field .form-control.is-valid,
.password-field.was-validated .form-control:valid {
  background-image: none !important;
  box-shadow: none !important;
  padding-right: 48px !important;
}

.form-control.im-field-invalid,
.form-control.is-invalid,
.was-validated .form-control:invalid {
  border-color: #EF4444 !important;
  background-image: none !important;
  padding-right: 14px !important;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1) !important;
}

.password-field .form-control.im-field-invalid,
.password-field .form-control.is-invalid,
.password-field.was-validated .form-control:invalid {
  background-image: none !important;
  padding-right: 48px !important;
}

/* Birthday input: NO confirmation checkmark (senza check conferma, solo avviso se < 18 anni) */
.im-birthday-desktop-wrapper .form-control,
.im-birthday-desktop-wrapper .form-control.im-field-valid,
.im-birthday-input,
.im-birthday-input.im-field-valid,
.im-birthday-mobile-wrapper input[type="date"],
.im-birthday-mobile-wrapper input[type="date"].im-field-valid,
#field-birthday-desktop,
#field-birthday-native {
  background-image: none !important;
}

/* Invalid state for Birthday inputs: Subtle red border, warning message below */
.im-birthday-desktop-wrapper .form-control.im-field-invalid,
.im-birthday-input.im-field-invalid,
.im-birthday-mobile-wrapper input[type="date"].im-field-invalid,
#field-birthday-desktop.im-field-invalid,
#field-birthday-native.im-field-invalid {
  border-color: #EF4444 !important;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.12) !important;
  background-image: none !important;
}

#im-age-error-msg {
  font-family: 'Outfit', sans-serif !important;
  color: #ef4444 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  margin-top: 6px !important;
  display: none;
  animation: imFadeDown 0.2s ease !important;
}

/* ==========================================================================
   CUSTOMER ACCOUNT DASHBOARD ("IL MIO ACCOUNT") - LUXURY REDESIGN
   ========================================================================== */

.im-account-wrapper {
  max-width: 1140px !important;
  margin: 15px auto 45px auto !important;
  padding: 0 15px !important;
  font-family: 'Outfit', sans-serif !important;
}

/* 1. Hero Customer Banner */
.im-account-hero {
  background: #ffffff !important;
  border: 1.5px solid #e2e8f0 !important;
  border-top: 4px solid #103556 !important;
  border-radius: 16px !important;
  padding: 24px 28px !important;
  margin-bottom: 24px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  box-shadow: 0 4px 20px rgba(16, 53, 86, 0.04) !important;
}

.im-account-hero-left {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
}

.im-account-avatar {
  width: 58px !important;
  height: 58px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #103556 0%, #0A2136 100%) !important;
  color: #ffffff !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 14px rgba(16, 53, 86, 0.22) !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  flex-shrink: 0 !important;
}

.im-account-user-meta {
  display: flex !important;
  flex-direction: column !important;
}

.im-account-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  background: #fef3c7 !important;
  color: #92400e !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 3px 10px !important;
  border-radius: 20px !important;
  margin-bottom: 4px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  width: fit-content !important;
}

.im-account-name {
  font-size: 21px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  margin: 0 0 2px 0 !important;
  line-height: 1.25 !important;
}

.im-account-email {
  font-size: 13px !important;
  color: #64748b !important;
  margin: 0 !important;
  font-weight: 500 !important;
}

.im-account-hero-right {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.im-account-stat-pill {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #f8fafc !important;
  border: 1.5px solid #e2e8f0 !important;
  padding: 6px 14px !important;
  border-radius: 10px !important;
}

.im-account-stat-pill .im-stat-num {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #103556 !important;
}

.im-account-stat-pill .im-stat-label {
  font-size: 12px !important;
  color: #64748b !important;
  font-weight: 600 !important;
}

.im-account-logout-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 7px 16px !important;
  border-radius: 10px !important;
  border: 1.5px solid #e2e8f0 !important;
  background: #ffffff !important;
  color: #64748b !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.im-account-logout-btn:hover {
  border-color: #ef4444 !important;
  color: #ef4444 !important;
  background: #fef2f2 !important;
}

/* 2. Main Dashboard Cards Grid */
.im-account-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin-bottom: 26px !important;
}

@media (max-width: 991px) {
  .im-account-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 576px) {
  .im-account-grid {
    grid-template-columns: 1fr !important;
  }
  .im-account-hero {
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 20px !important;
  }
  .im-account-hero-right {
    width: 100% !important;
    justify-content: space-between !important;
    padding-top: 12px !important;
    border-top: 1px solid #f1f5f9 !important;
  }
}

.im-account-card,
.im-account-grid .account-menu__link {
  background: #ffffff !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 14px !important;
  padding: 20px 22px !important;
  text-decoration: none !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  min-height: 140px !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  position: relative !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02) !important;
}

.im-account-card:hover,
.im-account-grid .account-menu__link:hover {
  transform: translateY(-4px) !important;
  border-color: #103556 !important;
  box-shadow: 0 12px 28px rgba(16, 53, 86, 0.09) !important;
}

.im-account-card-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 14px !important;
}

.im-card-icon-wrap {
  width: 44px !important;
  height: 44px !important;
  border-radius: 10px !important;
  background: #f0f7ff !important;
  color: #103556 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.2s ease !important;
}

.im-account-card:hover .im-card-icon-wrap,
.im-account-grid .account-menu__link:hover .im-card-icon-wrap {
  background: #103556 !important;
  color: #ffffff !important;
}

.im-card-arrow {
  color: #94a3b8 !important;
  display: flex !important;
  align-items: center !important;
  transition: transform 0.2s ease, color 0.2s ease !important;
}

.im-account-card:hover .im-card-arrow,
.im-account-grid .account-menu__link:hover .im-card-arrow {
  color: #103556 !important;
  transform: translateX(4px) !important;
}

.im-card-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  margin: 0 0 5px 0 !important;
  line-height: 1.3 !important;
  font-family: 'Outfit', sans-serif !important;
}

.im-card-desc {
  font-size: 13px !important;
  color: #64748b !important;
  margin: 0 !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  font-family: 'Outfit', sans-serif !important;
}

/* Module Hook cards inside im-account-grid (e.g. ps_emailalerts, psgdpr) */
.im-account-grid .account-menu__link {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  padding: 20px 22px !important;
  min-height: 140px !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  border: 1.5px solid #e2e8f0 !important;
  position: relative !important;
  text-decoration: none !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.im-account-grid .account-menu__link:hover {
  transform: translateY(-4px) !important;
  border-color: #103556 !important;
  box-shadow: 0 12px 28px rgba(16, 53, 86, 0.09) !important;
}

.im-account-grid .account-menu__link .account-menu__icon {
  width: 44px !important;
  height: 44px !important;
  border-radius: 10px !important;
  background: #f0f7ff !important;
  color: #103556 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 22px !important;
  margin: 0 0 14px 0 !important;
  transition: all 0.2s ease !important;
  flex-shrink: 0 !important;
}

.im-account-grid .account-menu__link:hover .account-menu__icon {
  background: #103556 !important;
  color: #ffffff !important;
}

.im-account-grid .account-menu__link .im-card-desc {
  display: block !important;
  margin-top: 4px !important;
}

.im-account-grid .account-menu__link::after {
  content: '' !important;
  position: absolute !important;
  top: 26px !important;
  right: 22px !important;
  width: 8px !important;
  height: 8px !important;
  border-top: 2.5px solid #94a3b8 !important;
  border-right: 2.5px solid #94a3b8 !important;
  transform: rotate(45deg) !important;
  transition: transform 0.2s ease, border-color 0.2s ease !important;
}

.im-account-grid .account-menu__link:hover::after {
  border-color: #103556 !important;
  transform: rotate(45deg) translate(3px, -3px) !important;
}

/* 3. Help & Support Luxury Footer Banner */
.im-account-help-banner {
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%) !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 14px !important;
  padding: 22px 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
}

.im-help-banner-content {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}

.im-help-icon {
  width: 48px !important;
  height: 48px !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  border: 1.5px solid #e2e8f0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03) !important;
}

.im-help-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  margin: 0 0 3px 0 !important;
  font-family: 'Outfit', sans-serif !important;
}

.im-help-sub {
  font-size: 13px !important;
  color: #64748b !important;
  margin: 0 !important;
  font-family: 'Outfit', sans-serif !important;
}

.im-help-banner-actions {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

.im-help-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 8px 16px !important;
  border-radius: 9px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.im-help-btn--whatsapp {
  background: #25D366 !important;
  color: #ffffff !important;
}

.im-help-btn--whatsapp:hover {
  background: #20bd5a !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(37, 211, 102, 0.25) !important;
}

.im-help-btn--phone {
  background: #ffffff !important;
  color: #103556 !important;
  border: 1.5px solid #cbd5e1 !important;
}

.im-help-btn--phone:hover {
  background: #103556 !important;
  color: #ffffff !important;
  border-color: #103556 !important;
  transform: translateY(-1px) !important;
}

/* 4. Sub-pages Sidebar Navigation (.account-menu--sidebar) */
.account-menu--sidebar {
  background: #ffffff !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 14px !important;
  padding: 20px 16px !important;
  box-shadow: 0 4px 16px rgba(16, 53, 86, 0.03) !important;
  font-family: 'Outfit', sans-serif !important;
}

.account-menu--sidebar .account-menu__title {
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  margin-bottom: 16px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid #f1f5f9 !important;
  padding-left: 8px !important;
}

.account-menu--sidebar .account-menu__nav {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

.account-menu--sidebar .account-menu__link {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 10px 12px !important;
  border-radius: 9px !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #334155 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  background: transparent !important;
}

.account-menu--sidebar .account-menu__link .account-menu__icon {
  font-size: 20px !important;
  color: #64748b !important;
  transition: color 0.2s ease !important;
  margin: 0 !important;
}

.account-menu--sidebar .account-menu__link:hover {
  background: #f1f5f9 !important;
  color: #103556 !important;
}

.account-menu--sidebar .account-menu__link:hover .account-menu__icon {
  color: #103556 !important;
}

.account-menu--sidebar .account-menu__link--active {
  background: #103556 !important;
  color: #ffffff !important;
}

.account-menu--sidebar .account-menu__link--active .account-menu__icon {
  color: #ffffff !important;
}

.account-menu--sidebar .account-menu__link--signout {
  color: #ef4444 !important;
  margin-top: 10px !important;
  border-top: 1px solid #f1f5f9 !important;
  padding-top: 12px !important;
}

.account-menu--sidebar .account-menu__link--signout .account-menu__icon {
  color: #ef4444 !important;
}

.account-menu--sidebar .account-menu__link--signout:hover {
  background: #fef2f2 !important;
  color: #dc2626 !important;
}

.account-menu--sidebar .account-menu__link--signout:hover .account-menu__icon {
  color: #dc2626 !important;
}

/* ==========================================================================
   ITALIA MAGAZZINI — LUXURY CHECKOUT & ORDER TUNNEL REDESIGN
   Brand Colors: #103556 (Deep Navy), #0A2136 (Darker Navy), #C59B27 (Gold), #10B981 (Emerald)
   Font Family: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif
   ========================================================================== */

/* Overall Page Layout */
body#checkout,
.page-order {
  background-color: #f8fafc !important;
  font-family: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif !important;
  color: #1e293b;
}

body#checkout .columns-container,
.page-order .columns-container {
  max-width: 1240px !important;
  padding: 0 20px !important;
  margin: 0 auto !important;
}

body#checkout .checkout-grid,
.page-order .checkout-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  margin-top: 15px !important;
  gap: 28px !important;
}

body#checkout .checkout-grid__content,
.page-order .checkout-grid__content {
  flex: 1 1 62% !important;
  max-width: 65% !important;
  padding: 0 !important;
}

body#checkout .checkout-grid__aside,
.page-order .checkout-grid__aside {
  flex: 1 1 33% !important;
  max-width: 35% !important;
  padding: 0 !important;
}

@media (max-width: 991px) {
  body#checkout .checkout-grid__content,
  .page-order .checkout-grid__content,
  body#checkout .checkout-grid__aside,
  .page-order .checkout-grid__aside {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

/* --------------------------------------------------------------------------
/* --------------------------------------------------------------------------
   1. DESKTOP STEPPER / PROGRESS BAR
   -------------------------------------------------------------------------- */
.checkout-steps {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 18px !important;
  padding: 20px 32px 18px !important;
  margin: 20px auto 28px !important;
  max-width: 1200px !important;
  box-shadow: 0 4px 20px rgba(16, 53, 86, 0.04) !important;
  position: relative !important;
}

.checkout-steps__desktop {
  display: none !important;
}

@media (max-width: 767px) {
  .checkout-steps {
    padding: 14px 16px !important;
    margin: 12px 0 20px !important;
    border-radius: 16px !important;
  }
}

/* Desktop Progress Header */
.checkout-steps__desktop-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding-bottom: 14px !important;
  margin-bottom: 16px !important;
  border-bottom: 1px solid #f1f5f9 !important;
}

.checkout-steps__desktop-info {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

.checkout-steps__desktop-badge {
  display: inline-flex !important;
  align-items: center !important;
  background: #103556 !important;
  color: #ffffff !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  border-radius: 20px !important;
}

.checkout-steps__desktop-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
}

.checkout-steps__desktop-next {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #64748b !important;
}

.checkout-steps__desktop-progress-wrap {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.checkout-steps__desktop-progress-label {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  color: #64748b !important;
  font-weight: 500 !important;
}

.checkout-steps__desktop-percent-val {
  font-weight: 700 !important;
  color: #103556 !important;
  font-size: 14px !important;
}

.checkout-steps__desktop-progressbar {
  width: 140px !important;
  height: 7px !important;
  background: #e2e8f0 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  position: relative !important;
}

.checkout-steps__desktop-progressbar-fill {
  height: 100% !important;
  background: linear-gradient(90deg, #059669 0%, #103556 100%) !important;
  border-radius: 10px !important;
  transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Stepper Track & Nodes Container */
.checkout-steps__desktop-track-wrap {
  position: relative !important;
  width: 100% !important;
}

/* Single unified track bar across all 4 steps */
.checkout-steps__desktop-track-bg {
  position: absolute !important;
  top: 25px !important;
  left: 12.5% !important;
  width: 75% !important;
  height: 4px !important;
  background: #e2e8f0 !important;
  border-radius: 4px !important;
  z-index: 1 !important;
}

.checkout-steps__desktop-track-fill {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  height: 100% !important;
  background: linear-gradient(90deg, #059669 0%, #103556 100%) !important;
  border-radius: 4px !important;
  transition: width 0.45s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Strictly suppress theme.css pseudo-elements that caused double/glitched lines */
.checkout-steps__desktop .checkout-steps__step::before,
.checkout-steps__desktop .checkout-steps__step::after,
.checkout-steps__desktop .checkout-steps__list::before,
.checkout-steps__desktop .checkout-steps__list::after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
}

.checkout-steps__list {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  position: relative !important;
  z-index: 2 !important;
}

/* Individual Step Item */
.checkout-steps__step {
  flex: 1 1 25% !important;
  max-width: 25% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  position: relative !important;
  padding: 0 4px !important;
}

/* Step Button Container - Wraps Number + Text */
.checkout-steps__btn {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  padding: 4px 8px 8px !important;
  border-radius: 14px !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  text-decoration: none !important;
  outline: none !important;
  box-shadow: none !important;
  cursor: default !important;
  opacity: 0.85 !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  position: relative !important;
}

/* Step Number Badge */
.checkout-steps__number {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  border: 2.5px solid #cbd5e1 !important;
  color: #64748b !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  margin-bottom: 8px !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05) !important;
  position: relative !important;
  z-index: 3 !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.checkout-steps__number::before,
.checkout-steps__number::after {
  display: none !important;
}

/* Text Wrapping */
.checkout-steps__text-wrap {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 3px !important;
}

.checkout-steps__title-text {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #475569 !important;
  line-height: 1.3 !important;
  transition: color 0.2s ease !important;
}

/* Modifica / Edit Badge for completed steps */
.checkout-steps__edit-badge {
  display: none !important;
  align-items: center !important;
  gap: 4px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #059669 !important;
  background: #ecfdf5 !important;
  border: 1px solid #a7f3d0 !important;
  border-radius: 20px !important;
  padding: 2px 9px !important;
  margin-top: 3px !important;
  letter-spacing: 0.02em !important;
  transition: all 0.2s ease !important;
}

.checkout-steps__edit-badge i {
  font-size: 12px !important;
}

/* Current Step Status Badge ("In corso") */
.checkout-steps__current-badge {
  display: none !important;
  align-items: center !important;
  gap: 5px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #1d4ed8 !important;
  background: #eff6ff !important;
  border: 1px solid #bfdbfe !important;
  border-radius: 20px !important;
  padding: 2px 9px !important;
  margin-top: 3px !important;
  letter-spacing: 0.02em !important;
}

.checkout-steps__current-badge .pulse-dot {
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: #2563eb !important;
  display: inline-block !important;
  animation: pulseDot 1.8s infinite ease-in-out !important;
}

@keyframes pulseDot {
  0% { transform: scale(0.9); opacity: 0.6; }
  50% { transform: scale(1.3); opacity: 1; }
  100% { transform: scale(0.9); opacity: 0.6; }
}

/* ACTIVE / CURRENT STEP */
.checkout-steps__step--current .checkout-steps__btn {
  cursor: default !important;
  opacity: 1 !important;
}

.checkout-steps__step--current .checkout-steps__number {
  background: #103556 !important;
  border-color: #103556 !important;
  color: #ffffff !important;
  box-shadow: 0 0 0 4px rgba(16, 53, 86, 0.12), 0 3px 8px rgba(16, 53, 86, 0.15) !important;
  transform: scale(1.04) !important;
}

.checkout-steps__step--current .checkout-steps__title-text {
  color: #103556 !important;
  font-weight: 700 !important;
  font-size: 14px !important;
}

.checkout-steps__step--current .checkout-steps__edit-badge {
  display: none !important;
}

.checkout-steps__step--current .checkout-steps__current-badge {
  display: inline-flex !important;
}

/* COMPLETED STEP (EASY TO RETURN AND EDIT) */
.checkout-steps__step--success .checkout-steps__btn {
  cursor: pointer !important;
  opacity: 1 !important;
}

.checkout-steps__step--success .checkout-steps__number {
  background: #059669 !important;
  border-color: #059669 !important;
  color: transparent !important;
  box-shadow: 0 2px 8px rgba(5, 150, 105, 0.2) !important;
  position: relative !important;
}

.checkout-steps__step--success .checkout-steps__number::after {
  content: '✓' !important;
  display: block !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  line-height: 1 !important;
}

.checkout-steps__step--success .checkout-steps__title-text {
  color: #0f172a !important;
  font-weight: 600 !important;
}

.checkout-steps__step--success .checkout-steps__edit-badge {
  display: inline-flex !important;
}

.checkout-steps__step--success .checkout-steps__current-badge {
  display: none !important;
}

/* Interactive Hover Feedback on Completed Steps (Subtle, Clean & Non-Disruptive with Brand Blue #103556) */
.checkout-steps__step--success .checkout-steps__btn:hover {
  background: transparent !important;
  border-color: transparent !important;
  transform: none !important;
  box-shadow: none !important;
}

.checkout-steps__step--success .checkout-steps__btn:hover .checkout-steps__number {
  background: #103556 !important;
  border-color: #103556 !important;
  box-shadow: 0 4px 14px rgba(16, 53, 86, 0.35) !important;
  transform: translateY(-1px) scale(1.04) !important;
}

.checkout-steps__step--success .checkout-steps__btn:hover .checkout-steps__title-text {
  color: #103556 !important;
  font-weight: 700 !important;
}

.checkout-steps__step--success .checkout-steps__btn:hover .checkout-steps__edit-badge {
  background: #103556 !important;
  color: #ffffff !important;
  border-color: #103556 !important;
  box-shadow: 0 2px 8px rgba(16, 53, 86, 0.25) !important;
  transform: translateY(-1px) !important;
}

/* Inactive / Future Steps (Muted and strictly non-interactive until unlocked) */
.checkout-steps__step:not(.checkout-steps__step--current):not(.checkout-steps__step--success) {
  opacity: 0.5 !important;
  pointer-events: none !important;
}

.checkout-steps__step:not(.checkout-steps__step--current):not(.checkout-steps__step--success) .checkout-steps__btn {
  cursor: not-allowed !important;
}

/* --------------------------------------------------------------------------
   2. MOBILE STEPPER & QUICK NAVIGATION
   -------------------------------------------------------------------------- */
.checkout-steps__mobile {
  display: flex !important;
}

@media (max-width: 767px) {
  .checkout-steps__mobile {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    padding: 16px !important;
    margin: 0 0 16px !important;
    box-shadow: 0 4px 16px rgba(16, 53, 86, 0.04) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }

  .checkout-steps__mobile-header {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
  }

  .checkout-steps__mobile .checkout-steps__left {
    flex-shrink: 0 !important;
  }

  .checkout-steps__mobile .progress-circle {
    width: 54px !important;
    height: 54px !important;
  }

  .checkout-steps__mobile .progress-circle text {
    fill: #103556 !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 700 !important;
    font-size: 16px !important;
  }

  .checkout-steps__mobile .progress-circle circle.text-success {
    stroke: #103556 !important;
  }

  .checkout-steps__mobile .checkout-steps__title {
    font-family: 'Outfit', sans-serif !important;
    font-size: 16.5px !important;
    font-weight: 700 !important;
    color: #103556 !important;
    margin-bottom: 2px !important;
    line-height: 1.2 !important;
  }

  .checkout-steps__mobile .checkout-steps__subtitle {
    font-size: 13px !important;
    color: #64748b !important;
    font-weight: 500 !important;
    margin: 0 !important;
  }

  /* Dedicated Mobile Back Button */
  .checkout-steps__mobile-actions {
    width: 100% !important;
  }

  .checkout-steps__mobile-back-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 10px 16px !important;
    background: #f8fafc !important;
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 12px !important;
    color: #103556 !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.03) !important;
  }

  .checkout-steps__mobile-back-btn:hover,
  .checkout-steps__mobile-back-btn:active {
    background: #103556 !important;
    color: #ffffff !important;
    border-color: #103556 !important;
    box-shadow: 0 4px 12px rgba(16, 53, 86, 0.18) !important;
    transform: translateY(-1px) !important;
  }

  .checkout-steps__mobile-back-btn i {
    font-size: 18px !important;
    transition: transform 0.2s ease !important;
  }

  .checkout-steps__mobile-back-btn:hover i {
    transform: translateX(-3px) !important;
  }

  /* Mobile Quick-Nav Pills Bar */
  .checkout-steps__mobile-pills-bar {
    border-top: 1px solid #f1f5f9 !important;
    padding-top: 10px !important;
    width: 100% !important;
  }

  .checkout-steps__mobile-pills {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 3px !important;
    width: 100% !important;
  }

  .checkout-steps__mobile-pill {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 5px 6px !important;
    border-radius: 16px !important;
    border: 1px solid #e2e8f0 !important;
    background: #ffffff !important;
    color: #94a3b8 !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    cursor: not-allowed !important;
    transition: all 0.2s ease !important;
    outline: none !important;
    white-space: nowrap !important;
  }

  .checkout-steps__mobile-pill .pill-dot {
    width: 16px !important;
    height: 16px !important;
    border-radius: 50% !important;
    background: #e2e8f0 !important;
    color: #64748b !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    transition: all 0.2s ease !important;
  }

  .checkout-steps__mobile-pill.is-completed {
    cursor: pointer !important;
    color: #059669 !important;
    border-color: #a7f3d0 !important;
    background: #ecfdf5 !important;
  }

  .checkout-steps__mobile-pill.is-completed .pill-dot {
    background: #059669 !important;
    color: #ffffff !important;
  }

  .checkout-steps__mobile-pill.is-completed:hover,
  .checkout-steps__mobile-pill.is-completed:active {
    background: #103556 !important;
    color: #ffffff !important;
    border-color: #103556 !important;
    box-shadow: 0 3px 10px rgba(16, 53, 86, 0.25) !important;
    transform: translateY(-1px) !important;
  }
  .checkout-steps__mobile-pill.is-completed:hover .pill-dot,
  .checkout-steps__mobile-pill.is-completed:active .pill-dot {
    background: #ffffff !important;
    color: #103556 !important;
  }

  .checkout-steps__mobile-pill.is-current {
    cursor: default !important;
    color: #103556 !important;
    border-color: #103556 !important;
    background: rgba(16, 53, 86, 0.08) !important;
    font-weight: 700 !important;
  }

  .checkout-steps__mobile-pill.is-current .pill-dot {
    background: #103556 !important;
    color: #ffffff !important;
  }

  .checkout-steps__mobile-pills .pill-sep {
    flex: 1 !important;
    height: 1.5px !important;
    background: #e2e8f0 !important;
    min-width: 2px !important;
  }
}

@media (min-width: 768px) {
  .checkout-steps {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 18px !important;
    padding: 22px 28px 20px !important;
    margin: 20px auto 28px !important;
    max-width: 1200px !important;
    box-shadow: 0 4px 20px rgba(16, 53, 86, 0.04) !important;
  }

  .checkout-steps__mobile {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: center !important;
    gap: 16px 20px !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
  }

  /* Header (Progress Ring + Title & Subtitle) */
  .checkout-steps__mobile-header {
    grid-column: 1 / 2 !important;
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    width: 100% !important;
  }

  .checkout-steps__mobile .checkout-steps__left {
    flex-shrink: 0 !important;
  }

  .checkout-steps__mobile .progress-circle {
    width: 60px !important;
    height: 60px !important;
  }

  .checkout-steps__mobile .progress-circle text {
    fill: #103556 !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 700 !important;
    font-size: 16.5px !important;
  }

  .checkout-steps__mobile .progress-circle circle.text-success {
    stroke: #103556 !important;
  }

  .checkout-steps__mobile .checkout-steps__title {
    font-family: 'Outfit', sans-serif !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #103556 !important;
    margin: 0 0 2px !important;
    line-height: 1.2 !important;
    letter-spacing: -0.2px !important;
  }

  .checkout-steps__mobile .checkout-steps__subtitle {
    font-family: 'Outfit', sans-serif !important;
    font-size: 14px !important;
    color: #64748b !important;
    font-weight: 500 !important;
    margin: 0 !important;
  }

  /* Back Button (Top-Right) */
  .checkout-steps__mobile-actions {
    grid-column: 2 / 3 !important;
    display: flex !important;
    justify-content: flex-end !important;
    width: auto !important;
  }

  .checkout-steps__mobile-back-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: auto !important;
    padding: 10px 20px !important;
    background: #f8fafc !important;
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 12px !important;
    color: #103556 !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03) !important;
  }

  .checkout-steps__mobile-back-btn:hover {
    background: #103556 !important;
    color: #ffffff !important;
    border-color: #103556 !important;
    box-shadow: 0 4px 14px rgba(16, 53, 86, 0.18) !important;
    transform: translateY(-1px) !important;
  }

  .checkout-steps__mobile-back-btn i {
    font-size: 18px !important;
    transition: transform 0.2s ease !important;
  }

  .checkout-steps__mobile-back-btn:hover i {
    transform: translateX(-3px) !important;
  }

  /* Pills Bar (Full Width across bottom) */
  .checkout-steps__mobile-pills-bar {
    grid-column: 1 / 3 !important;
    border-top: 1px solid #f1f5f9 !important;
    padding-top: 16px !important;
    width: 100% !important;
  }

  .checkout-steps__mobile-pills {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
  }

  .checkout-steps__mobile-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 20px !important;
    border-radius: 24px !important;
    border: 1.5px solid #e2e8f0 !important;
    background: #ffffff !important;
    color: #94a3b8 !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    cursor: not-allowed !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    outline: none !important;
    white-space: nowrap !important;
  }

  .checkout-steps__mobile-pill .pill-dot {
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    background: #e2e8f0 !important;
    color: #64748b !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    transition: all 0.2s ease !important;
  }

  .checkout-steps__mobile-pill.is-completed {
    cursor: pointer !important;
    color: #059669 !important;
    border-color: #a7f3d0 !important;
    background: #ecfdf5 !important;
  }

  .checkout-steps__mobile-pill.is-completed .pill-dot {
    background: #059669 !important;
    color: #ffffff !important;
  }

  .checkout-steps__mobile-pill.is-completed:hover {
    background: #103556 !important;
    color: #ffffff !important;
    border-color: #103556 !important;
    box-shadow: 0 3px 10px rgba(16, 53, 86, 0.25) !important;
    transform: translateY(-1px) !important;
  }
  .checkout-steps__mobile-pill.is-completed:hover .pill-dot {
    background: #ffffff !important;
    color: #103556 !important;
  }

  .checkout-steps__mobile-pill.is-current {
    cursor: default !important;
    color: #ffffff !important;
    border-color: #103556 !important;
    background: #103556 !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 14px rgba(16, 53, 86, 0.22) !important;
  }

  .checkout-steps__mobile-pill.is-current .pill-dot {
    background: #ffffff !important;
    color: #103556 !important;
  }

  .checkout-steps__mobile-pills .pill-sep {
    flex: 1 !important;
    height: 2.5px !important;
    background: #e2e8f0 !important;
    min-width: 12px !important;
    border-radius: 2px !important;
  }
}

/* In-Step Return Action Button (redundant with header navigation back button) */
.im-step-return-bar {
  display: none !important;
}

.im-step-return-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 16px !important;
  background: #f8fafc !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 12px !important;
  color: #103556 !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
}

.im-step-return-btn:hover {
  background: #103556 !important;
  color: #ffffff !important;
  border-color: #103556 !important;
  transform: translateX(-2px) !important;
  box-shadow: 0 3px 8px rgba(16, 53, 86, 0.15) !important;
}

.im-step-return-icon,
.im-nav-back-icon,
.im-btn-icon {
  flex-shrink: 0 !important;
  display: inline-block !important;
  vertical-align: middle !important;
  transition: transform 0.2s ease !important;
}

.im-step-return-btn:hover .im-step-return-icon,
.checkout-steps__mobile-back-btn:hover .im-back-icon,
.buttons-wrapper .btn.btn-outline-primary.js-back:hover .im-btn-icon {
  transform: translateX(-3px) !important;
}

.buttons-wrapper .btn.btn-primary:hover .im-btn-icon {
  transform: translateX(3px) !important;
}

/* --------------------------------------------------------------------------
   3. STEP CONTENT PANEL CONTAINER
   -------------------------------------------------------------------------- */
section.step.tab-pane {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 18px !important;
  padding: 32px 36px !important;
  box-shadow: 0 4px 22px rgba(16, 53, 86, 0.04) !important;
  box-shadow: 0 4px 22px rgba(16, 53, 86, 0.04) !important;
  margin-bottom: 24px !important;
  border-top: none !important;
}

@media (max-width: 767px) {
  section.step.tab-pane {
    padding: 22px 18px !important;
    border-radius: 14px !important;
  }
}

.step__title {
  border-bottom: 1px solid #f1f5f9 !important;
  padding-bottom: 16px !important;
  margin-bottom: 24px !important;
}

.step__title hr {
  display: none !important;
}

.step__title .page-title-section {
  font-family: 'Outfit', sans-serif !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  color: #103556 !important;
  letter-spacing: -0.3px !important;
  margin: 0 !important;
}

/* Subtitle helper paragraph under title */
.step__content > p:first-child,
.js-address-form > form > p:first-child {
  font-size: 14px !important;
  color: #64748b !important;
  line-height: 1.6 !important;
  margin-bottom: 22px !important;
}

/* --------------------------------------------------------------------------
   4. STEP 1: PERSONAL INFORMATION
   -------------------------------------------------------------------------- */
.step__account {
  background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%) !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 14px !important;
  padding: 22px 24px !important;
  margin-bottom: 24px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  position: relative !important;
  box-shadow: 0 2px 10px rgba(16, 53, 86, 0.03) !important;
}

.step__account p {
  margin: 0 !important;
  font-size: 15px !important;
  color: #334155 !important;
}

.step__account a {
  font-weight: 700 !important;
  color: #103556 !important;
  text-decoration: none !important;
}

.step__account a:hover {
  text-decoration: underline !important;
}

.step__account a.text-danger {
  color: #dc2626 !important;
  background: #fef2f2 !important;
  padding: 4px 12px !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  display: inline-block !important;
  margin-left: 6px !important;
  transition: all 0.2s ease !important;
}

.step__account a.text-danger:hover {
  background: #fee2e2 !important;
  color: #b91c1c !important;
  text-decoration: none !important;
}

/* Unlogged Tabs */
#personal-information-tabs {
  background: #f1f5f9 !important;
  border-radius: 12px !important;
  padding: 5px !important;
  display: flex !important;
  gap: 6px !important;
  border: none !important;
  margin-bottom: 24px !important;
}

#personal-information-tabs .nav-item {
  flex: 1 !important;
}

#personal-information-tabs .nav-link {
  width: 100% !important;
  border-radius: 9px !important;
  border: none !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  color: #64748b !important;
  padding: 10px 16px !important;
  text-align: center !important;
  transition: all 0.2s ease !important;
}

#personal-information-tabs .nav-link.active {
  background: #103556 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(16, 53, 86, 0.18) !important;
}

/* --------------------------------------------------------------------------
   5. STEP 2: ADDRESSES
   -------------------------------------------------------------------------- */
.address__list.js-address-selector {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)) !important;
  gap: 18px !important;
  margin-bottom: 24px !important;
}

@media (max-width: 575px) {
  .address__list.js-address-selector {
    grid-template-columns: 1fr !important;
  }
}

.address-card.address-card--radio {
  background: #ffffff !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 14px !important;
  padding: 20px 22px !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  position: relative !important;
  cursor: pointer !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}

.address-card.address-card--radio:hover {
  border-color: #cbd5e1 !important;
  box-shadow: 0 4px 16px rgba(16, 53, 86, 0.06) !important;
  transform: translateY(-2px) !important;
}

.address-card.address-card--radio.selected {
  border: 2px solid #103556 !important;
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%) !important;
  box-shadow: 0 6px 20px rgba(16, 53, 86, 0.08) !important;
}

.address-card.address-card--radio.selected::after {
  content: 'Selezionato' !important;
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  background: #ecfdf5 !important;
  color: #059669 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  padding: 3px 8px !important;
  border-radius: 6px !important;
  letter-spacing: 0.5px !important;
}

.address-card__container {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  cursor: pointer !important;
}

.address-card__header {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
}

.address-card__alias {
  font-family: 'Outfit', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #103556 !important;
}

address.address-card__content {
  font-style: normal !important;
  font-size: 13.5px !important;
  color: #334155 !important;
  line-height: 1.6 !important;
  margin-bottom: 16px !important;
  flex-grow: 1 !important;
}

.address-card__actions {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  border-top: 1px solid #f1f5f9 !important;
  padding-top: 14px !important;
  margin-top: auto !important;
}

.address-card__actions a.address-card__edit {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #103556 !important;
  background: #f1f5f9 !important;
  padding: 6px 14px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.address-card__actions a.address-card__edit:hover {
  background: #e2e8f0 !important;
  color: #0a2136 !important;
}

.address-card__actions a.address-card__delete {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #dc2626 !important;
  background: #fef2f2 !important;
  padding: 6px 14px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.address-card__actions a.address-card__delete:hover {
  background: #fee2e2 !important;
  color: #b91c1c !important;
}

/* Add New Address Button */
.buttons-wrapper a.btn.btn-outline-primary,
.js-address-form a.btn.btn-outline-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  padding: 14px 22px !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 12px !important;
  background: #f8fafc !important;
  color: #103556 !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14.5px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.buttons-wrapper a.btn.btn-outline-primary:hover,
.js-address-form a.btn.btn-outline-primary:hover {
  border-color: #103556 !important;
  background: #f1f5f9 !important;
  color: #103556 !important;
  transform: translateY(-1px) !important;
}

/* Different Invoice Address Link */
[data-link-action="different-invoice-address"] {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: #103556 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  padding: 8px 14px !important;
  border-radius: 8px !important;
  background: #f1f5f9 !important;
  transition: all 0.2s ease !important;
  margin-top: 14px !important;
}

[data-link-action="different-invoice-address"]:hover {
  background: #e2e8f0 !important;
  color: #0a2136 !important;
}

/* --------------------------------------------------------------------------
   6. STEP 3: SHIPPING / DELIVERY
   -------------------------------------------------------------------------- */
.delivery-options__list {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  margin-bottom: 24px !important;
}

.delivery-option__item {
  background: #ffffff !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 14px !important;
  padding: 18px 24px !important;
  transition: all 0.25s ease !important;
  cursor: pointer !important;
  position: relative !important;
}

.delivery-option__item:hover {
  border-color: #cbd5e1 !important;
  box-shadow: 0 4px 16px rgba(16, 53, 86, 0.05) !important;
  transform: translateY(-1px) !important;
}

/* Selected carrier style */
.delivery-option__item:has(input:checked),
.delivery-option__item.is-selected {
  border: 2px solid #103556 !important;
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%) !important;
  box-shadow: 0 6px 20px rgba(16, 53, 86, 0.08) !important;
}

.delivery-option__label {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  margin: 0 !important;
  cursor: pointer !important;
}

.delivery-option__left {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
}

.delivery-option__carrier-logo {
  max-height: 38px !important;
  width: auto !important;
  object-fit: contain !important;
  padding: 4px !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
}

.delivery-option__carrier-name {
  font-family: 'Outfit', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #103556 !important;
}

.delivery-option__content {
  font-size: 13.5px !important;
  color: #64748b !important;
  font-weight: 500 !important;
  padding: 0 16px !important;
}

.delivery-option__price {
  font-family: 'Outfit', sans-serif !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  color: #103556 !important;
  white-space: nowrap !important;
}

/* Order note comment box */
.order-options #delivery label {
  font-family: 'Outfit', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  margin-bottom: 8px !important;
}

.order-options #delivery_message {
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 12px !important;
  padding: 14px 16px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  color: #334155 !important;
  width: 100% !important;
  transition: all 0.2s ease !important;
}

.order-options #delivery_message:focus {
  border-color: #103556 !important;
  box-shadow: 0 0 0 3px rgba(16, 53, 86, 0.1) !important;
  outline: none !important;
}

/* --------------------------------------------------------------------------
   7. STEP 4: PAYMENT
   -------------------------------------------------------------------------- */
.payment-options__list {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  margin-bottom: 24px !important;
}

/* Hide PrestaShop legacy no-JS form fallbacks */
.ps-hidden-by-js,
.payment-option__no-js-form {
  display: none !important;
}

.payment-option {
  background: #ffffff !important;
  border: 2px solid #e2e8f0 !important;
  border-radius: 14px !important;
  padding: 18px 22px !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
  position: relative !important;
  cursor: pointer !important;
  will-change: border-color, box-shadow;
}

.payment-option:hover {
  border-color: #cbd5e1 !important;
  box-shadow: 0 4px 16px rgba(16, 53, 86, 0.05) !important;
  transform: translateY(-1px) !important;
}

.payment-option:has(input:checked),
.payment-option.is-selected {
  border-color: #103556 !important;
  background: #f8fafc !important;
  box-shadow: 0 6px 20px rgba(16, 53, 86, 0.08) !important;
}

.payment-option__form-check {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

.payment-option__input.form-check-input {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  margin: 0 !important;
  border: 2px solid #cbd5e1 !important;
  border-radius: 50% !important;
  background-color: #ffffff !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  transition: all 0.2s ease !important;
}

.payment-option__input.form-check-input:checked {
  background-color: #103556 !important;
  border-color: #103556 !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e") !important;
  box-shadow: 0 0 0 3px rgba(16, 53, 86, 0.15) !important;
}

.payment-option__label {
  font-family: 'Outfit', sans-serif !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin: 0 !important;
  width: 100% !important;
  flex: 1 !important;
}

.payment-option__text-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
}

.payment-option__title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 15.5px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  line-height: 1.3 !important;
}

.payment-option__desc {
  font-family: 'Outfit', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  color: #64748b !important;
  line-height: 1.4 !important;
}

.payment-option__badge-wrap {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-shrink: 0 !important;
}

.payment-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 5px 12px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  font-family: 'Outfit', sans-serif !important;
  white-space: nowrap !important;
}

.payment-badge--cod {
  background: #ecfdf5 !important;
  color: #047857 !important;
  border: 1px solid #a7f3d0 !important;
}

.payment-badge--wire {
  background: #eff6ff !important;
  color: #1d4ed8 !important;
  border: 1px solid #bfdbfe !important;
}

.payment-badge--check {
  background: #f8fafc !important;
  color: #475569 !important;
  border: 1px solid #e2e8f0 !important;
}

.payment-badge--default {
  background: #f1f5f9 !important;
  color: #334155 !important;
}

.payment-option__logo {
  max-height: 28px !important;
  max-width: 90px !important;
  object-fit: contain !important;
}

.payment-option__additional-information {
  background: #f8fafc !important;
  border-top: 1px solid #e2e8f0 !important;
  border-radius: 0 0 12px 12px !important;
  margin: 16px -22px -18px !important;
  padding: 16px 22px !important;
  color: #475569 !important;
  font-size: 13.5px !important;
  line-height: 1.6 !important;
}

@media (max-width: 575.98px) {
  .payment-option {
    padding: 14px 16px !important;
  }

  .payment-option__label {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }

  .payment-option__badge-wrap {
    align-self: flex-start !important;
  }

  .payment-option__additional-information {
    margin: 14px -16px -14px !important;
    padding: 14px 16px !important;
  }
}

/* Conditions to approve / Terms & conditions */
#conditions-to-approve {
  background: #f8fafc !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 14px !important;
  padding: 18px 22px !important;
  margin: 24px 0 !important;
}

#conditions-to-approve .form-check-label {
  font-size: 14px !important;
  color: #334155 !important;
  line-height: 1.5 !important;
  cursor: pointer !important;
}

#conditions-to-approve a {
  color: #103556 !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
}

/* --------------------------------------------------------------------------
   8. BUTTONS & ACTIONS
   -------------------------------------------------------------------------- */
.buttons-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin-top: 28px !important;
}

.buttons-wrapper .btn.btn-primary,
#payment-confirmation button.btn.btn-primary,
#checkout-continue-form button.btn.btn-primary {
  background: #103556 !important;
  border: 1.5px solid #103556 !important;
  color: #ffffff !important;
  border-radius: 12px !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 700 !important;
  font-size: 15.5px !important;
  padding: 14px 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  box-shadow: 0 4px 16px rgba(16, 53, 86, 0.22) !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  text-decoration: none !important;
  letter-spacing: 0.2px !important;
}

.buttons-wrapper .btn.btn-primary:hover,
#payment-confirmation button.btn.btn-primary:hover,
#checkout-continue-form button.btn.btn-primary:hover {
  background: #0a2136 !important;
  border-color: #0a2136 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(16, 53, 86, 0.32) !important;
  color: #ffffff !important;
}

.buttons-wrapper .btn.btn-primary:active,
#payment-confirmation button.btn.btn-primary:active {
  transform: translateY(0) !important;
}

.buttons-wrapper .btn.btn-primary:disabled,
.buttons-wrapper .btn.btn-primary.disabled,
#payment-confirmation button.btn.btn-primary:disabled,
#payment-confirmation button.btn.btn-primary.disabled {
  background: #94a3b8 !important;
  border-color: #94a3b8 !important;
  box-shadow: none !important;
  opacity: 0.7 !important;
  transform: none !important;
  cursor: not-allowed !important;
}

/* Secondary Back Button */
.buttons-wrapper .btn.btn-outline-primary.js-back {
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  color: #475569 !important;
  border-radius: 12px !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  padding: 13px 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
}

.buttons-wrapper .btn.btn-outline-primary.js-back:hover {
  background: #f8fafc !important;
  border-color: #103556 !important;
  color: #103556 !important;
}

/* Cancel Address Button & Secondary Basic Buttons */
body#checkout .js-cancel-address,
.page-order .js-cancel-address,
body#checkout .btn-basic,
.page-order .btn-basic {
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  color: #475569 !important;
  border-radius: 12px !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  padding: 13px 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
}

body#checkout .js-cancel-address:hover,
.page-order .js-cancel-address:hover,
body#checkout .btn-basic:hover,
.page-order .btn-basic:hover {
  background: #f8fafc !important;
  border-color: #103556 !important;
  color: #103556 !important;
}

/* Checkout Alerts & Validation Messages */
body#checkout .alert.alert-danger,
.page-order .alert.alert-danger,
.js-address-error {
  background: #fef2f2 !important;
  border: 1.5px solid #fecaca !important;
  color: #991b1b !important;
  border-radius: 12px !important;
  padding: 14px 18px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  box-shadow: 0 2px 8px rgba(239, 68, 68, 0.08) !important;
}

body#checkout .alert.alert-danger a,
.page-order .alert.alert-danger a {
  color: #7f1d1d !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
}

/* Custom form check / radio inputs in checkout */
body#checkout .form-check-input,
.page-order .form-check-input {
  width: 20px !important;
  height: 20px !important;
  border: 2px solid #cbd5e1 !important;
  transition: all 0.2s ease !important;
}

body#checkout .form-check-input:checked,
.page-order .form-check-input:checked {
  background-color: #103556 !important;
  border-color: #103556 !important;
}

body#checkout .form-check-input:focus,
.page-order .form-check-input:focus {
  border-color: #103556 !important;
  box-shadow: 0 0 0 3px rgba(16, 53, 86, 0.15) !important;
}

/* --------------------------------------------------------------------------
   9. STICKY RIGHT-HAND SIDEBAR (CART SUMMARY & REASSURANCE)
   -------------------------------------------------------------------------- */
.checkout-grid__aside-wrapper {
  position: sticky !important;
  top: 90px !important;
  z-index: 10 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

/* Summary Card (Base / Mobile) */
.checkout__summary-accordion {
  border: none !important;
  background: transparent !important;
  margin: 0 !important;
}

.checkout__summary-accordion-item {
  background: #ffffff !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 18px !important;
  box-shadow: 0 4px 20px rgba(16, 53, 86, 0.05) !important;
  overflow: hidden !important;
}

.checkout__summary-accordion-header .accordion-button {
  background: #ffffff !important;
  padding: 18px 24px 14px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  color: #103556 !important;
  border: none !important;
  box-shadow: none !important;
  letter-spacing: -0.2px !important;
}

.checkout__summary-accordion-wrapper.cart-summary {
  padding: 20px 22px 18px !important;
}

/* Products number */
.cart-summary__products-number {
  font-family: 'Outfit', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  margin-bottom: 10px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.cart-summary__products hr {
  border: none !important;
  border-top: 1px solid #f1f5f9 !important;
  margin: 10px 0 !important;
  opacity: 1 !important;
}

/* Details toggle */
.cart-summary__products-accordion .accordion-button {
  padding: 8px 0 !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #103556 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  transition: color 0.2s ease !important;
}

.cart-summary__products-accordion .accordion-button:hover {
  color: #059669 !important;
}

/* Details product line */
.cart-summary-product {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid #f1f5f9 !important;
}

.cart-summary__product:last-child .cart-summary-product {
  border-bottom: none !important;
}

.cart-summary-product .cart-summary-product__image {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  max-width: 56px !important;
  flex: 0 0 56px !important;
  aspect-ratio: 1 / 1 !important;
  background-color: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  position: relative !important;
}

.cart-summary-product .cart-summary-product__image a,
.cart-summary-product .cart-summary-product__image picture {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

.cart-summary-product .cart-summary-product__img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  aspect-ratio: 1 / 1 !important;
  display: block !important;
  border: none !important;
  border-radius: 0 !important;
}

.cart-summary-product__content {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  gap: 8px !important;
}

.cart-summary-product__content-left {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.cart-summary-product__content-right {
  flex-shrink: 0 !important;
  text-align: right !important;
}

.cart-summary-product__link {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #103556 !important;
  text-decoration: none !important;
  line-height: 1.35 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  margin-bottom: 3px !important;
}

.cart-summary-product__link:hover {
  color: #059669 !important;
}

.cart-summary-product__attributes {
  font-size: 11.5px !important;
  color: #64748b !important;
  line-height: 1.3 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 3px 6px !important;
}

.cart-summary-product__attribute {
  display: inline-flex !important;
  align-items: center !important;
  gap: 2px !important;
}

.cart-summary-product__attribute .label {
  color: #94a3b8 !important;
}

.cart-summary-product__attribute .value {
  color: #475569 !important;
  font-weight: 500 !important;
}

.cart-summary-product__price {
  font-size: 11.5px !important;
  color: #64748b !important;
  margin-top: 2px !important;
}

.cart-summary-product__price .label {
  font-weight: 600 !important;
  color: #103556 !important;
}

.cart-summary-product__price .value {
  text-decoration: line-through !important;
  color: #94a3b8 !important;
  margin-left: 4px !important;
  font-size: 11px !important;
}

.cart-summary-product__quantity {
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: #64748b !important;
  margin-top: 2px !important;
}

.cart-summary-product__total {
  font-family: 'Outfit', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  white-space: nowrap !important;
}

/* Subtotals lines */
.cart-summary__subtotals {
  padding: 8px 0 2px !important;
}

.cart-summary__line {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 5px 0 !important;
  font-size: 14px !important;
}

.cart-summary__label {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  color: #64748b !important;
}

.cart-summary__value {
  font-family: 'Outfit', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  color: #1e293b !important;
}

/* Shipping "Gratis" badge */
#cart-subtotal-shipping .cart-summary__value {
  color: #059669 !important;
  background: #ecfdf5 !important;
  border: 1px solid #a7f3d0 !important;
  padding: 2.5px 9px !important;
  border-radius: 20px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
}

/* Totals Line */
.cart-summary__total {
  border-top: 1.5px solid #e2e8f0 !important;
  padding-top: 12px !important;
  margin-top: 8px !important;
}

.cart-summary__total .cart-summary__line--bold {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
}

.cart-summary__total .cart-summary__label {
  font-family: 'Outfit', sans-serif !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  color: #103556 !important;
}

.cart-summary__total .cart-summary__value {
  font-family: 'Outfit', sans-serif !important;
  font-size: 21px !important;
  font-weight: 800 !important;
  color: #103556 !important;
}

/* Voucher / Promo */
.cart-summary__voucher {
  margin-top: 14px !important;
}

.im-voucher-trigger-btn {
  background: #f8fafc !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 10px 14px !important;
  width: 100% !important;
  transition: all 0.2s ease !important;
}

.im-voucher-trigger-btn:hover {
  background: #f1f5f9 !important;
  border: none !important;
  box-shadow: none !important;
}

.im-voucher-trigger-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: #103556 !important;
}

.im-voucher-tag-icon-wrap svg {
  stroke: #103556 !important;
}

.im-voucher-body {
  padding: 10px 0 2px !important;
}

.im-voucher-input {
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 9px !important;
  padding: 6px 10px 6px 34px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 12.5px !important;
  color: #1e293b !important;
  height: 40px !important;
}

.im-voucher-input:focus {
  border-color: #103556 !important;
  box-shadow: 0 0 0 3px rgba(16, 53, 86, 0.12) !important;
}

.im-voucher-btn {
  background: #103556 !important;
  border: 1px solid #103556 !important;
  color: #ffffff !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  border-radius: 9px !important;
  height: 40px !important;
  padding: 0 16px !important;
  transition: all 0.2s ease !important;
}

.im-voucher-btn:hover {
  background: #0c2842 !important;
  border-color: #0c2842 !important;
  box-shadow: 0 4px 12px rgba(16, 53, 86, 0.2) !important;
}

/* Reassurance Trust Box (Base / Mobile) */
.checkout-grid__aside-wrapper .blockreassurance {
  background: #ffffff !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 18px !important;
  padding: 18px 22px !important;
  box-shadow: 0 4px 20px rgba(16, 53, 86, 0.04) !important;
  margin: 0 !important;
}

.checkout-grid__aside-wrapper .blockreassurance .blockreassurance--horizontal {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}

.checkout-grid__aside-wrapper .reassurance {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid #f1f5f9 !important;
  text-decoration: none !important;
}

.checkout-grid__aside-wrapper .reassurance:first-child {
  padding-top: 0 !important;
}

.checkout-grid__aside-wrapper .reassurance:last-child {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

.checkout-grid__aside-wrapper .reassurance__image {
  width: 40px !important;
  height: 40px !important;
  border-radius: 12px !important;
  background: #f0f7ff !important;
  border: 1px solid #dbeafe !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
}

.checkout-grid__aside-wrapper .reassurance__image svg {
  width: 20px !important;
  height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
}

.checkout-grid__aside-wrapper .reassurance__image svg path {
  fill: #103556 !important;
}

.checkout-grid__aside-wrapper .reassurance__image svg path[id="fill"],
.checkout-grid__aside-wrapper .reassurance__image svg path[opacity] {
  fill: #059669 !important;
  opacity: 0.35 !important;
}

.checkout-grid__aside-wrapper .reassurance__content {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

.checkout-grid__aside-wrapper .reassurance__title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  line-height: 1.3 !important;
  margin: 0 !important;
}

.checkout-grid__aside-wrapper .reassurance__desc {
  font-family: 'Outfit', sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #64748b !important;
  line-height: 1.4 !important;
  display: block !important;
  margin: 0 !important;
}

/* ==========================================================================
   DESKTOP HIGH-UX SIDEBAR (DENSITY & MODALITY REVOLUTION)
   ========================================================================== */
@media (min-width: 992px) {
  /* 1. Unified Master Card Container */
  .checkout-grid__aside-wrapper {
    position: sticky !important;
    top: 85px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important; /* Eliminate gap: joins into a unified master widget */
    box-shadow: 0 8px 30px rgba(16, 53, 86, 0.07) !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    border: 1.5px solid #e2e8f0 !important;
    background: #ffffff !important;
  }

  .checkout__summary-accordion {
    margin: 0 !important;
  }

  .checkout__summary-accordion-item {
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #ffffff !important;
  }

  .checkout__summary-accordion-wrapper.cart-summary {
    padding: 18px 22px 14px !important;
  }

  /* 2. Direct Product Visibility (No accordion click required on Desktop) */
  .cart-summary__products-accordion .accordion-collapse#cart-summary-product-list {
    display: block !important;
    height: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Hide the superfluous "Mostra dettagli" toggle button on desktop */
  .cart-summary__products-accordion .accordion-header {
    display: none !important;
  }

  .cart-summary__products hr:first-of-type {
    display: none !important;
  }

  .cart-summary__products hr {
    margin: 8px 0 !important;
  }

  /* 3. Compact & Elegant Product Line */
  .cart-summary__products-list {
    max-height: 160px !important;
    overflow-y: auto !important;
    padding-right: 4px !important;
  }

  .cart-summary__products-list::-webkit-scrollbar {
    width: 4px !important;
  }
  .cart-summary__products-list::-webkit-scrollbar-thumb {
    background: #cbd5e1 !important;
    border-radius: 4px !important;
  }

  .cart-summary-product {
    padding: 6px 0 !important;
    gap: 10px !important;
  }

  .cart-summary-product__img {
    width: 46px !important;
    height: 46px !important;
    border-radius: 8px !important;
  }

  .cart-summary-product__content {
    gap: 8px !important;
  }

  .cart-summary-product__content-left {
    min-width: 0 !important;
  }

  .cart-summary-product__link {
    font-size: 12.5px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 175px !important;
    margin-bottom: 2px !important;
  }

  .cart-summary-product__attributes {
    font-size: 11px !important;
    line-height: 1.25 !important;
  }

  /* Hide duplicate unit price on left side to eliminate clutter */
  .cart-summary-product__price {
    display: none !important;
  }

  .cart-summary-product__quantity {
    display: inline-block !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #103556 !important;
    background: #f1f5f9 !important;
    padding: 1px 6px !important;
    border-radius: 8px !important;
    margin-top: 2px !important;
  }

  .cart-summary-product__total {
    font-size: 14px !important;
  }

  /* 4. Dense Subtotals & Totals */
  .cart-summary__subtotals {
    padding: 6px 0 2px !important;
  }

  .cart-summary__line {
    padding: 3.5px 0 !important;
  }

  .cart-summary__label {
    font-size: 13px !important;
  }

  .cart-summary__value {
    font-size: 13.5px !important;
  }

  .cart-summary__total {
    border-top: 1px solid #e2e8f0 !important;
    padding-top: 8px !important;
    margin-top: 6px !important;
  }

  .cart-summary__total .cart-summary__label {
    font-size: 15px !important;
  }

  .cart-summary__total .cart-summary__value {
    font-size: 19px !important;
  }

  /* 5. Compact Voucher */
  .cart-summary__voucher {
    margin-top: 10px !important;
  }

  .im-voucher-trigger-btn {
    padding: 8px 12px !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .im-voucher-trigger-title {
    font-size: 12px !important;
  }

  /* 6. Reassurance: Seamless Trust Footer inside Master Card */
  .checkout-grid__aside-wrapper .blockreassurance {
    border: none !important;
    border-top: 1px solid #eef2f6 !important;
    border-radius: 0 !important;
    background: #f8fafc !important; /* Soft luxury contrast */
    padding: 12px 20px 14px !important;
    margin: 0 !important;
    box-shadow: none !important;
  }

  .checkout-grid__aside-wrapper .reassurance {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 7px 0 !important;
    border-bottom: 1px solid #edf2f7 !important;
  }

  .checkout-grid__aside-wrapper .reassurance:first-child {
    padding-top: 0 !important;
  }

  .checkout-grid__aside-wrapper .reassurance:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
  }

  .checkout-grid__aside-wrapper .reassurance__image {
    width: 32px !important;
    height: 32px !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
    padding: 0 !important;
  }

  .checkout-grid__aside-wrapper .reassurance__image svg {
    width: 17px !important;
    height: 17px !important;
    max-width: 17px !important;
    max-height: 17px !important;
  }

  .checkout-grid__aside-wrapper .reassurance__title {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #103556 !important;
  }

  .checkout-grid__aside-wrapper .reassurance__desc {
    font-size: 10.5px !important;
    color: #64748b !important;
    line-height: 1.25 !important;
    margin-top: 1px !important;
  }
}





/* ==========================================================================
   CARILLO BIANCHERIA STYLE PRODUCT PAGE ARCHITECTURE
   ========================================================================== */

/* Brand & Title */
.im-carillo-brand {
  margin-bottom: 8px !important;
}
.im-carillo-brand a {
  text-decoration: none !important;
  display: inline-block !important;
}
.im-carillo-brand-img {
  max-height: 38px !important;
  max-width: 140px !important;
  object-fit: contain !important;
}
.im-carillo-brand-badge {
  display: inline-block !important;
  padding: 4px 12px !important;
  background-color: #f1f5f9 !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  color: #475569 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
}

.im-carillo-product-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: clamp(18px, 4.2vw, 26px) !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  line-height: 1.26 !important;
  margin-bottom: 12px !important;
  word-break: break-word !important;
}
@media (max-width: 767.98px) {
  .im-carillo-product-title {
    font-size: clamp(17.5px, 4.6vw, 22px) !important;
    line-height: 1.25 !important;
  }
}

/* Reviews & Stock Meta Bar */
.im-carillo-meta-row {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 16px !important;
  flex-wrap: wrap !important;
}
.im-carillo-rating {
  display: inline-flex !important;
  align-items: center !important;
}
.im-carillo-stars-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  text-decoration: none !important;
  cursor: pointer !important;
}
.im-carillo-stars {
  display: inline-flex !important;
  gap: 2px !important;
}
.im-carillo-review-text,
.im-carillo-review-write {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #64748b !important;
}
.im-carillo-stars-link:hover .im-carillo-review-text,
.im-carillo-stars-link:hover .im-carillo-review-write {
  color: #103556 !important;
  text-decoration: underline !important;
}
.im-carillo-meta-divider {
  color: #cbd5e1 !important;
  font-size: 13px !important;
}
.im-carillo-stock-status {
  display: inline-flex !important;
  align-items: center !important;
}
.im-carillo-stock-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}
.im-carillo-stock--in {
  color: #15803d !important;
}
.im-carillo-stock--low {
  color: #b45309 !important;
}
.im-carillo-stock--out {
  color: #b91c1c !important;
}
.im-stock-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  display: inline-block !important;
}
.im-stock-dot--green {
  background-color: #22c55e !important;
  box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.25) !important;
}
.im-stock-dot--yellow {
  background-color: #f59e0b !important;
  box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.25) !important;
}
.im-stock-dot--red {
  background-color: #ef4444 !important;
  box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.25) !important;
}

/* Prices */
.product__prices {
  margin-bottom: 8px !important;
}
.product__price {
  font-family: 'Outfit', sans-serif !important;
  font-size: clamp(22px, 5.5vw, 32px) !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  letter-spacing: -0.5px !important;
}
@media (max-width: 767.98px) {
  .product__price {
    font-size: clamp(21.5px, 5.8vw, 26px) !important;
  }
}
.product__regular-price {
  font-family: 'Outfit', sans-serif !important;
  font-size: 19px !important;
  color: #94a3b8 !important;
  text-decoration: line-through !important;
  font-weight: 500 !important;
}
.product__discount-percentage {
  background-color: #fef2f2 !important;
  color: #dc2626 !important;
  border: 1px solid #fecaca !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  padding: 3px 8px !important;
  border-radius: 6px !important;
}
.product__tax-label {
  font-size: 12px !important;
  color: #94a3b8 !important;
}

/* Installments Banner (Scalapay & Klarna) */
.im-carillo-installments-box {
  margin-top: 14px !important;
  margin-bottom: 20px !important;
  padding: 11px 16px !important;
  background-color: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}
.im-carillo-installments-txt {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  color: #334155 !important;
  line-height: 1.4 !important;
}
.im-carillo-installments-txt strong {
  color: #0f172a !important;
  font-weight: 700 !important;
}
.im-carillo-installments-logos {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  vertical-align: middle !important;
}
.im-installment-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 6px !important;
  padding: 2px 7px !important;
  height: 28px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
  transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease !important;
}
.im-installment-badge:hover {
  border-color: #cbd5e1 !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
  transform: translateY(-1px) !important;
}
.im-installment-img {
  height: 20px !important;
  width: auto !important;
  max-width: 65px !important;
  display: block !important;
  object-fit: contain !important;
}

/* ==========================================================================
   BROOKLINEN-STYLE LUXURY PDP SYSTEM (ITALIA MAGAZZINI DTC EXPERIENCE)
   ========================================================================== */

/* 1. Main Layout & Desktop Grid */
@media (min-width: 992px) {
  .product__container {
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr) !important;
    gap: 48px !important;
    align-items: start !important;
    margin-top: 16px !important;
    margin-bottom: 48px !important;
  }
  .product__right {
    position: relative !important;
    top: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding-right: 0 !important;
  }
}

/* 2. Gallery Stage & Carousel (Soft Studio Canvas) */
.product__carousel {
  background-color: #f7f7f8 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  position: relative !important;
  border: 1px solid rgba(0, 0, 0, 0.04) !important;
}

.product__carousel .carousel-inner {
  border-radius: 16px !important;
}

.product__carousel .carousel-item img {
  border-radius: 16px !important;
  mix-blend-mode: multiply !important;
  object-fit: cover !important;
  width: 100% !important;
  display: block !important;
}

/* Brooklinen Floating Gallery Badge (Top Left) */
.im-bl-gallery-badge {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  z-index: 10 !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  border-radius: 9999px !important;
  padding: 4px 12px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
  pointer-events: none !important;
}
.im-bl-badge-text {
  font-family: 'Outfit', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.6px !important;
  text-transform: uppercase !important;
  color: #103556 !important;
  display: block !important;
}

/* Brooklinen Floating Slide Counter (Bottom Left) */
.im-pdp-slide-counter {
  position: absolute !important;
  bottom: 14px !important;
  left: 14px !important;
  top: auto !important;
  z-index: 10 !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  border-radius: 9999px !important;
  padding: 3px 12px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #1e293b !important;
  letter-spacing: 0.5px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
  pointer-events: none !important;
}

/* Brooklinen Prev / Next Floating Circular Arrows */
.product__carousel .carousel-control-prev,
.product__carousel .carousel-control-next {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background-color: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1) !important;
  color: #103556 !important;
  opacity: 0.95 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  transition: all 0.2s ease !important;
  z-index: 9 !important;
}
.product__carousel .carousel-control-prev {
  left: 12px !important;
}
.product__carousel .carousel-control-next {
  right: 12px !important;
}
.product__carousel .carousel-control-prev:hover,
.product__carousel .carousel-control-next:hover {
  background-color: #ffffff !important;
  opacity: 1 !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15) !important;
  transform: translateY(-50%) scale(1.05) !important;
}

/* Subtle Zoom button on gallery */
.im-pdp-zoom-btn {
  position: absolute !important;
  bottom: 14px !important;
  right: 14px !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #103556 !important;
  z-index: 10 !important;
  cursor: pointer !important;
}

/* Gallery Thumbnails (Brooklinen Rounded Squares) */
.product__thumbnails {
  margin-top: 14px !important;
}
.product__thumbnails-list {
  display: flex !important;
  gap: 10px !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
}
.product__thumbnails-list::-webkit-scrollbar {
  display: none !important;
}
.product__thumbnail {
  width: 60px !important;
  height: 60px !important;
  min-width: 60px !important;
  border-radius: 8px !important;
  border: 2px solid transparent !important;
  background-color: #f7f7f8 !important;
  padding: 0 !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: border-color 0.15s ease, transform 0.15s ease !important;
}
.product__thumbnail:hover {
  border-color: #cbd5e1 !important;
}
.product__thumbnail.active,
.product__thumbnail[aria-current="true"] {
  border-color: #103556 !important;
}
.product__thumbnail img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  mix-blend-mode: multiply !important;
}

/* 3. Right Rail Header Components */
.im-bl-top-badge-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 8px !important;
}
.im-bl-badge-capsule {
  font-family: 'Outfit', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  color: #103556 !important;
  background: #f1f5f9 !important;
  border-radius: 9999px !important;
  padding: 4px 12px !important;
}
.im-bl-promo-pill {
  font-family: 'Outfit', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #dc2626 !important;
  background: #fee2e2 !important;
  border-radius: 9999px !important;
  padding: 4px 10px !important;
}

.im-bl-product-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: clamp(22px, 2.5vw, 30px) !important;
  font-weight: 700 !important;
  color: #103556 !important;
  line-height: 1.25 !important;
  margin: 0 0 10px 0 !important;
  letter-spacing: -0.2px !important;
}

/* Brooklinen Social Proof Row & Live Stock Pulse */
.im-bl-meta-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 12px !important;
}
.im-bl-rating {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.im-bl-stars-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  text-decoration: none !important;
}
.im-bl-stars {
  display: inline-flex !important;
  gap: 2px !important;
}
.im-bl-review-count {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #475569 !important;
}
.im-bl-info-dot {
  font-size: 13px !important;
  color: #94a3b8 !important;
  cursor: help !important;
}
.im-bl-sparkle {
  font-size: 11px !important;
  color: #103556 !important;
}
.im-bl-summary-link {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #103556 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
.im-bl-stock-status {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 3px 10px !important;
  background: #f0fdf4 !important;
  border: 1px solid #dcfce7 !important;
  border-radius: 9999px !important;
}
.im-bl-stock-pulse {
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: #16a34a !important;
  box-shadow: 0 0 0 0 rgba(22, 163, 74, 0.7) !important;
  animation: imPulse 1.8s infinite !important;
}
.im-bl-stock-pulse--out {
  background: #dc2626 !important;
  box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.7) !important;
}
.im-bl-stock-txt {
  font-family: 'Outfit', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #15803d !important;
}
.im-bl-stock-txt--out {
  color: #dc2626 !important;
}
@keyframes imPulse {
  0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(22, 163, 74, 0.7); }
  70% { transform: scale(1); box-shadow: 0 0 0 6px rgba(22, 163, 74, 0); }
  100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(22, 163, 74, 0); }
}

/* Sensory Subtitle / Tagline */
.im-bl-tagline {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 15px !important;
  color: #475569 !important;
  line-height: 1.65 !important;
  margin-top: 0 !important;
  margin-bottom: 20px !important;
}

/* 4. Luxury Conversion Hierarchy Order: Size -> Color -> Price -> Add to Cart */
.im-bl-form {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}

/* Unpack PrestaShop variant container into outer flex flow */
.product__variants.js-product-variants,
.im-luxury-variants {
  display: contents !important;
}

/* Order 10: Size / Dimension Chips FIRST */
.im-variant-group--size {
  order: 10 !important;
  margin-top: 0 !important;
  margin-bottom: 26px !important;
  padding: 0 !important;
  border: none !important;
}

/* Order 20: Color Swatches SECOND */
.im-variant-group--color {
  order: 20 !important;
  margin-top: 0 !important;
  margin-bottom: 26px !important;
  padding: 0 !important;
  border: none !important;
}

/* Order 30: Price Block (Listino, Current, Scalapay/Klarna, Spedizione) THIRD */
.product__prices.js-product-prices,
.im-bl-prices-container {
  order: 30 !important;
  margin-top: 0 !important;
  margin-bottom: 26px !important;
}

/* Order 40: Add to cart, Urgency, Upsell FOURTH */
.product__add-to-cart-container {
  order: 40 !important;
  margin-top: 0 !important;
  margin-bottom: 24px !important;
}

/* 5. Color Swatches (Brooklinen Rounded Squares 38x38px) */
.im-variant-group {
  margin: 0 0 26px 0 !important;
  padding: 0 !important;
  border: none !important;
}
.im-variant-header {
  display: flex !important;
  align-items: baseline !important;
  gap: 8px !important;
  margin-bottom: 12px !important;
  padding: 0 !important;
}
.im-variant-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #64748b !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
}
.im-variant-active-val {
  font-family: 'Outfit', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  text-transform: none !important;
  line-height: 1.2 !important;
}

.im-variant-colors-wrap {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 0 !important;
}
.im-color-swatch-item {
  position: relative !important;
  display: inline-flex !important;
}
.im-color-swatch-tile {
  width: 38px !important;
  height: 38px !important;
  border-radius: 6px !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: transparent !important;
  border: none !important;
  outline: none !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease !important;
}
.im-color-swatch-tile .im-color-tile {
  width: 100% !important;
  height: 100% !important;
  border-radius: 6px !important;
  border: 1.5px solid #d1d5db !important;
  background-size: cover !important;
  background-position: center !important;
  display: block !important;
  box-sizing: border-box !important;
}
.im-color-swatch-tile:hover {
  transform: translateY(-1px) !important;
}
.im-color-swatch-tile:hover .im-color-tile {
  border-color: #103556 !important;
}
/* Brooklinen Active Swatch: Outer ring with 2px gap */
.im-color-swatch-tile.is-selected,
.input-color__input:checked + .im-color-swatch-tile {
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #103556 !important;
  border-radius: 6px !important;
}

/* Hide social sharing clutter in buy box (Brooklinen clean look) */
.ps-sharebuttons,
.product-additional-info,
.js-product-additional-info,
.product__right .social-sharing,
.product__actions .social-sharing,
.im-bl-form .social-sharing {
  display: none !important;
}

/* Clean up mobile gallery: hide legacy zoom icon and bootstrap dots */
.product__zoom,
.im-pdp-zoom-btn {
  display: none !important;
}

/* On-Demand Zoom Lens Button (Desktop click-zoom / Mobile full modal) */
.im-pdp-zoom-trigger-btn {
  position: absolute !important;
  bottom: 16px !important;
  right: 16px !important;
  z-index: 15 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 6px 14px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 9999px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: #103556 !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}
.im-pdp-zoom-trigger-btn:hover {
  background: #ffffff !important;
  border-color: #103556 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 16px rgba(16, 53, 86, 0.12) !important;
}
.im-pdp-zoom-trigger-btn .im-zoom-icon-out {
  display: none !important;
}
.im-pdp-zoom-trigger-btn.is-active {
  background: #103556 !important;
  color: #ffffff !important;
  border-color: #103556 !important;
}
.im-pdp-zoom-trigger-btn.is-active .im-zoom-icon-in {
  display: none !important;
}
.im-pdp-zoom-trigger-btn.is-active .im-zoom-icon-out {
  display: block !important;
  stroke: #ffffff !important;
}

@media (min-width: 992px) {
  .product__carousel .carousel-inner {
    cursor: zoom-in !important;
    overflow: hidden !important;
  }
  .product__carousel .carousel-inner.is-zoomed {
    cursor: zoom-out !important;
  }
  .product__carousel .carousel-inner .carousel-item img {
    transition: transform 0.15s ease-out !important;
    will-change: transform, transform-origin !important;
  }
}

@media (max-width: 991.98px) {
  .product__carousel .carousel-indicators,
  .im-pdp-carousel-dots {
    display: none !important;
  }
  .im-pdp-zoom-trigger-btn {
    display: none !important;
  }
}

/* 6. Cohesive Luxury Price Box (Brooklinen / High-End DTC Card) */
.im-bl-prices-container {
  display: block !important;
  background: #f8fafc !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 16px !important;
  padding: 20px 22px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02) !important;
  margin-top: 0 !important;
  margin-bottom: 26px !important;
  box-sizing: border-box !important;
}

.im-bl-listino-row {
  display: flex !important;
  align-items: baseline !important;
  gap: 8px !important;
  margin-bottom: 6px !important;
}
.im-bl-listino-label {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #64748b !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  line-height: 1.2 !important;
}
.im-bl-listino-row .im-bl-old-price {
  font-family: 'Outfit', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #94a3b8 !important;
  text-decoration: line-through !important;
  line-height: 1.2 !important;
}

.im-bl-price-main-row {
  display: flex !important;
  align-items: baseline !important;
  gap: 12px !important;
  margin-bottom: 16px !important;
  flex-wrap: wrap !important;
}
.im-bl-current-price {
  font-family: 'Outfit', sans-serif !important;
  font-size: 32px !important;
  font-weight: 800 !important;
  color: #103556 !important;
  letter-spacing: -0.5px !important;
  line-height: 1 !important;
}
.im-bl-discount-badge {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #047857 !important;
  background: #ecfdf5 !important;
  border: 1px solid #a7f3d0 !important;
  border-radius: 6px !important;
  padding: 3.5px 10px !important;
  line-height: 1.2 !important;
  display: inline-flex !important;
  align-items: center !important;
}
.im-bl-tax-note {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  color: #64748b !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}

/* Installments Line (Scalapay / Klarna - Clean Luxury Box) */
.im-bl-installments-box {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  padding: 12px 14px !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  margin-bottom: 12px !important;
}
.im-bl-installments-txt {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  color: #334155 !important;
  line-height: 1.45 !important;
}
.im-bl-installments-txt strong {
  color: #103556 !important;
  font-weight: 700 !important;
}
.im-bl-installments-logos {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.im-bl-inst-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 22px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  line-height: 1 !important;
}
.im-bl-inst-svg {
  height: 22px !important;
  width: auto !important;
  max-width: 55px !important;
  object-fit: contain !important;
  display: block !important;
}
.im-bl-inst-scalapay {
  height: 16px !important;
  width: auto !important;
  max-width: 85px !important;
  object-fit: contain !important;
  display: block !important;
}

/* Free Shipping Reassurance Bar */
.im-bl-shipping-bar {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 11px 14px !important;
  background: #f0fdf4 !important;
  border: 1px solid #bbf7d0 !important;
  border-radius: 10px !important;
  margin-bottom: 0 !important;
}
.im-bl-shipping-bar svg {
  flex-shrink: 0 !important;
  stroke: #16a34a !important;
  width: 18px !important;
  height: 18px !important;
}
.im-bl-shipping-txt {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  color: #15803d !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
}
.im-bl-shipping-txt strong {
  color: #15803d !important;
  font-weight: 700 !important;
}

/* Mobile Calibrations */
@media (max-width: 991.98px) {
  .product__container .product__right .product__prices,
  .product__container .product__right .im-bl-prices-container {
    display: block !important;
  }
  .im-bl-prices-container {
    padding: 16px 18px !important;
    margin-bottom: 22px !important;
    border-radius: 14px !important;
  }
  .im-bl-current-price {
    font-size: 28px !important;
  }
  .im-bl-price-main-row {
    margin-bottom: 12px !important;
    gap: 8px !important;
  }
  .im-bl-installments-box {
    margin-bottom: 10px !important;
  }
  .im-variant-title {
    font-size: 13px !important;
  }
  .im-variant-active-val {
    font-size: 14.5px !important;
  }
}

/* 7. Size / Dimension Capsule Chips */
.im-variant-chips-wrap {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 10px !important;
  width: 100% !important;
  margin-top: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

@media (min-width: 768px) {
  .im-variant-chips-wrap:has(> :nth-child(3):last-child),
  .im-variant-chips-wrap:has(> :nth-child(6):last-child) {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

.im-variant-chips-wrap > :last-child:nth-child(odd) {
  grid-column: 1 / -1 !important;
}

.im-variant-chip-item {
  display: flex !important;
  width: 100% !important;
  margin: 0 !important;
}

.im-variant-chip {
  width: 100% !important;
  border: 1.5px solid #cbd5e1 !important;
  background-color: #ffffff !important;
  color: #103556 !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  padding: 9px 12px !important;
  border-radius: 9999px !important;
  cursor: pointer !important;
  outline: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  min-height: 44px !important;
  box-sizing: border-box !important;
  line-height: 1.2 !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) !important;
}
.im-variant-chip:hover {
  border-color: #103556 !important;
  color: #103556 !important;
  background-color: #f8fafc !important;
  transform: translateY(-1px) !important;
}
.im-variant-chip.is-selected,
.im-variant-chip.active,
.im-variant-chip-item input:checked + .im-variant-chip,
.im-radio-hidden:checked + .im-variant-chip {
  background-color: #103556 !important;
  border-color: #103556 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 12px rgba(16, 53, 86, 0.22) !important;
  transform: translateY(-1px) !important;
}

/* 8. Brooklinen Upsell Card */
.im-bl-upsell-card {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  padding: 13px 16px !important;
  margin-top: 14px !important;
  margin-bottom: 20px !important;
  transition: transform 0.15s ease, border-color 0.15s ease !important;
}
.im-bl-upsell-card:hover {
  border-color: #cbd5e1 !important;
}
.im-bl-upsell-top {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin-bottom: 4px !important;
}
.im-bl-upsell-sparkle {
  font-size: 13px !important;
  color: #103556 !important;
}
.im-bl-upsell-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #103556 !important;
}
.im-bl-upsell-desc {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 12.5px !important;
  color: #475569 !important;
  line-height: 1.45 !important;
  margin: 0 !important;
}

/* Quantity & Add to Cart Button (Side-by-side Capsule on Mobile & Desktop) */
.product__actions-qty-add,
.im-pdp-actions-row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 16px !important;
  margin-bottom: 12px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.product__actions-qty-add .product-actions__quantity,
.product__actions-qty-add .product__quantity,
.product__actions-qty-add .quantity-button,
.im-pdp-qty-wrap {
  width: 106px !important;
  max-width: 106px !important;
  min-width: 106px !important;
  flex: 0 0 106px !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
}

.product__actions-qty-add .im-luxury-qty-group,
.product__actions-qty-add .quantity-button__group,
.im-pdp-qty-wrap .quantity-button__group {
  width: 106px !important;
  min-width: 106px !important;
  max-width: 106px !important;
  height: 48px !important;
  background-color: #f8fafc !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 9999px !important;
  padding: 0 6px !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  outline: none !important;
  box-shadow: none !important;
}

.product__actions-qty-add .quantity-button button,
.product__actions-qty-add .im-qty-btn,
.product__actions-qty-add .quantity-button__group .btn-decrement,
.product__actions-qty-add .quantity-button__group .btn-increment {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  min-height: 32px !important;
  flex: 0 0 32px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  color: #103556 !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
}

.product__actions-qty-add .quantity-button input.js-quantity-wanted,
.product__actions-qty-add .product__quantity input,
.product__actions-qty-add .im-luxury-qty-group input.form-control,
.product__actions-qty-add .quantity-button__group input.form-control,
.product__actions-qty-add .im-qty-input {
  width: 32px !important;
  min-width: 0 !important;
  max-width: 34px !important;
  height: 34px !important;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  text-align: center !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  flex: 1 1 auto !important;
}

.product__actions-qty-add .product__add-to-cart,
.im-pdp-cart-btn-wrap {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.product__actions-qty-add .product__add-to-cart-button,
.im-pdp-add-btn {
  width: 100% !important;
  height: 48px !important;
  border-radius: 9999px !important;
  background-color: #103556 !important;
  border: 1.5px solid #103556 !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2px !important;
  text-transform: none !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 0 16px !important;
  white-space: nowrap !important;
  box-shadow: 0 4px 14px rgba(16, 53, 86, 0.2) !important;
  box-sizing: border-box !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  outline: none !important;
  cursor: pointer !important;
}

.product__add-to-cart-button:hover:not(:disabled),
.im-pdp-add-btn:hover:not(:disabled) {
  background-color: #0a233a !important;
  border-color: #0a233a !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(16, 53, 86, 0.35) !important;
}

/* Brooklinen Style Integrated Wishlist Button */
.im-pdp-wishlist-icon-btn {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  flex: 0 0 48px !important;
  border-radius: 50% !important;
  background-color: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #475569 !important;
  cursor: pointer !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
  padding: 0 !important;
  margin: 0 !important;
  outline: none !important;
  box-sizing: border-box !important;
}
.im-pdp-wishlist-icon-btn:hover {
  border-color: #cbd5e1 !important;
  background-color: #f8fafc !important;
  color: #e11d48 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.08) !important;
}
.im-pdp-wishlist-icon-btn.active {
  border-color: #fecdd3 !important;
  background-color: #fff1f2 !important;
  color: #e11d48 !important;
}
.im-pdp-wishlist-icon-btn.active svg {
  fill: #e11d48 !important;
  stroke: #e11d48 !important;
}

/* Live Cart Urgency Capsule (Brooklinen Signature) */
.im-pdp-cart-urgency {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 10px 18px !important;
  background-color: #faf7f2 !important;
  border: 1px solid #ede5d8 !important;
  border-radius: 9999px !important;
  margin-top: 14px !important;
  margin-bottom: 20px !important;
  text-align: center !important;
}
.im-pdp-cart-urgency .im-urgency-icon {
  display: inline-flex !important;
  flex-shrink: 0 !important;
}
.im-pdp-cart-urgency .im-urgency-text {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  color: #103556 !important;
  line-height: 1.35 !important;
}
.im-pdp-cart-urgency .im-urgency-text strong {
  color: #103556 !important;
  font-weight: 700 !important;
}

/* Hide native unstyled blockwishlist button on product page */
.product__actions-qty-add .wishlist-button,
.product__actions-qty-add .wishlist-button-add,
.product__actions-qty-add .wishlist-button-product,
.product__extra-actions .wishlist-button,
.product__extra-actions .wishlist-button-add,
.product__extra-actions .wishlist-button-product,
.product-add-to-cart .wishlist-button,
.product-add-to-cart .wishlist-button-add,
.product-add-to-cart .wishlist-button-product {
  display: none !important;
}

.product__extra-actions {
  width: 100% !important;
  margin: 8px 0 !important;
}

@media (max-width: 379.98px) {
  .product__actions-qty-add .product-actions__quantity,
  .product__actions-qty-add .product__quantity,
  .product__actions-qty-add .quantity-button,
  .im-pdp-qty-wrap {
    width: 86px !important;
    max-width: 86px !important;
    min-width: 86px !important;
    flex: 0 0 86px !important;
  }
  .product__actions-qty-add .im-luxury-qty-group,
  .product__actions-qty-add .quantity-button__group,
  .im-pdp-qty-wrap .quantity-button__group {
    width: 86px !important;
    max-width: 86px !important;
    min-width: 86px !important;
    padding: 0 4px !important;
  }
  .product__actions-qty-add .quantity-button button,
  .product__actions-qty-add .im-qty-btn,
  .product__actions-qty-add .quantity-button__group .btn-decrement,
  .product__actions-qty-add .quantity-button__group .btn-increment {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    max-width: 26px !important;
    flex: 0 0 26px !important;
  }
  .product__actions-qty-add .quantity-button input.js-quantity-wanted,
  .product__actions-qty-add .product__quantity input,
  .product__actions-qty-add .quantity-button__group input.form-control {
    width: 24px !important;
    max-width: 26px !important;
    font-size: 13.5px !important;
  }
  .im-pdp-wishlist-icon-btn {
    width: 44px !important;
    height: 48px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    flex: 0 0 44px !important;
    border-radius: 50% !important;
  }
  .product__actions-qty-add .product__add-to-cart-button,
  .im-pdp-add-btn {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    padding: 0 10px !important;
    letter-spacing: 0.3px !important;
    height: 48px !important;
    white-space: nowrap !important;
  }
}

/* Reassurance Card Removed */
.im-carillo-trust-card {
  display: none !important;
}

/* Full Width Bottom Tabs & Accordion */
.product__bottom {
  display: block !important;
}
.product__bottom-left {
  width: 100% !important;
  max-width: 100% !important;
}
.product__bottom-right {
  display: none !important;
}

/* Brooklinen Luxury Accordions in Lateral Scrolling Rail */
.im-bl-lateral-accordions {
  margin-top: 32px !important;
  margin-bottom: 24px !important;
  border-top: 1px solid #e2e8f0 !important;
}

.im-bl-lateral-accordions .accordion-item {
  border: none !important;
  border-bottom: 1px solid #e2e8f0 !important;
  border-radius: 0 !important;
  margin-bottom: 0 !important;
  background-color: transparent !important;
}

.im-bl-lateral-accordions .accordion-button {
  font-family: 'Outfit', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #103556 !important;
  padding: 18px 0 !important;
  background-color: transparent !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.im-bl-lateral-accordions .accordion-button:not(.collapsed) {
  background-color: transparent !important;
  color: #103556 !important;
  box-shadow: none !important;
}

.im-bl-lateral-accordions .accordion-button:focus {
  box-shadow: none !important;
  border-color: transparent !important;
}

.im-bl-lateral-accordions .accordion-body {
  padding: 0 0 22px 0 !important;
  font-size: 14.5px !important;
  color: #475569 !important;
  line-height: 1.7 !important;
}

.im-bl-lateral-accordions .accordion-body .product__description p {
  margin-bottom: 10px !important;
}

.im-bl-lateral-accordions .details__list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.im-bl-lateral-accordions .details__item {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 8px 0 !important;
  border-bottom: 1px dashed #f1f5f9 !important;
  font-size: 14px !important;
}

.im-bl-lateral-accordions .details__title {
  color: #64748b !important;
  font-weight: 500 !important;
}

.im-bl-lateral-accordions .details__right {
  color: #103556 !important;
  font-weight: 600 !important;
}

.im-bl-shipping-returns-content p {
  font-size: 14px !important;
  color: #475569 !important;
  line-height: 1.6 !important;
}

.im-bl-reassurance-wrap,
.block-reassurance,
#block-reassurance,
.product-reassurance {
  display: none !important;
}

/* Real PrestaShop Comments / Reviews in Footer */
.product-comments-wrapper {
  margin-top: 40px !important;
  padding: 28px !important;
  background-color: #ffffff !important;
  border: 1.5px solid #edf2f7 !important;
  border-radius: 18px !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.03) !important;
}
#product-comments-list-header {
  border-bottom: 1.5px solid #f1f5f9 !important;
  padding-bottom: 16px !important;
  margin-bottom: 20px !important;
}
#product-comments-list-header .section-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
}
.post-product-comment {
  border-radius: 20px !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 700 !important;
  font-size: 13.5px !important;
  padding: 8px 22px !important;
}

/* Product Gallery: Clean, Borderless Luxury Presentation (Carillo Style) */
.product__images {
  overflow: visible !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.page-product .product__left {
  min-height: 520px;
}
.product__carousel,
.product-cover {
  border-radius: 12px !important;
  overflow: hidden !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  position: relative !important;
  min-height: 480px !important;
  transition: opacity 0.15s ease-in-out !important;
}
.product__carousel .carousel-inner {
  min-height: 480px !important;
}
.product__carousel .carousel-item,
.product__carousel .carousel-item img,
.product-cover img,
.js-qv-product-cover {
  border-radius: 12px !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
}
@media (min-width: 992px) {
  .page-product .product__carousel,
  .page-product .product-cover,
  .page-product .product__carousel .carousel-inner {
    min-height: unset !important;
    max-height: 600px !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 16px !important;
  }
  .page-product .product__carousel .carousel-item {
    max-height: 600px !important;
    min-height: unset !important;
    aspect-ratio: 1 / 1 !important;
  }
  .page-product .product__carousel .carousel-item img {
    max-height: 600px !important;
    min-height: unset !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: contain !important;
    border-radius: 16px !important;
  }
}
@media (max-width: 991px) {
  .page-product .product__left {
    min-height: unset !important;
  }
  .page-product .product__carousel,
  .page-product .product-cover,
  .page-product .product__carousel .carousel-inner {
    min-height: unset !important;
    aspect-ratio: 1 / 1 !important;
    width: 100% !important;
  }
  .page-product .product__carousel .carousel-item {
    aspect-ratio: 1 / 1 !important;
    width: 100% !important;
  }
  .page-product .product__carousel .carousel-item img {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
  }
  .page-product .product-prices,
  .page-product .product__prices {
    min-height: 72px !important;
  }
}

/* PDP Variant Switch Stabilization: zero reflow pop & smooth state */
.page-product .product-prices,
.page-product .product__prices {
  min-height: 84px !important;
  transition: opacity 0.15s ease-in-out !important;
}
.page-product .product__variants,
.page-product .im-luxury-variants {
  min-height: 100px !important;
  transition: opacity 0.15s ease-in-out !important;
}
body.im-updating-variant .page-product .product__carousel,
body.im-updating-variant .page-product .product-prices {
  opacity: 0.9 !important;
}
.product__thumbnails {
  margin-top: 16px !important;
  width: 100% !important;
}
.product__thumbnails-list {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 0 !important;
  list-style: none !important;
  margin: 0 auto !important;
}
.product__thumbnail {
  border-radius: 10px !important;
  overflow: hidden !important;
  border: 1.5px solid #e2e8f0 !important;
  padding: 2px !important;
  background: #ffffff !important;
  transition: border-color 0.2s ease, transform 0.2s ease !important;
  cursor: pointer !important;
  box-shadow: none !important;
  outline: none !important;
}
.product__thumbnail:hover {
  border-color: #94a3b8 !important;
}
.product__thumbnail.active,
.product__thumbnail[aria-current="true"] {
  border: 2px solid #103556 !important;
  box-shadow: none !important;
  outline: none !important;
}
.product__thumbnail-image,
.page-product .product__thumbnail.active .product__thumbnail-image {
  border-radius: 7px !important;
  width: 68px !important;
  height: 68px !important;
  object-fit: cover !important;
  outline: none !important;
  border: none !important;
}
@media (max-width: 767.98px) {
  .page-product .product__thumbnails {
    display: none !important;
  }
}

/* ==========================================================================
   ITALIA MAGAZZINI — PDP 100% ALIGNMENT & CAROUSEL GEOMETRY FIX
   ========================================================================== */
.page-product #center-column,
body#product #center-column {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

@media (min-width: 992px) {
  .page-product .columns-container.container,
  .page-product .im-breadcrumb-nav .container {
    max-width: 1320px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

@media (max-width: 991.98px) {
  .page-product .columns-container.container,
  .page-product .im-breadcrumb-nav .container {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  .page-product .product__images {
    margin-bottom: 18px !important;
  }
  .page-product .product__carousel {
    border-radius: 14px !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.05) !important;
    border: 1px solid #f1f5f9 !important;
  }
  .page-product .product__carousel .carousel-item img {
    border-radius: 14px !important;
  }
}

/* Modal for reviews */
#post-product-comment-modal .modal-content {
  border-radius: 20px !important;
  border: none !important;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15) !important;
}
#post-product-comment-modal .modal-header {
  border-bottom: 1.5px solid #f1f5f9 !important;
}
#post-product-comment-modal .modal-footer {
  border-top: 1.5px solid #f1f5f9 !important;
}


/* ==========================================================================
   ITALIA MAGAZZINI — LUXURY QUANTITY CAPSULE & MOBILE ANTI-ZOOM FIX
   ========================================================================== */

/* Impedisce lo zoom involontario su mobile in tutta l'interfaccia */
input[type="text"],
input[type="number"],
input[type="tel"],
input[type="search"],
.form-control,
.js-voucher-input,
.im-voucher-input,
.im-qty-input,
.js-quantity-wanted,
.js-cart-line-product-quantity {
  font-size: 16px !important;
  touch-action: manipulation !important;
}

/* Gruppo Quantita Capsule (Prodotto e Carrello) */
.im-luxury-qty-group,
.quantity-button__group {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: #f8fafc !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 40px !important;
  padding: 3px !important;
  min-width: 120px !important;
  max-width: 135px !important;
  height: 44px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-sizing: border-box !important;
}

.im-luxury-qty-group:hover,
.im-luxury-qty-group:focus-within,
.quantity-button__group:focus-within {
  border-color: #cbd5e1 !important;
  background: #ffffff !important;
  box-shadow: 0 3px 12px rgba(16, 53, 86, 0.08) !important;
}

/* Pulsanti Piu / Meno */
.im-qty-btn,
.quantity-button__group .btn-decrement,
.quantity-button__group .btn-increment {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  max-width: 36px !important;
  max-height: 36px !important;
  border-radius: 50% !important;
  border: none !important;
  background: transparent !important;
  color: #103556 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  position: relative !important;
  overflow: hidden !important;
  touch-action: manipulation !important;
  user-select: none !important;
  -webkit-tap-highlight-color: transparent !important;
  transition: all 0.15s ease !important;
  flex-shrink: 0 !important;
}

.im-qty-btn svg,
.quantity-button__group button svg {
  stroke: #103556 !important;
  transition: transform 0.15s ease, opacity 0.15s ease !important;
  pointer-events: none !important;
  display: block !important;
  margin: auto !important;
}

/* Quando il pulsante e in caricamento / disabilitato: nasconde l'icona SVG ed evita distorsioni */
.im-qty-btn:has(.spinner-border:not(.d-none)) svg,
.im-qty-btn[disabled] svg,
.im-qty-btn:disabled svg,
.im-qty-btn.is-loading svg,
.quantity-button__group button:has(.spinner-border:not(.d-none)) svg,
.quantity-button__group button[disabled] svg,
.quantity-button__group button:disabled svg,
.quantity-button__group button.is-loading svg {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Spinner di caricamento perfettamente centrato e fluido all'interno del pulsante circolare */
.im-qty-btn .spinner-border,
.quantity-button__group .spinner-border {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  margin: -7px 0 0 -7px !important;
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  min-height: 14px !important;
  max-width: 14px !important;
  max-height: 14px !important;
  border: 2px solid #103556 !important;
  border-top-color: transparent !important;
  border-radius: 50% !important;
  box-sizing: border-box !important;
  animation: im-qty-spinner-spin 0.65s linear infinite !important;
}

@keyframes im-qty-spinner-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.im-qty-btn:hover,
.quantity-button__group .btn-decrement:hover,
.quantity-button__group .btn-increment:hover {
  background: #ffffff !important;
  color: #103556 !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
}

.im-qty-btn:active,
.quantity-button__group .btn-decrement:active,
.quantity-button__group .btn-increment:active {
  transform: scale(0.92) !important;
  background: #e2e8f0 !important;
}

.im-qty-btn:disabled,
.quantity-button__group button:disabled,
.im-qty-btn[disabled],
.quantity-button__group button[disabled] {
  cursor: wait !important;
  pointer-events: none !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Campo Input Numerico Centrale */
.im-qty-input,
.quantity-button__group input.form-control,
.js-quantity-wanted,
.js-cart-line-product-quantity {
  width: 44px !important;
  height: 36px !important;
  background: transparent !important;
  border: none !important;
  text-align: center !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  -moz-appearance: textfield !important;
  appearance: none !important;
}

.im-qty-input::-webkit-outer-spin-button,
.im-qty-input::-webkit-inner-spin-button,
.quantity-button__group input::-webkit-outer-spin-button,
.quantity-button__group input::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* ==========================================================================
   CARRELLO: LAYOUT MODERNO PRODOTTO (DESKTOP & MOBILE)
   ========================================================================== */
body#cart .cart-grid__products-details {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

body#cart .cart-overview {
  margin-bottom: 0 !important;
}

body#cart .cart-items {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body#cart .cart__item,
body#cart .cart-item {
  border-bottom: 1px solid #f1f5f9 !important;
  padding: 18px 0 !important;
}

body#cart .cart__item:last-child,
body#cart .cart-item:last-child {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

/* Continua lo shopping */
body#cart .cart__continue-shopping {
  margin-top: 20px !important;
  height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border-radius: 10px !important;
  border: 1.5px solid #103556 !important;
  color: #103556 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  padding: 0 20px !important;
  background: transparent !important;
  transition: all 0.2s ease !important;
}

body#cart .cart__continue-shopping:hover {
  background: #103556 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

/* Base Product Line Container */
body#cart .product-line {
  position: relative !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ==========================================================================
   DESKTOP (min-width: 768px): Allineamento orizzontale pulito e lineare
   ========================================================================== */
@media (min-width: 768px) {
  body#cart .product-line {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 20px !important;
  }

  body#cart .product-line__image {
    width: 86px !important;
    height: 86px !important;
    min-width: 86px !important;
    max-width: 86px !important;
    min-height: 86px !important;
    max-height: 86px !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 12px !important;
    border: 1px solid #e2e8f0 !important;
    background: #f8fafc !important;
    overflow: hidden !important;
    flex: 0 0 86px !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  body#cart .product-line__image a,
  body#cart .product-line__image picture {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    overflow: hidden !important;
  }

  body#cart .product-line__image img,
  body#cart .product-line__img {
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    aspect-ratio: 1 / 1 !important;
  }

  body#cart .product-line__content {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex: 1 !important;
    min-width: 0 !important;
    gap: 20px !important;
    margin: 0 !important;
  }

  body#cart .product-line__content-left {
    flex: 1 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    margin: 0 !important;
  }

  body#cart .product-line__title {
    font-family: 'Outfit', sans-serif !important;
    font-size: 15.5px !important;
    font-weight: 700 !important;
    color: #103556 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body#cart .product-line__title:hover {
    color: #1E3A8A !important;
  }

  body#cart .product-line__item--info {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 13px !important;
    color: #64748b !important;
    gap: 6px !important;
    margin: 0 !important;
  }

  body#cart .product-line__item--prices {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 4px !important;
  }

  body#cart .product-line__item-price {
    font-family: 'Outfit', sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    color: #64748b !important;
    width: auto !important;
  }

  body#cart .product-line__item-regular-price {
    font-size: 13px !important;
    color: #94a3b8 !important;
    text-decoration: line-through !important;
  }

  body#cart .product-line__item-discount,
  .product-line__item-discount,
  .im-discount-badge {
    font-size: 11.5px !important;
    font-weight: 700 !important;
    padding: 2px 7px !important;
    border-radius: 6px !important;
    background-color: #fef2f2 !important;
    color: #dc2626 !important;
    border: 1px solid #fecaca !important;
    font-family: 'Outfit', sans-serif !important;
    line-height: 1.3 !important;
    display: inline-flex !important;
    align-items: center !important;
  }

  body#cart .product-line__content-right {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 20px !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
  }

  body#cart .product-line__quantity-button {
    margin: 0 !important;
    width: auto !important;
  }

  body#cart .product-line__price {
    font-family: 'Outfit', sans-serif !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    color: #103556 !important;
    min-width: 80px !important;
    text-align: right !important;
  }

  body#cart .product-line__actions {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
  }

  body#cart .im-cart-remove-item {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    border-radius: 9px !important;
    color: #94a3b8 !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
  }

  body#cart .im-cart-remove-item span {
    display: none !important;
  }

  body#cart .im-cart-remove-item svg {
    width: 16px !important;
    height: 16px !important;
  }

  body#cart .im-cart-remove-item:hover {
    color: #ef4444 !important;
    background: #fef2f2 !important;
    border-color: #fecaca !important;
    transform: scale(1.05) !important;
  }
}

/* ==========================================================================
   MOBILE (max-width: 767.98px): Card fluida, trash compatto in alto a destra,
   e barra quantità/totale ben distanziata in basso
   ========================================================================== */
@media (max-width: 767.98px) {
  body#cart .cart-grid__products-details {
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
  }
  body#cart .cart-grid__content {
    padding: 20px 16px !important;
    border-radius: 14px !important;
  }

  body#cart .cart-grid__aside-wrapper {
    padding: 20px 16px !important;
    border-radius: 14px !important;
    margin-top: 20px !important;
  }

  body#cart .product-line {
    display: flex !important;
    flex-direction: row !important;
    position: relative !important;
    gap: 12px !important;
    align-items: flex-start !important;
  }

  body#cart .product-line__image {
    width: 76px !important;
    height: 76px !important;
    min-width: 76px !important;
    max-width: 76px !important;
    min-height: 76px !important;
    max-height: 76px !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 10px !important;
    border: 1px solid #e2e8f0 !important;
    background: #f8fafc !important;
    overflow: hidden !important;
    flex: 0 0 76px !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  body#cart .product-line__image a,
  body#cart .product-line__image picture {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    overflow: hidden !important;
  }

  body#cart .product-line__image img,
  body#cart .product-line__img {
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    aspect-ratio: 1 / 1 !important;
  }

  body#cart .product-line__content {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    min-width: 0 !important;
    gap: 6px !important;
  }

  body#cart .product-line__content-left {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    padding-right: 34px !important; /* Spazio per cestino in alto a destra */
    margin: 0 !important;
  }

  body#cart .product-line__title {
    font-family: 'Outfit', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #103556 !important;
    line-height: 1.3 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-decoration: none !important;
  }

  body#cart .product-line__item--info {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 12px !important;
    color: #64748b !important;
    gap: 4px !important;
    margin: 0 !important;
    line-height: 1.25 !important;
  }

  body#cart .product-line__item--prices {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-top: 2px !important;
  }

  body#cart .product-line__item-price {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #64748b !important;
    width: auto !important;
  }

  body#cart .product-line__item-regular-price {
    font-size: 12px !important;
    color: #94a3b8 !important;
    text-decoration: line-through !important;
  }

  body#cart .product-line__item-discount,
  body#cart .im-discount-badge {
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 2px 6px !important;
    border-radius: 5px !important;
    background-color: #fef2f2 !important;
    color: #dc2626 !important;
    border: 1px solid #fecaca !important;
    font-family: 'Outfit', sans-serif !important;
    display: inline-flex !important;
    align-items: center !important;
  }

  /* Trash icon in alto a destra */
  body#cart .product-line__actions {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    margin: 0 !important;
    z-index: 2 !important;
  }

  body#cart .im-cart-remove-item {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    padding: 0 !important;
    border-radius: 8px !important;
    color: #94a3b8 !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
  }

  body#cart .im-cart-remove-item span {
    display: none !important;
  }

  body#cart .im-cart-remove-item svg {
    width: 17px !important;
    height: 17px !important;
  }

  body#cart .im-cart-remove-item:active {
    color: #ef4444 !important;
    background: #fef2f2 !important;
  }

  /* Barra inferiore: Quantità a sinistra, Totale a destra */
  body#cart .product-line__content-right {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-top: 8px !important;
    padding-top: 10px !important;
    border-top: 1px dashed #f1f5f9 !important;
    width: 100% !important;
  }

  body#cart .product-line__quantity-button {
    margin: 0 !important;
    width: auto !important;
  }

  body#cart .product-line__price {
    font-family: 'Outfit', sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #103556 !important;
    text-align: right !important;
  }
}

/* ==========================================================================
   PDP FLOATING BACK ARROW & CAROUSEL POLISH (MOBILE & DESKTOP)
   ========================================================================== */
.im-pdp-floating-back {
  display: none !important;
}

/* Move badges to top right corner on PDP so they never overlap with floating back arrow */
.page-product .product__carousel .product-flags,
.page-product .product__no-image .product-flags {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  left: auto !important;
  width: auto !important;
  max-width: fit-content !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 10 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 6px !important;
  pointer-events: none !important;
  list-style: none !important;
}

/* Mobile Carousel Dots */
.im-pdp-carousel-dots {
  position: absolute !important;
  bottom: 12px !important;
  left: 0 !important;
  right: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 6px !important;
  z-index: 10 !important;
  pointer-events: auto !important;
}

.im-pdp-carousel-dots button {
  width: 8px !important;
  height: 8px !important;
  border-radius: 4px !important;
  background-color: rgba(16, 53, 86, 0.25) !important;
  border: none !important;
  padding: 0 !important;
  opacity: 1 !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12) !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.im-pdp-carousel-dots button.active {
  width: 22px !important;
  background-color: #103556 !important;
  box-shadow: 0 2px 4px rgba(16, 53, 86, 0.25) !important;
}

@media (min-width: 768px) {
  .im-pdp-carousel-dots {
    display: none !important;
  }
}

/* Elegant Unified Floating Carousel Controls */
.product__carousel .carousel-control-prev,
.product__carousel .carousel-control-next {
  width: 38px !important;
  height: 38px !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  background: rgba(255, 255, 255, 0.92) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(16, 53, 86, 0.1) !important;
  border-radius: 50% !important;
  box-shadow: 0 4px 14px rgba(16, 53, 86, 0.12) !important;
  color: #103556 !important;
  opacity: 0.95 !important;
  z-index: 15 !important;
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.product__carousel .carousel-control-prev {
  left: 12px !important;
}

.product__carousel .carousel-control-next {
  right: 12px !important;
}

.product__carousel .carousel-control-prev:hover,
.product__carousel .carousel-control-next:hover,
.product__carousel .carousel-control-prev:focus,
.product__carousel .carousel-control-next:focus,
.product__carousel .carousel-control-prev:active,
.product__carousel .carousel-control-next:active {
  background: #FFFFFF !important;
  color: #103556 !important;
  box-shadow: 0 6px 18px rgba(16, 53, 86, 0.2) !important;
  transform: translateY(-50%) scale(1.06) !important;
  opacity: 1 !important;
  outline: none !important;
}

.product__carousel .carousel-control-prev svg,
.product__carousel .carousel-control-next svg {
  color: #103556 !important;
  stroke: #103556 !important;
  display: block !important;
}

/* Floating Zoom Button */
.im-pdp-zoom-btn {
  position: absolute !important;
  bottom: 12px !important;
  right: 12px !important;
  left: auto !important;
  top: auto !important;
  z-index: 15 !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.92) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #103556 !important;
  border: 1px solid rgba(16, 53, 86, 0.1) !important;
  box-shadow: 0 4px 14px rgba(16, 53, 86, 0.12) !important;
  padding: 0 !important;
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
  cursor: pointer !important;
}

.im-pdp-zoom-btn:hover,
.im-pdp-zoom-btn:focus,
.im-pdp-zoom-btn:active {
  background: #FFFFFF !important;
  color: #103556 !important;
  box-shadow: 0 6px 18px rgba(16, 53, 86, 0.2) !important;
  transform: scale(1.06) !important;
  outline: none !important;
}

.im-pdp-zoom-btn svg {
  color: #103556 !important;
  stroke: #103556 !important;
  display: block !important;
}

/* Verified Buyer Badge in Reviews */
.im-verified-buyer-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: #059669 !important;
  background: #ECFDF5 !important;
  border: 1px solid #A7F3D0 !important;
  padding: 2px 8px !important;
  border-radius: 999px !important;
  margin-left: 8px !important;
  vertical-align: middle !important;
}

/* ==========================================================================
   BREADCRUMB UNIVERSALE (OTTIMIZZATO MOBILE E DESKTOP)
   ========================================================================== */
.im-breadcrumb-nav {
  background: #ffffff !important;
  border-bottom: 1px solid #F1F5F9 !important;
  padding: 8px 0 !important;
  margin-bottom: 16px !important;
}

.im-breadcrumb-scroll-wrap {
  width: 100% !important;
  position: relative !important;
}

.im-breadcrumb-list {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 2px 0 !important;
  list-style: none !important;
  gap: 6px !important;
}

.im-breadcrumb-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 12.5px !important;
  color: #64748B !important;
  line-height: 1.4 !important;
}

.im-breadcrumb-item::before {
  display: none !important;
}

.im-breadcrumb-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  color: #64748B !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  transition: color 0.15s ease !important;
}

.im-breadcrumb-home-icon {
  width: 14px !important;
  height: 14px !important;
  position: relative !important;
  top: -1.5px !important;
  flex-shrink: 0 !important;
  vertical-align: middle !important;
  color: #94A3B8 !important;
  transition: color 0.15s ease !important;
}

.im-breadcrumb-link:hover {
  color: #103556 !important;
}

.im-breadcrumb-link:hover .im-breadcrumb-home-icon {
  color: #103556 !important;
}

.im-breadcrumb-sep-icon {
  width: 11px !important;
  height: 11px !important;
  position: relative !important;
  top: -1px !important;
  vertical-align: middle !important;
  flex-shrink: 0 !important;
  color: #CBD5E1 !important;
}

.im-breadcrumb-current {
  color: #103556 !important;
  font-weight: 600 !important;
  max-width: 280px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* OTTIMIZZAZIONE MOBILE: SCROLL ORIZZONTALE FLUIDO TOUCH SENZA WRAP */
@media (max-width: 767.98px) {
  .im-breadcrumb-nav {
    padding: 6px 0 !important;
    margin-bottom: 12px !important;
    background: #ffffff !important;
    border-bottom: 1px solid #f1f5f9 !important;
  }

  .im-breadcrumb-scroll-wrap {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    mask-image: linear-gradient(to right, black 90%, transparent 100%) !important;
    -webkit-mask-image: linear-gradient(to right, black 90%, transparent 100%) !important;
  }

  .im-breadcrumb-scroll-wrap::-webkit-scrollbar {
    display: none !important;
  }

  .im-breadcrumb-list {
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    padding-right: 20px !important;
    gap: 5px !important;
  }

  .im-breadcrumb-item {
    flex-shrink: 0 !important;
    font-size: 12px !important;
    gap: 5px !important;
  }

  .im-breadcrumb-current {
    max-width: 170px !important;
  }
}

/* ==========================================================================
   OFFCANVAS FACETED FILTER FOOTER (STICKY APPLY BUTTON)
   ========================================================================== */
.im-faceted-footer {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 10 !important;
  box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.05) !important;
}

.im-faceted-apply-btn {
  background: #103556 !important;
  border-color: #103556 !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  border-radius: 12px !important;
  height: 46px !important;
  font-size: 14.5px !important;
}

.im-faceted-apply-btn:hover {
  background: #0B253D !important;
  border-color: #0B253D !important;
}

/* ==========================================================================
   ITALIA MAGAZZINI — LUXURY REFINEMENTS (SEARCH ELEVATION, CHIPS, REVIEWS)
   ========================================================================== */

/* 1. SEARCH BAR & DROPDOWN Z-INDEX OVER MEGA MENU */
.im-main-header {
  position: relative !important;
  z-index: 100010 !important;
}

.im-main-header:focus-within,
.im-main-header.is-searching {
  z-index: 100020 !important;
}

.im-search-widget {
  position: relative !important;
}

.im-search-widget .ps-searchbar__dropdown {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 100030 !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  box-shadow: 0 16px 40px rgba(16, 53, 86, 0.16) !important;
  overflow: hidden !important;
}

.im-mobile-search-row {
  position: relative !important;
  z-index: 100015 !important;
}

.im-mobile-search-row .ps-searchbar__dropdown {
  position: absolute !important;
  top: calc(100% + 6px) !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 100035 !important;
  background: #ffffff !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18) !important;
}

/* 2. LUXURY PRODUCT ATTRIBUTE CHIPS & COLOR SWATCHES */
.im-luxury-variants {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.25rem !important;
  margin-bottom: 1.5rem !important;
}

.im-variant-group {
  border: none !important;
  padding: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 26px !important;
}

.im-variant-header {
  display: flex !important;
  align-items: baseline !important;
  gap: 6px !important;
  margin-bottom: 8px !important;
}

.im-variant-title {
  font-family: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #475569 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  margin: 0 !important;
  padding: 0 !important;
}

.im-variant-active-val {
  font-family: 'Outfit', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  text-transform: none !important;
}

/* Chips wrap for sizes / radio options */
.im-variant-chips-wrap {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 10px !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

@media (min-width: 768px) {
  .im-variant-chips-wrap:has(> :nth-child(3):last-child),
  .im-variant-chips-wrap:has(> :nth-child(6):last-child) {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

.im-variant-chips-wrap > :last-child:nth-child(odd) {
  grid-column: 1 / -1 !important;
}

.im-variant-chip-item {
  display: flex !important;
  width: 100% !important;
  margin: 0 !important;
}

/* Individual Variant Chip (Button or Label - Brooklinen Pill Style) */
.im-variant-chip {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 9px 12px !important;
  border-radius: 9999px !important;
  border: 1.5px solid #cbd5e1 !important;
  background: #ffffff !important;
  color: #103556 !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  user-select: none !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
  box-sizing: border-box !important;
  line-height: 1.2 !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) !important;
}

.im-variant-chip:hover {
  border-color: #103556 !important;
  color: #103556 !important;
  background: #f8fafc !important;
  transform: translateY(-1px) !important;
}

.im-variant-chip.is-selected,
.im-variant-chip.active,
.im-variant-chip-item input:checked + .im-variant-chip,
.im-radio-hidden:checked + .im-variant-chip {
  border-color: #103556 !important;
  background: #103556 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 12px rgba(16, 53, 86, 0.25) !important;
  transform: translateY(-1px) !important;
}

/* Color Swatches Wrap */
.im-variant-colors-wrap {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 0 !important;
  margin: 0 !important;
}

.im-color-swatch-item {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.im-color-swatch-label {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 3px !important;
  border-radius: 50% !important;
  border: 2px solid transparent !important;
  cursor: pointer !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  margin: 0 !important;
  touch-action: manipulation !important;
  box-shadow: none !important;
  outline: none !important;
}

.im-color-swatch-circle {
  display: block !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(0, 0, 0, 0.12) !important;
  background-size: cover !important;
  background-position: center !important;
  transition: transform 0.2s ease !important;
}

.im-color-swatch-label:hover {
  border-color: #cbd5e1 !important;
}

.im-color-swatch-label:hover .im-color-swatch-circle {
  transform: scale(1.05) !important;
}

.im-color-swatch-label.is-selected,
.im-color-swatch-item input:checked + .im-color-swatch-label {
  border-color: #103556 !important;
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #103556 !important;
  outline: none !important;
}

/* 3. LUXURY REVIEW MODAL (#post-product-comment-modal) */
#post-product-comment-modal .modal-dialog {
  max-width: 560px !important;
  margin: 1.5rem auto !important;
}

#post-product-comment-modal .modal-content {
  border: none !important;
  border-radius: 20px !important;
  box-shadow: 0 20px 50px rgba(16, 53, 86, 0.18) !important;
  overflow: hidden !important;
  background: #ffffff !important;
}

#post-product-comment-modal .modal-header {
  background: #f8fafc !important;
  border-bottom: 1px solid #e2e8f0 !important;
  padding: 18px 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

#post-product-comment-modal .modal-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  margin: 0 !important;
  flex: 1 !important;
  min-width: 0 !important;
  line-height: 1.3 !important;
  word-break: break-word !important;
}

#post-product-comment-modal .modal-header .btn-close {
  flex-shrink: 0 !important;
  margin: 0 !important;
  opacity: 0.7 !important;
  transition: opacity 0.2s ease !important;
}

#post-product-comment-modal .modal-header .btn-close:hover {
  opacity: 1 !important;
}

#post-product-comment-modal .modal-body {
  padding: 24px !important;
}

/* Review modal product info card */
#post-product-comment-modal .im-review-product-card {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

#post-product-comment-modal .im-review-prod-info {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

#post-product-comment-modal .im-review-prod-name {
  font-family: 'Outfit', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
}

#post-product-comment-modal .modal-footer {
  background: #f8fafc !important;
  border-top: 1px solid #e2e8f0 !important;
  padding: 16px 24px !important;
}

@media (max-width: 575.98px) {
  #post-product-comment-modal .modal-dialog {
    margin: 12px auto !important;
    max-width: calc(100% - 24px) !important;
    width: calc(100% - 24px) !important;
  }

  #post-product-comment-modal .modal-content {
    border-radius: 16px !important;
  }

  #post-product-comment-modal .modal-header {
    padding: 14px 16px !important;
  }

  #post-product-comment-modal .modal-title {
    font-size: 16.5px !important;
  }

  #post-product-comment-modal .modal-body {
    padding: 16px !important;
  }

  #post-product-comment-modal .im-review-product-card {
    padding: 10px 12px !important;
    gap: 10px !important;
    margin-bottom: 14px !important;
  }

  #post-product-comment-modal .im-review-prod-img {
    width: 50px !important;
    height: 50px !important;
  }

  #post-product-comment-modal .im-review-prod-name {
    font-size: 13.5px !important;
  }

  #post-product-comment-modal .modal-footer {
    padding: 14px 16px !important;
  }
}

/* Star rating selector in review modal */
#post-product-comment-modal .star-rating-group {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

#post-product-comment-modal .star-rating-group legend {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #1e293b !important;
  margin-bottom: 6px !important;
}

#post-product-comment-modal .stars-selector {
  display: inline-flex !important;
  flex-direction: row-reverse !important;
  justify-content: flex-end !important;
  gap: 4px !important;
  padding: 4px 0 !important;
}

#post-product-comment-modal .stars-selector .stars-selector__input-label {
  background: none !important;
  width: 34px !important;
  height: 34px !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #cbd5e1 !important;
  font-size: 28px !important;
  line-height: 1 !important;
  transition: color 0.15s ease, transform 0.15s ease !important;
  touch-action: manipulation !important;
}

#post-product-comment-modal .stars-selector .stars-selector__input-label::before {
  content: '★' !important;
  display: block !important;
}

#post-product-comment-modal .stars-selector .stars-selector__input-label:hover,
#post-product-comment-modal .stars-selector .stars-selector__input-label:hover ~ .stars-selector__input-label,
#post-product-comment-modal .stars-selector .stars-selector__input:checked + .stars-selector__input-label,
#post-product-comment-modal .stars-selector .stars-selector__input:checked + .stars-selector__input-label ~ .stars-selector__input-label {
  color: #f59e0b !important;
}

#post-product-comment-modal .stars-selector .stars-selector__input-label:hover {
  transform: scale(1.15) !important;
}

#post-product-comment-modal .form-control {
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 16px !important;
  color: #0f172a !important;
  background: #ffffff !important;
  transition: all 0.2s ease !important;
}

#post-product-comment-modal .form-control:focus {
  border-color: #103556 !important;
  box-shadow: 0 0 0 3px rgba(16, 53, 86, 0.12) !important;
}

#post-product-comment-modal textarea.form-control {
  min-height: 110px !important;
}

#post-product-comment-modal .form-label {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #334155 !important;
  margin-bottom: 6px !important;
}

#post-product-comment-modal .btn-outline-primary {
  border: 1.5px solid #cbd5e1 !important;
  color: #475569 !important;
  border-radius: 10px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 600 !important;
  padding: 10px 22px !important;
  background: transparent !important;
  transition: all 0.2s ease !important;
}

#post-product-comment-modal .btn-outline-primary:hover {
  background: #f1f5f9 !important;
  border-color: #94a3b8 !important;
  color: #0f172a !important;
}

#post-product-comment-modal .btn-primary {
  background: #103556 !important;
  border: 1.5px solid #103556 !important;
  color: #ffffff !important;
  border-radius: 10px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 700 !important;
  padding: 10px 26px !important;
  box-shadow: 0 4px 14px rgba(16, 53, 86, 0.2) !important;
  transition: all 0.2s ease !important;
}

#post-product-comment-modal .btn-primary:hover {
  background: #0b253c !important;
  border-color: #0b253c !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(16, 53, 86, 0.25) !important;
}

/* 4. UNIVERSAL MOBILE ANTI-ZOOM AND TOUCH MANIPULATION */
@media (max-width: 991px) {
  input,
  select,
  textarea,
  .im-search-input,
  .ps-searchbar__input,
  .form-control {
    font-size: 16px !important;
    touch-action: manipulation !important;
  }
}

/* Product gallery: eliminate duplicate outlines / heavy borders */
.product__carousel .carousel-inner,
.product-cover,
.product-cover picture,
.product-cover img {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

.product__thumbnails-list {
  padding-left: 0 !important;
}

/* STICKY MOBILE BUY BAR */
.im-sticky-mobile-buy-bar {
  display: none !important;
}

@media (max-width: 768px) {
  .im-sticky-mobile-buy-bar {
    display: block !important;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    background: #ffffff;
    box-shadow: 0 -4px 20px rgba(16, 53, 86, 0.12);
    border-top: 1px solid #e2e8f0;
    z-index: 1040;
    padding: 10px 16px;
    padding-bottom: max(14px, env(safe-area-inset-bottom, 14px));
    transform: translateY(110%);
    transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: transform;
  }

  .im-sticky-mobile-buy-bar.is-visible {
    transform: translateY(0);
  }

  .im-sticky-buy-content {
    display: flex;
    align-items: center;
    gap: 12px;
    max-width: 100%;
  }

  .im-sticky-buy-thumb {
    width: 42px;
    height: 42px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    flex-shrink: 0;
  }

  .im-sticky-buy-meta {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .im-sticky-buy-name {
    font-size: 13px;
    font-weight: 600;
    color: #1e293b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.25;
  }

  .im-sticky-buy-price {
    font-size: 14px;
    font-weight: 700;
    color: #103556;
    margin-top: 2px;
  }

  .im-sticky-buy-action {
    flex-shrink: 0;
    height: 42px;
    padding: 0 16px !important;
    border-radius: 10px !important;
    background: #103556 !important;
    border-color: #103556 !important;
    color: #ffffff !important;
    font-weight: 600;
    font-size: 13.5px !important;
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    box-shadow: 0 4px 12px rgba(16, 53, 86, 0.2) !important;
  }

  .im-sticky-buy-action:active {
    transform: scale(0.97);
  }
}



/* ==========================================================================
   LUXURY GLOBAL & PDP NOTIFICATIONS / ALERTS
   ========================================================================== */
#notifications,
.im-notifications {
  margin: 10px 0 16px 0 !important;
  padding: 0 !important;
}

#notifications:empty,
.im-notifications:empty,
#notifications:not(:has(.alert)),
.im-notifications:not(:has(.alert)) {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
}

/* Eliminate whitespace gap between header/megamenu and slider on homepage */
body#index #wrapper {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body#index #center-column,
body#index .center-column {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body#index .im-hero-slider-wrap {
  margin-top: 0 !important;
}

body#product #notifications,
body#product .im-notifications {
  margin: 12px 0 16px 0 !important;
}

.im-alert {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  padding: 10px 16px !important;
  border-radius: 12px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.4 !important;
  box-shadow: 0 2px 8px rgba(16, 53, 86, 0.05) !important;
  margin-bottom: 12px !important;
  transition: all 0.25s ease !important;
}

.im-alert-content {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex: 1 !important;
  min-width: 0 !important;
  flex-wrap: wrap !important;
}

.im-alert-icon {
  width: 30px !important;
  height: 30px !important;
  border-radius: 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.im-alert-message {
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #1E293B !important;
  display: flex !important;
  align-items: center !important;
}

.im-alert-message ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.im-alert-message li {
  margin: 0 !important;
}

/* Action button (e.g. "Vedi carrello") */
.im-alert-action-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  height: 30px !important;
  padding: 0 14px !important;
  border-radius: 20px !important;
  background: #103556 !important;
  color: #FFFFFF !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 6px rgba(16, 53, 86, 0.15) !important;
  white-space: nowrap !important;
  margin-left: 4px !important;
}

.im-alert-action-btn:hover {
  background: #0B253D !important;
  color: #FFFFFF !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 3px 8px rgba(16, 53, 86, 0.25) !important;
}

/* Close button */
.im-alert-close {
  position: static !important;
  padding: 6px !important;
  margin: 0 !important;
  opacity: 0.4 !important;
  transition: opacity 0.2s ease, transform 0.2s ease !important;
  flex-shrink: 0 !important;
  background-size: 11px !important;
}

.im-alert-close:hover {
  opacity: 0.85 !important;
  transform: scale(1.1) !important;
}

/* INFO THEME (Cart info, etc.) */
.im-alert--info {
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  color: #103556 !important;
}

.im-alert--info .im-alert-icon {
  background: rgba(16, 53, 86, 0.08) !important;
  color: #103556 !important;
}

/* SUCCESS THEME */
.im-alert--success {
  background: #F0FDF4 !important;
  border: 1px solid #BBF7D0 !important;
  color: #166534 !important;
}

.im-alert--success .im-alert-icon {
  background: rgba(22, 101, 52, 0.1) !important;
  color: #166534 !important;
}

.im-alert--success .im-alert-message {
  color: #14532D !important;
}

/* WARNING THEME */
.im-alert--warning {
  background: #FFFBEB !important;
  border: 1px solid #FDE68A !important;
  color: #92400E !important;
}

.im-alert--warning .im-alert-icon {
  background: rgba(146, 64, 14, 0.1) !important;
  color: #92400E !important;
}

.im-alert--warning .im-alert-message {
  color: #78350F !important;
}

/* ERROR THEME */
.im-alert--error {
  background: #FEF2F2 !important;
  border: 1px solid #FECACA !important;
  color: #991B1B !important;
}

.im-alert--error .im-alert-icon {
  background: rgba(153, 27, 27, 0.1) !important;
  color: #991B1B !important;
}

.im-alert--error .im-alert-message {
  color: #7F1D1D !important;
}

/* Mobile Responsiveness */
@media (max-width: 767.98px) {
  #notifications,
  .im-notifications {
    margin: 8px 0 12px 0 !important;
    padding: 0 10px !important;
  }

  body#product #notifications,
  body#product .im-notifications {
    margin: 8px 0 10px 0 !important;
    padding: 0 10px !important;
  }

  .im-alert {
    padding: 8px 12px !important;
    gap: 8px !important;
    border-radius: 10px !important;
  }

  .im-alert-content {
    gap: 8px !important;
    align-items: center !important;
  }

  .im-alert-icon {
    width: 26px !important;
    height: 26px !important;
    border-radius: 6px !important;
  }

  .im-alert-icon svg {
    width: 15px !important;
    height: 15px !important;
  }

  .im-alert-message {
    font-size: 12.5px !important;
    line-height: 1.3 !important;
    flex: 1 !important;
  }

  .im-alert-action-btn {
    height: 26px !important;
    padding: 0 10px !important;
    font-size: 11px !important;
    margin-left: auto !important;
  }

  .im-alert-action-btn svg {
    width: 11px !important;
    height: 11px !important;
  }
}

/* ==========================================================================
   CHECKOUT ADDRESS: B2B / PARTITA IVA DYNAMIC TOGGLE
   ========================================================================== */
.im-vat-toggle-box {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-left: 3px solid #103556 !important;
  border-radius: 0 !important;
  padding: 14px 18px !important;
  margin: 16px 0 18px 0 !important;
  transition: all 0.2s ease !important;
}

.im-vat-toggle-box:hover {
  background: #f1f5f9 !important;
  border-color: #cbd5e1 !important;
  border-left-color: #1E3A8A !important;
}

.im-vat-check {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  margin: 0 !important;
  padding-left: 0 !important;
  cursor: pointer !important;
}

.im-vat-check .form-check-input {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  margin-top: 2px !important;
  margin-left: 0 !important;
  float: none !important;
  border: 1.5px solid #94a3b8 !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
}

.im-vat-check .form-check-input:checked {
  background-color: #103556 !important;
  border-color: #103556 !important;
}

.im-vat-check .form-check-label {
  cursor: pointer !important;
  user-select: none !important;
  padding-left: 0 !important;
}

.im-vat-toggle-title {
  display: block !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 700 !important;
  font-size: 14.5px !important;
  color: #103556 !important;
  line-height: 1.3 !important;
  margin-bottom: 3px !important;
}

.im-vat-toggle-desc {
  display: block !important;
  font-size: 12.5px !important;
  color: #64748b !important;
  line-height: 1.4 !important;
}

.im-b2b-field {
  transition: opacity 0.25s ease, max-height 0.3s ease !important;
}

.im-b2b-field.im-b2b-field--hidden {
  display: none !important;
}

.im-b2b-field--company .form-label,
.im-b2b-field--vat .form-label {
  font-weight: 600 !important;
  color: #1e293b !important;
}

.im-b2b-field--company {
  margin-top: 6px !important;
}

/* ==========================================================================
   UNIVERSAL CART THUMBNAIL STABILIZATION (STRICT 1:1 RATIO ON ALL DEVICES)
   ========================================================================== */
.im-cart-drawer-item .im-drawer-item-img-wrap,
.product-line .product-line__image {
  flex-shrink: 0 !important;
  aspect-ratio: 1 / 1 !important;
  background-color: #f8fafc !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}

.cart-summary-product .cart-summary-product__image {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  max-width: 56px !important;
  flex: 0 0 56px !important;
  aspect-ratio: 1 / 1 !important;
  background-color: #f8fafc !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}

.im-cart-drawer-item .im-drawer-item-img,
.product-line .product-line__image img,
.product-line .product-line__img,
.cart-summary-product .cart-summary-product__img,
.cart-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  aspect-ratio: 1 / 1 !important;
  display: block !important;
}

/* ==========================================================================
   SMART STICKY HEADER (DEDICATED FLOATING BAR - 100% ZERO LAYOUT SHIFT)
   ========================================================================== */

/* 1. Dedicated Floating Bar (Always Fixed, Hidden by Default via GPU Transform) */
.im-smart-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 100050 !important;
  background: rgba(255, 255, 255, 0.98) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  border-bottom: 1px solid rgba(226, 232, 240, 0.9) !important;
  box-shadow: 0 4px 20px rgba(15, 23, 42, 0.08), 0 1px 3px rgba(15, 23, 42, 0.04) !important;
  padding: 8px 0 !important;
  transform: translateY(-100%);
  transition: transform 0.26s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s ease, visibility 0.26s !important;
  will-change: transform;
  pointer-events: none;
  visibility: hidden;
}

/* 2. Revealed on Scroll Up (Silky Smooth Slide Down) */
.im-smart-header.is-revealed {
  transform: translateY(0) !important;
  pointer-events: auto !important;
  visibility: visible !important;
  transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.2s ease !important;
}

/* 3. Desktop Refinements for Floating Bar */
@media (min-width: 992px) {
  .im-smart-header {
    padding: 8px 0 !important;
  }
  .im-smart-header .im-logo-img {
    height: 38px !important;
    display: block !important;
  }
  .im-smart-header .im-search-input {
    height: 40px !important;
  }
  .im-smart-header .im-cart-box,
  .im-smart-header .im-account-btn {
    height: 38px !important;
  }
}

/* 4. Mobile Refinements for Floating Bar */
@media (max-width: 991px) {
  .im-smart-header {
    padding: 6px 0 8px !important;
  }
  .im-smart-header .im-logo-img {
    height: 30px !important;
    display: block !important;
  }
  .im-smart-header .im-mobile-search-row {
    margin-top: 6px !important;
  }
  .im-smart-header .im-mobile-search-row .im-search-input {
    height: 38px !important;
    font-size: 13px !important;
  }
}

/* ========================================================
   RESPONSIVE TYPOGRAPHY & MULTI-DEVICE SCREEN CALIBRATION
   Implements fluid, harmonious typography scaling across all screen sizes:
   "Né troppo piccoli e né troppo grandi in tutto"
   - Tier 1 (<= 425px): Standard Modern Mobile (Galaxy A55 412px, Galaxy S25 384-412px, iPhone 15/16 390px)
   - Tier 2 (<= 385px): Compact Mobile (Honor 400 Lite 374px, Galaxy S25 Zoom 384px, iPhone SE)
   - Tier 3 (<= 359.98px): Ultra-Compact Displays (Galaxy Fold Cover 344px)
   - Tier 4 (426px - 575.98px): Large Modern Mobile Flagships (iPhone 16 Pro Max 440px)
   ======================================================== */

/* Tier 1: Standard Modern Mobile (<= 425px: covers Galaxy A55 412px, Galaxy S25, iPhone 15/16 390px) */
@media (max-width: 425px) {
  /* 1. Global Forms & Inputs (Prevents iOS/Android auto-zoom blur) */
  input, select, textarea, .form-control {
    font-size: 16px !important;
  }

  /* 2. Header & Search Bar */
  .im-topbar-slide-link {
    font-size: 11.5px !important;
  }
  .im-search-input {
    font-size: 13px !important;
    height: 38px !important;
  }

  /* 3. Catalog & Listing Product Cards (.product-miniature) */
  .product-miniature__inner {
    padding: 10px !important;
    border-radius: 12px !important;
  }
  .product-miniature__title {
    font-size: 13px !important;
    line-height: 1.34 !important;
    min-height: 35px !important;
    margin-bottom: 4px !important;
  }
  .product-miniature__prices {
    gap: 4px !important;
  }
  .product-miniature__price {
    font-size: 15.5px !important;
    white-space: nowrap !important;
  }
  .product-miniature__regular-price {
    font-size: 12px !important;
    white-space: nowrap !important;
  }
  .product-miniature .product-miniature__add,
  .product-miniature button[data-button-action="add-to-cart"] {
    height: 38px !important;
    font-size: 12px !important;
    padding: 0 10px !important;
  }
  .product-miniature__add-text {
    font-size: 12px !important;
  }

  /* 4. PDP (Product Detail Page) Name, Prices & Actions */
  .im-carillo-product-title,
  .ce-product-name,
  .elementor-widget-product-name h1,
  .elementor-widget-product-name .elementor-heading-title {
    font-size: 20.5px !important;
    line-height: 1.26 !important;
  }
  .product__price {
    font-size: 25px !important;
  }
  .product__regular-price {
    font-size: 16px !important;
  }
  .product__discount-percentage {
    font-size: 11.5px !important;
    padding: 2.5px 7px !important;
  }
  .im-carillo-installments-box {
    padding: 10px 14px !important;
  }
  .im-carillo-installments-txt {
    font-size: 12.5px !important;
  }
  .product-variant__legend,
  .product-variant__selected {
    font-size: 13px !important;
  }
  .im-variant-pill {
    font-size: 12.5px !important;
    padding: 7px 15px !important;
  }
  .product__actions-qty-add .product__add-to-cart-button {
    font-size: 12.5px !important;
    padding: 0 12px !important;
  }

  /* 5. Headings on Sections & Category Pages */
  .im-section-main-title {
    font-size: 18px !important;
    letter-spacing: 1px !important;
  }
  .im-section-script-subtitle {
    font-size: 17px !important;
  }
  .im-section-desc {
    font-size: 12px !important;
  }
  .im-listing-title,
  .page-title-section {
    font-size: 21px !important;
    line-height: 1.24 !important;
  }

  /* 6. Checkout Flow */
  .im-shopify-section-title {
    font-size: 18px !important;
  }
  .im-pay-now-btn,
  #payment-confirmation button.btn.btn-primary,
  #checkout-continue-form button.btn.btn-primary {
    height: 50px !important;
    min-height: 50px !important;
    font-size: 14.5px !important;
    padding: 0 20px !important;
  }
}

/* Tier 2: Compact Mobile Screens (<= 385px: Honor 400 Lite 374px, Galaxy S25 Zoom 384px, iPhone SE) */
@media (max-width: 385px) {
  /* 1. Header & Top Announcement Bar */
  .im-topbar-slide-link {
    font-size: 11px !important;
    letter-spacing: 0.2px !important;
  }
  .im-topbar-highlight {
    font-size: 11px !important;
  }
  .im-header-container {
    padding: 0 8px !important;
  }
  .im-header-mobile-left,
  .im-header-actions {
    gap: 0px !important;
  }
  .im-hamburger-btn,
  .im-header-mobile-left .im-hdr-icon-link,
  .im-action-support .im-hdr-icon-link,
  .im-action-support,
  .im-action-cart {
    width: 36px !important;
    height: 36px !important;
  }
  .im-header-logo,
  .im-logo-link {
    max-width: 125px !important;
    width: 125px !important;
  }
  .im-logo-img {
    max-height: 25px !important;
  }
  .im-search-input {
    font-size: 12.5px !important;
    height: 38px !important;
  }

  /* 2. Micro Card Refinement for Compact Screens */
  .product-miniature__title {
    font-size: 12px !important;
    line-height: 1.3 !important;
    min-height: 32px !important;
  }
  .product-miniature__price {
    font-size: 14.5px !important;
  }
  .product-miniature__regular-price {
    font-size: 11.5px !important;
  }
  .product-miniature .product-miniature__add,
  .product-miniature button[data-button-action="add-to-cart"] {
    height: 36px !important;
    font-size: 11px !important;
    padding: 0 8px !important;
  }
  .product-miniature__add-text {
    font-size: 11px !important;
  }

  /* 3. PDP Refinements (Honor 400 Lite & Compacts) */
  .im-carillo-product-title,
  .ce-product-name,
  .elementor-widget-product-name h1,
  .elementor-widget-product-name .elementor-heading-title {
    font-size: 19px !important;
    line-height: 1.25 !important;
  }
  .product__price {
    font-size: 23px !important;
  }
  .product__regular-price {
    font-size: 15px !important;
  }
  .product__discount-percentage {
    font-size: 11px !important;
    padding: 2px 6px !important;
  }
  .im-carillo-brand-badge {
    font-size: 10.5px !important;
    padding: 3px 8px !important;
  }
  .im-carillo-installments-box {
    padding: 9px 12px !important;
  }
  .im-carillo-installments-txt {
    font-size: 11.5px !important;
  }
  .product-variant__legend,
  .product-variant__selected {
    font-size: 12px !important;
  }
  .im-variant-pill {
    font-size: 11.5px !important;
    padding: 6px 12px !important;
  }
  .product__actions-qty-add .product-actions__quantity,
  .product__actions-qty-add .product__quantity,
  .product__actions-qty-add .quantity-button {
    width: 96px !important;
    max-width: 96px !important;
    min-width: 96px !important;
    flex: 0 0 96px !important;
  }
  .product__actions-qty-add .im-luxury-qty-group,
  .product__actions-qty-add .quantity-button__group {
    width: 96px !important;
    max-width: 96px !important;
    min-width: 96px !important;
  }
  .product__actions-qty-add .product__add-to-cart-button {
    height: 46px !important;
    font-size: 11.5px !important;
    padding: 0 10px !important;
    letter-spacing: 0.2px !important;
  }

  /* 4. Headings & Titles */
  .im-section-main-title {
    font-size: 16.5px !important;
    letter-spacing: 0.8px !important;
  }
  .im-section-script-subtitle {
    font-size: 16px !important;
  }
  .im-section-desc {
    font-size: 11.5px !important;
  }
  .im-listing-title,
  .page-title-section {
    font-size: 19.5px !important;
    line-height: 1.24 !important;
  }

  /* 5. Quick View Pop-up */
  .page-product--quickview .product__name {
    font-size: 15.5px !important;
  }
  .page-product--quickview .product__price {
    font-size: 19px !important;
  }

  /* 6. Checkout Flow */
  .im-shopify-section-title {
    font-size: 17px !important;
  }
  .im-mobile-summary-left {
    font-size: 13px !important;
  }
  .im-mobile-summary-total {
    font-size: 15px !important;
  }
  .im-pay-now-btn,
  #payment-confirmation button.btn.btn-primary,
  #checkout-continue-form button.btn.btn-primary {
    height: 48px !important;
    min-height: 48px !important;
    font-size: 14px !important;
    padding: 0 16px !important;
  }
}

/* Tier 3: Ultra-Compact Mobile Screens (<= 359.98px: Galaxy Fold Outer Display 344px) */
@media (max-width: 359.98px) {
  /* 1. Header & Top Bar */
  .im-topbar-slide-link {
    font-size: 10px !important;
    letter-spacing: 0.1px !important;
  }
  .im-header-logo,
  .im-logo-link {
    max-width: 118px !important;
    width: 118px !important;
  }
  .im-logo-img {
    max-height: 23px !important;
  }
  .im-search-input {
    font-size: 12px !important;
    height: 36px !important;
  }

  /* 2. Ultra-Compact Product Miniature */
  .product-miniature__inner {
    padding: 8px !important;
  }
  .product-miniature__title {
    font-size: 11.5px !important;
    line-height: 1.25 !important;
    min-height: 29px !important;
  }
  .product-miniature__price {
    font-size: 13.5px !important;
  }
  .product-miniature__regular-price {
    font-size: 11px !important;
  }
  .product-miniature .product-miniature__add,
  .product-miniature button[data-button-action="add-to-cart"] {
    height: 34px !important;
    font-size: 10.5px !important;
    padding: 0 6px !important;
  }
  .product-miniature__add-text {
    font-size: 10.5px !important;
  }

  /* 3. PDP Ultra-Compact */
  .im-carillo-product-title,
  .ce-product-name,
  .elementor-widget-product-name h1,
  .elementor-widget-product-name .elementor-heading-title {
    font-size: 17.5px !important;
    line-height: 1.24 !important;
  }
  .product__price {
    font-size: 21.5px !important;
  }
  .product__regular-price {
    font-size: 14px !important;
  }
  .product__discount-percentage {
    font-size: 10.5px !important;
    padding: 2px 5px !important;
  }
  .im-carillo-brand-badge {
    font-size: 10px !important;
    padding: 2.5px 7px !important;
  }
  .im-carillo-installments-box {
    padding: 8px 10px !important;
  }
  .im-carillo-installments-txt {
    font-size: 11px !important;
    line-height: 1.35 !important;
  }
  .product-variant__legend,
  .product-variant__selected {
    font-size: 11.5px !important;
  }
  .im-variant-pill {
    font-size: 11px !important;
    padding: 5px 10px !important;
  }
  .product__actions-qty-add .product-actions__quantity,
  .product__actions-qty-add .product__quantity,
  .product__actions-qty-add .quantity-button {
    width: 88px !important;
    max-width: 88px !important;
    min-width: 88px !important;
    flex: 0 0 88px !important;
  }
  .product__actions-qty-add .im-luxury-qty-group,
  .product__actions-qty-add .quantity-button__group {
    width: 88px !important;
    max-width: 88px !important;
    min-width: 88px !important;
    padding: 0 4px !important;
  }
  .product__actions-qty-add .quantity-button button,
  .product__actions-qty-add .im-qty-btn,
  .product__actions-qty-add .quantity-button__group .btn-decrement,
  .product__actions-qty-add .quantity-button__group .btn-increment {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    flex: 0 0 28px !important;
  }
  .product__actions-qty-add .product__add-to-cart-button {
    height: 44px !important;
    font-size: 11px !important;
    padding: 0 6px !important;
    letter-spacing: 0px !important;
  }

  /* 4. Headings & Titles */
  .im-section-main-title {
    font-size: 15px !important;
    letter-spacing: 0.6px !important;
  }
  .im-section-script-subtitle {
    font-size: 15px !important;
  }
  .im-section-desc {
    font-size: 11px !important;
  }
  .im-listing-title,
  .page-title-section {
    font-size: 18px !important;
    line-height: 1.22 !important;
  }

  /* 5. Quick View Pop-up */
  .page-product--quickview .product__name {
    font-size: 15px !important;
  }
  .page-product--quickview .product__price {
    font-size: 18px !important;
  }

  /* 6. Checkout Flow */
  .im-shopify-section-title {
    font-size: 16px !important;
  }
  .im-mobile-summary-left {
    font-size: 12.5px !important;
  }
  .im-mobile-summary-total {
    font-size: 14.5px !important;
  }
  .im-pay-now-btn,
  #payment-confirmation button.btn.btn-primary,
  #checkout-continue-form button.btn.btn-primary {
    height: 46px !important;
    min-height: 46px !important;
    font-size: 13.5px !important;
    padding: 0 12px !important;
  }
}

/* Tier 4: Large Modern Flagships (426px - 575.98px: iPhone 16 Pro Max 440px, Galaxy S25 Ultra) */
@media (min-width: 426px) and (max-width: 575.98px) {
  .product-miniature__title {
    font-size: 13.5px !important;
    min-height: 36px !important;
    line-height: 1.35 !important;
  }
  .product-miniature__price {
    font-size: 16px !important;
  }
  .product-miniature .product-miniature__add,
  .product-miniature button[data-button-action="add-to-cart"] {
    height: 40px !important;
    font-size: 12.5px !important;
  }
  .im-carillo-product-title {
    font-size: 22px !important;
    line-height: 1.28 !important;
  }
  .product__price {
    font-size: 27px !important;
  }
  .product__actions-qty-add .product__add-to-cart-button {
    height: 48px !important;
    font-size: 13px !important;
    padding: 0 16px !important;
  }
  .im-listing-title,
  .page-title-section {
    font-size: 23px !important;
  }
}


/* ==========================================================================
   SHOPIFY / SHOP PAY CHECKOUT EXPERIENCE FOR ITALIA MAGAZZINI
   ========================================================================== */

/* 1. Complete Enclosed Checkout Isolation */
body#checkout #header.header {
  position: static !important;
  box-shadow: none !important;
  border-bottom: 1px solid #e2e8f0 !important;
  background: #ffffff !important;
  display: block !important;
  padding: 0 !important;
  transform: none !important;
}

body#checkout #header.header .header-banner,
body#checkout #header.header .header-nav,
body#checkout #header.header .header-top,
body#checkout #header.header .top-menu,
body#checkout .im-smart-header,
body#checkout #menu-mobile,
body#checkout .elementor-location-header,
body#checkout .elementor-location-footer,
body#checkout #footer.footer:not(.im-shopify-checkout-footer),
body#checkout #cart-drawer,
body#checkout .im-cart-drawer-backdrop {
  display: none !important;
}

body#checkout {
  background-color: #ffffff !important;
  color: #1e293b !important;
}

/* 2. Blood Official / Shopify Header */
.im-shopify-checkout-header {
  background: #ffffff !important;
  border-bottom: 1px solid #f0f0f0 !important;
  padding: 16px 0 !important;
}

.im-shopify-header-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.im-shopify-header-logo img {
  height: 38px !important;
  width: auto !important;
  object-fit: contain !important;
}

.im-shopify-bag-link {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #0f172a !important;
  text-decoration: none !important;
  padding: 6px !important;
  transition: opacity 0.15s ease !important;
}

.im-shopify-bag-link:hover {
  opacity: 0.7 !important;
}

.im-shopify-bag-count {
  position: absolute !important;
  top: 2px !important;
  right: -2px !important;
  background: #000000 !important;
  color: #ffffff !important;
  border-radius: 50% !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  min-width: 17px !important;
  height: 17px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 4px !important;
}

/* 3. Hide Bulky Steppers and Distractions */
body#checkout .checkout-steps,
body#checkout .step__title,
body#checkout .checkout-steps__desktop,
body#checkout .checkout-steps__mobile {
  display: none !important;
}

/* 4. Section Header (Contatti / Accedi) */
.im-shopify-section-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  margin-bottom: 14px !important;
  padding-bottom: 6px !important;
}

.im-shopify-section-title {
  font-family: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin: 0 !important;
}

.im-shopify-login-link {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  color: #2563eb !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: color 0.15s ease !important;
}

.im-shopify-login-link:hover {
  color: #1d4ed8 !important;
  text-decoration: underline !important;
}

/* 5. Mobile Collapsible Summary Bar */
.im-shopify-mobile-summary {
  background: #fbfbfb !important;
  border-bottom: 1px solid #e6e6e6 !important;
}

.im-shopify-mobile-summary-toggle {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 14px 18px !important;
  background: transparent !important;
  border: none !important;
  font-family: 'Outfit', sans-serif !important;
  cursor: pointer !important;
}

.im-mobile-summary-left {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #0f172a !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

.im-mobile-summary-arrow {
  transition: transform 0.2s ease !important;
}

.im-shopify-mobile-summary-toggle[aria-expanded="true"] .im-mobile-summary-arrow {
  transform: rotate(180deg) !important;
}

.im-mobile-summary-total {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
}

.im-shopify-mobile-summary-body {
  padding: 16px 18px 20px !important;
  background: #fbfbfb !important;
  border-top: 1px solid #e6e6e6 !important;
}

/* 6. Shopify Express Checkout Element */
.im-shopify-express-box {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  padding: 16px 18px 14px !important;
  margin-bottom: 24px !important;
  text-align: center !important;
}

.im-express-badge-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  color: #64748b !important;
  margin-bottom: 12px !important;
  text-transform: uppercase !important;
}

.im-express-btn-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 10px !important;
  margin-bottom: 14px !important;
}

.im-express-pill {
  height: 44px !important;
  border-radius: 6px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #cbd5e1 !important;
  cursor: pointer !important;
  transition: opacity 0.15s ease !important;
  padding: 0 8px !important;
}

.im-express-pill:hover {
  opacity: 0.9 !important;
}

.im-express-inner {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.im-express-gpay {
  background: #000000 !important;
  border-color: #000000 !important;
}

.im-express-applepay {
  background: #000000 !important;
  border-color: #000000 !important;
}

.im-express-paypal {
  background: #ffc439 !important;
  border-color: #ffc439 !important;
}

.im-express-divider {
  position: relative !important;
  text-align: center !important;
  margin-top: 14px !important;
  margin-bottom: 4px !important;
}

.im-express-divider::before {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 0 !important;
  right: 0 !important;
  height: 1px !important;
  background: #e2e8f0 !important;
  z-index: 1 !important;
}

.im-express-divider span {
  position: relative !important;
  z-index: 2 !important;
  background: #ffffff !important;
  padding: 0 12px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #94a3b8 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

/* 7. Desktop 2-Column Blood Official Layout & Sticky Rail */
@media (min-width: 992px) {
  .im-shopify-container {
    max-width: 1180px !important;
    padding-top: 24px !important;
    padding-bottom: 48px !important;
  }

  .checkout-grid__content {
    padding-right: 48px !important;
  }

  .checkout-grid__aside {
    position: sticky !important;
    top: 0 !important;
    align-self: flex-start !important;
    z-index: 50 !important;
    border-left: 1px solid #e6e6e6 !important;
    padding-left: 40px !important;
    background: #fbfbfb !important;
    min-height: 100vh !important;
  }

  .im-shopify-summary-card {
    background: transparent !important;
    border: none !important;
    padding: 24px 0 !important;
    box-shadow: none !important;
  }

  .checkout-grid__aside .checkout__summary-accordion .accordion-button {
    display: none !important;
  }

  .checkout-grid__aside .checkout__summary-accordion-wrapper.collapse:not(.show) {
    display: block !important;
  }
}

/* 8. Thumbnail & Floating Circular Quantity Badge (Blood Official / Shopify) */
.cart-summary-product .cart-summary-product__image {
  position: relative !important;
  overflow: visible !important;
}

.cart-summary-product .cart-summary-product__image .im-shopify-qty-badge {
  position: absolute !important;
  top: -7px !important;
  right: -7px !important;
  background: rgba(0, 0, 0, 0.78) !important;
  color: #ffffff !important;
  border-radius: 50% !important;
  width: 20px !important;
  height: 20px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 5 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2) !important;
  border: 2px solid #ffffff !important;
}

/* 7. Clean Form Fields & Action Buttons */
body#checkout .form-control {
  height: 48px !important;
  border-radius: 8px !important;
  border: 1px solid #cbd5e1 !important;
  font-size: 15px !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

body#checkout .form-control:focus {
  border-color: #103556 !important;
  box-shadow: 0 0 0 3px rgba(16, 53, 86, 0.12) !important;
}

body#checkout .btn-primary {
  min-height: 48px !important;
  border-radius: 8px !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  background: #103556 !important;
  border-color: #103556 !important;
  transition: all 0.2s ease !important;
}

body#checkout .btn-primary:hover {
  background: #0a2540 !important;
  border-color: #0a2540 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(16, 53, 86, 0.2) !important;
}

/* 8. Shopify Minimalist Footer */
.im-shopify-checkout-footer {
  background: #f8fafc !important;
  border-top: 1px solid #e2e8f0 !important;
  padding: 24px 0 20px !important;
  margin-top: 48px !important;
  font-size: 12.5px !important;
  color: #64748b !important;
  text-align: center !important;
}

.im-shopify-footer-links {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px 16px !important;
  margin-bottom: 8px !important;
}

.im-shopify-footer-links a {
  color: #475569 !important;
  text-decoration: none !important;
  font-weight: 500 !important;
}

.im-shopify-footer-links a:hover {
  color: #103556 !important;
  text-decoration: underline !important;
}

.im-footer-sep {
  color: #cbd5e1 !important;
}

.im-shopify-footer-copy {
  font-size: 12px !important;
  color: #94a3b8 !important;
}

/* ==========================================================================
   SHOPIFY / BLOOD OFFICIAL COMPACT FIELD LAYOUT & CLEANUP
   ========================================================================== */

/* 1. Hide Verbose Help Text under input fields */
body#checkout .form-text:not(.has-error):not(.im-keep-hint) {
  display: none !important;
}

/* 2. Customer Form Side-by-Side Name Fields */
@media (min-width: 576px) {
  body#checkout #customer-form section {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 16px !important;
  }

  body#checkout #customer-form section > div {
    width: 100% !important;
  }

  body#checkout #customer-form section > div:has(input[name="firstname"]),
  body#checkout #customer-form section > div:has(input[name="lastname"]) {
    width: calc(50% - 8px) !important;
  }

  /* Address Form Compact Multi-Column Grid */
  body#checkout .js-address-form section.form-fields {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 16px !important;
  }

  body#checkout .js-address-form section.form-fields > div {
    width: 100% !important;
  }

  body#checkout .js-address-form section.form-fields > div:has(input[name="firstname"]),
  body#checkout .js-address-form section.form-fields > div:has(input[name="lastname"]) {
    width: calc(50% - 8px) !important;
  }

  body#checkout .js-address-form section.form-fields > div:has(input[name="postcode"]) {
    width: calc(30% - 11px) !important;
  }

  body#checkout .js-address-form section.form-fields > div:has(input[name="city"]) {
    width: calc(45% - 11px) !important;
  }

  body#checkout .js-address-form section.form-fields > div:has(select[name="id_state"]) {
    width: calc(25% - 11px) !important;
  }
}

/* ==========================================================================
   SHOPIFY 1:1 EXPRESS CHECKOUT (BREADCRUMBS, REVIEW BOX, PICKUP, CARRIERS)
   ========================================================================== */

/* 1. Shopify Progress Breadcrumbs */
.im-shopify-breadcrumbs {
  margin-bottom: 24px !important;
}

.im-shopify-breadcrumbs .im-breadcrumb-list {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13px !important;
}

.im-shopify-breadcrumbs .im-breadcrumb-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #64748b !important;
}

.im-shopify-breadcrumbs .im-breadcrumb-link {
  color: #475569 !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  transition: color 0.15s ease !important;
}

.im-shopify-breadcrumbs .im-breadcrumb-link:hover {
  color: #103556 !important;
  text-decoration: underline !important;
}

.im-shopify-breadcrumbs .im-breadcrumb-btn {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  font-family: inherit !important;
  font-size: inherit !important;
  color: #475569 !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}

.im-shopify-breadcrumbs .im-breadcrumb-btn:hover {
  color: #103556 !important;
  text-decoration: underline !important;
}

.im-shopify-breadcrumbs .im-breadcrumb-sep {
  color: #94a3b8 !important;
  flex-shrink: 0 !important;
}

.im-shopify-breadcrumbs .im-breadcrumb-item.is-current .im-breadcrumb-label,
.im-shopify-breadcrumbs .im-breadcrumb-item.is-current .im-breadcrumb-btn,
.im-shopify-breadcrumbs .im-breadcrumb-item.is-current .im-breadcrumb-text {
  color: #0f172a !important;
  font-weight: 700 !important;
  cursor: default !important;
  text-decoration: none !important;
}

.im-shopify-breadcrumbs .im-breadcrumb-item.is-disabled {
  color: #94a3b8 !important;
  cursor: default !important;
}

.im-shopify-breadcrumbs .im-breadcrumb-item.is-disabled .im-breadcrumb-btn {
  color: #94a3b8 !important;
  cursor: default !important;
  pointer-events: none !important;
}

/* 2. Shopify Customer Review Card */
.im-shopify-review-card {
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  padding: 6px 16px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
}

.im-review-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid #f1f5f9 !important;
  font-size: 13.5px !important;
}

.im-review-row:last-child {
  border-bottom: none !important;
}

.im-review-label {
  color: #64748b !important;
  font-weight: 500 !important;
  min-width: 80px !important;
  font-size: 12.5px !important;
  text-transform: capitalize !important;
}

.im-review-value {
  color: #1e293b !important;
  font-weight: 600 !important;
  flex: 1 !important;
  word-break: break-word !important;
}

.im-review-carrier-title {
  color: #103556 !important;
}

.im-review-edit-btn {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  color: #103556 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  text-decoration: underline !important;
  transition: opacity 0.15s ease !important;
}

.im-review-edit-btn:hover {
  opacity: 0.75 !important;
}

/* 3. Delivery Mode Segmented Switch */
.im-delivery-mode-container {
  margin-top: 10px !important;
}

.im-delivery-segmented-switch {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 6px !important;
  background: #f1f5f9 !important;
  padding: 4px !important;
  border-radius: 10px !important;
  border: 1px solid #e2e8f0 !important;
}

.im-segmented-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  height: 46px !important;
  background: transparent !important;
  border: 1.5px solid transparent !important;
  border-radius: 8px !important;
  color: #475569 !important;
  font-family: 'Outfit', 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.im-segmented-btn:hover:not(.is-active) {
  color: #0f172a !important;
  background: rgba(255, 255, 255, 0.6) !important;
}

.im-segmented-btn.is-active {
  background: #ffffff !important;
  color: #103556 !important;
  border-color: #103556 !important;
  box-shadow: 0 2px 8px rgba(16, 53, 86, 0.1) !important;
}

.im-segmented-btn .im-delivery-icon {
  flex-shrink: 0 !important;
}

/* 4. Store Pickup Location Card */
.im-pickup-card {
  border: 2px solid #059669 !important;
  border-radius: 10px !important;
  background: #f0fdf4 !important;
  box-shadow: 0 2px 8px rgba(5, 150, 105, 0.08) !important;
  overflow: hidden !important;
  transition: all 0.2s ease !important;
}

.im-pickup-card-inner {
  padding: 16px 18px !important;
}

.im-pickup-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 10px !important;
}

.im-pickup-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #059669 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
}

.im-pickup-cost {
  background: #059669 !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  padding: 3px 8px !important;
  border-radius: 4px !important;
  letter-spacing: 0.05em !important;
}

.im-pickup-store-name {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  margin: 0 0 4px 0 !important;
  font-family: 'Outfit', sans-serif !important;
}

.im-pickup-address {
  font-size: 13px !important;
  color: #475569 !important;
  margin: 0 0 10px 0 !important;
}

.im-pickup-meta {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #059669 !important;
  margin-bottom: 10px !important;
}

.im-pickup-footer-note {
  display: flex !important;
  align-items: flex-start !important;
  gap: 6px !important;
  font-size: 12px !important;
  color: #64748b !important;
  border-top: 1px dashed #bbf7d0 !important;
  padding-top: 10px !important;
  margin-top: 4px !important;
  line-height: 1.4 !important;
}

.im-pickup-footer-note svg {
  flex-shrink: 0 !important;
  margin-top: 2px !important;
}

.im-address-subtitle-note {
  font-size: 12px !important;
  color: #64748b !important;
  font-weight: 500 !important;
}

/* 5. Shopify Carrier Cards */
.im-carrier-card-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.im-carrier-card {
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  padding: 14px 16px !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
  margin-bottom: 0 !important;
}

.im-carrier-card:hover {
  border-color: #cbd5e1 !important;
  background: #f8fafc !important;
}

.im-carrier-card.is-selected {
  border-color: #103556 !important;
  background: #f8fafc !important;
  box-shadow: 0 2px 8px rgba(16, 53, 86, 0.08) !important;
}

.im-carrier-label {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin: 0 !important;
  width: 100% !important;
  cursor: pointer !important;
}

.im-carrier-left {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.im-carrier-radio-wrap {
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
}

.im-carrier-radio {
  margin: 0 !important;
  width: 18px !important;
  height: 18px !important;
  accent-color: #103556 !important;
  cursor: pointer !important;
}

.im-carrier-info-col {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

.im-carrier-title-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

.im-carrier-name {
  font-size: 14.5px !important;
  font-weight: 700 !important;
  color: #1e293b !important;
  font-family: 'Outfit', sans-serif !important;
}

.im-carrier-express-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  background: rgba(16, 53, 86, 0.08) !important;
  color: #103556 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 2px 7px !important;
  border-radius: 4px !important;
  letter-spacing: 0.02em !important;
}

.im-carrier-pickup-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  background: #dcfce7 !important;
  color: #059669 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 2px 7px !important;
  border-radius: 4px !important;
  letter-spacing: 0.02em !important;
}

.im-carrier-delay {
  font-size: 13px !important;
  color: #64748b !important;
  font-weight: 500 !important;
}

.im-carrier-price {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  white-space: nowrap !important;
}

.im-carrier-price.is-free .im-price-free-text {
  color: #059669 !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
}

/* 6. Instant Promo Voucher Input on Checkout */
body#checkout .im-voucher-trigger-btn {
  display: none !important;
}

body#checkout .im-voucher-collapse {
  display: block !important;
  height: auto !important;
  visibility: visible !important;
}

body#checkout .im-voucher-accordion-item {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body#checkout .im-voucher-body {
  padding: 0 !important;
}

body#checkout .im-voucher-input-group {
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
  margin: 12px 0 16px 0 !important;
}

body#checkout .im-voucher-field-wrap {
  position: relative !important;
  flex: 1 !important;
}

body#checkout .im-voucher-input-icon {
  position: absolute !important;
  left: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
}

body#checkout .im-voucher-input {
  height: 44px !important;
  padding-left: 36px !important;
  padding-right: 12px !important;
  border-radius: 8px !important;
  border: 1px solid #cbd5e1 !important;
  font-size: 13.5px !important;
  background: #ffffff !important;
}

body#checkout .im-voucher-btn {
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 18px !important;
  border-radius: 8px !important;
  background: #103556 !important;
  border-color: #103556 !important;
  color: #ffffff !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  font-family: 'Outfit', sans-serif !important;
  white-space: nowrap !important;
  transition: all 0.15s ease !important;
}

body#checkout .im-voucher-btn:hover {
  background: #0a2540 !important;
  border-color: #0a2540 !important;
}

/* 7. Pay Now CTA Button */
.im-pay-now-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  height: 52px !important;
  min-height: 52px !important;
  padding: 0 28px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  box-shadow: 0 4px 14px rgba(16, 53, 86, 0.25) !important;
}

.im-pay-now-btn:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(16, 53, 86, 0.32) !important;
}

/* 8. Back Buttons Clean Look */
body#checkout .js-back {
  border: 1px solid #cbd5e1 !important;
  color: #475569 !important;
  background: #ffffff !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border-radius: 8px !important;
  transition: all 0.15s ease !important;
}

body#checkout .js-back:hover {
  background: #f1f5f9 !important;
  color: #103556 !important;
  border-color: #94a3b8 !important;
}


/* ==========================================================================
   BROOKLINEN ENHANCED LUXURY PDP (DESKTOP VERTICAL THUMBS, HOVER ZOOM, MOBILE INVERSION)
   ========================================================================== */

/* 1. Dynamic Descriptors (Aggettivi Sensoriali) */
.im-bl-descriptors {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 0 !important;
  margin-bottom: 28px !important;
  padding: 0 !important;
}

.im-bl-descriptor-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 9999px !important;
  padding: 7px 14px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: #103556 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.25 !important;
  transition: all 0.2s ease !important;
}

.im-bl-descriptor-tag:hover {
  background: #f1f5f9 !important;
  border-color: #cbd5e1 !important;
}

.im-bl-descriptor-dot {
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: #d97706 !important;
  flex-shrink: 0 !important;
}

.im-bl-stars--zero svg {
  stroke: #cbd5e1 !important;
  fill: none !important;
}

.im-bl-write-first-link {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 12px !important;
  color: #103556 !important;
  text-decoration: underline !important;
  margin-left: 6px !important;
  font-weight: 600 !important;
}

.im-bl-write-first-link:hover {
  color: #d97706 !important;
}

/* 2. Desktop Gallery: Vertical Thumbnails on Left + Sticky Interaction + Hover Zoom (Brooklinen Mirror) */
@media (min-width: 992px) {
  html,
  body.page-product {
    overflow-x: clip !important;
  }

  /* Sticky Slim Header on Desktop PDP (Matching Brooklinen 0px Top with Maximum Specificity) */
  body.page-product #header,
  body.page-product #header.header,
  body.page-product #header.header.js-sticky-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 100050 !important;
    background: #ffffff !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
    height: 72px !important;
  }

  body.page-product .im-topbar {
    display: none !important;
  }

  body.page-product .im-main-header {
    background: #ffffff !important;
    height: 72px !important;
    padding: 0 !important;
  }

  body.page-product .im-meganav-wrap {
    display: none !important;
  }

  body.page-product .im-smart-header {
    display: none !important;
  }

  body.page-product .breadcrumb__wrapper {
    display: none !important;
  }

  body.page-product #wrapper {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  body.page-product .breadcrumb {
    padding: 6px 0 !important;
    margin: 0 0 6px 0 !important;
    font-size: 12.5px !important;
  }

  body.page-product .product__container {
    display: flex !important;
    gap: 48px !important;
    align-items: flex-start !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* PHOTO REMAINS FIXED AT TOP - ZERO MOVEMENT (Locked at 82px right from scrollY = 0) */
  body.page-product .product__container .product__left {
    flex: 0 0 calc(52% - 24px) !important;
    max-width: calc(52% - 24px) !important;
    position: sticky !important;
    top: 82px !important;
    align-self: flex-start !important;
    z-index: 10 !important;
    padding-top: 10px !important;
  }

  body.page-product .product__container .product__right {
    flex: 0 0 calc(48% - 24px) !important;
    max-width: calc(48% - 24px) !important;
    position: relative !important;
    min-height: calc(100vh + 350px) !important;
    padding-top: 10px !important;
    padding-left: 20px !important;
  }

  .product__images.js-images-container {
    display: flex !important;
    flex-direction: row !important; /* Thumbs left (order: 1), Carousel right (order: 2) */
    gap: 18px !important;
    align-items: flex-start !important;
  }

  .product__images .product__thumbnails {
    width: 80px !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    order: 1 !important;
    display: block !important;
    padding: 0 !important;
  }

  .product__images .product__thumbnails-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    max-height: 540px !important;
    overflow: visible !important;
    padding: 2px !important;
    margin: 0 !important;
    list-style: none !important;
    scrollbar-width: none !important;
  }

  .product__images .product__thumbnail {
    width: 70px !important;
    height: 70px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    border: 1.5px solid #cbd5e1 !important;
    padding: 3px !important;
    background: #ffffff !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
  }

  .product__images .product__thumbnail.active,
  .product__images .product__thumbnail:hover {
    border: 2px solid #103556 !important;
    box-shadow: 0 4px 12px rgba(16, 53, 86, 0.22) !important;
    transform: none !important;
  }

  .product__images .product__thumbnail-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    background: #ffffff !important;
    border-radius: 5px !important;
  }

  .product__images .product__carousel {
    flex: 1 1 0% !important;
    min-width: 0 !important;
    order: 2 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #f7f7f8 !important;
    position: relative !important;
  }

  .product__images .product__carousel .carousel-inner {
    border-radius: 14px !important;
    overflow: hidden !important;
    cursor: zoom-in !important;
  }

  .product__images .product__carousel .carousel-item img {
    transition: transform 0.15s ease-out !important;
    transform-origin: center center;
    will-change: transform, transform-origin;
  }
}

/* 3. Mobile Layout Inversion & Spacing */
@media (max-width: 991.98px) {
  .im-mobile-pdp-header {
    margin-bottom: 16px !important;
  }

  .im-mobile-title {
    font-family: 'Outfit', sans-serif !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #103556 !important;
    line-height: 1.25 !important;
    margin: 6px 0 10px 0 !important;
  }

  .im-mobile-meta-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-bottom: 12px !important;
  }

  .im-mobile-price-section {
    margin-bottom: 14px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid #f1f5f9 !important;
  }

  .im-mobile-price-section .im-bl-price-main-row {
    margin-bottom: 8px !important;
  }

  .im-mobile-tagline {
    font-size: 14px !important;
    color: #475569 !important;
    line-height: 1.5 !important;
    margin-bottom: 12px !important;
  }

  .im-mobile-descriptors {
    margin-bottom: 16px !important;
  }

  .product__images .product__thumbnails {
    display: none !important;
  }

  .product__images .product__carousel {
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #f7f7f8 !important;
    margin-bottom: 18px !important;
  }

  /* On mobile, avoid repeating the price between variants since it is rendered at top */
  .im-bl-form .product__prices {
    display: none !important;
  }
}

/* 4. Pop-up Modal (Mobile Only Centering & Bottom Close) */
@media (min-width: 992px) {
  #product-modal {
    display: none !important;
  }
}

#product-modal.modal {
  backdrop-filter: blur(8px) !important;
  background: rgba(16, 53, 86, 0.7) !important;
}

#product-modal .modal-dialog {
  max-width: 92vw !important;
  margin: auto !important;
}

#product-modal .modal-content {
  background: #ffffff !important;
  border-radius: 20px !important;
  border: none !important;
  overflow: hidden !important;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.35) !important;
}

#product-modal .modal-header {
  border-bottom: none !important;
  padding: 14px 18px 0 18px !important;
}

#product-modal .modal-body {
  padding: 10px 16px !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

#product-modal .modal-body img {
  max-height: 65vh !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  border-radius: 12px !important;
  margin: 0 auto !important;
}

.im-modal-footer-bottom {
  padding-top: 6px !important;
  padding-bottom: 18px !important;
}

.im-modal-close-pill {
  background: #103556 !important;
  border: none !important;
  color: #ffffff !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  box-shadow: 0 4px 14px rgba(16, 53, 86, 0.3) !important;
  transition: transform 0.2s, background 0.2s !important;
}

.im-modal-close-pill:hover,
.im-modal-close-pill:focus {
  background: #0b243b !important;
  transform: scale(1.04) !important;
  color: #fff !important;
}

/* ==========================================================================
   BROOKLINEN SIGNATURE PDP: SECTIONS BELOW (CAROUSELS, VALUE PROPS, REVIEWS)
   ========================================================================== */

/* 1. Proper Distance ("Giusta Distanza") to Accessories / Carousels - UNICO SEPARATORE SOTTO LA FOTO */
.page-product .im-bl-accessories-section {
  margin-top: 84px !important;
  padding-top: 56px !important;
  border-top: 1px solid #e2e8f0 !important;
}

.page-product .im-bl-accessories-section .product__accessories,
.page-product .product__container + .product__accessories {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: none !important;
}

.page-product .product__accessories .section-title,
.page-product .ps-categoryproducts .section-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 32px !important;
}

/* 2. Visual Value Proposition ("Why Super Plush?" Style) */
.im-bl-visual-value-props {
  margin-top: 84px !important;
  padding-top: 56px !important;
  border-top: 1px solid #e2e8f0 !important;
  margin-bottom: 32px !important;
}

.im-bl-vp-header {
  text-align: center !important;
  max-width: 720px !important;
  margin: 0 auto 40px auto !important;
}

.im-bl-vp-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 10px !important;
}

.im-bl-vp-desc {
  font-size: 15px !important;
  color: #64748b !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

.im-bl-vp-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 22px !important;
}

@media (max-width: 991.98px) {
  .im-bl-vp-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }
  .im-bl-vp-title {
    font-size: 24px !important;
  }
  .page-product .im-bl-accessories-section,
  .im-bl-visual-value-props {
    margin-top: 48px !important;
    padding-top: 36px !important;
  }
  .page-product .im-bl-accessories-section .product__accessories {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: none !important;
  }
}

@media (max-width: 575.98px) {
  .im-bl-vp-grid {
    grid-template-columns: 1fr !important;
  }
}

.im-bl-vp-card {
  background: #ffffff !important;
  border: 1px solid #f1f5f9 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
  display: flex !important;
  flex-direction: column !important;
}

.im-bl-vp-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 28px rgba(16, 53, 86, 0.09) !important;
}

.im-bl-vp-img-wrap {
  position: relative !important;
  width: 100% !important;
  height: 200px !important;
  overflow: hidden !important;
  background: #f8fafc !important;
}

.im-bl-vp-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.4s ease !important;
}

.im-bl-vp-card:hover .im-bl-vp-img {
  transform: scale(1.05) !important;
}

.im-bl-vp-content {
  padding: 18px 18px 22px 18px !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
}

.im-bl-vp-card-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  margin-bottom: 8px !important;
  line-height: 1.35 !important;
}

.im-bl-vp-card-text {
  font-size: 13.5px !important;
  color: #64748b !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

/* 3. Customer Reviews Section with Proper Spacing */
.page-product .product-comments-wrapper {
  margin-top: 84px !important;
  padding-top: 56px !important;
  border-top: 1px solid #e2e8f0 !important;
}

.page-product .ps-categoryproducts {
  margin-top: 64px !important;
  padding-top: 48px !important;
  border-top: 1px solid #f1f5f9 !important;
}


/* ==========================================================================
   DEFINITIVE BROOKLINEN REFINEMENT: ZERO CLIPPING COLOR SWATCHES & NO GREEN BADGE
   ========================================================================== */

/* 1. Completely hide any green reassurance / shipping bar in PDP & Quickview */
.im-bl-shipping-bar,
.im-bl-qv-perk-banner,
.product-prices .im-bl-shipping-bar {
  display: none !important;
}

/* 2. Color Swatch Wrap Spacing: Generous clearance from photo border */
.product-variant.im-variant-group--color,
.product-variant.im-variant-group {
  margin-top: 16px !important;
  margin-bottom: 24px !important;
  padding: 0 !important;
  border: none !important;
}

.product-variant__colors.im-variant-colors-wrap,
.im-variant-colors-wrap {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 6px 8px !important;
  margin-top: 8px !important;
  margin-bottom: 8px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* 3. Swatch Tile & Selected Luxury Ring: 4px outer ring is fully contained with margin */
.im-color-swatch-item {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 2px !important;
  margin: 2px !important;
}

.im-color-swatch-tile {
  width: 38px !important;
  height: 38px !important;
  border-radius: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: transparent !important;
  border: none !important;
  outline: none !important;
  transition: transform 0.15s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.15s ease !important;
}

.im-color-swatch-tile .im-color-tile {
  width: 100% !important;
  height: 100% !important;
  border-radius: 6px !important;
  border: 1.5px solid #d1d5db !important;
  background-size: cover !important;
  background-position: center !important;
  display: block !important;
  box-sizing: border-box !important;
}

.im-color-swatch-tile:hover {
  transform: translateY(-2px) !important;
}

.im-color-swatch-tile:hover .im-color-tile {
  border-color: #103556 !important;
}

/* Brooklinen Active Swatch: 2px white gap + 2px navy ring (#103556), perfectly spaced */
.im-color-swatch-tile.is-selected,
.input-color__input:checked + .im-color-swatch-tile {
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #103556 !important;
  border-radius: 8px !important;
}

/* White Tile contrast border ensure crisp edge on white background */
.im-color-swatch-tile .im-color-tile[style*="#ffffff"],
.im-color-swatch-tile .im-color-tile[style*="#FFFFFF"] {
  border: 1.5px solid #cbd5e1 !important;
}

/* ==========================================================================
   GLOBAL RESPONSIVE PERFECTION: ZERO OVERFLOW ON ANY SCREEN SIZE
   ========================================================================== */
html, body {
  max-width: 100vw !important;
  overflow-x: clip !important;
}

body#cart .columns-container,
body#cart #main-content,
body#cart #wrapper,
body#cart .center-column {
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow-x: clip !important;
}

/* Ensure Cart Aside Summary card is fully constrained and 100% responsive */
body#cart .cart-grid__aside {
  box-sizing: border-box !important;
  min-width: 0 !important;
}

body#cart .cart-grid__aside-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

body#cart .cart-detailed-actions .btn,
body#cart .cart-summary__actions .btn-primary {
  width: 100% !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  word-break: break-word !important;
}

/* Fluid Product Line: Wrap comfortably on small cards/screens */
@media (min-width: 768px) {
  body#cart .product-line {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  body#cart .product-line__image {
    width: 76px !important;
    height: 76px !important;
    min-width: 76px !important;
    max-width: 76px !important;
    flex: 0 0 76px !important;
  }
  body#cart .product-line__content {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
  }
  body#cart .product-line__content-left {
    flex: 1 1 180px !important;
    min-width: 140px !important;
  }
  body#cart .product-line__title {
    white-space: normal !important;
    word-break: break-word !important;
  }
  body#cart .product-line__content-right {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 14px !important;
    flex-shrink: 0 !important;
  }
}

/* ==========================================================================
   BROOKLINEN LUXURY REFINEMENT: TRUST STRIP & NEWSLETTER PERK STRIP
   ========================================================================== */

/* 1. Dynamic Trust Strip (4 items in 2x2 grid) */
.im-bl-trust-strip {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 12px 18px !important;
  margin-top: 14px !important;
  margin-bottom: 18px !important;
  padding: 14px 16px !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  box-sizing: border-box !important;
}

.im-bl-trust-item {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
}

.im-bl-trust-icon-box {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #103556 !important;
  flex-shrink: 0 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

.im-bl-trust-icon-box svg {
  width: 16px !important;
  height: 16px !important;
  color: #103556 !important;
  stroke: #103556 !important;
}

.im-bl-trust-content {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  line-height: 1.3 !important;
}

.im-bl-trust-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  letter-spacing: -0.01em !important;
  line-height: 1.3 !important;
  margin-bottom: 2px !important;
}

.im-bl-trust-sub {
  font-size: 11px !important;
  color: #64748b !important;
  line-height: 1.35 !important;
}

@media (max-width: 480px) {
  .im-bl-trust-strip {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px 12px !important;
    padding: 10px 12px !important;
  }
  .im-bl-trust-icon-box {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
  }
  .im-bl-trust-icon-box svg {
    width: 14px !important;
    height: 14px !important;
  }
  .im-bl-trust-title {
    font-size: 11.5px !important;
  }
  .im-bl-trust-sub {
    font-size: 10.5px !important;
  }
}

/* 2. Lateral Newsletter Lead Capture Perk (Refined Luxury Capsule Card) */

.im-bl-pdp-newsletter-perk {
  margin-top: 16px !important;
  margin-bottom: 24px !important;
  background: linear-gradient(145deg, #f8fafc 0%, #f1f5f9 100%) !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 16px !important;
  padding: 20px 22px !important;
  box-shadow: 0 6px 20px rgba(16, 53, 86, 0.05) !important;
  box-sizing: border-box !important;
  position: relative !important;
  overflow: hidden !important;
}

.im-bl-pdp-newsletter-perk::before {
  display: none !important;
  content: none !important;
}

.im-bl-perk-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin-bottom: 12px !important;
  flex-wrap: wrap !important;
}

.im-bl-perk-tag-wrap {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 999px !important;
  padding: 3px 11px 3px 4px !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04) !important;
}

.im-bl-perk-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 3px 8px !important;
  background: #103556 !important;
  color: #ffffff !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
  border-radius: 999px !important;
  letter-spacing: 0.02em !important;
  line-height: 1.1 !important;
}

.im-bl-perk-tag {
  font-family: 'Outfit', sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  color: #103556 !important;
  line-height: 1.1 !important;
}

.im-bl-perk-instant-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #0f766e !important;
  background: #f0fdfa !important;
  border: 1px dashed #99f6e4 !important;
  border-radius: 999px !important;
  padding: 4px 10px !important;
  line-height: 1.1 !important;
}

.im-bl-perk-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  color: #103556 !important;
  letter-spacing: -0.015em !important;
  margin-bottom: 5px !important;
  line-height: 1.25 !important;
}

.im-bl-perk-sub {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13px !important;
  color: #475569 !important;
  line-height: 1.5 !important;
  margin-bottom: 14px !important;
}

.im-bl-perk-form {
  margin: 0 !important;
}

/* Unified Single-Line Capsule (Desktop & Mobile) */
.im-bl-perk-input-group {
  display: flex !important;
  align-items: center !important;
  flex-direction: row !important;
  gap: 6px !important;
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 999px !important;
  padding: 4px 4px 4px 14px !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04) !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.im-bl-perk-input-group:focus-within {
  border-color: #103556 !important;
  box-shadow: 0 0 0 3px rgba(16, 53, 86, 0.12) !important;
}

.im-bl-perk-mail-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #64748b !important;
  flex-shrink: 0 !important;
}

.im-bl-perk-input {
  height: 38px !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 0 6px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13.5px !important;
  color: #0f172a !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

.im-bl-perk-input:focus {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  background: transparent !important;
}

.im-bl-perk-submit-btn {
  height: 38px !important;
  padding: 0 18px !important;
  border-radius: 999px !important;
  background: #103556 !important;
  border: 1px solid #103556 !important;
  color: #ffffff !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  transition: background-color 0.2s ease, transform 0.15s ease !important;
  width: auto !important;
}

.im-bl-perk-submit-btn:hover {
  background: #0b243b !important;
  border-color: #0b243b !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

.im-bl-perk-submit-btn:active {
  transform: translateY(0) !important;
}

.im-bl-perk-micro-trust {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 10px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 11.5px !important;
  color: #64748b !important;
  line-height: 1.3 !important;
}

.im-bl-perk-micro-trust svg {
  color: #103556 !important;
  flex-shrink: 0 !important;
}

/* Instant Coupon Reveal State */
.im-bl-perk-success {
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  margin-top: 4px !important;
}

.im-bl-perk-success-msg {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: #0f172a !important;
  margin-bottom: 10px !important;
}

.im-bl-perk-coupon-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  background: #f8fafc !important;
  border: 1.5px dashed #103556 !important;
  border-radius: 8px !important;
  padding: 6px 8px 6px 12px !important;
}

.im-bl-perk-coupon-code-box {
  display: flex !important;
  align-items: baseline !important;
  gap: 6px !important;
}

.im-bl-perk-coupon-label {
  font-family: 'Outfit', sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  color: #64748b !important;
  letter-spacing: 0.05em !important;
}

.im-bl-perk-coupon-code {
  font-family: 'Outfit', sans-serif !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  color: #103556 !important;
  letter-spacing: 0.06em !important;
}

.im-bl-perk-copy-btn {
  background: #103556 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 6px 12px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: background-color 0.15s ease !important;
}

.im-bl-perk-copy-btn.is-copied {
  background: #16a34a !important;
}

@media (max-width: 575.98px) {
  .im-bl-pdp-newsletter-perk {
    padding: 16px 16px !important;
    margin-top: 14px !important;
    margin-bottom: 18px !important;
  }
  .im-bl-perk-header {
    flex-wrap: nowrap !important;
    gap: 6px !important;
    margin-bottom: 10px !important;
  }
  .im-bl-perk-tag-wrap {
    padding: 2px 9px 2px 3px !important;
    gap: 6px !important;
  }
  .im-bl-perk-badge {
    font-size: 10.5px !important;
    padding: 2px 7px !important;
  }
  .im-bl-perk-tag {
    font-size: 9.5px !important;
    letter-spacing: 0.05em !important;
  }
  .im-bl-perk-instant-pill {
    font-size: 9.5px !important;
    padding: 3px 8px !important;
    gap: 4px !important;
    white-space: nowrap !important;
  }
  .im-bl-perk-title {
    font-size: 16px !important;
  }
  .im-bl-perk-sub {
    font-size: 12.5px !important;
    margin-bottom: 12px !important;
  }
  .im-bl-perk-input-group {
    flex-direction: row !important;
    padding: 3px 3px 3px 12px !important;
  }
  .im-bl-perk-input {
    width: auto !important;
    font-size: 13px !important;
  }
  .im-bl-perk-submit-btn {
    width: auto !important;
    padding: 0 14px !important;
    font-size: 12.5px !important;
  }
}


/* ==========================================================================
   BROOKLINEN STYLE: LUXURY SINGLE ROW PRODUCT RAIL WITH TABS (REFINED)
   ========================================================================== */
.im-bl-home-rail-section {
  padding: 48px 0 52px 0 !important;
  background: #ffffff !important;
  position: relative !important;
}

.im-bl-home-rail-section[data-rail-carousel="top"] {
  background: linear-gradient(180deg, #fafbfc 0%, #ffffff 100%) !important;
  border-top: 1px solid #f1f5f9 !important;
}

.im-bl-rail-header {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  padding-bottom: 18px !important;
  border-bottom: 1px solid #edf2f7 !important;
  margin-bottom: 24px !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
}

.im-bl-rail-heading {
  max-width: 650px !important;
}

.im-bl-rail-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  color: #103556 !important;
  letter-spacing: -0.02em !important;
  margin: 6px 0 6px 0 !important;
  line-height: 1.2 !important;
}

.im-bl-rail-desc {
  font-size: 14px !important;
  color: #64748b !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}

/* Tabs switcher */
.im-bl-rail-tabs {
  display: inline-flex !important;
  align-items: center !important;
  background: #f1f5f9 !important;
  border: 1px solid #e2e8f0 !important;
  padding: 5px !important;
  border-radius: 9999px !important;
  gap: 4px !important;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04) !important;
}

.im-bl-tab-btn {
  border: none !important;
  background: transparent !important;
  color: #475569 !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  padding: 9px 20px !important;
  border-radius: 9999px !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  transition: all 0.24s cubic-bezier(0.16, 1, 0.3, 1) !important;
  white-space: nowrap !important;
}

.im-bl-tab-btn:hover {
  color: #103556 !important;
}

.im-bl-tab-btn.is-active {
  background: #103556 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(16, 53, 86, 0.22) !important;
}

.im-bl-tab-sparkle {
  color: #f59e0b !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

.im-tab-count {
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 1px 7px !important;
  border-radius: 999px !important;
  background: rgba(16, 53, 86, 0.08) !important;
  color: #475569 !important;
  transition: all 0.2s ease !important;
}

.im-bl-tab-btn.is-active .im-tab-count {
  background: rgba(255, 255, 255, 0.2) !important;
  color: #ffffff !important;
}

/* Rail Carousel Wrapper & Track */
.im-bl-rail-carousel {
  position: relative !important;
  width: 100% !important;
}

.im-bl-rail-nav {
  position: absolute !important;
  top: 118px !important;
  transform: translateY(-50%) !important;
  width: 46px !important;
  height: 46px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  border: 1px solid rgba(16, 53, 86, 0.14) !important;
  box-shadow: 0 8px 22px rgba(16, 53, 86, 0.16) !important;
  color: #103556 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  z-index: 50 !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.im-bl-rail-nav:hover {
  background: #103556 !important;
  color: #ffffff !important;
  border-color: #103556 !important;
  transform: translateY(-50%) scale(1.08) !important;
  box-shadow: 0 10px 26px rgba(16, 53, 86, 0.28) !important;
}

.im-bl-rail-nav.is-disabled {
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(-50%) scale(0.85) !important;
}

.im-bl-rail-nav--prev {
  left: -18px !important;
}

.im-bl-rail-nav--next {
  right: -18px !important;
}

.im-bl-rail-track {
  display: none !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  scroll-behavior: smooth !important;
  scroll-snap-type: x mandatory !important;
  gap: 20px !important;
  padding: 6px 2px 16px 2px !important;
  scrollbar-width: none !important;
  -webkit-overflow-scrolling: touch !important;
}

.im-bl-rail-track.is-active {
  display: flex !important;
}

.im-bl-rail-track::-webkit-scrollbar {
  display: none !important;
}

/* Rail Card Item (4 Exact Columns on Desktop) */
.im-bl-rail-track .im-card-item {
  flex: 0 0 calc((100% - 60px) / 4) !important;
  width: calc((100% - 60px) / 4) !important;
  max-width: calc((100% - 60px) / 4) !important;
  scroll-snap-align: start !important;
  box-sizing: border-box !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 12px rgba(16, 53, 86, 0.04) !important;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.25s ease !important;
}

.im-bl-rail-track .im-card-item:hover {
  transform: translateY(-5px) !important;
  border-color: #cbd5e1 !important;
  box-shadow: 0 14px 28px rgba(16, 53, 86, 0.1) !important;
}

.im-bl-rail-track .im-card-img-holder {
  height: 230px !important;
  border-bottom: 1px solid #f1f5f9 !important;
}

.im-bl-rail-track .im-card-item-badge {
  top: 12px !important;
  left: 12px !important;
  padding: 4px 10px !important;
  border-radius: 6px !important;
  font-size: 10.5px !important;
  letter-spacing: 0.05em !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
}

.im-card-meta-top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 6px !important;
  margin-bottom: 5px !important;
}

.im-card-meta-top .im-card-cat-name {
  margin-bottom: 0 !important;
}

.im-card-stock-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-size: 10.5px !important;
  font-weight: 600 !important;
  color: #15803d !important;
}

.im-card-stock-dot {
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: #22c55e !important;
  display: inline-block !important;
}

.im-card-price-group {
  display: flex !important;
  align-items: baseline !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
}

.im-bl-rail-track .im-card-item .im-card-price-current--sale,
.im-card-item .im-card-price-current--sale {
  color: #dc2626 !important;
}

.im-bl-rail-track .im-card-buy-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 7px 13px !important;
  border-radius: 8px !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em !important;
  transition: all 0.2s ease !important;
}

.im-bl-rail-track .im-card-item:hover .im-card-buy-btn {
  background: #1d4ed8 !important;
  box-shadow: 0 4px 10px rgba(29, 78, 216, 0.25) !important;
}

/* Reviews (Real DB Connected) */
.im-card-rating-stars--zero,
.im-card-rating-stars--active {
  display: flex !important;
  align-items: center !important;
  gap: 3px !important;
  margin-bottom: 10px !important;
}

.im-card-rating-stars--zero svg,
.im-card-rating-stars--active svg {
  display: inline-block !important;
  flex-shrink: 0 !important;
}

.im-card-rating-stars--zero .im-review-count {
  font-size: 11px !important;
  font-weight: 500 !important;
  color: #94a3b8 !important;
  margin-left: 3px !important;
}

.im-card-rating-stars--active .im-review-count {
  font-size: 11.5px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  margin-left: 4px !important;
}

/* Rail Footer: Progress Bar + Explore Link */
.im-bl-rail-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  margin-top: 12px !important;
  padding-top: 8px !important;
}

.im-bl-rail-progress-wrap {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  flex: 1 !important;
  max-width: 340px !important;
}

.im-bl-rail-progress-track {
  flex: 1 !important;
  height: 4px !important;
  background: #e2e8f0 !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  position: relative !important;
}

.im-bl-rail-progress-fill {
  height: 100% !important;
  background: #103556 !important;
  border-radius: 999px !important;
  width: 50%;
  transition: width 0.25s ease !important;
}

.im-bl-rail-count-label {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #64748b !important;
  white-space: nowrap !important;
}

.im-bl-rail-explore-link {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #103556 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 7px 16px !important;
  border-radius: 999px !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  transition: all 0.2s ease !important;
}

.im-bl-rail-explore-link:hover {
  background: #103556 !important;
  color: #ffffff !important;
  border-color: #103556 !important;
}

@media (max-width: 1199.98px) {
  .im-bl-rail-nav--prev {
    left: 6px !important;
  }
  .im-bl-rail-nav--next {
    right: 6px !important;
  }
  .im-bl-rail-track .im-card-item {
    flex: 0 0 calc((100% - 40px) / 3) !important;
    width: calc((100% - 40px) / 3) !important;
    max-width: calc((100% - 40px) / 3) !important;
  }
}

@media (max-width: 991.98px) {
  .im-bl-rail-header {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
    padding-bottom: 14px !important;
  }
  .im-bl-rail-tabs {
    width: 100% !important;
    overflow-x: auto !important;
  }
  .im-bl-tab-btn {
    flex: 1 1 auto !important;
    justify-content: center !important;
    padding: 8px 14px !important;
    font-size: 12.5px !important;
  }
  .im-bl-rail-nav {
    display: none !important; /* Swipe touch on tablets & mobile */
  }
  .im-bl-rail-track .im-card-item {
    flex: 0 0 240px !important;
    width: 240px !important;
    max-width: 240px !important;
  }
}

@media (max-width: 575.98px) {
  .im-bl-home-rail-section {
    padding: 28px 0 34px 0 !important;
  }
  .im-bl-rail-title {
    font-size: 22px !important;
  }
  .im-bl-rail-desc {
    font-size: 13px !important;
  }
  .im-bl-rail-track {
    gap: 14px !important;
    padding: 6px 2px 14px 2px !important;
  }
  .im-bl-rail-track .im-card-item {
    flex: 0 0 218px !important;
    width: 218px !important;
    max-width: 218px !important;
  }
  .im-bl-rail-track .im-card-img-holder {
    height: 170px !important;
  }
  .im-bl-rail-footer {
    flex-direction: row !important;
    gap: 12px !important;
    margin-top: 6px !important;
  }
  .im-bl-rail-progress-wrap {
    max-width: 180px !important;
  }
  .im-bl-rail-explore-link {
    font-size: 12px !important;
    padding: 6px 12px !important;
  }
}

/* ==========================================================================
   PDP ULTRA-LUXURY REFINEMENT: LEFT BREADCRUMB (FADES ON SCROLL),
   NO TOP SEPARATOR ABOVE FIRST ACCORDION, & COHESIVE PRICE HIERARCHY
   ========================================================================== */

/* 1. Left-Side Breadcrumb (Exact Universal Position Below Header + Balanced Distance to Photo + Fade on Scroll) */
.im-bl-left-bc-list {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.im-bl-left-bc-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 12.5px !important;
  line-height: 1.4 !important;
  color: #64748B !important;
  white-space: nowrap !important;
}

.im-bl-left-bc-item.is-active {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.im-bl-left-bc-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  color: #64748B !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  transition: color 0.15s ease !important;
}

.im-bl-left-bc-link:hover,
.im-bl-left-bc-link:hover .im-bl-left-bc-home {
  color: #103556 !important;
}

.im-bl-left-bc-home {
  width: 14px !important;
  height: 14px !important;
  position: relative !important;
  top: -1px !important;
  color: #94A3B8 !important;
  flex-shrink: 0 !important;
  transition: color 0.15s ease !important;
}

.im-bl-left-bc-sep {
  width: 11px !important;
  height: 11px !important;
  position: relative !important;
  top: -0.5px !important;
  color: #CBD5E1 !important;
  flex-shrink: 0 !important;
}

.im-bl-left-bc-current {
  color: #103556 !important;
  font-weight: 600 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

@media (min-width: 992px) {
  /* Remove the extra 10px top padding and 16px side padding on .columns-container
     so PDP breadcrumb sits at exact left: 67px and 10px below header like all other pages */
  body.page-product .columns-container,
  body.page-product .columns-container.container {
    padding-top: 0 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  body.page-product .product__container {
    position: relative !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .im-bl-left-breadcrumb {
    position: absolute !important;
    top: 12px !important;
    left: 0 !important;
    max-width: calc(52% - 24px) !important;
    z-index: 30 !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
    transition: opacity 0.2s cubic-bezier(0.16, 1, 0.3, 1), transform 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  }

  .im-bl-left-breadcrumb.is-scrolled {
    opacity: 0 !important;
    transform: translateY(-8px) !important;
    pointer-events: none !important;
  }

  /* Breadcrumb spans top: 12px..30px; Gallery & Right Info Rail start at 56px (26px clean gap below breadcrumb,
     matching the exact vertical rhythm of the rest of the site!)
     while Left Gallery remains 100% locked at top: 72px on scroll without any jump */
  body.page-product .product__container .product__left {
    padding-top: 56px !important;
    top: 72px !important;
  }

  body.page-product .product__container .product__right {
    padding-top: 56px !important;
  }
}

/* 2. Accordion Separators: No Top Line Above First ("Descrizione"), Crisp 1px Separators Below Each Item */
.im-bl-lateral-accordions {
  border-top: none !important;
  margin-top: 20px !important;
  margin-bottom: 24px !important;
}

.im-bl-lateral-accordions .accordion-item:first-child {
  border-top: none !important;
}

.im-bl-lateral-accordions .accordion-item:first-child .accordion-button {
  padding-top: 8px !important;
}

.im-bl-lateral-accordions .accordion-item,
.im-bl-lateral-accordions #product_description,
.im-bl-lateral-accordions #product_details,
.im-bl-lateral-accordions #product_shipping_returns {
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: 1px solid #e2e8f0 !important;
  border-radius: 0 !important;
  margin-bottom: 0 !important;
  background-color: transparent !important;
}

/* 3. Refined Cohesive Price Card & Installment Bar */
.im-bl-prices-container {
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%) !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 16px !important;
  padding: 18px 20px !important;
  margin-top: 4px !important;
  margin-bottom: 20px !important;
  box-shadow: 0 4px 16px rgba(16, 53, 86, 0.04) !important;
}

.im-bl-price-main-row {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 14px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px dashed #e2e8f0 !important;
  flex-wrap: wrap !important;
}

.im-bl-price-primary-group {
  display: flex !important;
  align-items: baseline !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

.im-bl-price-primary-group .im-bl-current-price {
  font-family: 'Outfit', sans-serif !important;
  font-size: 32px !important;
  font-weight: 800 !important;
  color: #103556 !important;
  letter-spacing: -0.02em !important;
  line-height: 1 !important;
}

.im-bl-price-primary-group .im-bl-old-price {
  font-family: 'Outfit', sans-serif !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  color: #94a3b8 !important;
  text-decoration: line-through !important;
  line-height: 1 !important;
}

.im-bl-price-primary-group .im-bl-discount-badge {
  font-family: 'Outfit', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  background: #dc2626 !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 4px 9px !important;
  letter-spacing: 0.03em !important;
  line-height: 1.1 !important;
  transform: translateY(-2px) !important;
}

.im-bl-tax-note {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #64748b !important;
  background: #f1f5f9 !important;
  padding: 3px 9px !important;
  border-radius: 999px !important;
}

.im-bl-prices-container .im-bl-installments-box {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin-bottom: 0 !important;
  border-radius: 0 !important;
}

/* Ensure mobile price is always visible inside .im-bl-form */
@media (max-width: 991.98px) {
  .im-bl-form .product__prices {
    display: block !important;
  }
}




/* Blog Section All Button */
.im-blog-all-btn:hover {
  background: #103556 !important;
  color: #ffffff !important;
  border-color: #103556 !important;
  box-shadow: 0 6px 20px rgba(16, 53, 86, 0.15) !important;
  transform: translateY(-2px) !important;
}

/* ==========================================================================
   MASTER QUICK VIEW GEOMETRY OVERRIDE (BROOKLINEN EXACT LEVEL & PROPORTIONS)
   Guarantees:
   1. Main photo & right column start and end at the EXACT SAME LEVEL (0px to 460px)
   2. Zero disproportionate popup height or empty bottom whitespace
   3. Clean, justified scroll inside the right column when needed
   ========================================================================== */

/* Hide PDP-only clutter inside Quick View so proportions match Brooklinen */
.quickview.im-bl-quickview .im-bl-upsell-card,
.quickview.im-bl-quickview .im-pdp-cart-urgency,
.quickview.im-bl-quickview .im-bl-trust-strip {
  display: none !important;
}

/* Eliminate global PDP min-heights inside Quick View */
.quickview.im-bl-quickview .product__left,
.quickview.im-bl-quickview .product__images,
.quickview.im-bl-quickview .product__carousel,
.quickview.im-bl-quickview .carousel-inner,
.quickview.im-bl-quickview .carousel-item,
.quickview.im-bl-quickview .product__variants,
.quickview.im-bl-quickview .im-luxury-variants,
.quickview.im-bl-quickview .product-prices,
.quickview.im-bl-quickview .product__prices {
  min-height: 0 !important;
}

/* 2-Column Grid for Size Pills on ALL viewports inside Quick View */
.quickview.im-bl-quickview .im-variant-chips-wrap {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 8px !important;
  width: 100% !important;
}

.quickview.im-bl-quickview .im-variant-chip-item {
  width: 100% !important;
  margin: 0 !important;
  display: flex !important;
}

.quickview.im-bl-quickview .im-variant-chip {
  width: 100% !important;
  height: 36px !important;
  padding: 0 10px !important;
  font-size: 12.5px !important;
  justify-content: center !important;
  text-align: center !important;
}

@media (min-width: 992px) {
  .quickview.im-bl-quickview .modal-dialog {
    max-width: 980px !important;
    width: 92vw !important;
    height: auto !important;
    max-height: none !important;
    margin: auto !important;
  }

  .quickview.im-bl-quickview .modal-content.im-bl-qv-card {
    height: auto !important;
    max-height: none !important;
    border-radius: 18px !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-shadow: 0 28px 60px -12px rgba(16, 53, 86, 0.32) !important;
  }

  /* Close X sits in top-right corner alongside the non-scrolling header */
  .quickview.im-bl-quickview .ProductModal__Close.im-bl-qv-close {
    top: 18px !important;
    right: 18px !important;
    width: 36px !important;
    height: 36px !important;
    z-index: 80 !important;
  }

  .quickview.im-bl-quickview .modal-body.im-bl-qv-body {
    padding: 26px 28px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 30px !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  /* LEFT COLUMN: Exact 510px height, starting at top: 0 */
  .quickview.im-bl-quickview .product__left.im-bl-qv-left {
    flex: 0 0 480px !important;
    width: 480px !important;
    max-width: 480px !important;
    height: 510px !important;
    min-height: 510px !important;
    max-height: 510px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    top: 0 !important;
  }

  .quickview.im-bl-quickview .im-bl-qv-gallery-stage,
  .quickview.im-bl-quickview .im-bl-qv-left .product__images {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 12px !important;
    width: 100% !important;
    height: 510px !important;
    min-height: 510px !important;
    max-height: 510px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Thumbnails strip on the FAR LEFT (order: 1), flush with top (0px margin-top) */
  .quickview.im-bl-quickview .im-bl-qv-left .product__thumbnails {
    order: 1 !important;
    flex: 0 0 60px !important;
    width: 60px !important;
    max-width: 60px !important;
    height: 510px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-y: auto !important;
    scrollbar-width: none !important;
  }

  .quickview.im-bl-quickview .im-bl-qv-left .product__thumbnails::-webkit-scrollbar {
    display: none !important;
  }

  .quickview.im-bl-quickview .im-bl-qv-left .product__thumbnails-list {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .quickview.im-bl-quickview .im-bl-qv-left .product__thumbnail {
    width: 60px !important;
    height: 60px !important;
    border-radius: 10px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1.5px solid #e2e8f0 !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    background: #ffffff !important;
  }

  .quickview.im-bl-quickview .im-bl-qv-left .product__thumbnail.active {
    border: 2px solid #103556 !important;
    box-shadow: none !important;
  }

  .quickview.im-bl-quickview .im-bl-qv-left .product__thumbnail-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 8px !important;
  }

  /* Main Photo Carousel on the right of thumbs (order: 2): Exact 510px height */
  .quickview.im-bl-quickview .im-bl-qv-left .product__carousel {
    order: 2 !important;
  }

  .quickview.im-bl-quickview .im-bl-qv-left .product__carousel,
  .quickview.im-bl-quickview .im-bl-qv-left .carousel-inner,
  .quickview.im-bl-quickview .im-bl-qv-left .carousel-item {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: 100% !important;
    height: 510px !important;
    min-height: 510px !important;
    max-height: 510px !important;
    aspect-ratio: auto !important;
    border-radius: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #f8fafc !important;
  }

  .quickview.im-bl-quickview .im-bl-qv-left .carousel-item img {
    width: 100% !important;
    height: 510px !important;
    min-height: 510px !important;
    max-height: 510px !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 14px !important;
    display: block !important;
  }

  /* RIGHT COLUMN: Exact 510px height, overflow hidden on outer wrapper so header NEVER scrolls into Close X */
  .quickview.im-bl-quickview .product__right.im-bl-qv-right {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 510px !important;
    min-height: 510px !important;
    max-height: 510px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    overflow: hidden !important;
  }

  /* Fixed Top Header inside Right Column (never scrolls, padded right for Close X) */
  .quickview.im-bl-quickview .im-bl-qv-desktop-header {
    margin: 0 0 8px 0 !important;
    padding: 0 46px 0 0 !important;
    flex: 0 0 auto !important;
  }

  .quickview.im-bl-quickview .im-bl-qv-desktop-title {
    margin: 0 0 4px 0 !important;
    padding: 0 !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
  }

  .quickview.im-bl-quickview .im-bl-qv-reviews-rating {
    margin-bottom: 4px !important;
  }

  .quickview.im-bl-quickview .im-bl-qv-desktop-price-row {
    margin-bottom: 6px !important;
  }

  .quickview.im-bl-quickview .im-bl-qv-shortdesc {
    font-size: 12.5px !important;
    line-height: 1.4 !important;
    margin-bottom: 6px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  .quickview.im-bl-quickview .im-bl-qv-fullpage-wrap {
    margin-bottom: 0 !important;
    padding-bottom: 8px !important;
  }

  /* Lower Actions Zone: Scrolls smoothly BELOW the header if variants overflow,
     so scrollbar is 200px below Close X and never overlaps it! */
  .quickview.im-bl-quickview .im-bl-qv-actions {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    margin: 0 !important;
    padding: 2px 6px 0 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    /* Reset inherited scrollbar-color/width from html so Chrome uses ::-webkit-scrollbar without OS arrows */
    scrollbar-width: auto !important;
    scrollbar-color: auto !important;
  }

  .quickview.im-bl-quickview .im-bl-qv-actions::-webkit-scrollbar {
    width: 4px !important;
    height: 4px !important;
  }
  .quickview.im-bl-quickview .im-bl-qv-actions::-webkit-scrollbar-button {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }
  .quickview.im-bl-quickview .im-bl-qv-actions::-webkit-scrollbar-track {
    background: transparent !important;
    margin: 4px 0 !important;
  }
  .quickview.im-bl-quickview .im-bl-qv-actions::-webkit-scrollbar-thumb {
    background-color: rgba(16, 53, 86, 0.18) !important;
    border-radius: 999px !important;
  }
  .quickview.im-bl-quickview .im-bl-qv-actions::-webkit-scrollbar-thumb:hover {
    background-color: rgba(16, 53, 86, 0.35) !important;
  }

  .quickview.im-bl-quickview #add-to-cart-or-refresh {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .quickview.im-bl-quickview .product__variants,
  .quickview.im-bl-quickview .im-luxury-variants {
    margin: 0 0 6px 0 !important;
    padding: 0 !important;
    gap: 8px !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .quickview.im-bl-quickview .product-variant,
  .quickview.im-bl-quickview .im-variant-group {
    margin: 0 0 6px 0 !important;
    padding: 0 !important;
  }

  .quickview.im-bl-quickview .im-variant-header {
    margin-bottom: 5px !important;
  }

  .quickview.im-bl-quickview .im-color-swatch {
    width: 30px !important;
    height: 30px !important;
  }

  /* Sticky / Bottom-Aligned Purchase Row: Flush with the 510px photo bottom! */
  .quickview.im-bl-quickview .product-add-to-cart {
    margin-top: auto !important;
    margin-bottom: 0 !important;
    padding-top: 8px !important;
    padding-bottom: 0 !important;
    position: sticky !important;
    bottom: 0 !important;
    background: #ffffff !important;
    z-index: 5 !important;
  }

  .quickview.im-bl-quickview .product-quantity {
    margin: 0 !important;
    padding: 0 !important;
  }
}

@media (max-width: 991.98px) {
  /* Hide nested product-images-modal inside Quick View so it never pollutes flex/scroll */
  .quickview.im-bl-quickview #product-modal {
    display: none !important;
  }

  .quickview.im-bl-quickview .quickview__dialog.modal-dialog {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    width: calc(100vw - 20px) !important;
    max-width: 430px !important;
    height: auto !important;
    max-height: calc(100dvh - 24px) !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .quickview.im-bl-quickview .quickview__content.modal-content.im-bl-qv-card {
    width: 100% !important;
    height: auto !important;
    max-height: calc(100dvh - 24px) !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    position: relative !important;
    padding: 0 !important;
  }

  /* Subtle top scroll cushion so scrolling text on short screens fades softly at top edge */
  .quickview.im-bl-quickview .quickview__content.modal-content.im-bl-qv-card::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 14px !important;
    background: linear-gradient(180deg, #ffffff 35%, rgba(255, 255, 255, 0) 100%) !important;
    z-index: 55 !important;
    pointer-events: none !important;
  }

  /* Pinned Top-Right Close Button (Never scrolls away or overlaps title) */
  .quickview.im-bl-quickview .ProductModal__Close.im-bl-qv-close {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    width: 36px !important;
    height: 36px !important;
    z-index: 100 !important;
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 4px 12px rgba(16, 53, 86, 0.1) !important;
  }

  /* Single Unified Scroll Container on Mobile (Zero nested scrollbars, zero dead touch zones) */
  .quickview.im-bl-quickview .quickview__body.modal-body.im-bl-qv-body {
    display: block !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    width: 100% !important;
    max-height: calc(100dvh - 26px) !important;
    padding: 14px 16px 0 16px !important;
    margin: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    scrollbar-width: thin !important;
  }

  .quickview.im-bl-quickview .quickview__body.modal-body.im-bl-qv-body::-webkit-scrollbar {
    width: 4px !important;
  }
  .quickview.im-bl-quickview .quickview__body.modal-body.im-bl-qv-body::-webkit-scrollbar-button {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }
  .quickview.im-bl-quickview .quickview__body.modal-body.im-bl-qv-body::-webkit-scrollbar-thumb {
    background: rgba(16, 53, 86, 0.2) !important;
    border-radius: 999px !important;
  }

  /* Brooklinen MobileInfoAnchor inside the scroll flow */
  .quickview.im-bl-quickview .ProductGallery__MobileInfoAnchor.im-bl-qv-mobile-top-header {
    padding: 0 0 10px 0 !important;
    margin: 0 0 10px 0 !important;
    border-bottom: 1px solid #f1f5f9 !important;
    background: transparent !important;
    display: block !important;
  }

  .quickview.im-bl-quickview .im-bl-qv-mobile-title {
    font-family: 'Outfit', sans-serif !important;
    font-size: 17.5px !important;
    font-weight: 800 !important;
    color: #103556 !important;
    line-height: 1.22 !important;
    padding-right: 44px !important;
    margin: 0 0 5px 0 !important;
  }

  .quickview.im-bl-quickview .im-bl-qv-mobile-top-header .im-bl-qv-reviews-rating {
    margin-bottom: 5px !important;
  }

  .quickview.im-bl-quickview .im-bl-qv-mobile-price-row {
    margin-bottom: 5px !important;
  }

  .quickview.im-bl-quickview .im-bl-qv-mobile-shortdesc {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 12.5px !important;
    line-height: 1.4 !important;
    color: #475569 !important;
    margin: 0 0 6px 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  .quickview.im-bl-quickview .im-bl-qv-mobile-top-header .im-bl-qv-fullpage-wrap {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 5px !important;
    font-size: 12.5px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
  }

  /* Product Gallery Stage on Mobile (No empty thumbnail box, smooth vertical touch pan) */
  .quickview.im-bl-quickview .product__left.im-bl-qv-left,
  .quickview.im-bl-quickview .im-bl-qv-gallery-stage,
  .quickview.im-bl-quickview .im-bl-qv-left .product__images {
    display: block !important;
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    position: relative !important;
    top: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
  }

  .quickview.im-bl-quickview .product__left.im-bl-qv-left {
    margin-bottom: 12px !important;
  }

  .quickview.im-bl-quickview .im-bl-qv-left .product__thumbnails,
  .quickview.im-bl-quickview .im-bl-qv-left .im-pdp-carousel-dots {
    display: none !important;
  }

  .quickview.im-bl-quickview .im-bl-qv-left .product__carousel,
  .quickview.im-bl-quickview .im-bl-qv-left .carousel-inner,
  .quickview.im-bl-quickview .im-bl-qv-left .carousel-item {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 1 / 0.78 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #f8fafc !important;
    touch-action: pan-y pinch-zoom !important;
  }

  .quickview.im-bl-quickview .im-bl-qv-left .carousel-item img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 1 / 0.78 !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 14px !important;
    display: block !important;
    touch-action: pan-y pinch-zoom !important;
  }

  /* Flatten intermediate right-column wrappers on Mobile so .product-add-to-cart
     is a direct child of .im-bl-qv-body and sticks 100% continuously (ZERO "sticky a tratti")! */
  .quickview.im-bl-quickview .product__right.im-bl-qv-right,
  .quickview.im-bl-quickview .im-bl-qv-actions,
  .quickview.im-bl-quickview #add-to-cart-or-refresh {
    display: contents !important;
  }

  .quickview.im-bl-quickview .product__variants,
  .quickview.im-bl-quickview .im-luxury-variants {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
  }

  .quickview.im-bl-quickview .product-variant,
  .quickview.im-bl-quickview .im-variant-group {
    margin: 0 0 2px 0 !important;
    padding: 0 !important;
  }

  /* Sticky Bottom Add-to-Cart Bar on Mobile Quick View:
     Locked at bottom: 0 of .im-bl-qv-body across the entire scroll range */
  .quickview.im-bl-quickview .product-add-to-cart {
    display: block !important;
    position: sticky !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: calc(100% + 32px) !important;
    margin: 4px -16px 0 -16px !important;
    padding: 10px 16px 12px 16px !important;
    background: rgba(255, 255, 255, 0.98) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border-top: 1px solid #e2e8f0 !important;
    box-shadow: 0 -8px 20px rgba(16, 53, 86, 0.06) !important;
    z-index: 60 !important;
  }
}

/* ==========================================================================
   PDP ECOSYSTEM: 1° CAROSELLO CORRELATI, TEMPLATE 4 PILASTRI, 2° CAROSELLO & RECENSIONI
   ========================================================================== */

/* 1. Interactive PDP Carousels (1st: Articoli Correlati, 2nd: Stessa Categoria & Visti) */
.im-bl-accessories-section,
.im-pdp-carousel-section {
  max-width: 1292px !important;
  margin: 48px auto !important;
  padding: 0 16px !important;
}

.im-bl-accessories-section .im-pdp-carousel-section {
  margin: 0 !important;
  padding: 0 !important;
}

.im-carousel-header-bar {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 20px !important;
  margin-bottom: 24px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid rgba(16, 53, 86, 0.08) !important;
}

.im-carousel-head-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px !important;
}

.im-carousel-eyebrow-pill,
.im-bl-vp-eyebrow-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #103556 !important;
  background: rgba(16, 53, 86, 0.06) !important;
  border: 1px solid rgba(16, 53, 86, 0.12) !important;
  padding: 4px 11px !important;
  border-radius: 999px !important;
  margin-bottom: 2px !important;
}

.im-carousel-main-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: clamp(21px, 2.2vw, 27px) !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin: 0 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
}

.im-carousel-subtitle {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14px !important;
  color: #64748b !important;
  margin: 2px 0 0 0 !important;
  line-height: 1.45 !important;
}

.im-carousel-nav-controls {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-shrink: 0 !important;
}

.im-carousel-arrow {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  border: 1px solid #cbd5e1 !important;
  background: #ffffff !important;
  color: #103556 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05) !important;
}

.im-carousel-arrow:hover {
  background: #103556 !important;
  border-color: #103556 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 14px rgba(16, 53, 86, 0.18) !important;
}

/* Horizontal Scroll-Snap Track for PDP Carousels */
.im-pdp-carousel-section .module-products__list .products {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory !important;
  scroll-behavior: smooth !important;
  gap: 20px !important;
  padding: 6px 4px 16px 4px !important;
  margin: 0 !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

.im-pdp-carousel-section .module-products__list .products::-webkit-scrollbar {
  display: none !important;
}

.im-pdp-carousel-section .module-products__list .products > * {
  flex: 0 0 calc((100% - 60px) / 4) !important;
  max-width: calc((100% - 60px) / 4) !important;
  min-width: 255px !important;
  scroll-snap-align: start !important;
}

/* 2. Representative 4-Pillar Template: Lo Standard di Eccellenza Italia Magazzini */
.im-bl-visual-value-props {
  max-width: 1292px !important;
  margin: 56px auto !important;
  padding: 44px 32px !important;
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%) !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 24px !important;
  box-shadow: 0 12px 34px rgba(15, 23, 42, 0.04) !important;
}

.im-bl-vp-header {
  text-align: center !important;
  max-width: 720px !important;
  margin: 0 auto 36px auto !important;
}

.im-bl-vp-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.03) !important;
}

.im-bl-vp-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(16, 53, 86, 0.25) !important;
  box-shadow: 0 14px 30px rgba(16, 53, 86, 0.09) !important;
}

.im-bl-vp-visual {
  position: relative !important;
  height: 158px !important;
  background: linear-gradient(135deg, #f0f5fa 0%, #e6eef7 100%) !important;
  border-bottom: 1px solid #e2e8f0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 14px 16px !important;
  overflow: hidden !important;
}

.im-bl-vp-visual-weave {
  position: absolute !important;
  inset: 0 !important;
  background-image: radial-gradient(rgba(16, 53, 86, 0.07) 1px, transparent 1px) !important;
  background-size: 14px 14px !important;
  pointer-events: none !important;
}

.im-bl-vp-visual-top {
  position: absolute !important;
  top: 12px !important;
  left: 14px !important;
  right: 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  z-index: 2 !important;
}

.im-bl-vp-step-num {
  font-family: 'Outfit', sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  color: #103556 !important;
  background: #ffffff !important;
  border: 1px solid rgba(16, 53, 86, 0.15) !important;
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 2px 6px rgba(16, 53, 86, 0.08) !important;
}

.im-bl-vp-visual-tag {
  font-family: 'Outfit', sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: #103556 !important;
  background: rgba(255, 255, 255, 0.9) !important;
  border: 1px solid rgba(16, 53, 86, 0.12) !important;
  padding: 3px 9px !important;
  border-radius: 999px !important;
}

.im-bl-vp-medallion {
  position: relative !important;
  z-index: 2 !important;
  margin-top: 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  filter: drop-shadow(0 6px 14px rgba(16, 53, 86, 0.1)) !important;
  transition: transform 0.25s ease !important;
}

.im-bl-vp-card:hover .im-bl-vp-medallion {
  transform: scale(1.06) !important;
}

.im-bl-vp-content {
  padding: 20px 20px 18px 20px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
}

.im-bl-vp-kicker {
  font-family: 'Outfit', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: #d97706 !important;
  margin-bottom: 4px !important;
}

.im-bl-vp-card-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 17.5px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin: 0 0 8px 0 !important;
  line-height: 1.25 !important;
}

.im-bl-vp-card-text {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13.5px !important;
  color: #475569 !important;
  line-height: 1.55 !important;
  margin: 0 0 14px 0 !important;
  flex: 1 1 auto !important;
}

.im-bl-vp-seal {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #0f172a !important;
  padding-top: 12px !important;
  border-top: 1px dashed #e2e8f0 !important;
}

/* 3. Luxury Verified Reviews Section (.im-pdp-reviews-section) */
.im-pdp-reviews-section {
  max-width: 1292px !important;
  margin: 56px auto 40px auto !important;
  padding: 36px 32px !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 24px !important;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04) !important;
}

.im-reviews-summary-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
  padding-bottom: 24px !important;
  margin-bottom: 28px !important;
  border-bottom: 1px solid #e2e8f0 !important;
}

.im-reviews-main-heading {
  font-family: 'Outfit', sans-serif !important;
  font-size: clamp(22px, 2.3vw, 28px) !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin: 4px 0 10px 0 !important;
}

.im-reviews-count-pill {
  color: #64748b !important;
  font-weight: 600 !important;
  font-size: 0.85em !important;
}

.im-reviews-score-strip {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

.im-reviews-big-score {
  font-family: 'Outfit', sans-serif !important;
  font-size: 26px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  line-height: 1 !important;
}

.im-reviews-stars-wrap {
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
}

.im-reviews-verified-shield {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: #15803d !important;
  background: #f0fdf4 !important;
  border: 1px solid #bbf7d0 !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
}

.im-write-review-cta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #103556 !important;
  border: 1px solid #103556 !important;
  color: #ffffff !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  padding: 11px 22px !important;
  border-radius: 999px !important;
  box-shadow: 0 4px 14px rgba(16, 53, 86, 0.18) !important;
  transition: all 0.2s ease !important;
}

.im-write-review-cta:hover {
  background: #0b253d !important;
  transform: translateY(-1px) !important;
}

.im-reviews-cards-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 20px !important;
}

.im-review-card {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  padding: 20px 22px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin: 0 !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.im-review-card:hover {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05) !important;
}

.im-review-card-top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

.im-review-author-wrap {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.im-review-avatar {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: #103556 !important;
  color: #ffffff !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.im-review-author-meta {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

.im-review-author-meta .im-author-name {
  font-family: 'Outfit', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  line-height: 1.2 !important;
}

.im-verified-buyer-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: #16a34a !important;
}

.im-review-date {
  font-size: 12px !important;
  color: #94a3b8 !important;
  font-weight: 500 !important;
}

.im-review-card-rating-row {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin-top: 2px !important;
}

.im-review-card-stars {
  display: inline-flex !important;
  align-items: center !important;
  gap: 2px !important;
}

.im-review-card-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 15.5px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin: 0 !important;
}

.im-review-card-body {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13.8px !important;
  color: #334155 !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  flex: 1 1 auto !important;
}

.im-review-card-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  padding-top: 8px !important;
  border-top: 1px dashed #e2e8f0 !important;
}

.im-review-helpful-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 999px !important;
  padding: 4px 12px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #475569 !important;
  cursor: pointer !important;
  transition: all 0.18s ease !important;
}

.im-review-helpful-btn:hover,
.im-review-helpful-btn.is-voted {
  border-color: #103556 !important;
  color: #103556 !important;
  background: #f0f7ff !important;
}

.im-review-report-link {
  background: transparent !important;
  border: none !important;
  font-size: 11.5px !important;
  color: #94a3b8 !important;
  padding: 4px 8px !important;
  margin-left: 8px !important;
  cursor: pointer !important;
  text-decoration: underline !important;
}

.im-review-report-link:hover {
  color: #64748b !important;
}

/* Equal height cards and aligned Add-to-Cart buttons inside PDP Carousels */
.im-pdp-carousel-section .module-products__list .products > * {
  display: flex !important;
  flex-direction: column !important;
}

.im-pdp-carousel-section .product-miniature {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

.im-pdp-carousel-section .product-miniature__infos {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
}

.im-pdp-carousel-section .product-miniature__infos .im-miniature-cart-wrap,
.im-pdp-carousel-section .product-miniature__infos form,
.im-pdp-carousel-section .product-miniature__infos .im-card-add-btn {
  margin-top: auto !important;
}

@media (max-width: 991.98px) {
  .im-pdp-carousel-section .module-products__list .products > * {
    flex: 0 0 calc((100% - 20px) / 2.2) !important;
    max-width: calc((100% - 20px) / 2.2) !important;
    min-width: 220px !important;
  }
  .im-bl-visual-value-props,
  .im-pdp-reviews-section {
    padding: 28px 18px !important;
    margin: 36px 12px !important;
  }
  .im-reviews-cards-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 575.98px) {
  .im-pdp-carousel-section .module-products__list .products > * {
    flex: 0 0 78% !important;
    max-width: 78% !important;
    min-width: 230px !important;
  }
  .im-carousel-header-bar {
    align-items: center !important;
  }
}

/* ==========================================================================
   UNIFIED SITE-WIDE PRODUCT CARD (.product-miniature.im-card-item)
   Full-bleed edge-to-edge photo + DB Badge + Wishlist + Quickview +
   Category & Stock Pill + Title + DB Reviews & Swatches + Price & AJAX Add to Cart
   ========================================================================== */

.product-miniature.im-card-item {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  padding: 0 !important;
  position: relative !important;
  container-type: inline-size !important;
  box-shadow: 0 4px 12px rgba(16, 53, 86, 0.04) !important;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.25s ease !important;
}

.product-miniature.im-card-item:hover {
  transform: translateY(-4px) !important;
  border-color: #cbd5e1 !important;
  box-shadow: 0 14px 28px rgba(16, 53, 86, 0.10) !important;
}

.product-miniature.im-card-item .product-miniature__inner.im-card-inner {
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 14px !important;
  background: transparent !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  height: 100% !important;
  width: 100% !important;
  overflow: hidden !important;
}

/* Full-Bleed Edge-to-Edge Top Image Holder */
.product-miniature.im-card-item .product-miniature__top.im-card-img-holder {
  width: 100% !important;
  height: 230px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  border-bottom: 1px solid #f1f5f9 !important;
  background: #f8fafc !important;
  position: relative !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
}

.product-miniature.im-card-item .product-miniature__image-container,
.product-miniature.im-card-item .product-miniature__image-link,
.product-miniature.im-card-item .product-miniature__image-link picture {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

.product-miniature.im-card-item .product-miniature__image {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  display: block !important;
  transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

@media (min-width: 992px) and (hover: hover) {
  .product-miniature.im-card-item:hover .product-miniature__image {
    transform: scale(1.05) !important;
  }
}

/* Hide duplicate native flags list and native empty review block */
.product-miniature.im-card-item .product-flags,
.product-miniature.im-card-item .product-list-review {
  display: none !important;
}

.product-miniature.im-card-item .im-card-item-badge {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  z-index: 6 !important;
  background: #103556 !important;
  color: #ffffff !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  border-radius: 6px !important;
  line-height: 1.2 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
  pointer-events: none !important;
}

.product-miniature.im-card-item .im-card-item-badge--sale {
  background: #dc2626 !important;
  box-shadow: 0 2px 8px rgba(220, 38, 38, 0.28) !important;
}

/* Wishlist Heart Icon Button (Top-Right of Image on ALL Viewports: Desktop & Mobile) */
.product-miniature.im-card-item .wishlist-button {
  position: static !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

body .product-miniature.im-card-item button.wishlist-button-add,
.product-miniature.im-card-item .wishlist-button-add {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  left: auto !important;
  bottom: auto !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.94) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(16, 53, 86, 0.12) !important;
  box-shadow: 0 2px 8px rgba(16, 53, 86, 0.12) !important;
  color: #103556 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 15 !important;
  cursor: pointer !important;
  transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease !important;
}

body .product-miniature.im-card-item button.wishlist-button-add:hover,
.product-miniature.im-card-item .wishlist-button-add:hover {
  transform: scale(1.08) !important;
  background: #ffffff !important;
  color: #dc2626 !important;
}

.product-miniature.im-card-item .wishlist-button-add i {
  font-size: 18px !important;
  line-height: 1 !important;
  color: currentColor !important;
}

/* Card Info Body */
.product-miniature.im-card-item .product-miniature__bottom.im-card-info {
  padding: 14px 14px 15px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  justify-content: space-between !important;
  background: #ffffff !important;
}

.product-miniature.im-card-item .im-card-infos-body {
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
  margin-bottom: 10px !important;
}

.product-miniature.im-card-item .im-card-meta-top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 6px !important;
  margin-bottom: 2px !important;
}

.product-miniature.im-card-item .im-card-cat-name {
  font-family: 'Outfit', sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  color: #64748b !important;
  letter-spacing: 0.04em !important;
  margin: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.product-miniature.im-card-item .im-card-stock-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-size: 10.5px !important;
  font-weight: 600 !important;
  color: #15803d !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

.product-miniature.im-card-item .im-card-stock-pill--out {
  color: #dc2626 !important;
}

.product-miniature.im-card-item .im-card-stock-pill--out .im-card-stock-dot {
  background: #ef4444 !important;
}

.product-miniature.im-card-item .im-card-product-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #103556 !important;
  line-height: 1.35 !important;
  min-height: 38px !important;
  margin: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.product-miniature.im-card-item:hover .im-card-product-title {
  color: #1d4ed8 !important;
}

.product-miniature.im-card-item .im-card-reviews-variants-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  min-height: 22px !important;
  margin-top: 2px !important;
}

.product-miniature.im-card-item .im-card-rating-stars--zero,
.product-miniature.im-card-item .im-card-rating-stars--active {
  display: inline-flex !important;
  align-items: center !important;
  gap: 2.5px !important;
  margin: 0 !important;
}

.product-miniature.im-card-item .im-card-variants {
  margin: 0 !important;
}

/* Bottom Pricing & Action Row */
.product-miniature.im-card-item .im-card-pricing-row {
  margin-top: auto !important;
  padding-top: 10px !important;
  border-top: 1px solid #f1f5f9 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  width: 100% !important;
}

.product-miniature.im-card-item .im-card-price-group {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 1px !important;
  margin: 0 !important;
  line-height: 1.15 !important;
  flex-shrink: 0 !important;
}

.product-miniature.im-card-item .im-card-price-old {
  font-family: 'Inter', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 500 !important;
  color: #94a3b8 !important;
  text-decoration: line-through !important;
  margin: 0 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

.product-miniature.im-card-item .im-card-price-current {
  font-family: 'Outfit', sans-serif !important;
  font-size: 16.5px !important;
  font-weight: 800 !important;
  color: #103556 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
}

.product-miniature.im-card-item .im-card-price-current--sale {
  color: #dc2626 !important;
}

.product-miniature.im-card-item .im-card-action-wrap,
.product-miniature.im-card-item .im-card-inline-form {
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  display: inline-flex !important;
  flex-shrink: 0 !important;
}

.product-miniature.im-card-item .im-card-buy-btn,
.product-miniature.im-card-item button.im-card-buy-btn[data-button-action="add-to-cart"],
.product-miniature.im-card-item a.im-card-buy-btn--details {
  width: auto !important;
  height: auto !important;
  min-height: 34px !important;
  padding: 7px 11px !important;
  border-radius: 8px !important;
  background-color: #103556 !important;
  color: #ffffff !important;
  border: 1px solid #103556 !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  box-shadow: 0 2px 8px rgba(16, 53, 86, 0.14) !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.product-miniature.im-card-item .im-card-buy-btn .im-card-buy-text {
  color: #ffffff !important;
  font-size: inherit !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  display: inline-block !important;
}

.product-miniature.im-card-item .product-miniature__add-text::after,
.product-miniature.im-card-item .im-card-buy-text::after {
  content: none !important;
  display: none !important;
}

.product-miniature.im-card-item .im-card-buy-btn .im-card-cart-icon {
  width: 13px !important;
  height: 13px !important;
  flex-shrink: 0 !important;
  stroke: #ffffff !important;
}

.product-miniature.im-card-item:hover .im-card-buy-btn,
.product-miniature.im-card-item .im-card-buy-btn:hover,
.product-miniature.im-card-item button.im-card-buy-btn[data-button-action="add-to-cart"]:hover {
  background-color: #1d4ed8 !important;
  border-color: #1d4ed8 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(29, 78, 216, 0.25) !important;
  transform: translateY(-1px) !important;
}

/* Container Query: Automatically stack Price + Full-Width Add-to-Cart Button whenever ANY card is <= 270px wide */
@container (max-width: 270px) {
  .product-miniature.im-card-item .im-card-pricing-row {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 7px !important;
    padding-top: 8px !important;
  }

  .product-miniature.im-card-item .im-card-price-group {
    flex-direction: row !important;
    align-items: baseline !important;
    justify-content: flex-start !important;
    gap: 6px !important;
  }

  .product-miniature.im-card-item .im-card-action-wrap,
  .product-miniature.im-card-item .im-card-inline-form {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
  }

  .product-miniature.im-card-item .im-card-buy-btn,
  .product-miniature.im-card-item button.im-card-buy-btn[data-button-action="add-to-cart"],
  .product-miniature.im-card-item a.im-card-buy-btn--details {
    width: 100% !important;
    min-height: 34px !important;
    padding: 6px 10px !important;
    font-size: 10.5px !important;
  }
}

/* Tablet & Laptop Grid Refinements (<= 1199.98px) */
@media (max-width: 1199.98px) {
  .im-pdp-carousel-section .module-products__list .products > * {
    flex: 0 0 calc((100% - 40px) / 3) !important;
    max-width: calc((100% - 40px) / 3) !important;
    min-width: 260px !important;
  }
}

/* Mobile Responsive Adjustments (< 576px) */
@media (max-width: 575.98px) {
  .product-miniature.im-card-item .product-miniature__top.im-card-img-holder {
    height: 175px !important;
  }

  .product-miniature.im-card-item .product-miniature__bottom.im-card-info {
    padding: 11px 11px 12px !important;
  }

  .product-miniature.im-card-item .im-card-item-badge {
    top: 8px !important;
    left: 8px !important;
    font-size: 9.5px !important;
    padding: 3px 7px !important;
  }

  body .product-miniature.im-card-item button.wishlist-button-add,
  .product-miniature.im-card-item .wishlist-button-add {
    top: 8px !important;
    right: 8px !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
  }

  .product-miniature.im-card-item .im-card-cat-name,
  .product-miniature.im-card-item .im-card-stock-pill {
    font-size: 9.5px !important;
  }

  .product-miniature.im-card-item .im-card-product-title {
    font-size: 12.5px !important;
    line-height: 1.3 !important;
    min-height: 33px !important;
  }

  .product-miniature.im-card-item .im-card-price-current {
    font-size: 14.5px !important;
  }

  .product-miniature.im-card-item .im-card-price-old {
    font-size: 10.5px !important;
  }

  /* Stack price + full-width button smoothly on mobile cards so "Aggiungi al carrello" is always 100% readable */
  .product-miniature.im-card-item .im-card-pricing-row {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 7px !important;
    padding-top: 8px !important;
  }

  .product-miniature.im-card-item .im-card-price-group {
    flex-direction: row !important;
    align-items: baseline !important;
    justify-content: flex-start !important;
    gap: 6px !important;
  }

  .product-miniature.im-card-item .im-card-action-wrap,
  .product-miniature.im-card-item .im-card-inline-form {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
  }

  .product-miniature.im-card-item .im-card-buy-btn,
  .product-miniature.im-card-item button.im-card-buy-btn[data-button-action="add-to-cart"],
  .product-miniature.im-card-item a.im-card-buy-btn--details {
    width: 100% !important;
    min-height: 34px !important;
    padding: 6px 10px !important;
    font-size: 10.5px !important;
  }
}






