:root {
  /* Color styles */
  --color--bg-subtle: #f8f7f4;
  --color--fg-base: #18181b;
  --color--fg-subtle: #52525b;
  --color--fg-muted: #a1a1aa;
  --color--border-base: #e4e4e7;
  --color--button-inverted: #27272a;
  --color--link: #2F793F;
  --color--link-hover: #2a64c8;
  --color--accent-blue: #2a64c8;
  --color--brand-blue: #2a64c8;
  /* Shadows */
  --card-rest: 0 0 0 1px #c6b8a114, 0 1px 2px -1px #c6b8a114,
    0 2px 4px #c6b8a10a;
  --borders--base: 0px 1px 2px rgba(0, 0, 0, 0.12),
    0px 0px 0px 1px rgba(0, 0, 0, 0.08);
  --buttons--inverted: inset 0px 0.75px 0px rgba(255, 255, 255, 0.2),
    0px 1px 2px rgba(0, 0, 0, 0.4), 0px 0px 0px 1px rgba(24, 24, 27, 1);
}
@font-face {
  font-family: "iCiel Pacifico";
  src: url("/themes/paudiet/assets/fonts/iciel-pacifico.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
.font-iciel {
  font-family: "iCiel Pacifico", sans-serif !important;
}

/* TT Commons Pro — global brand font */
@font-face {
  font-family: "TT Commons Pro";
  src: url("/themes/paudiet/assets/fonts/tt-commons-pro/TT_Commons_Pro_Trial_Light.woff2") format("woff2"),
       url("/themes/paudiet/assets/fonts/tt-commons-pro/TT_Commons_Pro_Trial_Light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "TT Commons Pro";
  src: url("/themes/paudiet/assets/fonts/tt-commons-pro/TT_Commons_Pro_Trial_Regular.woff2") format("woff2"),
       url("/themes/paudiet/assets/fonts/tt-commons-pro/TT_Commons_Pro_Trial_Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "TT Commons Pro";
  src: url("/themes/paudiet/assets/fonts/tt-commons-pro/TT_Commons_Pro_Trial_Italic.woff2") format("woff2"),
       url("/themes/paudiet/assets/fonts/tt-commons-pro/TT_Commons_Pro_Trial_Italic.woff") format("woff");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "TT Commons Pro";
  src: url("/themes/paudiet/assets/fonts/tt-commons-pro/TT_Commons_Pro_Trial_Medium.woff2") format("woff2"),
       url("/themes/paudiet/assets/fonts/tt-commons-pro/TT_Commons_Pro_Trial_Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "TT Commons Pro";
  src: url("/themes/paudiet/assets/fonts/tt-commons-pro/TT_Commons_Pro_Trial_DemiBold.woff2") format("woff2"),
       url("/themes/paudiet/assets/fonts/tt-commons-pro/TT_Commons_Pro_Trial_DemiBold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "TT Commons Pro";
  src: url("/themes/paudiet/assets/fonts/tt-commons-pro/TT_Commons_Pro_Trial_Bold.woff2") format("woff2"),
       url("/themes/paudiet/assets/fonts/tt-commons-pro/TT_Commons_Pro_Trial_Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "TT Commons Pro";
  src: url("/themes/paudiet/assets/fonts/tt-commons-pro/TT_Commons_Pro_Trial_Bold_Italic.woff2") format("woff2"),
       url("/themes/paudiet/assets/fonts/tt-commons-pro/TT_Commons_Pro_Trial_Bold_Italic.woff") format("woff");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

body,
html,
h1,
h2,
h3,
h4,
h5,
h6,
span,
div,
a,
p,
button,
input,
select,
textarea,
label {
  font-family: "TT Commons Pro", Inter, sans-serif !important;
}

/* Links: verde por defecto, azul en hover */
a {
  color: var(--color--link);
}
a:hover {
  color: var(--color--link-hover);
}

/* Títulos de producto: azul */
.s_title_block a,
.product_name a,
h3.product-title a,
.pro_second_box .s_title_block a,
article.ajax_block_product .s_title_block a,
.product-miniature .s_title_block a,
h1.product_name,
h1.product_name a,
a.product-name,
div.product-name,
.product-name-row a.product-name,
.product-line-info a.label {
  color: var(--color--accent-blue) !important;
}
.s_title_block a:hover,
article.ajax_block_product .s_title_block a:hover,
.product-miniature .s_title_block a:hover,
h1.product_name a:hover,
a.product-name:hover,
.product-line-info a.label:hover {
  color: var(--color--link-hover) !important;
}

/* General Styles */
.Row {
  width: 100%;
  height: 146px;
  padding: 0;
  display: inline-flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 24px;
}

.title-atencion {
  align-self: stretch;
  color: var(--color--fg-base);
  font-size: 24px;
  font-family: "TT Commons Pro", sans-serif;
  font-weight: 500;
  line-height: 32px;
  word-wrap: break-word;
}

.row-blocks-atencion {
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  gap: 24px;
  width: 100%;
}

.ValuePropositionCard {
  height: 84px;
  padding: 24px;
  background: var(--color--bg-subtle);
  border-radius: 16px;
  overflow: hidden;
  border: 1.5px solid rgba(0, 0, 0, 0);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 24px;
  width: 100%;
  min-width: 219px;
}

.HeroiconsOutlinePhone,
.HeroiconsOutlineEnvelope,
.HeroiconsOutlineChatBubbleOvalLeftEllipsis {
  width: 24px;
  height: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.HeroiconsOutlinePhone .Vector,
.HeroiconsOutlineEnvelope .Vector,
.HeroiconsOutlineChatBubbleOvalLeftEllipsis .Vector {
  border: 2px solid var(--color--fg-base);
}

.info-atencion-block {
  display: inline-flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}

.Featuredescription {
  color: var(--color--fg-base);
  font-size: 15px;
  font-family: "TT Commons Pro", sans-serif;
  word-wrap: break-word;
}

.Featuredescription--bold {
  font-weight: bold;
}

.Featuredescription--regular {
  font-weight: 400;
  color: var(--color--fg-subtle);
}

.cathome {
  width: 249.6px;
  height: 241px;
  border: 1.5px rgba(101, 133, 101, 0) solid;
  display: inline-flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 20px;
}

.block-cathome {
  background: var(--color--bg-subtle);
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.04);
  border-radius: 250px;
  overflow: hidden;
  display: inline-flex;
  justify-content: flex-end;
  align-items: center;
}

.block-cathome img {
  width: 100%;
  align-self: stretch;
}

.body-cathome {
  align-self: stretch;
  text-align: center;
  color: var(--color--fg-base);
  font-size: 14px;
  font-family: "TT Commons Pro", sans-serif;
  font-weight: 400;
  line-height: 21px;
  word-wrap: break-word;
}
#easycontent_7 .topbar-buttons {
  display: flex;
  gap: 8px;
  align-items: center;
}
#easycontent_7 .topbar-buttons .btn-dropdown-wrap {
  position: relative;
}
#easycontent_7 .topbar-buttons .btn-dropdown-wrap .btn-novedades {
  cursor: pointer;
  user-select: none;
}
#easycontent_7 .topbar-buttons .btn-dropdown-wrap .dropdown-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  min-width: 160px;
  padding: 6px 0;
  margin: 4px 0 0;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  list-style: none;
}
#easycontent_7 .topbar-buttons .btn-dropdown-wrap.open .dropdown-menu {
  display: block;
}
#easycontent_7 .topbar-buttons .btn-dropdown-wrap .dropdown-menu li a {
  display: block;
  padding: 8px 16px;
  color: #333;
  font-family: "TT Commons Pro", sans-serif;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.15s;
}
#easycontent_7 .topbar-buttons .btn-dropdown-wrap .dropdown-menu li a:hover {
  background: #f0f4ff;
  color: #0066cc;
}
#easycontent_7 p,
#easycontent_8 a {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 400;
  font-size: 14px;
  line-height: 150%;
  color: var(--color--fg-base);
}

#easycontent_8 .easy_brother_block > div {
  display: flex;
  flex-direction: row;
  gap: 24px;
}

#easycontent_8 .easy_brother_block > div > a {
  display: flex;
  flex-direction: row;
  gap: 6px;
  align-items: center;
}

#header_left .search_widget_form_inner {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  padding: 0;
  gap: 0;

  width: 220px;
  height: 38px;
  background: transparent;

  border: none;
  border-radius: 0;
  overflow: visible;
  & .form-control {
    background: #ffffff;
    border-top: 1.5px solid #d1cec9;
    border-bottom: 1.5px solid #d1cec9;
    border-left: 1.5px solid #d1cec9;
    border-right: none;
    border-radius: 999px 0 0 999px;
    box-shadow: none;
    padding: 0 0 0 12px;
    height: 100%;
    display: flex;
    align-items: center;
    & input:placeholder {
      color: #c6b8a1;
    }
  }
}
#header_left .search_widget_form_inner .input-group-btn {
  display: flex;
  align-items: stretch;
  flex-shrink: 0;
}
#header_left .search_widget_form_inner .btn-search {
  width: 40px;
  height: 100%;
  background: var(--color--brand-blue);
  border-radius: 0 999px 999px 0;
  border-top: 1.5px solid var(--color--brand-blue);
  border-right: 1.5px solid var(--color--brand-blue);
  border-bottom: 1.5px solid var(--color--brand-blue);
  border-left: 1.5px solid #d1cec9;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
}
#header_left .search_widget_form_inner .btn-search i {
  color: #ffffff;
  font-size: 14px;
}
#st_header .search_widget_block {
  width: auto !important;
}
#header_left .st_mega_menu a {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 150%;
  color: var(--color--fg-base);
  text-transform: none;
  padding: 0;
  margin: 0;
  height: auto;
}
#header_left #st_mega_menu_wrap {
  border: none;
}

#header_left .header_box,
#header_left .st_mega_menu {
  display: flex;
  flex-direction: row;
  gap: 24px;
}
#st_header .shop_logo {
  display: flex;
  justify-content: center;
  width: 80px;
}

.sidebar-submenu-left {
  position: fixed;
  top: 0;
  left: -500px; /* Oculto inicialmente */
  width: 500px;
  height: 100%;
  overflow-y: auto;
  transition: left 0.3s ease;
  z-index: 9999;
  opacity: 0;
}

.sidebar-submenu-left #st_menu_multi_level_2,
.sidebar-submenu-left #st_menu_multi_level_7 {
  list-style: none;
  padding: 20px;
}
#sidebar-submenu-left-compra-rapida ul li .custom-link-item {
  min-height: 37px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.sidebar-submenu-left ul li {
  margin: 10px 0;
}

.sidebar-submenu-left ul li a {
  color: var(--color--fg-base);
  text-decoration: none;
  font-size: 16px;
  font-weight: bold;
}
.sidebar-submenu-left ul li a i {
  display: none;
}
.sidebar-submenu-left i.fto-angle-down,
.sidebar-submenu-left i.fto-angle-up {
  font-size: 26px;
}
.sidebar-submenu-left.open {
  left: 0; /* Aparece al activarse */
  opacity: 1;
}
#sidebarMenu {
  right: -500px;
  opacity: 0;
  padding: 0;
  z-index: 9999;
}
#sidebarMenu ul {
  padding: 20px;
}
#sidebarMenu.open {
  right: 0;
  opacity: 1;
}
.ajax_block_product .pro_outer_box {
  padding: 0px;
  background: #ffffff;
  box-shadow: var(--card-rest);
  border-radius: 12px;
  overflow: hidden;
}
.btn-default {
  height: 40px;
  display: inline-flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 6px 10px;
  gap: 6px;
  min-height: 27px;
  /* background: var(--color--button-inverted); */
  /*  box-shadow: inset 0px 0.75px 0px rgba(255, 255, 255, 0.2),
    0px 1px 2px rgba(0, 0, 0, 0.4), 0px 0px 0px 1px rgba(24, 24, 27, 0.5);*/
  border-radius: 6px;
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: bold !important;
  font-size: 13px;
  line-height: 20px;
  color: rgba(255, 255, 255, 0.88);
  border: none;
  text-transform: none;
}
.btn-default:hover {
  /* background: #3f3f46; */
  color: rgba(255, 255, 255, 0.88);
}
.btn-default:focus {
  color: rgba(255, 255, 255, 0.88);
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.4), 0px 0px 0px 1px #18181b,
    0px 0px 0px 2px #ffffff, 0px 0px 0px 4px rgba(59, 130, 246, 0.6),
    inset 0px 0.75px 0px rgba(255, 255, 255, 0.2);
  border-radius: 6px;
}
.btn-default:disabled {
  background: #f4f4f5;
  box-shadow: var(--borders--base);
  border-radius: 6px;
  color: #d4d4d8;
}

.btn-default i,
.btn-default svg {
  color: rgba(255, 255, 255, 0.56);
}
.ajax_block_product .s_title_block.flex_child {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: bold;
  font-size: 14px;
  line-height: 150%;
  color: var(--color--fg-base);
}

.ajax_block_product .price {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 700;
  font-size: 16px;
  line-height: 150%;
  color: var(--color--fg-base);
}
.ajax_block_product .tax_label {
  display: none;
}

.pro_first_box {
  padding: 0px;
  mix-blend-mode: normal;
  box-shadow: var(--card-rest);
}
.s_quantity_wanted .pro_quantity.form-control,
.s_quantity_wanted .input-group-btn .btn-touchspin,
.bootstrap-touchspin #quantity_wanted,
.qty_wrap.qty_wrap_big .btn {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 4px 8px;
  gap: 6px;
  width: 40px;
  height: 40px;
  background: #ffffff;
  box-shadow: var(--borders--base);
  border-radius: 6px !important;
  border: none;
}
.product_list .list .s_quantity_wanted .pro_quantity.form-control {
  max-width: 78px;
}
.qty_wrap.qty_wrap_big {
  width: auto;
  min-width: auto;
}
.input-group.bootstrap-touchspin {
  gap: 6px;
  height: 40px;
}

.s_quantity_wanted .input-group {
  gap: 6px;
}

@media (min-width: 768px) {
  .product-add-to-cart #quantity_wanted,
  .product-add-to-cart .bootstrap-touchspin #quantity_wanted,
  #quantity_wanted {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    flex: 0 0 40px !important;
    box-sizing: border-box !important;
  }
}

.act_box_cart.display_normal {
  display: flex !important;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: space-between;
  align-items: center;
}

.pro_second_box {
  padding: 12px !important;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* Grid cards: propagate height down so act_box_cart can pin to bottom */
.product_list.grid .product_list_item,
.product_list.row .product_list_item {
  display: flex;
  align-items: stretch;
}
.product_list.grid .view-grid,
.product_list.row .view-grid {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.product_list.grid .view-grid article,
.product_list.row .view-grid article {
  display: flex !important;
  flex-direction: column;
  flex: 1;
}
.product_list.grid .view-grid .pro_outer_box,
.product_list.row .view-grid .pro_outer_box {
  display: flex !important;
  flex-direction: column;
  flex: 1;
}
.product_list.grid .view-grid .pro_second_box,
.product_list.row .view-grid .pro_second_box {
  flex: 1;
}
.product_list.grid .view-grid .act_box_cart,
.product_list.row .view-grid .act_box_cart {
  margin-top: auto;
}
.title_style_0 .title_block_inner {
  border: none;
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 500;
  font-size: 24px;
  line-height: 32px;
  color: var(--color--fg-base);
}

.title_style_0 {
  border: none;
}

/* Marcas del home: mismo borde que el logo de marca en ficha de producto
   (.pdp-brand-logo-img). Va en el item para verse también sin imagen. */
.brands_slider .brands_slider_item {
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 6px;
  background: #fff;
  box-sizing: border-box;
}

.swiper-button-next::after {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0px 1px 0px 48px;
  gap: 8px;

  position: absolute;
  width: 85px;
  right: -1px;
  top: -0.1px;
  bottom: 0.1px;

  background: linear-gradient(
    270deg,
    var(--color--bg-subtle) 0%,
    rgba(250, 250, 250, 0) 100%
  );
}

#search_filters_wrapper,
#pack_ofertas_wrapper,
#search_filters_suppliers,
#search_filters_brands {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 12px;
  gap: 12px;
  isolation: isolate;
  background: #ffffff;
  box-shadow: var(--card-rest);
  border-radius: 12px;
  margin-bottom: 16px;
}

#search_filters_wrapper .facet-title,
#pack_ofertas_wrapper .facet-title,
#search_filters_suppliers .facet-title,
#search_filters_brands .facet-title {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 500;
  font-size: 14px;
  line-height: 20px;
  color: #1b281b;
  margin-bottom: 16px;
}

.facet_filter_item_li .search-link {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 500;
  font-size: 13px;
  line-height: 20px;
  color: var(--color--fg-base);
}

#search_filters_wrapper .title_block,
#pack_ofertas_wrapper .title_block,
#search_filters_suppliers .title_block,
#search_filters_brands .title_block {
  display: none;
}
#search_filters_wrapper .block_content,
#pack_ofertas_wrapper .block_content,
#search_filters_suppliers .block_content,
#search_filters_brands .block_content {
  padding: 0;
  width: 100%;
}

#search_filters_wrapper .facet,
#pack_ofertas_wrapper .facet,
#search_filters_suppliers .facet,
#search_filters_brands .facet {
  border-bottom: 1px solid var(--color--border-base);
  padding: 12px 0;
}

.breadcrumb_nav li span,
.breadcrumb_nav li {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 500;
  font-size: 12px;
  line-height: 20px;
  color: #1b1b1c;
}
.breadcrumb_wrapper {
  border-color: var(--color--border-base);
}
#search_filters_wrapper .facet:last-child,
#pack_ofertas_wrapper .facet:last-child,
#search_filters_suppliers .facet:last-child,
#search_filters_brands .facet:last-child {
  border: none;
}

.list_grid_switcher .selected {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  padding: 5px;
  gap: 4px;
  width: 32px;
  height: 32px;
  background: transparent !important;
  border: 1px solid var(--color--button-inverted);
  border-radius: 6px;
  & i {
    color: var(--color--button-inverted) !important;
  }
}

.list_grid_switcher > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 5px;
  gap: 4px;
  width: 32px;
  height: 32px;
  background: var(--color--bg-subtle);

  border-radius: 6px;
}
.list_grid_switcher > div:hover {
  background-color: var(--color--button-inverted) !important;
}
.list_grid_switcher > div.selected:hover {
  background-color: var(--color--button-inverted) !important;
  & i {
    color: white !important;
  }
}
.list_grid_switcher {
  display: flex;
  flex-direction: row;
  gap: 12px;
}
.products-sort-order .dropdown_tri {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 0px;
  padding: 8px;
  width: 280px;
  height: 32px;
  background: #ffffff;
  box-shadow: var(--borders--base);
  border-radius: 6px;
}
.products-sort-order.disabled .dropdown_tri {
  cursor: not-allowed;
  opacity: 0.6;
  pointer-events: none;
}

.featured_categories_item .product_img_link {
  background: var(--color--bg-subtle);
  box-shadow: var(--card-rest);
  border-radius: 250px;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  max-width: 150px;
}
.featured_categories_item .product_img_link img {
  object-fit: cover;
  width: 100%;
  height: 100% !important;
}
.featured_categories_item .s_title_block {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: bold;
  font-size: 16px;
  line-height: 150%;
  text-align: center;
  color: var(--color--fg-base);
  overflow: visible;
}
.title_style_0 .title_block_inner,
.title-atencion {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: bold;
  font-size: 24px;
  line-height: 32px;
  color: var(--color--fg-base);
  text-align: left;
  text-transform: none;
}
.brands_slider_container .swiper-wrapper {
  align-items: center;
}
.products_sldier_swiper .pro_outer_box:hover .pro_second_box {
  background-color: transparent;
}
.sidebar-submenu-left {
  background-color: white;
  opacity: 1;
}
@media (max-width: 767px) {
  .row-blocks-atencion {
    overflow-x: scroll;
  }
  .Row {
    padding: 0;
  }
  .ValuePropositionCard {
    padding: 12px;
    gap: 12px;
  }
}

/*Product*/

.product_left_content .pro_gallery_top_inner .swiper-container,
.product_left_content .pro_gallery_thumb_box {
  background: #ffffff;
  mix-blend-mode: normal;

  overflow: hidden;
}
.product_name_wrap .product_name {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: bold;
  font-size: 22px;
  line-height: 32px;
  letter-spacing: -0.005em;
  color: var(--color--fg-base);
  margin-bottom: 0;
  text-transform: none;
}

.product_middle_column_inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 24px;
  gap: 24px;
  background: #ffffff;

  border-radius: 12px;
}

.product-description-short {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 400;
  font-size: 14px;
  line-height: 150%;
  color: var(--color--fg-base);
  margin-bottom: 0 !important;
}
.product_info_tabs .tab-content {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding: 0px;
  gap: 0px;
}
.accordion_more_info .mobile_tab .tab-pane {
  padding: 12px;

  background: #ffffff;
  border-color: #f9f8f5;

  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 500;
  font-size: 13px;
  line-height: 20px;

  color: var(--color--fg-base);
}

.mobile_tab .mobile_tab_title {
  padding: 0;
}

.sidebar-submenu-left {
  background: rgb(255 255 255 / 74%);
  box-shadow: var(--borders--base);
}
#sidebarMenu {
  background: rgb(255 255 255 / 74%);
  box-shadow: var(--borders--base);
  width: 500px;
}
.category-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.toggle-children {
  padding: 0.5rem;
  cursor: pointer;
  background: transparent;
  border: none;
  transition: transform 0.2s ease;
}

.toggle-children:hover {
  transform: scale(1.1);
}

.toggle-children:active {
  transform: scale(0.95);
}

/* Icon rotation animation */
.toggle-children i {
  display: inline-block;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.toggle-children.is-open i {
  transform: rotate(180deg);
}

.hidden {
  display: none;
}

/* Animated subcategories dropdown */
.subcategories {
  margin-left: 1rem;
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transform: translateY(-8px);
  transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.25s ease,
    transform 0.25s ease;
}

.subcategories.is-visible {
  max-height: 1000px;
  opacity: 1;
  transform: translateY(0);
}

.subcategories.hidden {
  display: block !important;
  max-height: 0;
  opacity: 0;
  transform: translateY(-8px);
}

.subcategories li {
  opacity: 0;
  transform: translateX(-10px);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.subcategories.is-visible li {
  opacity: 1;
  transform: translateX(0);
}

/* Staggered animation for list items */
.subcategories.is-visible li:nth-child(1) {
  transition-delay: 0.05s;
}
.subcategories.is-visible li:nth-child(2) {
  transition-delay: 0.1s;
}
.subcategories.is-visible li:nth-child(3) {
  transition-delay: 0.15s;
}
.subcategories.is-visible li:nth-child(4) {
  transition-delay: 0.2s;
}
.subcategories.is-visible li:nth-child(5) {
  transition-delay: 0.25s;
}
.subcategories.is-visible li:nth-child(6) {
  transition-delay: 0.3s;
}
.subcategories.is-visible li:nth-child(7) {
  transition-delay: 0.35s;
}
.subcategories.is-visible li:nth-child(8) {
  transition-delay: 0.4s;
}

.subcategories li a {
  font-weight: 500 !important;
  transition: padding-left 0.2s ease, color 0.2s ease;
}

.subcategories li a:hover {
  padding-left: 0.5rem;
}

.ml_level_2 {
  padding: 0.25rem 0;
}

.sidebar-submenu-left {
  transition: transform 0.3s ease-in-out;
}

.sidebar-submenu-left.hidden {
  transform: translateX(-100%);
}

/* ========================================
   DESKTOP FLYOUT SUBCATEGORIES
   On desktop (≥992px), subcategories appear as an integrated
   right column within the sidebar. The sidebar expands when
   a category is opened.
   ======================================== */
@media (min-width: 992px) {
  /* Sidebar clips expanded content during width transition */
  #sidebar-submenu-left {
    overflow: hidden;
    transition: transform 0.3s ease-in-out, width 0.3s ease-in-out;
  }

  /* Expand sidebar when subcategories are visible */
  #sidebar-submenu-left:has(.subcategories.is-visible) {
    width: 800px;
  }

  /* Keep categories list constrained to left column */
  #sidebar-submenu-left #st_menu_multi_level_2 {
    max-width: 500px;
    box-sizing: border-box;
    overflow-y: auto;
    max-height: calc(100vh - 60px);
  }

  /* Subcategories as integrated right column within the sidebar */
  #sidebar-submenu-left .subcategories {
    position: absolute;
    left: 500px;
    top: 71px;
    bottom: 0;
    right: 0;
    margin: 0;
    padding: 20px;
    overflow-y: auto;
    border-left: 1px solid var(--color--border-base);
    background: transparent;
    box-sizing: border-box;
    /* Override accordion styles */
    transform: none;
    max-height: none;
  }

  /* Hidden: truly hidden */
  #sidebar-submenu-left .subcategories.hidden {
    display: none !important;
    max-height: none;
    opacity: 0;
    transform: none;
  }

  /* Visible: instant show */
  #sidebar-submenu-left .subcategories.is-visible {
    display: block !important;
    opacity: 1;
    max-height: none;
    transform: none;
  }

  /* No staggered animation — show items instantly */
  #sidebar-submenu-left .subcategories li,
  #sidebar-submenu-left .subcategories.is-visible li {
    opacity: 1;
    transform: none;
    transition-delay: 0s;
  }

  /* Chevron points right (→) to hint flyout direction */
  #sidebar-submenu-left .toggle-children i {
    transform: rotate(-90deg);
  }
  /* When open, chevron points left (←) */
  #sidebar-submenu-left .toggle-children.is-open i {
    transform: rotate(90deg);
  }

  /* Active category highlight */
  #sidebar-submenu-left li.is-active > .category-item {
    background: var(--color--bg-subtle);
    border-radius: 6px;
    padding-left: 0.5rem;
    padding-right: 0.25rem;
  }
}
.head-sidebar {
  background: var(--color--bg-subtle);
  color: var(--color--fg-base);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--color--border-base);
  padding: 12px 14px;
}
.head-sidebar span {
  cursor: pointer;
  padding: 8px;
  font-size: 20px;
  font-weight: bold;
}
.close-sidebar {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.head-sidebar span svg {
  width: 30px;
  height: 30px;
}

.head-sidebar span:hover {
  opacity: 0.8;
}

.drop-select {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 12px;
  gap: 8px;
  background: #ffffff;
  box-shadow: var(--borders--base);
  border-radius: 8px;
}
.drop-select .dropdown-toggle {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
  align-content: center;
  width: 100%;
}

.dropdown-content.hidden,
.dropdown:hover .dropdown-content.hidden {
  display: none !important;
}
.dropdown-content.open,
.dropdown:hover .dropdown-content.open {
  display: block !important;
}

#create_account_block,
#login_form_block {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 12px;
  gap: 12px;
  background: #ffffff;
  border: none;
  border-radius: 6px;
}

.btn-primary {
  height: 40px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 6px 10px;
  gap: 6px;
  min-height: 27px;
  background: #ffffff;
  box-shadow: var(--borders--base);
  border-radius: 6px;
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 500;
  font-size: 13px;
  line-height: 20px;
  color: var(--color--fg-base);
  border: none;
  width: auto;
  text-transform: none;
}
.btn-primary:hover {
  background: #f4f4f5;
  color: var(--color--fg-base);
  box-shadow: var(--borders--base);
}
.btn-primary:focus {
  background: #ffffff;
  color: var(--color--fg-base);
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.12),
    0px 0px 0px 1px rgba(0, 0, 0, 0.08), 0px 0px 0px 2px #ffffff,
    0px 0px 0px 4px rgba(59, 130, 246, 0.6);
}
.btn-primary:disabled {
  background: #f4f4f5;
  box-shadow: var(--borders--base);

  color: #d4d4d8;
}

#create_account_block .page_heading,
#login_form_block .page_heading {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 700;
  font-size: 16px;
  line-height: 150%;
  color: var(--color--fg-base);
}

.js-input-column input,
.table-amb2bfastbuy .search-widget input,
.contact-form input,
.contact-form select,
.contact-form textarea {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 0px 8px;
  gap: 4px;
  background-color: var(--color--bg-subtle);
  /*box-shadow: var(--borders--base);*/
  border-radius: 6px;
  border: none;
}
.contact-form textarea {
  padding: 8px;
}
.contact-form .input-group-btn:not(:first-child) > .btn {
  margin: 0;
}
.btn.show_password {
  background: var(--color--bg-subtle);
  /*  box-shadow: var(--borders--base);*/
  border-radius: 0 6px 6px 0;
  margin-left: 0 !important;
  opacity: 1;
}
.js-input-column input,
.js-input-column .input-group-with-border,
.js-input-column input:focus,
.js-input-column .input-group-with-border:focus,
.table-amb2bfastbuy .search-widget input,
.table-amb2bfastbuy .search-widget input:focus {
  border: none !important;
}

#side_products_cart,
#side_amwishlist,
#side_wishlist {
  background: #ffffff;
  box-shadow: var(--borders--base);
  border: none;
}

.st-menu-header {
  background: var(--color--bg-subtle);
  color: var(--color--fg-base);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--color--border-base);
  padding: 12px 14px;
}
.st-menu-header .st-menu-title {
  text-transform: none;
  font-size: 14px;
}
.myacount_dashbord_list .list-group-item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 24px;
  gap: 24px;
  background: #ffffff;
  box-shadow: none;
  border-radius: 0 !important;
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 700;
  font-size: 16px;
  line-height: 150%;
  text-align: center;
  color: var(--color--fg-base);
  overflow: hidden;
  border: none;
  border-bottom: 1px solid var(--color--border-base);
}
.my_account_left_column .list-group {
  background: #ffffff;
  border-radius: 0;
  border: none;
  overflow: hidden;
  box-shadow: none;
}
.my_account_left_column .list-group .list-group-item {
  border-bottom: 1px solid var(--color--border-base);
  border-top: none;
  border-left: 5px solid transparent;
  border-right: none;
  border-radius: 0;
  overflow: hidden;
  margin-bottom: 0;
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 500;
  font-size: 16px;
  line-height: 150%;
  color: var(--color--fg-subtle);
  transition: border-color 0.2s, color 0.2s;
}
.my_account_left_column .list-group .list-group-item.active {
  border-left-color: var(--color--link);
  color: var(--color--fg-base);
  font-weight: 700;
  background-color: #ffffff;
  border-color: var(--color--link);
  border-bottom-color: var(--color--border-base);
  border-top: none;
  border-right: none;
}
.my_account_left_column .list-group .list-group-item.active a {
  color: var(--color--fg-base);
}
.my_account_left_column .list-group .list-group-item:last-child {
  border-bottom: none;
}
.my_account_left_column .list-group .list-group-item i,
.myacount_dashbord_list .list-group-item i {
  display: none;
}

#identity .form_content {
  padding: 24px;
  gap: 24px;
  background: #ffffff;
  box-shadow: none;
  border-radius: 0;
}
.psgdprinfo17 {
  padding: 24px;
  gap: 8px;
  background: #ffffff;
  box-shadow: none;
  border-radius: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.address.card.card_trans {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 12px;
  gap: 12px;
  background: #ffffff;
  border: none;
  border-bottom: 1px solid var(--color--border-base);
  border-radius: 0;
}

.address.card.card_trans .address-body {
  padding: 0;
}
.address.card.card_trans .address-footer {
  padding: 0;
  border: none;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  padding: 0px;
  gap: 12px;
}
.address.card.card_trans .address-footer a {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 4px 8px;
  gap: 6px;
  background: #ffffff;
  box-shadow: var(--borders--base);
  border-radius: 6px;
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 500;
  font-size: 13px;
  line-height: 20px;
  color: var(--color--fg-base);
}
.address.card.card_trans .address-footer a i {
  color: var(--color--fg-subtle);
}
a[data-link-action="add-address"] {
  display: inline-flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 4px 8px;
  gap: 6px;
  background: var(--color--button-inverted);
  box-shadow: var(--buttons--inverted);
  border-radius: 6px;
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 500;
  font-size: 13px;
  line-height: 20px;
  color: rgba(255, 255, 255, 0.88);
}

#customer-form .form-footer {
  margin-top: 24px;
}
.action_line div {
  display: flex;
  flex-direction: row;
  gap: 24px;
}
.action_line button {
  cursor: pointer;
}

/* Panel de cuenta del cliente: fondo blanco, sin cajas */
#my-account #wrapper,
#identity #wrapper,
#addresses #wrapper,
#address #wrapper,
#order-detail #wrapper,
#history #wrapper,
#order-slip #wrapper,
#discount #wrapper,
#order-follow #wrapper,
#module-psgdpr-gdpr #wrapper,
#module-amcatalogmanagement-account #wrapper,
#module-ps_emailalerts-account #wrapper,
#module-amdevtools-viewClientDocs #wrapper {
  background: #ffffff;
}
#my-account #content-wrapper,
#identity #content-wrapper,
#addresses #content-wrapper,
#address #content-wrapper,
#order-detail #content-wrapper,
#history #content-wrapper,
#order-slip #content-wrapper,
#discount #content-wrapper,
#order-follow #content-wrapper,
#module-psgdpr-gdpr #content-wrapper,
#module-amcatalogmanagement-account #content-wrapper,
#module-ps_emailalerts-account #content-wrapper,
#module-amdevtools-viewClientDocs #content-wrapper {
  background: #ffffff;
}
#my-account .breadcrumb_spacing,
#identity .breadcrumb_spacing,
#addresses .breadcrumb_spacing,
#address .breadcrumb_spacing,
#order-detail .breadcrumb_spacing,
#history .breadcrumb_spacing,
#order-slip .breadcrumb_spacing,
#discount .breadcrumb_spacing,
#order-follow .breadcrumb_spacing,
#module-psgdpr-gdpr .breadcrumb_spacing,
#module-amcatalogmanagement-account .breadcrumb_spacing,
#module-ps_emailalerts-account .breadcrumb_spacing,
#module-amdevtools-viewClientDocs .breadcrumb_spacing {
  background: #ffffff;
}

.table-amb2bfastbuy {
  padding: 12px;
  background: #ffffff;
  border: 1px solid var(--color--border-base);
}

.products_sldier_swiper .swiper-wrapper {
  padding: 10px 0;
}
.pro_second_box .ajax_add_to_cart_button {
  width: 100%;
  height: 40px;
}
.pro_second_box .ajax_add_to_cart_button span {
  display: none;
}
.qty_wrap {
  width: 100%;
  min-width: auto;
  gap: 8px;
  display: flex;
  flex-direction: column;
}
.pro_cart_block .add-to-cart.btn {
  width: 100%;
  height: 40px;
}
.pro_cart_block .product-quantity {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  gap: 6px;
}
.pro_cart_block .product-quantity .add {
  width: 100%;
}

.category-cover img {
  background: var(--color--bg-subtle);
  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.08),
    0px 1px 2px -1px rgba(0, 0, 0, 0.08), 0px 2px 4px rgba(0, 0, 0, 0.04);
  border-radius: 12px;
  max-height: 200px;
  overflow: hidden;
  object-fit: cover;
}

#subcategories .inline_list li a.img {
  width: 100px;
  height: 100px;
  background: var(--color--bg-subtle);
  box-shadow: var(--card-rest);
  border-radius: 250px;
  overflow: hidden;
}
#subcategories .inline_list li a.img img {
  object-fit: cover;
  height: 100%;
}
#subcategories .subcate_grid_view {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: safe center;
  gap: 16px 24px;
  overflow-x: auto;
  margin-left: 0;
  margin-right: 0;
  padding-bottom: 8px;
  cursor: grab;
  scrollbar-width: thin;
  scrollbar-color: var(--color--border-base) transparent;
}
#subcategories .subcate_grid_view::-webkit-scrollbar {
  height: 6px;
}
#subcategories .subcate_grid_view::-webkit-scrollbar-track {
  background: transparent;
}
#subcategories .subcate_grid_view::-webkit-scrollbar-thumb {
  background: var(--color--border-base);
  border-radius: 3px;
}
#subcategories .subcate_grid_view li {
  max-width: 120px;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-content: center;
  justify-content: flex-start;
  align-items: center;
}
#subcategories .subcate_grid_view li:not(:has(a.img))::before {
  display: none;
}
#subcategories .subcate_grid_view li:not(:has(a.img)) h3.s_title_block {
  overflow: visible;
}
#subcategories .subcate_grid_view li:not(:has(a.img)) a.subcategory-name {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
#subcategories .subcate_grid_view li:not(:has(a.img)) a.subcategory-name::before {
  content: "";
  width: 100px;
  height: 100px;
  background: var(--color--bg-subtle);
  border: 1px solid var(--color--border-base);
  border-radius: 250px;
  display: block;
}
/* Punto 94: entre 769px y 991px (zoom/DPI alto en desktop, o ventana estrecha)
   la barra de filtros de categoria (#js-product-list-top, .flex_container de
   Panda) no lleva flex-wrap y el JS del theme aun no ha activado el layout
   movil (que arranca ~992px) - los elementos (buscador, checkboxes Cliente/
   Laboratorio) se salen del contenedor y quedan cortados en vez de bajar de
   linea. El breakpoint movil de abajo (max-width:768px) ya soluciona esto
   pero deja ese hueco intermedio sin cubrir. */
@media (min-width: 769px) and (max-width: 991px) {
  #js-product-list-top {
    flex-wrap: wrap;
    row-gap: 10px;
  }
  #js-product-list-top .minimal-search-container {
    flex: 1 1 100%;
    max-width: 100%;
    order: 3;
  }
}
@media (max-width: 768px) {
  #subcategories .inline_list li a.img {
    width: 80px;
    height: 80px;
  }
  #subcategories .subcate_grid_view li:not(:has(a.img)) a.subcategory-name::before {
    width: 80px;
    height: 80px;
  }
  #js-product-list-top {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: flex-start;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  /* Reset márgenes y padding - solo gap funciona */
  #js-product-list-top > * {
    margin: 0 !important;
  }
  /* Ocultar elementos innecesarios en móvil */
  #js-product-list-top .flex_child,
  #js-product-list-top .paginaton_sample {
    display: none !important;
  }
  /* Fila 1: Filtrar (grande) + iconos grid (auto) = 100% */
  #js-product-list-top .filter-button {
    flex: 1 0 70% !important;
    order: 1 !important;
    padding: 0 !important;
  }
  #js-product-list-top .filter-button a {
    width: 100% !important;
    display: block !important;
    text-align: center;
  }
  #js-product-list-top .list_grid_switcher {
    flex: 0 0 auto !important;
    order: 1 !important;
  }
  /* Fila 2: Relevancia + selector marcas */
  #js-product-list-top .products-sort-order {
    flex: 1 1 calc(50% - 4px) !important;
    max-width: calc(50% - 4px) !important;
    order: 2 !important;
  }
  #js-product-list-top .products-sort-order .dropdown_tri {
    width: 100%;
  }
  #js-product-list-top .facet {
    flex: 1 1 calc(50% - 4px) !important;
    max-width: calc(50% - 4px) !important;
    order: 2 !important;
  }
  #js-product-list-top .facet-dropdown {
    width: 100%;
    max-width: 100%;
  }
  /* Fila 3: Buscador */
  #js-product-list-top > .minimal-search-container,
  #js-product-list-top > .minimal-search-container.mx-3 {
    order: 3;
    flex: 1 1 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    display: block !important;
    margin: 0 !important;
  }
  #js-product-list-top .minimal-search-container .simple-search-form {
    flex-wrap: wrap !important;
    width: 100%;
  }
  #js-product-list-top .minimal-search-container .simple-input-wrapper {
    flex: 1 1 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
  }
  /* Fila 4: Más vendido (checkboxes) */
  #js-product-list-top .minimal-search-container .search-options-wrapper {
    flex: 1 1 100% !important;
    width: 100% !important;
    margin-top: 8px;
  }
  .minimal-search-container.mx-3 {
    margin-left: 0 !important;
    margin-right: 0 !important;
    & .simple-input-wrapper {
      margin-left: 0 !important;
    }
  }
  /* Eliminar dropdown anidado para filtro de marcas en móvil */
  #js-product-list-top .facet .facet-title-mobile {
    display: none !important;
  }
  #js-product-list-top .facet .facet_filter_box {
    display: block !important;
    height: auto !important;
  }
  #js-product-list-top .facet .facet-dropdown {
    margin-left: 0;
  }
  /* Fila 5: boton Borrar Filtros (punto 46) */
  #js-product-list-top #js-active-search-filters.active_filters_box {
    order: 5 !important;
    flex: 1 1 100% !important;
    width: 100% !important;
    justify-content: flex-end !important;
    margin-left: 0 !important;
  }
}
.top-miniature {
  display: flex;
  flex-direction: row;
  flex: 1;
}
.top-left-min {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
  align-items: stretch;
}
.top-left-min div {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 400;
  font-size: 12px;
  line-height: 150%;
  color: var(--color--fg-muted);
  padding: 0;
}
.miniature_stock {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  padding: 0px 4px 0px 4px !important;
  background: var(--color--bg-subtle);
  border-radius: 6px;
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 500;
  font-size: 12px;
  line-height: 20px;
  color: var(--color--fg-subtle);
  gap: 4px;
  width: fit-content;
}
.status-block-stock {
  padding: 3.5px;
}
.status-stock {
  width: 8px;
  height: 8px;
  border: 1px solid rgba(24, 24, 27, 0.12);
  border-radius: 50%;
}
.status-stock.stock-green {
  background: #10b981;
}
.status-stock.stock-red {
  background: #f43f5e;
}

.pro_list_pvp_stock {
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-start;
  gap: 4px;
}
.pro_list_pvp_stock .pvp-value {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 700;
  font-size: 13px;
  line-height: 150%;
  color: var(--color--fg-base);
}
.pro_list_pvp_stock .pvp-value strong {
  font-weight: 700;
  color: var(--color--fg-base);
}

.box-block {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
}
.discount_unit {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.discount_unit p {
  margin-bottom: 0;
}
.pro_second_box .product-price-and-shipping,
.pro_second_box .s_title_block {
  padding-bottom: 0;
  margin-bottom: 0;
}

.product-price-and-shipping .price {
  color: var(--color--brand-blue) !important;
}

.pro_kuan_box {
  justify-content: flex-end;
}
.pro_kuan_box .product-price-and-shipping {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 8px;
  width: 100%;
  justify-content: flex-end;
}
.pro_kuan_box .product-price-and-shipping .price {
  order: 2;
  font-weight: 600;
  font-size: 18px;
}
.pro_kuan_box .product-price-and-shipping .regular-price {
  order: 1;
  font-size: 14px;
}
.info-top-prod {
  display: flex;
  flex-direction: row;
  gap: 32px;
  justify-content: space-between;
}
.info-top-prod .product-reference,
.info-top-prod .product-ean {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 400;
  font-size: 14px;
  line-height: 150%;
  color: var(--color--fg-base);
}
.desc-block-prod {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.divider {
  width: 100%;
  height: 1px;
  background: var(--color--border-base);
  margin-top: 24px;
  margin-bottom: 24px;
}
.product_price-top {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.product-prices {
  width: 100%;
}
.product-variants.js-product-variants,
#product-availability,
.product-discounts {
  display: none;
}
.accordion_more_info .mobile_tab .tab-pane p:last-child {
  margin-bottom: 0;
}
.title-comb {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 400;
  font-size: 14px;
  line-height: 150%;
  color: var(--color--fg-base);
  font-weight: bold;
  margin: 0;
}
.discount_unit {
  display: flex;
  flex-direction: row;
  gap: 32px;
}
.title-comb span {
  font-weight: 400;
  font-size: 12px;
}
.custom-price {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 8px;
}
@media (max-width: 768px) {
  .custom-price {
    align-items: flex-start;
  }
}
.custom-price .discount-price-custom .custom-price .normal-price-custom {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 400;
  font-size: 14px !important;
  line-height: 150%;
  color: #18181b !important;
}
.custom-price .discount-price-custom .regular-price {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: bold;
  font-size: 14px !important;
  line-height: 150%;
  color: #18181b !important;
  text-decoration: none;
}
.custom-price .pvp-iva-line {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.pvl-discounts-row {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  flex-wrap: wrap;
}
.custom-price .normal-price-custom {
  display: block;
}
.custom-price .normal-price-custom .price.pvl-oferta-price {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: bold;
  font-size: 28px !important;
  line-height: 1.2;
  color: var(--color--brand-blue) !important;
}
.custom-price .pvp-price-custom {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 400;
  font-size: 14px;
  line-height: 150%;
  color: #18181b;
}
.product-prices {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.discount_unit ul {
  padding: 0;
  margin: 0;
}
.pro_second_box .discount_unit {
  flex-direction: column;
  gap: 8px;
  margin-bottom: 8px;
}
@media (max-width: 768px) {
  .info-top-prod,
  .product_price-top,
  .current-price,
  .discount_unit {
    flex-direction: column;
    gap: 8px;
  }
}
.images-container.pro_number_xl_1,
.images-container.pro_number_xl_1 .pro_gallery_thumbs_horizontal {
  max-width: 100%;
}
.images-container.pro_number_xl_1 img.pro_gallery_item {
  width: 100%;
}

/* VIEW SWITCH — show/hide correct template without page reload */
.product_list.grid .view-list,
.product_list.row .view-list { display: none; }
.product_list.list .view-grid { display: none; }

/* LIST VIEW — 2-column reorganized layout (product-list.tpl) */
.product_list.list .ajax_block_product .pro_outer_box {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 28px;
}
.product_list.list .ajax_block_product .pro_first_box {
  max-width: 200px;
  min-width: 200px;
  box-shadow: none;
  border: none;
}
.product_list.list .pro_second_box.list-grid {
  display: grid !important;
  grid-template-columns: 1fr 2fr;
  gap: 8px 32px;
  align-items: start;
  width: 100%;
  margin-left: 0;
  padding: 16px 28px !important;
}
.product_list.list .list-info-col {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-top: 4px;
  border-right: 1px solid #e4e4e7;
  padding-right: 16px;
  margin-right: 4px;
}
.product_list.list .list-info-col .s_title_block {
  margin: 0;
  padding: 0;
}
.product_list.list .list-info-col .s_title_block a {
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
}
.product_list.list .list-info-col .product-meta {
  font-family: "TT Commons Pro";
  font-size: 12px;
  line-height: 150%;
  color: var(--color--fg-muted);
}
.list-brand-name {
  font-size: 13px;
  color: var(--color--fg-subtle, #52525b);
  font-weight: 400;
}
.product_list.list .list-info-col .pdp-info-list {
  margin: 4px 0;
}
.list-pvp-price-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 4px;
}
.list-pvp-price-row .pvp-value {
  font-size: 13px;
  color: var(--color--fg-muted, #a1a1aa);
}
.list-pvp-price-row .pvp-value s {
  text-decoration: line-through;
}
.list-info-price {
  font-size: 22px;
  font-weight: 700;
  color: var(--color--brand-blue);
  line-height: 1.2;
}
.product_list.list .list-actions-col {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  align-self: stretch;
  padding-top: 4px;
}
/* Antes era CSS grid con 2 columnas fijas (1fr auto): Ud.+Caja y el boton
   Añadir al carrito debian caber siempre en la misma fila sin importar el
   ancho disponible (sidebar de categoria, zoom del navegador, DPI alto...).
   Si no cabian, el boton se salia del contenedor y quedaba cortado por el
   borde de la pantalla en cualquier resolucion "de escritorio" normal, no
   solo en movil - vease captura de cliente con zoom/pantalla ampliada.
   Con flex-wrap el boton baja de linea solo cuando de verdad no hay sitio,
   sin depender de ningun breakpoint fijo. */
.product_list.list .list-actions-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  align-items: flex-end;
  justify-content: flex-end;
  width: 100%;
}
.product_list.list .list-actions-qty {
  flex: 0 1 auto;
  min-width: 0;
}
.product_list.list .list-actions-cart {
  flex: 0 0 auto;
}
.product_list.list .list-actions-cart .ajax_add_to_cart_button {
  width: auto !important;
  min-width: 130px;
  overflow: visible !important;
  padding: 0 14px !important;
}
.product_list.list .list-actions-cart .ajax_add_to_cart_button span {
  display: inline !important;
  position: static !important;
}
.product_list.list .list-actions-discounts {
  flex: 1 1 100%;
  align-self: stretch;
  margin-top: 16px;
}
.product_list.list .list-actions-discounts .discount_unit {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 0;
  margin-bottom: 0;
  width: 100%;
}

/* List view: right gap mirrors left filter column (col-lg-2 / col-lg-10 = 20%) */
@media (min-width: 992px) {
  .show-left-column .product_list.list {
    padding-right: 20%;
  }
}

/* Discount card */
.list-discount-card {
  border: 1.5px solid var(--color--brand-blue);
  border-radius: 8px;
  width: 100%;
  position: relative;
  margin-top: 16px;
}
.list-discount-header {
  background: var(--color--brand-blue);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  padding: 3px 10px;
  display: inline-block;
  border-radius: 6px;
  position: absolute;
  top: -14px;
  left: -1px;
}
.list-discount-gem {
  display: inline-block;
  width: 14px;
  height: 14px;
  vertical-align: middle;
  margin-left: 4px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/><circle cx='7.5' cy='7.5' r='1.5' fill='%23ffffff' stroke='none'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.discount-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  padding: 10px 16px;
  border-right: 1px solid #e4e4e7;
}
.discount-col:last-child {
  border-right: none;
}
.discount-qty-label {
  font-size: 12px;
  color: var(--color--fg-subtle, #52525b);
}
.discount-pct {
  font-size: 18px !important;
  font-weight: 700;
  color: var(--color--brand-blue) !important;
}

@media (max-width: 768px) {
  .product_list.list .ajax_block_product .pro_outer_box {
    flex-direction: column;
  }
  .product_list.list .ajax_block_product .pro_first_box {
    max-width: 100%;
    min-width: auto;
  }
  .product_list.list .pro_second_box.list-grid {
    grid-template-columns: 1fr;
  }
}

.col-caja li {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}

/* Pack discount block — grid & list views (hereda color #009b22 de .pro_second_box .discount_unit) */
.col-pack ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
.col-pack li.pack-label {
  font-weight: 600;
}


.cart-item.line_item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0px;
  background: #ffffff;
  /*  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.08),
    0px 1px 2px -1px rgba(0, 0, 0, 0.08), 0px 2px 4px rgba(0, 0, 0, 0.04);*/
  border-radius: 12px;
  overflow: hidden;
}

.cart-item.line_item hr {
  border-color: #f8f7f4;
}

.card-footer,
.card-header,
.card.card_trans,
.base_list_line .line_item {
  border: none;
}
.cart-item.line_item .row {
  margin: 0;
}
.cart-item.line_item .product-line-grid {
  width: 100%;
}

/* 4-column CSS Grid — image | info | discount | actions */
.product-line-grid > .cart-main-row {
  display: grid;
  grid-template-columns: 140px 1fr 0 360px;
  align-items: center;
  overflow: hidden;
}
.product-line-grid.has-discount > .cart-main-row {
  grid-template-columns: 140px 1fr 260px 360px;
}
.cart-col-image {
  padding: 16px;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cart-col-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.cart-col-info {
  padding: 12px 16px;
}
.cart-col-discount {
  overflow: hidden;
  padding: 8px 0;
}
.cart-col-actions {
  padding: 12px 16px;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
}
/* El carrito usaba columnas fijas (140px 1fr 260px 360px) sin cubrir el rango
   tablet (iPad 768-1024px): el breakpoint movil de abajo solo actuaba en
   <=767px, asi que en iPad la columna de acciones (qty/precio, 360px fija)
   no cabia y quedaba cortada por el overflow:hidden del grid (cliente,
   17/09: "en el carrito la parte de unidades no le aparece, no cuadra bien,
   es un iPad"). Mismo hueco/patron que Punto 94 en el listado de categoria:
   se reutiliza el layout apilado del movil tambien para tablet. */
@media (max-width: 1024px) {
  .product-line-grid > .cart-main-row,
  .product-line-grid.has-discount > .cart-main-row {
    grid-template-columns: 80px 1fr;
  }
  .cart-col-image {
    padding: 10px;
  }
  .cart-col-info {
    padding: 12px 12px 12px 0;
  }
  .cart-col-discount,
  .cart-col-actions {
    grid-column: 1 / -1;
    padding: 12px 16px 16px;
    border-left: none;
  }
  .cart-col-discount {
    border-top: 1px solid #f4f4f5;
    display: block;
    width: 100%;
  }
  .cart-col-discount .cart-discount-card {
    width: 100%;
  }
  .cart-col-discount .cart-discount-tiers {
    justify-content: flex-start;
  }
  .cart-col-actions {
    border-top: 1px solid #f4f4f5;
    align-items: flex-end;
  }
  .cart-col-actions .cart-price-header {
    text-align: right;
  }
  .cart-col-actions .cart-qty-stack {
    width: 100%;
  }
  .cart-col-actions .qty_wrap,
  .cart-col-actions .input-group.bootstrap-touchspin {
    display: inline-flex;
    width: auto;
    height: 44px;
    align-items: stretch;
  }
  .cart-col-actions .bootstrap-touchspin .form-control,
  .cart-col-actions .bootstrap-touchspin .btn-touchspin {
    width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    flex-shrink: 0;
    box-sizing: border-box;
  }
}

.bootstrap-touchspin .form-control,
.bootstrap-touchspin .btn-touchspin {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 4px 8px;
  gap: 6px;
  width: 40px;
  height: 40px;
  background: #ffffff;
  box-shadow: var(--borders--base);
  border-radius: 6px !important;
  border: none;
  color: #1b1b1c !important;
  -webkit-appearance: none;
}
.bootstrap-touchspin .form-control {
  width: 40px;
}

.cart-item.line_item .product-line-info .label {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: bold;
  font-size: 16px;
  line-height: 150%;
  color: var(--color--fg-base);
}
.cart-items.base_list_line {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.card-header {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: bold;
  font-size: 24px;
  line-height: 32px;
  color: var(--color--fg-base);
  text-align: left;
  text-transform: none;
}

.cart-summary {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 24px;
  gap: 24px;
  background: #ffffff !important;
  /*box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.08),
    0px 1px 2px -1px rgba(0, 0, 0, 0.08), 0px 2px 4px rgba(0, 0, 0, 0.04);*/
  border-radius: 12px;
}

.small_cart_product_list .products_line {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  padding: 0px !important;
  background: #ffffff;
  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.08),
    0px 1px 2px -1px rgba(0, 0, 0, 0.08), 0px 2px 4px rgba(0, 0, 0, 0.04);
  border-radius: 12px;
  margin: 0;
  overflow: hidden;
}
.small_cart_product_image {
  border: none;
}
.small_cart_product_list .products_line > div {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
.small_cart_sumary.base_list_line {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: stretch;
  padding: 24px;
  background: #ffffff;
  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.08),
    0px 1px 2px -1px rgba(0, 0, 0, 0.08), 0px 2px 4px rgba(0, 0, 0, 0.04);
  border-radius: 12px;
  margin: 0;
  overflow: hidden;
}

.voucher-ul {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: stretch;
  padding: 24px;
  background: #f8f7f4;
  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.08),
    0px 1px 2px -1px rgba(0, 0, 0, 0.08), 0px 2px 4px rgba(0, 0, 0, 0.04);
  border-radius: 12px;
  margin: 0;
  overflow: hidden;
}
.btn-footer-cart a:not(.close_right_side) {
  text-align: right;
}
.btn-footer-cart .close_right_side {
  background: #ffffff;
  box-shadow: var(--borders--base);
  text-align: left;
  color: var(--color--fg-base);
}

.btn-footer-cart {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  margin-top: 24px;
}
.btn-footer-cart a {
  width: 100%;
  margin-bottom: 0 !important;
  height: 40px;
}
.btn-footer-cart a:first-child {
  justify-content: flex-start;
}
.btn-footer-cart a:last-child {
  justify-content: flex-end;
}
.small_cart_sumary .last_one .cart-summary-k {
  font-weight: bold;
}
.small_cart_info .flex_container {
  display: flex;
  flex-direction: column;
}
.small_cart_info .flex_container .price-trash {
  display: flex;
  flex-direction: row;
}

.cart-item.line_item .product-line-grid-body .discount_unit {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 400;
  font-size: 12px;
  line-height: 150%;
  color: var(--color--fg-muted);
}
.cart-item.line_item .product-line-grid-body {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: flex-start;
  justify-content: center;
  align-items: flex-start;
  gap: 12px;
}

.cart-item.line_item .product-line-grid-body .product-price {
  display: flex;
  flex-direction: row;
  gap: 24px;
  align-items: center;
  margin-bottom: 0;
}

.row-inputs .discount-percentage,
.percent-new {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 4px 8px;
  gap: 10px;
  background: #d1fae5;
  border: 1px solid #a7f3d0;
  border-radius: 6px;
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 700;
  font-size: 16px;
  line-height: 150%;
  color: #065f46;
}
.cart-item.line_item .product-line-grid-body .product-price .current-price {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 150%;
  color: var(--color--fg-base);
}
.cart-item.line_item .product-line-grid-body .product-price .regular-price {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 150%;
  text-decoration-line: line-through;
  color: var(--color--fg-base);
}

.cart-item.line_item .product-line-grid-right select,
.cart-item.line_item .product-line-grid-right input {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 0px 8px;
  gap: 4px;
  background: var(--color--bg-subtle);
  box-shadow: none;
  border-radius: 6px;
  border: none;
}
.row-inputs {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: space-between;
  align-items: center;
}
.cart-final-price strong {
  color: var(--color--brand-blue);
  font-size: 16px;
  font-weight: 700;
}
.row-attr {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: flex-start;
  align-items: center;
}

.pendientes-carrito .content-block {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0px;
  background: #ffffff;
  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.08),
    0px 1px 2px -1px rgba(0, 0, 0, 0.08), 0px 2px 4px rgba(0, 0, 0, 0.04);
  border-radius: 12px;
  border: none;
  overflow: hidden;
}
.pendientes-info {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 150%;
  color: var(--color--fg-base);
}
.pendiente-info-ean13,
.pendiente-info-marca {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 400;
  font-size: 12px;
  line-height: 150%;
  color: var(--color--fg-muted);
}
.pendiente-info-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: 12px;
  width: 100%;
}
.pendiente-info-col .pendiente-info-name {
  margin: 0;
  padding: 0;
}
.pendientes-carrito .content-block .info-pend {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 1fr;
  grid-column-gap: 0px;
  grid-row-gap: 0px;

  width: 100%;
}
.pendientes-carrito .content-block .info-pend .pendientes-info {
  grid-area: 1 / 1 / 2 / 3;
}
.pendientes-carrito .content-block .info-pend .pendiente-in-stock {
  grid-area: 1 / 3 / 2 / 4;
}
.pendientes-carrito .content-block .info-pend .pendiente-accion {
  grid-area: 1 / 4 / 2 / 5;
  min-width: 100px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-end;
}

.pendientes-actions {
  display: flex;
  flex-direction: row;
  gap: 12px;
}

.por-encargo {
  font-family: "TT Commons Pro";
  font-style: normal !important;
  font-weight: 700;
  font-size: 16px;
  line-height: 150%;
  color: #18181b !important;
}

.content-block.selected {
  box-shadow: 0px 1px 2px rgba(30, 58, 138, 0.5), 0px 0px 0px 1px #3b82f6;
}

.selectPrdEncargo {
  display: none;
}
.content-block .btn-trash {
  display: flex;
}
.content-block.selected .btn-trash {
  display: none;
}
.content-block .btn-check {
  display: none;
}

.content-block.selected .btn-check {
  display: flex;
}
.btn-check {
  background: #3b82f6;
  box-shadow: 0px 1px 2px rgba(30, 58, 138, 0.5), 0px 0px 0px 1px #3b82f6;
}
.btn-check:hover {
  background: #2b6fde;
  box-shadow: 0px 1px 2px rgba(30, 58, 138, 0.5), 0px 0px 0px 1px #3b82f6;
}

.free-shipping-banner {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 10px 12px;
  gap: 12px;
  background: #d1fae5;
  border: 1px solid #a7f3d0;
  border-radius: 8px;
  margin-bottom: 15px;
}

.free-shipping-banner p {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 500;
  font-size: 13px;
  line-height: 150%;
  color: var(--color--fg-base);
  margin: 0;
  padding: 0;
  text-align: left;
}

.shipping-indicator {
  width: 4px;
  height: 100%;
  min-height: 12px;
  background: #22c55e;
  border-radius: 999px;
}
.row-inputs > div {
  gap: 12px;
}
@media (max-width: 768px) {
  .pendientes-carrito .content-block .info-pend {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 0px;
    grid-row-gap: 0px;
  }
  .pendientes-carrito .content-block .info-pend .pendientes-info {
    grid-area: 1 / 1 / 2 / 5;
  }
  .pendientes-carrito .content-block .info-pend .pendiente-in-stock {
    grid-area: 2 / 1 / 3 / 3;
  }
  .pendientes-carrito .content-block .info-pend .pendiente-accion {
    grid-area: 2 / 3 / 3 / 5;
    justify-content: center;
  }
  .cart-item.line_item .product-line-grid-body {
    padding: 12px;
  }
  .cart-item.line_item .product-line-grid-body .product-price,
  .cart-item.line_item .product-line-grid-right .row {
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
  }
  .row-attr {
    align-items: flex-start;
    flex-direction: column;
  }
}

.checkout_left_column,
.checkout_right_column {
  background: #ffffff;
  /*box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.08),
    0px 1px 2px -1px rgba(0, 0, 0, 0.08), 0px 2px 4px rgba(0, 0, 0, 0.04);*/
  border-radius: 12px;
}
.address-item .card_trans {
  border: 1px solid var(--color--border-base);
  border-radius: 6px;
}

.address-item .card_trans .address-footer {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 12px;
}
.address-item .card_trans .address-footer > a {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 4px 8px;
  gap: 6px;
  background: #ffffff;
  box-shadow: var(--borders--base);
  border-radius: 6px;
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 500;
  font-size: 13px;
  line-height: 20px;
  color: var(--color--fg-base);
  width: 100%;
}

.address-item .card_trans .address {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 150%;
  color: var(--color--fg-base);
}
.address-item .card_trans .address-alias {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 700;
  font-size: 16px;
  line-height: 150%;
  color: var(--color--fg-base);
}
.search-widget form button.btn-lupa {
  bottom: 0;
  right: 0;
  height: 100%;
  background: none;
  display: flex;
  align-items: center;
}
.search-widget form button.btn-lupa img {
  width: 18px;
}
.amb2bfastbuyxlsx-block-section {
  gap: 24px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-bottom: 24px;
}
.amb2bfastbuyxlsx-block-section .box-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 12px;
  border: none;
  background: #ffffff;
  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.08),
    0px 1px 2px -1px rgba(0, 0, 0, 0.08), 0px 2px 4px rgba(0, 0, 0, 0.04);
  border-radius: 12px;
  justify-content: space-between;
  gap: 12px;
}
.amb2bfastbuyxlsx-file-right {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  width: 100%;
  margin-right: 0;
}
.amb2bfastbuyxlsx-button-download-text,
.amb2bfastbuyxlsx-button-upload-text {
  margin-top: 0;
}
.amb2bfastbuyxlsx-button-download {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 6px 10px;
  gap: 6px;
  background: #ffffff;
  box-shadow: var(--borders--base);
  border-radius: 6px;
  border: none;
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 500;
  font-size: 13px;
  line-height: 20px;
  color: var(--color--fg-base);
  margin-top: 0;
  text-transform: none;
}

.amb2bfastbuyxlsx-button-upload {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 6px 10px;
  gap: 6px;
  background: var(--color--button-inverted);
  box-shadow: var(--buttons--inverted);
  border-radius: 6px;
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 500;
  font-size: 13px;
  line-height: 20px;
  color: rgba(255, 255, 255, 0.88);
  margin-top: 0;
  text-transform: none;
}
.amb2bfastbuyxlsx-button-download-icon,
.amb2bfastbuyxlsx-button-upload-icon {
  margin-right: 0;
  margin-top: 0;
  height: 15px;
}
.amb2bfastbuyxlsx-block-section .text-box {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 400;
  font-size: 14px;
  line-height: 150%;
  color: var(--color--fg-base);
}
.amb2bfastbuyxlsx-ball {
  padding: 4px;
  background: var(--color--fg-base);
  border-radius: 999px;
  width: 28px;
  height: 28px;
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 500;
  font-size: 13px;
  line-height: 20px;
  text-align: center;
  color: rgba(255, 255, 255, 0.88);
}
.amb2bfastbuyxlsx-title,
#module-amb2bfastbuy-buy .title_panel.h1.text-dark {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 500;
  font-size: 32px;
  line-height: 44px;
  letter-spacing: -0.005em;
  color: var(--color--fg-base);
  text-transform: none;
  text-align: left;
}
.amb2bfastbuyxlsx-subtitle {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 400;
  font-size: 14px;
  line-height: 150%;
  color: var(--color--fg-base);
}
#module-amb2bfastbuyxlsx-buy .center_column {
  margin-bottom: 72px;
}
@media (max-width: 768px) {
  .amb2bfastbuyxlsx-block-section {
    grid-template-columns: repeat(1, 1fr);
  }
  .amb2bfastbuyxlsx-title,
  #module-amb2bfastbuy-buy .title_panel.h1.text-dark {
    font-family: "TT Commons Pro";
    font-style: normal;
    font-weight: 500;
    font-size: 24px;
    line-height: 32px;
    color: var(--color--fg-base);
  }
}

.box-contact {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 24px;
  gap: 24px;
  background: #ffffff;
  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.08),
    0px 1px 2px -1px rgba(0, 0, 0, 0.08), 0px 2px 4px rgba(0, 0, 0, 0.04);
  border-radius: 12px;
}

#contact .contact-form form {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 24px;
  gap: 24px;
  background: #ffffff;
  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.08),
    0px 1px 2px -1px rgba(0, 0, 0, 0.08), 0px 2px 4px rgba(0, 0, 0, 0.04);
  border-radius: 12px;
}

.right-boxes {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.right-boxes p {
  margin-bottom: 0;
}
#product .tab-content #product-details {
  display: none;
}
.pro_extra_info_content a[itemprop="brand"] img {
  border: none;
}

#steasy_column_13 {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 24px;
  justify-content: center;
  flex-wrap: nowrap;
}
@media (max-width: 768px) {
  #steasy_column_13 {
    flex-direction: column;
  }
}

#header_right_top {
  display: flex;
  flex-direction: row;
  gap: 12px;
}
.header-item-comercial {
  text-align: center;
  /*  background-color: #f8f7f4;*/
  border: 1px solid #f8f7f4;
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 400;
  font-size: 14px;
  line-height: 150%;
  color: var(--color--fg-base);
  padding: 6px 10px;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: center;
  align-items: flex-start;
  cursor: pointer;
  border-radius: 6px;
  max-width: 224px;
  width: 100%;
}
.header-item-comercial:hover {
  background: #f8f7f4;
}
.header-item-comercial p {
  margin: 0;
}
.header-item-comercial p:nth-child(1) {
  font-weight: bold;
}
.header-item-comercial p:nth-child(2) {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  max-width: 224px;
  text-align: left;
}
#header_right,
#header_right_top {
  height: 100%;
}

.account.top_bar_item .header_item {
  text-align: center;
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 150%;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
}
.account.top_bar_item,
.blockcart.top_bar_item {
  height: 100%;
  display: flex;
  align-items: center;
  flex-direction: row;
}
.account.top_bar_item:hover,
.blockcart.top_bar_item:hover {
  background: #f8f7f4;
}
.blockcart.top_bar_item .st_shopping_cart {
  position: relative;
}
.account.top_bar_item .header_item svg {
  min-width: 15px;
}
.account.top_bar_item .header_v_align_m {
  text-align: left;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  max-width: 224px;
}

.amount_circle {
  background: #f8f7f4;
  color: #1b1b1c;
  width: auto !important;
  padding: 2px 3px !important;
  left: 0px;

  font-size: 14px;
  right: auto;
  height: auto;
  min-width: 18px;
  position: relative;
}
.st_shopping_cart .mar_r4 {
  width: auto;
  height: auto;
  display: flex;
}

#mobile_bar_top .ajax_cart_bag {
  border: none;
  padding: 0;
  margin: 0;
  width: auto;
  height: auto;
}
#mobile_bar_top .mobile_bar_tri {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  align-items: center;
  justify-content: center;
}
#mobile_bar_top .ajax_cart_bag .amount_circle {
  height: auto;
}

/* Commercial profile mobile bar icon */
#mobile_bar_top .comercial_mobile_bar_tri {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0;
  text-decoration: none;
  color: var(--color--fg-base);
}
#mobile_bar_top .comercial_mobile_bar_tri svg {
  width: 20px;
  height: 20px;
}
#mobile_bar_top .comercial_mobile_bar_tri .mobile_bar_tri_text {
  font-size: 10px;
  margin-top: 4px;
  color: var(--color--fg-muted);
}
#side_stmobilemenu,
#side_search {
  background: #ffffff;
  box-shadow: var(--borders--base);
  border-radius: 0 12px 12px 0;
  transition: transform 0.3sease-in-out;
  border: none;
}
#side_mobile_nav,
#side_products_cart,
#side_amwishlist,
#side_wishlist {
  background: #ffffff;
  box-shadow: var(--borders--base);
  transition: transform 0.3sease-in-out;
  border: none;
}
#side_stmobilemenu .st-menu-header,
#side_search .st-menu-header,
#side_mobile_nav .st-menu-header,
#side_products_cart .st-menu-header,
#side_amwishlist .st-menu-header,
#side_wishlist .st-menu-header {
  background: var(--color--bg-subtle);
  color: var(--color--fg-base);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--color--border-base);
  padding: 12px 14px;
}

.paginaton_sample,
#sidebar_box {
  display: none;
}
@media only screen and (max-width: 991px) {
  .slide_lr_column #left_column.sidebar_opened,
  .slide_lr_column #right_column.sidebar_opened {
    bottom: 0px;
  }
}

.sidebar_opened #search_filters_wrapper {
  margin-top: 20px;
}

@media only screen and (max-width: 768px) {
  .top-miniature {
    flex-direction: column;
    gap: 8px;
    & .top-right-min {
      position: relative;
    }
  }
  .pro_second_box .ajax_add_to_cart_button {
    flex: 1;
  }
}

.row-buttons {
  display: flex;
  flex-direction: row;
  gap: 12px;
}
.addtocartfromurl_content {
  margin: 20px 0;
  float: none;
}
.addtocartfromurl_content i {
  display: none;
}
.addtocartfromurl-my-account {
  padding: 24px;
  gap: 24px;

  & i {
    display: none;
  }

  & .cart-grid-body {
    margin: 20px 0 !important;
    padding: 0;
    background: #ffffff;
    box-shadow: var(--card-rest);
    border-radius: 12px;
    border: none;
    overflow: hidden;

    & .card {
      width: 100%;
      border: none;
    }
  }
}
.tags-stock {
  display: flex;
  flex-direction: row;
  gap: 8px;
  flex-wrap: wrap;
}
.tags-stock .miniature_stock {
  padding: 1px 4px;
}

#register_form_block {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 12px;
  gap: 12px;
  background: #ffffff;
  border: none;
  border-radius: 6px;
  & .page_heading {
    font-family: "TT Commons Pro";
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    line-height: 150%;
    color: var(--color--fg-base);
  }
}
#customer-form section {
  padding: 12px;
  gap: 12px;
  background: #ffffff;
  border: none;
  border-radius: 6px;
  width: fit-content;
  margin: auto;
  & h3 {
    font-family: "TT Commons Pro";
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    line-height: 150%;
    color: var(--color--fg-base);
  }
  & .col-md-4,
  & .col-md-3,
  & .col-md-2 {
    width: 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  & .custom-checkbox .col-md-12 {
    padding: 0;
    & i {
      display: none;
    }
  }
  & input[type="text"],
  & input[type="email"],
  & input[type="password"] {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 0px 8px;
    gap: 4px;
    background-color: var(--color--bg-subtle);

    border-radius: 6px;
    border: none;
  }
  & .input-group {
    & input {
      border-bottom-right-radius: 0;
      border-top-right-radius: 0;
    }
    & .input-group-btn button {
      border-bottom-left-radius: 0;
      border-top-left-radius: 0;
      background: var(--color--bg-subtle);
      box-shadow: var(--borders--base);
      border-radius: 0 6px 6px 0;
      margin-left: 0 !important;
      opacity: 1;
      border: none;
    }
  }

  & select {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 0px 8px;
    gap: 4px;
    background-color: var(--color--bg-subtle);

    border-radius: 6px;
    border: none;
    height: 34px;
  }
}

/* Permitimos el scroll de la página cuando hay un sidebar abierto.
   El overlay y los sidebars son position:fixed, así que se mantienen en
   viewport sin importar el scroll. El usuario puede hacer scroll detrás
   aunque el contenido quede sin foco. */

#st-content-inner-after,
#st-pusher-after {
  background: rgba(30, 30, 30, 0.3);
  transition: opacity 0.3s;
}

/* Overlay sidebar reparented al body (custom.js) — posicionarlo en viewport.
   El original vive dentro de .st-pusher (transform), lo que rompe fixed.
   Lo movemos a body con position: fixed para cubrir todo el viewport.
   Solo los reparentados (body >) llevan blur — el overlay nativo de panda
   (#st-pusher-after dentro de .st-pusher) queda sin blur para el carrito. */
body > #st-pusher-after,
body > #st-content-inner-after {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 500;
  display: block;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  backdrop-filter: blur(4px);
  transition: opacity 0.5s ease, visibility 0s linear 0.5s;
}

body:has(#st-container.open_bar_right) > #st-pusher-after,
body:has(#st-container.open_bar_left) > #st-pusher-after,
body:has(#st-container.open_bar_right) > #st-content-inner-after,
body:has(#st-container.open_bar_left) > #st-content-inner-after {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transition: opacity 0.5s ease, visibility 0s linear 0s;
}

/* Carrito: sin overlay — el usuario puede seguir navegando con el carrito abierto. */
.open_bar_right #st-pusher-after,
.open_bar_right #st-content-inner-after,
body:has(#st-container.open_bar_right) > #st-pusher-after,
body:has(#st-container.open_bar_right) > #st-content-inner-after {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Sidebars panel: slide-in/out con transform en lugar de z-stacking trick
   (panda original ocultaba sidebar tras .st-pusher z:99). Aquí sidebar
   z:1000 siempre y se desliza off-viewport via translateX cuando no está
   sidebar_opened. transition-property: transform evita el flicker que
   causaba la interpolación de z al heredar `transition: 0.5s` global. */
.st-menu {
  z-index: 1000 !important;
  transition-property: transform !important;
  transition-duration: 0.5s !important;
  transition-timing-function: ease !important;
}

#side_products_cart,
#side_amwishlist {
  transform: translateX(100%);
}
#side_products_cart.sidebar_opened,
#side_amwishlist.sidebar_opened {
  transform: translateX(0);
  visibility: visible;
}

#side_stmobilemenu,
#side_search {
  transform: translateX(-100%);
}
#side_stmobilemenu.sidebar_opened,
#side_search.sidebar_opened {
  transform: translateX(0);
  visibility: visible;
}

/* Disable overlay/blur when wishlist sidebar is open */
body:has(#side_amwishlist.sidebar_opened) #st-content-inner-after,
body:has(#side_amwishlist.sidebar_opened) #st-pusher-after {
  background: transparent !important;
  backdrop-filter: none !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

/* Left border on wishlist sidebar so it doesn't blend with white page */
#side_amwishlist.sidebar_opened {
  border-left: 1px solid var(--color--border-base);
}
#module-amb2bfastbuy-buy {
  .table-amb2bfastbuy {
    & td.product {
      text-align: left;
    }
    & td.product > .img_product {
      display: inline-block;
      vertical-align: top;
      max-width: 80px;
      margin-right: 10px;
    }
    & td.product > .info_product {
      display: inline-block;
      vertical-align: top;
      text-align: left;
    }
    & .img_product img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    & .name_product h5 {
      font-family: "TT Commons Pro";
      font-style: normal;
      font-weight: 400;
      font-size: 1rem;
      line-height: 150%;
      color: var(--color--fg-base);
    }
    & .ean13,
    & .manufacturer_name {
      font-family: "TT Commons Pro";
      font-style: normal;
      font-weight: 400;
      font-size: 12px;
      line-height: 150%;
      color: var(--color--fg-muted);
      padding: 0;
    }
    & .ean13 p {
      margin: 0;
      padding: 0;
    }
  }
  & .ui-autocomplete {
    background: white;
    box-shadow: var(--card-rest);
    border-radius: 6px;
    border: none;
    overflow: hidden;
    & .ui-menu-item {
      border-bottom: 1px solid var(--color--border-base);
      &:last-child {
        border-bottom: none;
      }
    }
    & :hover {
      background-image: none;
      background-color: var(--color--bg-subtle);
    }
    & .img-buscar {
      height: 40px;
      aspect-ratio: 1/1;
      & img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
    }
    & .nombre-buscar {
      font-family: "TT Commons Pro";
      font-style: normal;
      font-weight: 400;
      font-size: 14px;
      line-height: 150%;
      color: var(--color--fg-base);
      text-transform: none;
    }
    & .descripcion-buscar {
      font-family: "TT Commons Pro";
      font-style: normal;
      font-weight: 400;
      font-size: 12px;
      line-height: 150%;
      color: var(--color--fg-muted);
      text-transform: none;
    }
  }
}

.search_product_row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  & .search_product_name {
    flex: auto;
  }
}
.cart-overview-addtocartfromurl {
  & .cart-items {
    display: flex;
    flex-direction: column;
    gap: 8px;
    & .cart-item {
      padding: 4px;
      border-bottom: 1px solid var(--color--border-base);
      overflow: hidden;
      &:last-child {
        border-bottom: none;
      }
      & .product-line-grid-body {
        padding: 8px;
      }
    }
    & .cart-item.addtocartfromurl_loadmore {
      background: none !important;
      backdrop-filter: none !important;
      -webkit-backdrop-filter: none !important;
      border-radius: 0 !important;
      padding: 0 !important;
      color: inherit !important;
      font-weight: inherit !important;
      font-size: inherit !important;
      border: none !important;
      cursor: pointer;
      position: relative !important;
      width: auto !important;
      left: auto !important;
      right: auto !important;
      bottom: auto !important;
      z-index: auto !important;
      & .product-line-grid {
        width: 100% !important;
      }
    }
    & .addtocartfromurl_loadmore {
      display: flex;
      flex-direction: row;
      justify-content: center;
      align-items: center;
      padding: 12px 24px;
      color: var(--color--fg-base);
      font-weight: 500;
      font-size: 16px;
      border: none;
      cursor: pointer;
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      width: 100%;
      z-index: 4;
      background: linear-gradient(
        to bottom,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 1) 50%
      );
    }
  }
}

/* TABLET */
@media (max-width: 1024px) {
  .row-blocks-atencion {
    overflow-x: scroll;
  }
  .ValuePropositionCard {
    min-width: 256px;
  }
  #header_left .search_widget_form_inner {
    width: 120px;
  }
  #header_left .header_box,
  #header_left .st_mega_menu {
    gap: 12px;
  }
}

.ajax_block_product .s_title_block.flex_child {
  height: auto;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
/* Igualar altura de tarjetas de producto en sliders y grids */
.products_sldier_swiper .swiper-wrapper {
  align-items: stretch !important;
}
.products_sldier_swiper article.ajax_block_product.swiper-slide {
  height: auto !important;
  display: flex !important;
  flex-direction: column;
}
.products_sldier_swiper article.ajax_block_product .pro_outer_box {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.products_sldier_swiper article.ajax_block_product .pro_second_box {
  flex: 1;
}
.product_list.grid .pro_second_box {
  min-height: 300px;
}

.small_cart_info.flex_child {
  padding: 8px;
  width: 100%;
  display: flex;
  flex-direction: column;
}
.product_min_qty,
.product_delivery_in_stock,
.product_type_article {
  display: flex;
  flex-direction: row;
  align-items: center;
  align-content: center;
  justify-content: flex-start;
  gap: 4px;
}

.category-packs {
  & #left_column {
    display: none;
  }
  & #center_column {
    width: 100%;
    flex: 0 0 100%;
    max-width: 100%;
    & .category-cover img {
      width: 100%;
    }
  }
  & #products {
    display: none;
  }
  & #subcategories .subcate_grid_view {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    padding: 4px;
    flex-wrap: nowrap;
    justify-content: initial;
    overflow-x: visible;
    cursor: default;
  }
  & #subcategories .subcate_grid_view li {
    background: #ffffff;
    box-shadow: var(--card-rest);
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0;
    width: 100%;
    max-width: 100%;
    flex: 1 1 auto;
  }
  & #subcategories .subcate_grid_view li:has(a.img)::before {
    display: none;
  }
  & #subcategories .subcate_grid_view li:not(:has(a.img))::before {
    display: none;
  }
  & #subcategories .subcate_grid_view li:not(:has(a.img)) a.subcategory-name::before {
    display: none;
  }
  & #subcategories .subcate_grid_view li:not(:has(a.img)) a.subcategory-name {
    display: block;
  }
  & #subcategories .subcate_grid_view li:not(:has(a.img)) {
    justify-content: center;
  }
  & #subcategories .subcate_grid_view li:not(:has(a.img)) h3 {
    margin: 0;
    padding-top: 24px;
    padding-bottom: 24px;
  }
  & #subcategories .subcate_grid_view li a {
    width: 100%;
    border-radius: 12px;
  }
  & #subcategories .inline_list li a.img {
    width: 100%;
    height: auto;
    border-radius: 12px 12px 0 0;
    background: none;
    box-shadow: none;
  }
  & #subcategories .inline_list li a.img img {
    border-radius: 12px 12px 0 0;
    height: auto;
    object-fit: cover;
  }
}

@media (max-width: 768px) {
  .category-packs {
    & #subcategories .subcate_grid_view {
      grid-template-columns: 1fr 1fr;
    }
    & #subcategories .subcate_grid_view li a.img {
      width: 100%;
      height: auto;
    }
  }
}

/* Provisional */
/* BUTTON Beis */
.btn-beis,
.b2bregistration-top-link-text {
  background: #f8f7f4;
  box-shadow: none;
  /* Pendiente Hover */
  &:hover {
    background: #d8d1c5;
    box-shadow: none;
  }
}

#header_left .st_mega_menu a {
  font-weight: bold;
}

#st_mega_menu_wrap #st_ma_7.ma_level_0.is_parent:after,
#st_mega_menu_wrap #st_ma_2.ma_level_0.is_parent:after {
  display: none;
  content: none;
}
.products_sldier_swiper .pro_outer_box:hover .pro_second_box,
.product_list.grid .pro_outer_box:hover .pro_second_box {
  background-color: #ffffff;
}
.ajax_block_product:hover .pro_outer_box {
  box-shadow: 0 0 0 1px #c6b8a1, 0 1px 2px -1px #c6b8a114, 0 2px 4px #c6b8a10a;
  --borders--base: 0px 1px 2px rgba(0, 0, 0, 0.12),
    0px 0px 0px 1px rgba(0, 0, 0, 0.08);
}

#footer {
  border-top: 4px solid var(--color--fg-base);
}
.featured_categories_item .pro_outer_box:hover .pro_second_box {
  background: transparent;
}
#footer-tertiary .title_block .title_block_inner {
  font-weight: bold;
  text-transform: none;
}
#footer-tertiary a:hover {
  text-decoration: underline;
}
#footer-bottom #footer_bottom_left {
  float: right;
}
#footer-secondary {
  padding-bottom: 0rem;
}
.account.top_bar_item {
  /*  background: #f8f7f4;*/
  height: auto;
  border-radius: 6px;
  max-width: 224px;
  width: 100%;
  min-height: 54px;
  border: 1px solid #f8f7f4;
}
.account.top_bar_item:hover {
  background: #f8f7f4;
}
#header_primary .header_v_align_m {
  font-size: 14px;
}
.blockcart.top_bar_item {
  background: #d8d1c5;
  height: auto;
  border-radius: 6px;
  max-width: 224px;
  width: auto;
  min-height: 54px;
  font-size: 14px;
}
.blockcart.top_bar_item:hover {
  background: #d8d1c5;
}
.blockcart .flex_container {
  gap: 8px;
  & .mar_r4 {
    gap: 8px;
  }
}

.sidebar ul li {
  font-weight: bold;
}
.st-menu-title {
  font-size: 20px !important;
  font-weight: bold;
}
.small_cart_attr_attr {
  font-size: 12px;
}
.small_cart_product_list.voucher-ul {
  & p {
    font-size: 16px;
    font-weight: bold;
  }
  & .line_item {
    font-size: 12px;
    width: 100%;
  }
}
a[data-link-action="remove-voucher"] {
  text-align: right;
}
.voucher-toggle {
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.voucher-toggle i {
  transition: transform 0.3s;
  font-size: 14px;
}
.voucher-list-items {
  display: none;
  list-style: none;
  padding: 0;
  margin-top: 12px;
  background: transparent;
}
.voucher-list-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 5px 0;
  border-bottom: 1px solid #ebebeb;
  font-size: 13px;
}
.voucher-list-line .value {
  font-weight: bold;
}
.voucher-wrapper-summary {
  background: #f8f8f7;
  border-radius: 15px;
  padding: 15px;
  margin: 15px 20px;
}

.page_heading {
  font-size: 20px;
  font-weight: bold;
  text-transform: none;
}

#subcategories .subcate_grid_view li .subcategory-name {
  font-weight: bold;
}
#search_filters_wrapper .facet-title {
  font-weight: bold;
}
/* .flex_start.mini_name {
  flex: 1;
} */

.row-2.product-info-row2 {
  display: flex !important;
  justify-content: space-between;
}

body#product,
#product #body_wrapper {
  background-color: white;
}
.add_to_wishlist .btn_text {
  text-transform: none;
  text-decoration: underline;
}

.steasy_divider_item {
  border-color: #f9f8f5;
}
.divider {
  background: #f9f8f5;
}

.product_third_section {
  background: #f8f7f4;
  padding: 24px 0;
}
.product-line-grid-right .qty {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  & .qty_wrap {
    width: auto;
    max-width: auto;
  }
  & .input-group.bootstrap-touchspin {
    width: auto;
  }
}

.pendientes-carrito h4,
.addtocartfromurl_content h4 {
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: bold;
  font-size: 24px;
  line-height: 32px;
  color: var(--color--fg-base);
  text-align: left;
  text-transform: none;
}

.pendientes-carrito,
.addtocartfromurl_content {
  margin: 48px 0;
}

.bootstrap-touchspin .btn-touchspin:hover {
  background-color: #ffffff;
}

.btn-link {
  color: #1b1b1c;
  text-decoration: underline;
  font-size: 13px;
  font-family: "TT Commons Pro";
  font-style: normal;
  font-weight: bold;
}

.cart-item.line_item .cart-col-actions select,
.cart-item.line_item .cart-col-actions input,
.cart-item.line_item .product-line-grid-right select,
.cart-item.line_item .product-line-grid-right input {
  height: 40px;
}

.st-container,
.st-content,
.st-content-inner {
  overflow: initial;
}
.cart-summary {
  position: sticky;
  top: 100px;
}

.dropdown_list .dropdown_box {
  background-color: #ffffff;
}
.dropdown_list .dropdown_list_ul li {
  border-bottom: 1px solid #f8f7f4;
}
.checkout-step,
.address-item .card_trans {
  border-color: #f8f7f4;
}
.selected.address-item .card_trans {
  border-color: #1b1b1c;
}

.btn-continue-block {
  display: flex;
  justify-content: flex-end;
}
#checkout .btn {
  height: 44px;
}

.js-input-column select,
textarea {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 0px 8px;
  gap: 4px;
  background-color: var(--color--bg-subtle);
  /*    box-shadow: var(--borders--base);*/
  border-radius: 6px;
  border: none;
}

.checkout_header {
  padding: 0;
}

#checkout .delivery-option .carrier-delay,
#checkout .delivery-option .carrier-price,
#checkout .delivery-option .custom-radio {
  display: none;
}

#order-confirmation #body_wrapper {
  background-color: white;
}
#order-confirmation .base_list_line.dotted_line .line_item {
  border-bottom-style: solid;
  border-color: #f8f7f4;
}

#content-hook_payment_return {
  display: none;
}

#order-confirmation .cart-summary-wrap {
  padding-top: 24px;
}

.b2bregistration-top-link-text {
  background: white !important;
  border-radius: 6px;
  max-width: auto;
  width: auto;
  min-height: 54px;
  border: 1px solid #f8f7f4;
  display: flex;
  align-items: center;
  &:hover {
    background: #f8f7f4 !important;
  }
}

.login.top_bar_item {
  border-radius: 6px;
  max-width: auto;
  width: auto;
  min-height: 54px;
  border: 1px solid #f8f7f4;
  display: flex;
  align-items: center;
  &:hover {
    background: #f8f7f4 !important;
  }
}

.header_item .header_icon_btn_icon {
  display: none;
}

#registration .btn-primary,
#authentication .btn-primary {
  background: #0066cf;
  color: white;
  &:hover {
    background: #2f793f;
  }
}

.mobile_logo {
  height: 60px;
  & img {
    height: 100%;
    width: auto;
  }
}

@media (max-width: 768px) {
  .ajax_cart_quantity.amount_circle {
    bottom: 15px;
    right: -19px;
    background: #0066cf;
    color: #ffffff;
  }

  /* Reduce button heights from 40px to 32px on mobile */
  .btn-default {
    height: 32px;
  }

  .btn-primary {
    height: 32px;
  }

  .pro_second_box .ajax_add_to_cart_button {
    height: 32px;
  }

  .pro_cart_block .add-to-cart.btn {
    height: 32px;
  }

  .btn-footer-cart a {
    height: 32px;
  }

  .cart-item.line_item .product-line-grid-right select,
  .cart-item.line_item .product-line-grid-right input {
    height: 32px;
  }

  /* Reduce quantity input width and height from 40px to 32px on mobile */
  .s_quantity_wanted .pro_quantity.form-control,
  .s_quantity_wanted .input-group-btn .btn-touchspin,
  .bootstrap-touchspin #quantity_wanted,
  .qty_wrap.qty_wrap_big .btn {
    width: 32px;
    height: 32px;
  }

  .input-group.bootstrap-touchspin {
    height: 32px;
  }

  .bootstrap-touchspin .form-control,
  .bootstrap-touchspin .btn-touchspin {
    width: 32px;
    height: 32px;
  }

  .bootstrap-touchspin .form-control {
    width: 32px;
  }
}

.form-control:focus {
  background: #f8f7f4;
}

.register-form p:first-child {
  display: none;
}
#product-list-top-wrap .facet-dropdown {
  background: none;
  padding: 0;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 0px;
  padding: 8px;
  width: 100%;
  height: 32px;
  max-width: 280px;
  background: #ffffff;
  box-shadow: var(--borders--base);
  border-radius: 6px;
  border: none;
  margin-left: 0.75rem;
  & .select-title {
    background: none;
    padding: 0;
    & span {
      width: 100px;
    }
  }
  & .dropdown-menu {
    background-color: #ffffff !important;
    border: 1px solid #d9d9d9;
    width: auto;
    & a {
      border-bottom: 1px solid #f8f7f4;
      display: block;
      white-space: nowrap;
      padding: 8px;
      background-color: #ffffff;
    }
    & a:hover {
      background-color: #f7f7f7;
      color: #006ad2;
    }
    & a:last-child {
      border-bottom: none;
    }
  }
}

.minimal-search-container .simple-input-wrapper {
  background: #ffffff;
  margin-left: 0;
  box-shadow: var(--borders--base);
  border-radius: 6px;
  border: none;
  height: 32px;
  width: 100%;
  max-width: 280px;
  & .minimal-search-button {
    height: 32px;
    display: flex;
    padding: 0;
    width: 32px;
    align-content: center;
    justify-content: center;
    align-items: center;
  }
}
.search-options-wrapper {
  & .option-label {
    padding: 0;
    margin: 0;
  }
}

/* Punto 46: el toolbar (orden/vista/laboratorio/buscador/checkboxes/Borrar
   Filtros) debe quedarse siempre en una sola fila en desktop, sin que el
   "Mas vendido" se baje debajo del buscador. pga/menu.tpl trae su propio
   <style> con flex-wrap:wrap y un ancho fijo pensado para cuando esta solo;
   ahora comparte fila con mas elementos, asi que forzamos que no rompa
   linea y le damos prioridad de espacio frente a los demas items del
   toolbar (que si pueden encogerse: son textos/iconos cortos). */
@media (min-width: 769px) {
  #js-product-list-top .minimal-search-container {
    flex: 1 1 auto;
    min-width: 0;
  }
  #js-product-list-top .minimal-search-container .simple-search-form {
    flex-wrap: nowrap !important;
    min-width: 0;
    /* Si aun asi no cabe (pantallas ~1200px o menos), que se desplace en
       horizontal esta franja en vez de tapar el checkbox o bajarlo de
       linea: nunca se pierde contenido. */
    overflow-x: auto;
  }
  #js-product-list-top .minimal-search-container .simple-input-wrapper {
    /* Mantiene su ancho habitual (280px, igual que antes/pretesting) y solo
       se encoge si de verdad falta sitio (checkboxes + boton en la misma
       fila); no lo forzamos a 180px siempre. */
    flex: 1 1 280px;
    max-width: 280px;
    min-width: 160px;
  }
  #js-product-list-top .minimal-search-container .search-options-wrapper {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  /* Solo cuando el cliente esta logueado y aparecen los checkboxes "Mas
     vendido" la fila va justa (buscador + checkboxes + Borrar Filtros).
     En ese caso, y solo en ese caso (:has), apretamos margenes/paddings de
     los demas selectores (orden, vista, laboratorio) para hacerles sitio;
     si no hay checkboxes ya sobra espacio de sobra y no tocamos nada. */
  #js-product-list-top:has(.search-options-wrapper) .mar_r1 {
    margin-right: 0.375rem !important;
  }
  #js-product-list-top:has(.search-options-wrapper) .mar_r6 {
    margin-right: 0.25rem !important;
  }
  #js-product-list-top:has(.search-options-wrapper) .dropdown_wrap {
    padding: 0 4px;
  }
  #js-product-list-top:has(.search-options-wrapper) .facet {
    margin-right: 2px;
  }
  #js-product-list-top:has(.search-options-wrapper) .minimal-search-container .simple-input-wrapper {
    min-width: 110px;
  }
  #js-product-list-top:has(.search-options-wrapper) .minimal-search-container .simple-search-form {
    gap: 8px !important;
  }
  #js-product-list-top:has(.search-options-wrapper) .search-options-wrapper {
    gap: 8px !important;
  }
  #js-product-list-top:has(.search-options-wrapper) .js-search-filters-clear-all.btn-clear-filters {
    padding: 0 10px;
  }
}

body#index .header-container {
  margin-bottom: 0;
}
.category-cover img {
  width: 100%;
}

#steasy_element_21 .sttext_item_content > div {
  padding: 0 0 0 39px;
}
@media (max-width: 768px) {
  #steasy_element_21 .sttext_item_content > div {
    padding: 0;
  }
}

/* Make filter button full width on mobile when grid/list switcher is hidden */
@media (max-width: 991px) {
  #js-product-list-top .filter-button {
    flex: 1;
    width: 100%;
  }
  #js-product-list-top .filter-button #search_filter_toggler {
    width: 100%;
  }
}

#st_mobile_menu .mo_ma_level_0 {
  font-weight: 800;
}

@media (max-width: 768px) {
  .pro_name_right {
    display: none;
  }
}

/* Fix filter arrows on mobile - invert arrow logic */
/* When collapsed (closed): show arrow_down (expand indicator) */
/* When open: show arrow_up (collapse indicator) */
.toggle_btn .arrow_up {
  display: inline !important;
}
.toggle_btn .arrow_down {
  display: none !important;
}
.toggle_btn.collapsed .arrow_up {
  display: none !important;
}
.toggle_btn.collapsed .arrow_down {
  display: inline !important;
}

/* Truncate breadcrumb product name on mobile */
@media (max-width: 767px) {
  .breadcrumb_nav ul {
    display: flex;
    flex-wrap: nowrap;
    overflow: hidden;
  }
  .breadcrumb_nav li:last-of-type {
    max-width: 240px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .breadcrumb_nav li:last-of-type span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

/* Swiper progressbar - centered and narrower */
.swiper-pagination.swiper-pagination-progressbar {
  position: relative;
  width: 60%;
  max-width: 400px;
  margin: 15px auto 0;
  left: auto;
  top: auto;
  border-radius: 4px;
}
.swiper-container-horizontal > .swiper-pagination-progressbar {
  height: 2px;
}

/* Featured categories text size - mobile only */
@media (max-width: 767px) {
  .featured_categories_item .pro_second_box .s_title_block,
  .featured_categories_item .pro_second_box .s_title_block a {
    font-size: 12px;
    line-height: 1.2;
  }
}

.base_list_line.dotted_line .line_item {
  border-bottom-style: inset;
}

.featured_categories_item .pro_outer_box.category_page {
  display: flex;
  flex-direction: column;
  align-content: center;
  justify-content: center;
  align-items: center;
}

/* PVL label for product miniature prices */
.product-price-and-shipping .pvl-label {
  color: var(--color--brand-blue);
  font-weight: 700;
  font-size: inherit;
}

/* Mobile: Selectores de Relevancia y Laboratorio ocupan espacio equitativo */
@media only screen and (max-width: 991px) {
  #js-product-list-top .products-sort-order {
    flex: 1;
  }
  #js-product-list-top .facet {
    flex: 1;
  }
  #js-product-list-top .facet .products-sort-order {
    width: 100% !important;
    max-width: 100% !important;
  }
}

.minimal-search-button {
  background-color: var(--color--brand-blue) !important;
  color: #ffffff !important;
}

#product .product-information .discount_unit {
  border: 1px solid #009b22;
  padding: 8px;
  display: inline-flex;
  color: #009b22;
}

.pro_second_box .discount_unit {
  color: #009b22;
}

/* ========================================
   STWISHLIST / FAVORITOS - Estilos personalizados
   ======================================== */

/* Estrella de favoritos un poco más grande y fina */
.add_to_wishlist .fto-star,
.add_to_wishlist.layer_btn .fto-star {
  font-size: 18px !important;
  font-weight: 300 !important;
}

/* Estrella rellena cuando está seleccionada */
.add_to_wishlist.st_added .fto-star::before {
  content: '\e8f7' !important; /* fto-star-filled */
}

/* ========================================
   MY ACCOUNT - Ocultar elementos no deseados
   ======================================== */

/* Ocultar GDPR - personal data */
.list-group-item:has(.lnk_psgdpr) {
  display: none !important;
}

/* Ocultar Comentarios (stblogcomments) */
.list-group-item:has(.lnk_stblogcomments) {
  display: none !important;
}

/* Ocultar B2B Registration */
.list-group-item:has(a[href*="b2bregistration"]) {
  display: none !important;
}

/* ========================================
   HOMEPAGE - Section titles padding
   ======================================== */

/* Padding izquierdo en títulos de secciones de la home (desktop) */
@media (min-width: 992px) {
  body#index .title_block_inner {
    padding-left: 20px;
  }
}

/* ========================================
   ORDER DETAIL - Product thumbnails
   ======================================== */

/* Fila de producto con imagen y texto */
.order-product-row {
  display: flex;
  align-items: flex-start;
  gap: 15px;
}

/* Imagen del producto en detalle de pedido */
.order-product-image {
  flex-shrink: 0;
}

.order-product-image img {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: 4px;
  border: 1px solid #eee;
}

/* Info del producto */
.order-product-info {
  flex: 1;
}

.order-product-ref {
  font-size: 13px;
  color: #666;
  margin-top: 4px;
}

/* Vista móvil */
.order-item-mobile-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.order-product-image-mobile {
  flex-shrink: 0;
}

.order-product-image-mobile img {
  width: 50px;
  height: 50px;
  object-fit: cover;
  border-radius: 4px;
  border: 1px solid #eee;
}

.order-product-info-mobile {
  flex: 1;
}

/* ========================================
   STICKY HEADER - Keep HelloBar visible
   ======================================== */

/* Override hide_when_sticky for displayBanner to keep HelloBar visible */
.stuck .hide_when_sticky#displayBanner,
.stuck_abs .hide_when_sticky#displayBanner {
  display: block !important;
}

/* Ensure HelloBar stays visible during sticky */
.stuck #amhellobarpro_hookdisplayBanner,
.stuck_abs #amhellobarpro_hookdisplayBanner {
  display: block !important;
}

/* Hide cookie notification during sticky, keep only HelloBar */
.stuck #displayBanner .st_notification_wrap,
.stuck_abs #displayBanner .st_notification_wrap {
  display: none !important;
}

/* ========================================
   SIDEBAR CART - Quantity controls
   ======================================== */

/* Row containing quantity controls */
.sidebar-cart-qty-row {
  margin-top: 8px;
  padding-right: 10px;
}

/* Wrapper for quantity + trash */
.sidebar-qty-trash-wrap {
  display: inline-flex;
  align-items: center;
  gap: 0;
}


.sidebar-qty-wrap .bootstrap-touchspin {
  display: flex;
  align-items: center;
  gap: 4px;
  border: none !important;
  box-shadow: none !important;
}

/* Remove default touchspin borders and styling */
.sidebar-qty-wrap .input-group-btn-vertical {
  display: none;
}

.sidebar-qty-wrap .input-group-btn {
  border: none !important;
  box-shadow: none !important;
}

/* Style the +/- buttons - square aspect ratio */
.sidebar-qty-wrap .btn-touchspin {
  width: 36px;
  height: 36px;
  min-width: 36px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  background: #fff;
  border: 1px solid #e0e0e0 !important;
  border-radius: 10px;
  color: #333;
  transition: all 0.2s;
  aspect-ratio: 1 / 1;
  box-shadow: none !important;
  outline: none !important;
}

.sidebar-qty-wrap .btn-touchspin:hover {
  background: #f5f5f5;
  border-color: #ccc !important;
}

.sidebar-qty-wrap .btn-touchspin:focus,
.sidebar-qty-wrap .btn-touchspin:active {
  box-shadow: none !important;
  outline: none !important;
}

/* Input field styling - square aspect ratio */
.sidebar-qty-wrap .form-control {
  width: 36px !important;
  height: 36px;
  max-width: max-content;
  padding: 0;
  text-align: center;
  font-size: 15px;
  font-weight: 500;
  background: #F8F7F4 !important;
  border: none !important;
  border-radius: 10px;
  aspect-ratio: 1 / 1;
  box-shadow: none !important;
  outline: none !important;
  -moz-appearance: textfield;
}

.sidebar-qty-wrap .form-control:focus {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

.sidebar-qty-wrap .form-control::-webkit-outer-spin-button,
.sidebar-qty-wrap .form-control::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.qty_wrap input[type="number"],
input.cart_quantity[type="number"] {
  -moz-appearance: textfield;
}
.qty_wrap input[type="number"]::-webkit-outer-spin-button,
.qty_wrap input[type="number"]::-webkit-inner-spin-button,
input.cart_quantity[type="number"]::-webkit-outer-spin-button,
input.cart_quantity[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Trash button with rounded style matching quantity buttons - square aspect ratio */
.sidebar-trash-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  color: #666;
  transition: all 0.2s;
  aspect-ratio: 1 / 1;
}

.sidebar-trash-btn:hover {
  border-color: #c00;
  color: #c00;
  background: #fff5f5;
}

/* ========================================
   CHECKOUT SIMPLIFICADO - Solo Direcciones y Envío
   ======================================== */

/* Ocultar paso 1 (Datos personales) y paso 4 (Pago) */
#checkout-personal-information-step {
  display: none !important;
}
#checkout-payment-step {
  display: none !important;
}

/* Renumerar pasos visibles: Direcciones = 1, Envío = 2 */
#checkout-addresses-step .step-number {
  font-size: 0;
  line-height: 0;
}
#checkout-addresses-step .step-number::after {
  content: "1";
  font-size: 1rem;
  line-height: normal;
}
#checkout-delivery-step .step-number {
  font-size: 0;
  line-height: 0;
}
#checkout-delivery-step .step-number::after {
  content: "2";
  font-size: 1rem;
  line-height: normal;
}

/* Textarea de observaciones más grande */
#delivery_message {
  min-height: 120px;
  width: 100%;
  resize: vertical;
}

.sidebar-trash-btn i {
  font-size: 16px;
}

/* Gift quantity label shown below the quantity controls */
.cart-gift-qty-label {
  font-size: 12px;
  color: #16a34a;
  font-weight: 600;
  margin-top: 4px;
  margin-left: 2px;
}

/* Product name row adjustment */
.small_cart_info .product-name-row {
  flex: 1;
}

/* ========================================
   IVA TAX BREAKDOWN ACCORDION
   ======================================== */

.cart-tax-accordion {
  display: block;
}

.cart-tax-accordion > summary {
  list-style: none;
  cursor: pointer;
  display: block;
}

.shoppingcart-list .cart-tax-accordion > summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.cart-tax-accordion > summary::-webkit-details-marker {
  display: none;
}

.cart-tax-accordion > summary::marker {
  display: none;
}

.tax-toggle-arrow {
  transition: transform 0.3s;
  font-size: 14px;
}

.cart-tax-accordion[open] .tax-toggle-arrow {
  transform: rotate(180deg);
}

.cart-tax-breakdown-item {
  padding-left: 1rem;
  font-size: 0.85em;
  opacity: 0.85;
}

/* ========================================
   TABLE VIEW - Category listing table mode
   ======================================== */

.products-table-view {
  width: 100%;
  margin-bottom: 1rem;
  background: #ffffff;
  box-shadow: var(--card-rest);
  border-radius: 12px;
  overflow: hidden;
}

.table-category-view {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}

.table-category-view thead th {
  text-align: left;
  padding: 12px 8px;
  border-bottom: 1px solid var(--color--border-base, #e4e4e7);
  font-family: "TT Commons Pro", sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--color--fg-subtle, #52525b);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.table-category-view tbody tr {
  border-bottom: 1px solid var(--color--border-base, #e4e4e7);
  transition: background-color 0.15s;
}

.table-category-view tbody tr:hover {
  background-color: var(--color--bg-subtle, #f8f7f4);
}

.table-category-view td {
  padding: 8px 5px;
  vertical-align: middle;
  text-align: left;
  color: var(--color--fg-base, #18181b);
}

/* Column 1: Article (image + name + meta) */
.table-col-product {
  max-width: 380px;
}

.table-product-info {
  display: flex;
  align-items: center;
  gap: 8px;
  text-align: left;
}

.table-wishlist-btn {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: var(--color--fg-muted, #a1a1aa);
  opacity: 0;
  transition: opacity 0.2s, color 0.2s;
  text-decoration: none;
}

.table-col-product:hover .table-wishlist-btn {
  opacity: 0.5;
}

.table-col-product:hover .table-wishlist-btn:hover {
  opacity: 1;
}

.table-wishlist-btn.st_added {
  opacity: 1;
  color: #f59e0b;
}

.table-wishlist-btn.st_added .fto-star::before {
  content: '\e8f7' !important; /* fto-star-filled, igual que en grid/PDP */
}

.table-product-img img {
  width: 64px;
  height: auto;
  border-radius: 4px;
}

.table-product-details {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.table-product-name {
  font-weight: 600;
  font-size: 13px;
  color: var(--color--brand-blue);
  text-decoration: none;
  text-transform: uppercase;
}

.table-product-name:hover {
  text-decoration: underline;
  color: #025aa5;
}

.table-product-meta {
  font-size: 11px;
  color: var(--color--fg-muted, #a1a1aa);
  display: block;
  line-height: 1.4;
}

/* Column 2: Stock */
.table-col-stock {
  min-width: 90px;
  font-size: 13px;
  text-align: left;
}

.table-stock-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 2px;
}

.table-stock-number-line {
  display: flex;
  align-items: center;
  gap: 5px;
  font-weight: 600;
}

.table-stock-number-line.stock-in {
  color: #16a34a;
}

.table-stock-number-line.stock-out {
  color: #ef4444;
}

.table-stock-status {
  font-size: 11px;
  color: #16a34a;
  font-weight: 500;
}

.table-stock-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.table-stock-dot.stock-green {
  background-color: #22c55e;
}

.table-stock-dot.stock-red {
  background-color: #ef4444;
}

.table-stock-tag {
  display: block;
  font-size: 10px;
  color: #b45309;
  font-weight: 500;
  margin-top: 2px;
}

/* Column 3: PVP */
.table-col-pvp {
  min-width: 60px;
  font-size: 13px;
  color: var(--color--fg-muted, #a1a1aa);
}

/* Column 4: Precio + IVA */
.table-col-pvl {
  min-width: 70px;
}

.table-regular-price {
  font-size: 12px;
  color: var(--color--fg-muted, #a1a1aa);
  display: block;
}

.table-current-price {
  font-weight: 700;
  font-size: 18px;
  color: var(--color--brand-blue);
  display: block;
}

.table-price-iva {
  display: block;
  font-size: 11px;
  color: var(--color--fg-subtle, #52525b);
  margin-top: 1px;
}

/* Column 6: Promotions */
.table-col-promos {
  min-width: 120px;
  max-width: 260px;
}

.table-promos-list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
}

.table-promo-item {
  display: inline;
  font-size: 12px;
  line-height: 1.4;
  color: var(--color--brand-blue) !important;
}

.table-promo-item + .table-promo-item::before {
  content: " | ";
  color: var(--color--fg-muted, #a1a1aa);
  margin-right: 2px;
}

.table-promo-item strong {
  color: var(--color--brand-blue) !important;
}

.table-promo-gift {
  color: var(--color--brand-blue) !important;
  font-weight: 500;
}

.table-promo-pack {
  color: var(--color--brand-blue) !important;
  font-weight: 500;
  word-break: break-word;
}
.table-promo-pack strong {
  color: var(--color--brand-blue) !important;
}

/* Column 7: Quantity */
.table-col-quantity {
  min-width: 90px;
}

.table-qty-wrap {
  display: flex;
  justify-content: flex-start;
}

.table-qty-input {
  width: 52px;
  text-align: center;
  padding: 6px;
  border: 1px solid var(--color--border-base, #e4e4e7);
  border-radius: 4px;
  font-size: 14px;
}

.table-qty-input:focus {
  outline: none;
  border-color: var(--color--fg-subtle, #52525b);
}

/* El stepper -/+ hereda por defecto 40x40 (pensado para ficha
   producto/táctil); en la fila de tabla eso infla la columna más
   de lo necesario, así que aquí lo hacemos más compacto */
.table-qty-wrap .bootstrap-touchspin {
  align-items: center;
}
.table-qty-wrap .bootstrap-touchspin .input-group-btn {
  height: auto;
  line-height: 1;
}
.table-qty-wrap .bootstrap-touchspin .form-control,
.table-qty-wrap .bootstrap-touchspin .btn-touchspin {
  width: 32px;
  height: 32px;
  padding: 2px;
  gap: 0;
  flex: 0 0 auto;
}

/* Column 8: Action */
.table-col-action {
  min-width: 80px;
}

.table-row-add-to-cart {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  font-size: 13px;
  white-space: nowrap;
  color: #fff !important;
}

.table-row-add-to-cart:hover,
.table-row-add-to-cart:focus {
  color: #fff !important;
}

.table-row-add-to-cart .icon_btn {
  font-size: 14px;
  color: inherit;
}

/* Switcher: table icon styling */
.list_grid_switcher .table-view {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.list_grid_switcher .table-view svg {
  width: 16px;
  height: 16px;
  transition: color 0.15s;
}

.list_grid_switcher .table-view:hover svg,
.list_grid_switcher .table-view.selected svg {
  color: #fff !important;
}

.list_grid_switcher .table-view.selected {
  background: transparent !important;
  border: 1px solid var(--color--button-inverted);
  & svg { color: var(--color--button-inverted) !important; }
}

.list_grid_switcher .table-view.selected:hover {
  background-color: var(--color--button-inverted) !important;
  & svg { color: #fff !important; }
}

/* Responsive: stack on mobile */
@media (max-width: 768px) {
  .table-category-view thead {
    display: none;
  }

  .table-category-view tbody tr {
    display: flex;
    flex-wrap: wrap;
    padding: 12px 0;
    border-bottom: 1px solid var(--color--border-base, #e4e4e7);
  }

  .table-category-view td {
    border: none;
    padding: 4px 8px;
  }

  .table-col-product {
    flex: 0 0 100%;
    margin-bottom: 6px;
  }

  .table-col-stock {
    flex: 0 0 33.33%;
    text-align: left;
  }

  .table-col-pvp {
    flex: 0 0 33.33%;
  }

  .table-col-pvl {
    flex: 0 0 33.33%;
    text-align: right;
  }

  .table-col-iva {
    flex: 0 0 33.33%;
    text-align: left;
  }

  .table-col-promos {
    flex: 0 0 66.66%;
    text-align: left;
  }

  .table-col-quantity {
    flex: 0 0 50%;
  }

  .table-col-action {
    flex: 0 0 50%;
    text-align: right;
  }
}


/* ===== Combobox predictivo de laboratorio ===== */
.lab-combobox-wrap {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}

.lab-combobox-field {
  display: flex;
  align-items: center;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
  transition: border-color 0.15s ease;
  min-width: 160px;
}

.lab-combobox-wrap.open .lab-combobox-field,
.lab-combobox-field:hover {
  border-color: #999;
}

.lab-combobox-input {
  flex: 1;
  padding: 6px 8px;
  border: none;
  outline: none;
  font-size: 13px;
  color: #333;
  background: transparent;
  cursor: pointer;
  min-width: 0;
}

.lab-combobox-input::placeholder {
  color: #555;
}

.lab-combobox-wrap.open .lab-combobox-input {
  cursor: text;
}

.lab-combobox-arrow {
  padding: 0 8px;
  color: #555;
  font-size: 11px;
  cursor: pointer;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.lab-combobox-wrap.open .lab-combobox-arrow {
  transform: rotate(180deg);
}

.lab-combobox-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 2px);
  left: 0;
  min-width: 100%;
  max-height: 280px;
  overflow-y: auto;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  z-index: 9999;
}

.lab-combobox-item {
  display: block;
  padding: 7px 12px;
  font-size: 13px;
  color: #333;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: background 0.1s;
}

.lab-combobox-item:hover {
  background: #f5f5f5;
  color: #111;
  text-decoration: none;
}

.lab-combobox-item.current {
  font-weight: 600;
  color: #0066cc;
}

.lab-todos-item {
  font-weight: 600;
  border-bottom: 1px solid #eee;
  color: #555;
}

.lab-count {
  color: #999;
  font-size: 12px;
  margin-left: 3px;
}

/* ============================================================
   INPUT DE CAJAS (qty-cajas-wrap) — estilos para alinearlo
   visualmente con el input de unidades (qty_wrap)
   ============================================================ */

/* Agrupa unidades + cajas en horizontal */
.qty-box-units-group {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: nowrap;
}

/* Label pequeño encima del input (lista y tabla) */
.qty-label {
  display: block;
  font-size: 11px;
  color: var(--color--fg-subtle, #52525b);
  text-align: center;
  line-height: 1;
  margin-bottom: 6px;
  font-weight: 500;
}

/* Label encima del input en la ficha de producto */
.qty-label-product {
  display: block;
  font-size: 11px;
  color: var(--color--fg-muted, #a1a1aa);
  margin-bottom: 3px;
  font-weight: 500;
}

/* El wrapper de cajas hereda el mismo aspecto que el de unidades */
.qty-cajas-wrap.qty_wrap {
  min-width: 0;
  margin-left: 20px;
}

/* En la ficha de producto: agrupa los inputs en fila, botón en línea propia */
.qty-inputs-row {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.qty-inputs-row .qty.qty_wrap_big {
  display: inline-flex;
  flex-direction: column;
  vertical-align: top;
}

/* Asegura que el bootstrap-touchspin del input de cajas
   tenga el mismo ancho que el de unidades */
.qty-cajas-wrap .bootstrap-touchspin {
  width: 100%;
}

/* Tabla: centra los inputs en sus celdas */
.table-col-cajas,
.table-col-unidades {
  white-space: nowrap;
}


/* ========================================
   Brands page - Grid layout
   ======================================== */

.brands-empty-state {
  text-align: center;
  padding: 60px 20px;
  color: var(--color--fg-muted, #a1a1aa);
  font-size: 16px;
}

.brands-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 20px;
}

.brand-card {
  text-align: center;
  padding: 15px;
  border-bottom: 1px solid var(--color--border-base, #e4e4e7);
  transition: box-shadow 0.2s ease;
}

.brand-card:hover {
  box-shadow: var(--card-rest);
}

.brand-card a {
  text-decoration: none;
  color: inherit;
  display: block;
}

.brand-card-img {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  width: 100%;
  margin-bottom: 10px;
  background: #f8f8f8;
  border-radius: 4px;
  overflow: hidden;
}

.brand-card-img img {
  max-width: 90%;
  max-height: 90%;
  object-fit: contain;
}

.brand-card-name {
  font-size: 14px;
  font-weight: 500;
  color: var(--color--fg-base, #18181b);
}

@media (max-width: 991px) {
  .brands-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 767px) {
  .brands-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 479px) {
  .brands-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
}


/* Alineación top de columnas en card del carrito */
.cart-col-top {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 12px;
  align-self: flex-start;
}

/* Grid Caja + Unidades en carrito (2 cols × 3 filas) */
.cart-qty-stack {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 24px;
  row-gap: 4px;
  width: 100%;
  padding: 0 2px;
  box-sizing: border-box;
}

/* Single stepper: span both cols, right-align */
.cart-qty-stack--single .cart-qty-row {
  grid-column: 1 / span 2;
  align-items: flex-end;
}
.cart-qty-stack--single .cart-subtotal-line {
  grid-column: 1 / span 2;
}

.cart-qty-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.cc-qty-label {
  font-size: 11px;
  color: #71717a;
  white-space: nowrap;
}

/* Alineacion en columnas fijas del resumen del carrito en checkout (25/08):
   .flex_container reparte el espacio segun el contenido de cada fila (un
   nombre de producto mas largo/con palabras mas largas empuja el resto de
   forma distinta segun la fila), asi que las cantidades no caian nunca en
   la misma columna entre productos. Se fuerza aqui un grid de 4 columnas
   fijas (imagen, nombre, cantidades, precio) para que todas las lineas
   queden alineadas sin importar el contenido. 50px = mismo ancho de
   imagen que ya fija el tema (body#checkout #cart-summary-product-list img). */
#cart-summary-product-list .summary-product-item.flex_container {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr) 140px 75px;
  align-items: start;
  column-gap: 12px;
}
#cart-summary-product-list .summary-product-price {
  text-align: right;
  white-space: nowrap;
}

/* Fusion Caja+Unidad en checkout summary / confirmacion de pedido (06/08):
   variante de solo lectura de .cart-qty-stack, sin inputs — mismas
   etiquetas Unidades/Cajas que el carrito detallado, valor en texto.
   Columna centrada dentro de su celda del grid de arriba en vez del grid
   de 2 columnas del carrito: con solo lectura las filas Cajas/Unidades
   van SIEMPRE apiladas una encima de otra (nunca lado a lado) — mismo
   ancho/posicion tenga o no formato caja el producto (feedback cliente
   25/08). */
.cart-qty-stack--readonly {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 4px;
}
.cart-qty-stack--readonly .cart-qty-row {
  flex-direction: row;
  align-items: baseline;
  justify-content: center;
  gap: 4px;
  text-align: center;
}
.cart-qty-stack--readonly .cc-qty-value {
  font-size: 13px;
  font-weight: 600;
  color: #18181b;
}
.cart-qty-stack--readonly .cart-gift-qty-label {
  text-align: center;
}

/* Pill compacta de "parcialmente disponible" en la linea del producto
   (ticket 06/08) — el detalle completo ahora vive en .cart-pending-section
   abajo, esto es solo un indicador corto para no duplicar la info. */
.dist-cart-quantity-pill {
  display: inline-block;
  margin-top: 6px;
  padding: 3px 8px;
  background: #fef2f2;
  color: #dc2626;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 600;
}

/* Seccion separada de pendientes por falta de stock en el carrito
   (ticket 06/08) — reutiliza las mismas clases de card que la linea de
   producto normal (product-line-grid, cart-col-*, pdp-stock-pill) para
   que se vea igual que el resto del carrito; solo se anaden aqui los
   textos propios de "pendiente" que no existen en la linea normal. */
.cart-pending-section {
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid var(--color--border-base, #e4e4e7);
}
.cart-pending-title {
  font-size: 14px;
  font-weight: 700;
  color: #18181b;
  margin: 0 0 12px;
}
.cart-pending-item .cart-col-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.cart-pending-item .cart-col-discount {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 2px;
}
.cart-pending-qty {
  font-size: 13px;
  font-weight: 600;
  color: #18181b;
}
.cart-pending-availability {
  font-size: 11px;
  font-weight: 400;
  color: #71717a;
}

.cart-nxm-row {
  grid-column: 1 / span 2;
  text-align: right;
}

.cart-qty-stack .cart-subtotal-line {
  grid-column: 1 / span 2;
  text-align: right;
  margin: 0;
}
.qty-label {
  margin: 0;
  font-size: 12px;
  color: #18181b;
}
.cart-nxm {
  font-size: 12px;
  color: #18181b;
}
.pvl-label {
  margin: 0;
  font-size: 16px;
  color: var(--color--brand-blue);
  font-weight: 700;
}

/* Total en azul: sidebar cart y resumen carrito */
.small_cart_sumary .last_one .cart-summary-v,
.small_cart_sumary .last_one .cart-summary-k,
.cart-total .value,
.cart-total .label {
  color: var(--color--brand-blue);
}

/* Botón eliminar producto del carrito */
.cart-remove-btn {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: rgba(255,255,255,0.85);
  border-radius: 50%;
  color: #000;
  line-height: 1;
  transition: color 0.2s;
}
.cart-remove-btn:hover {
  color: #e74c3c;
}
.cart-remove-btn .fto-trash {
  font-size: 16px;
}

/* Ocultar thumbnail strip en miniaturas del grid de categoría */
.js-product-miniature .tm_gallery_thumbs {
  display: none;
}

/* ── Cambio de contraseña – botón trigger ── */
.password-change-trigger-wrapper {
  padding: 16px 0 8px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.btn-change-password-trigger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background-color: #fff;
  color: var(--color--fg-base);
  border: 1.5px solid var(--color--border-base);
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: border-color 0.2s, background-color 0.2s, color 0.2s;
}

.btn-change-password-trigger:hover {
  border-color: var(--color--link);
  color: var(--color--link);
  background-color: #f0f9f2;
}

.btn-change-password-trigger svg {
  flex-shrink: 0;
}

.btn-cancel-password-trigger {
  background: none;
  border: none;
  color: var(--color--fg-subtle);
  font-size: 13px;
  cursor: pointer;
  padding: 4px 8px;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.btn-cancel-password-trigger:hover {
  color: var(--color--fg-base);
}

/* ── Cambio de contraseña – panel ── */
.password-change-section {
  margin-top: 4px;
  padding: 24px;
  background-color: #ffffff;
  border: 1px solid var(--color--border-base);
  border-radius: 8px;
  overflow: hidden;
}

.password-change-section__header {
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--color--border-base);
}

.password-change-section__title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 600;
  color: var(--color--fg-base);
  margin: 0;
}

/* ── Animación de entrada del panel ── */
@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.password-change-section.is-visible {
  animation: slideDown 0.25s ease forwards;
}

/* ── Cambio de contraseña – campo confirmar + error ── */
.confirm-password-error {
  color: #c0392b;
  font-size: 12px;
  margin-top: 4px;
  margin-bottom: 0;
}

#confirm-password-group.has-error .form-control {
  border-color: #c0392b;
}

#confirm-password-group.has-error label {
  color: #c0392b;
}

/* ── Datos personales bloqueados (Mi cuenta > Información personal) ── */
.account-fields-locked-notice {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 16px;
  padding: 10px 14px;
  background-color: #f5f5f5;
  border: 1px solid var(--color--border-base);
  border-radius: 6px;
  font-size: 13px;
  color: var(--color--fg-subtle);
}

.account-fields-locked-notice .fto-lock {
  flex-shrink: 0;
  font-size: 14px;
}

.form-group.field-locked label {
  color: var(--color--fg-subtle);
}

.locked-field {
  cursor: not-allowed !important;
}

input.locked-field,
select.locked-field {
  background-color: #f5f5f5 !important;
  color: var(--color--fg-subtle) !important;
}

/* select/checkbox/radio no soportan el atributo HTML "readonly": se bloquean
   con pointer-events para que no se puedan cambiar con el ratón (su valor
   sigue viajando en el POST sin cambios, ver form-fields-list.tpl) */
select.locked-field,
label.locked-field,
input[type='date'].locked-field {
  pointer-events: none;
}

label.locked-field {
  opacity: 0.7;
}

/* Limitar ancho del contenedor de imagen para que todos los cards tengan la misma separación horizontal */
.products_sldier_swiper .ajax_block_product .pro_outer_box.home_default,
.product_list.grid .ajax_block_product .pro_outer_box.home_default {
  width: 100%;
  overflow: hidden;
}
/* =====================================================
   Columna Oferta y desplegable de cupones — detalle pedido
   ===================================================== */

/* Columna oferta en tabla de pedido */
.order-col-promo {
  min-width: 110px;
  max-width: 220px;
  vertical-align: middle;
  text-align: right;
}

/* Ítems de promo (igual que tabla catálogo) */
.table-promo-item {
  display: block;
  font-size: 11px;
  line-height: 1.5;
  color: #18181b;
}
.table-promo-item strong {
  color: #16a34a;
}
.table-promo-gift {
  color: #16a34a;
  font-weight: 600;
}
.table-promo-pct {
  color: #16a34a;
  font-weight: 600;
}
.table-promo-nxm {
  color: #16a34a;
  font-weight: 500;
}
.table-promo-brand {
  color: #16a34a;
  font-weight: 500;
}
.table-promo-pack {
  color: #16a34a;
  font-weight: 500;
}

/* Desplegable de cupones aplicados al pedido */
.order-vouchers-wrapper {
  margin-top: 12px;
  border: 1px solid var(--color--border-base, #e4e4e7);
  border-radius: 4px;
  overflow: hidden;
}
.order-vouchers-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 14px;
  cursor: pointer;
  background: #fafafa;
  user-select: none;
}
.order-vouchers-toggle:hover {
  background: #f3f3f3;
}
.order-vouchers-toggle i {
  transition: transform 0.2s;
}
.order-vouchers-toggle.open i {
  transform: rotate(180deg);
}
.order-vouchers-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.order-voucher-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 14px;
  border-top: 1px solid var(--color--border-base, #e4e4e7);
  font-size: 0.875em;
}
.order-voucher-line .label {
  flex: 1;
  padding-right: 8px;
}
.order-voucher-line .value {
  font-weight: 600;
  color: #16a34a;
  white-space: nowrap;
}

/* Desglose IVA en tabla de pedido */
.order-tax-header {
  cursor: pointer;
}
.order-tax-header i {
  font-size: 11px;
  transition: transform 0.2s;
}
.order-tax-header.open i {
  transform: rotate(180deg);
}
.order-tax-detail-label {
  font-size: 0.85em;
  color: #71717a;
  padding-left: 1.5rem !important;
}
.order-tax-detail-value {
  font-size: 0.85em;
  color: #71717a;
}

/* ========================================
   WISHLIST — normalizar tamaño miniaturas (placeholder y foto)
   ======================================== */
.amwishlist-page .amwishlist-product-card .pro_first_box,
.amwishlist-page .amwishlist-product-card .product_img_link,
.amwishlist-page .amwishlist-product-card .front_image_pic {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  display: block;
}
.amwishlist-page .amwishlist-product-card .front_image_pic img,
.amwishlist-page .amwishlist-product-card .product_img_link img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
}

/* Igualar altura de cards en el row + fijar botón de cart abajo */
.amwishlist-page .products.row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}
.amwishlist-page .amwishlist-product-card {
  display: flex;
  flex-direction: column;
}
.amwishlist-page .amwishlist-product-card > article.ajax_block_product {
  display: flex !important;
  flex-direction: column;
  flex: 1;
  width: 100%;
}
.amwishlist-page .amwishlist-product-card .pro_outer_box {
  display: flex !important;
  flex-direction: column;
  flex: 1;
}
.amwishlist-page .amwishlist-product-card .pro_second_box {
  flex: 1;
}
.amwishlist-page .amwishlist-product-card .act_box_cart {
  margin-top: auto;
}

/* ========================================
   AMDEVTOOLS HISTORY — igualar altura cards y normalizar miniatura
   ======================================== */
.amdevtools-history-page .products.row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  row-gap: 1.5rem;
}
.amdevtools-history-page .js-product.product {
  display: flex;
  flex-direction: column;
}
.amdevtools-history-page .js-product.product > article.ajax_block_product {
  display: flex !important;
  flex-direction: column;
  flex: 1;
  width: 100%;
}
.amdevtools-history-page .js-product.product .pro_outer_box {
  display: flex !important;
  flex-direction: column;
  flex: 1;
}
.amdevtools-history-page .js-product.product .pro_second_box {
  flex: 1;
}
.amdevtools-history-page .js-product.product .act_box_cart {
  margin-top: auto;
}
.amdevtools-history-page .js-product.product .pro_first_box,
.amdevtools-history-page .js-product.product .product_img_link,
.amdevtools-history-page .js-product.product .front_image_pic {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  display: block;
}
.amdevtools-history-page .js-product.product .front_image_pic img,
.amdevtools-history-page .js-product.product .product_img_link img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
}

/* ============================================================
   PDP REDESIGN — Ficha de producto (mockup cliente)
   Card layout, weight badge, info list, stock pill,
   discount tier table, blue CTA, green wishlist, trust footer.
   ============================================================ */

/* --- Card layout: galería + panel info --- */
/* NB: NO añadir `gap` a .product_page_container — es un .row Bootstrap;
   los huecos los gestiona el padding de las columnas. */
.page-product .product_first_section {
  background: #F8F7F4;
  padding: 28px 0 28px;
}
/* Column stretch so gallery card = info card height.
   Una sola caja blanca: la card vive en el contenedor, no en cada columna */
.page-product .product_page_container {
  align-items: stretch;
  background: #fff;
  /* card cerrada por abajo: la trust bar que hacía de cierre se eliminó
     (petición cliente 08/07 — las etiquetas serán flotantes) */
  border: 1px solid #eef0f4;
  border-radius: 16px;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
  margin-left: 0;
  margin-right: 0;
  padding: 12px 4px;
}
.page-product .product_left_column {
  display: flex;
  flex-direction: column;
  margin-bottom: 0 !important;
}
.page-product .product_middle_column {
  display: flex;
  flex-direction: column;
  margin-bottom: 0 !important;
}
/* Imagen 1/3, info 2/3 en desktop */
@media (min-width: 992px) {
  .page-product .product_left_column {
    flex: 0 0 33.333% !important;
    max-width: 33.333% !important;
  }
  .page-product .product_middle_column {
    flex: 0 0 66.667% !important;
    max-width: 66.667% !important;
  }
}
.page-product .product_middle_column_inner {
  flex: 1;
}

.pdp-gallery-card {
  position: relative;
  background: none;
  border: none;
  border-radius: 0;
  padding: 24px;
  box-shadow: none;
  flex: 1;
}
.product_page_container .product_middle_column .product_middle_column_inner {
  background: none;
  border: none;
  border-radius: 0;
  padding: 28px 32px;
  box-shadow: none;
}

/* --- Feature badges (Vegano, Bio, Sin gluten…) a la izquierda de la imagen ---
   OJO: el icono de hoja + borde discontinuo es un PLACEHOLDER provisional
   hasta que el cliente entregue los iconos definitivos de cada característica.
   Cuando lleguen, sustituir el SVG en product-first.tpl y quitar el estilo
   dashed/atenuado de .pdp-feature-badge-icon. */
.pdp-feature-badges {
  position: absolute;
  top: 24px;
  left: 8px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  z-index: 2;
}
.pdp-feature-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  width: 72px;
}
.pdp-feature-badge-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border: 1.5px dashed #9ca3af;
  border-radius: 50%;
  color: #9ca3af;
  background: #fff;
  opacity: 0.75;
}
.pdp-feature-badge-label {
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #4b5563;
  text-align: center;
  line-height: 1.3;
}
@media (max-width: 767px) {
  .pdp-feature-badges {
    top: 12px;
    left: 4px;
    gap: 12px;
  }
  .pdp-feature-badge { width: 56px; }
  .pdp-feature-badge-icon {
    width: 40px;
    height: 40px;
  }
  .pdp-feature-badge-icon svg { width: 22px; height: 22px; }
  .pdp-feature-badge-label { font-size: 8px; }
}

/* --- Weight badge (gramaje) sobre la imagen --- */
.pdp-weight-badge {
  position: absolute;
  top: 28px;
  right: 28px;
  width: 78px;
  height: 78px;
  border-radius: 50%;
  background: #4a1f7a;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 15px;
  z-index: 5;
  box-shadow: 0 6px 16px rgba(74, 31, 122, 0.3);
  text-align: center;
  line-height: 1.05;
  padding: 4px;
}
.pdp-weight-badge::after {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 26px;
  height: 70px;
  background: #4a1f7a;
  z-index: -1;
}

/* --- Title: azul mayúsculas --- */
.product_middle_column h1.h1,
.product_middle_column .product_name_top h1,
.product_middle_column .product_name_top .h1 {
  color: var(--color--brand-blue) !important;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 26px;
  letter-spacing: 0.3px;
  line-height: 1.2;
  margin-bottom: 20px;
}

/* --- Lista info con iconos (EAN, código, marca) --- */
.pdp-info-list {
  display: flex !important;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 0;
  padding: 0;
  border: none;
}
/* Ficha de producto: EAN / Código / Marca en una sola fila */
.pdp-info-brand-row .pdp-info-list {
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  column-gap: 28px;
  row-gap: 8px;
  align-items: center;
}
.pdp-info-list .pro_extra_info,
.pdp-info-list .product-manufacturer {
  display: flex !important;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #4b5563;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
}
.pdp-info-list .pro_extra_info_label {
  color: #6b7280;
  font-weight: 400;
  margin-right: 2px;
}
.pdp-info-list .pro_extra_info_content,
.pdp-info-list .pro_extra_info_content strong,
.pdp-info-list .product-manufacturer .pro_extra_info_brand {
  color: #111827;
  font-weight: 600;
  text-decoration: none;
}
.pdp-info-list .pro_extra_info::before,
.pdp-info-list .product-manufacturer::before {
  content: "";
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.pdp-info-list .product-ean::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round'><path d='M3 5v14M6 5v14M9 5v14M13 5v14M16 5v14M19 5v14M21 5v14'/></svg>");
}
.pdp-info-list .product-reference::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/><circle cx='7.5' cy='7.5' r='1.5' fill='%236b7280' stroke='none'/></svg>");
}
.pdp-info-list .product-manufacturer::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/></svg>");
}
.pdp-info-list .product-manufacturer img {
  max-height: 22px;
  width: auto;
  vertical-align: middle;
}

/* --- Stock pill verde --- */
.product_price-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
  flex-wrap: wrap;
}
.product_middle_column_inner .divider {
  margin-top: 8px;
  margin-bottom: 6px;
  background: #e5e7eb;
}
/* Separador bajo qty/favoritos: mismo color que los acordeones */
.product_middle_column .steasy_divider_item {
  border-bottom-color: #e5e7eb;
}

.pdp-stock-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #ecfdf5;
  color: #059669;
  padding: 3px 8px;
  border-radius: 6px;
  font-weight: 400;
  font-size: 12px;
  border: none;
  margin-bottom: 4px;
}
.pdp-stock-pill .status-block-stock { display: inline-flex; }
.pdp-stock-pill .status-stock {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  display: inline-block;
}
.pdp-stock-pill .status-stock.stock-green { background: #10b981; }
.pdp-stock-pill .status-stock.stock-red { background: #ef4444; }
.pdp-stock-pill:has(.stock-red) {
  background: #fef2f2;
  color: #dc2626;
  border-color: #fca5a5;
}

/* --- Tags chips (Rotura de stock / Por encargo / Obsoleto) --- */
.product-prices .tags-stock {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 8px 0 4px;
}
.product-prices .tags-stock .miniature_stock {
  display: inline-flex;
  align-items: center;
  background: #fff7ed;
  color: #c2410c;
  border: 1px solid #fed7aa;
  border-radius: 999px;
  padding: 3px 10px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* --- Description short: tighten typography on PDP --- */
.product_middle_column .product-description-short {
  display: none;
}

/* --- PVL line (B2B): less visual weight --- */
.product-prices .discount-price-custom {
  font-size: 12px;
  color: #9ca3af;
}
.product-prices .discount-price-custom .regular-price {
  font-size: 13px;
}

/* --- Bloque de precio --- */
.product-prices { margin-top: 0; }
.product-prices .pvp-iva-line {
  display: flex;
  gap: 10px;
  align-items: baseline;
  margin: 0;
  font-size: 13px;
  color: #6b7280;
}
.product-prices .pvp-price-custom { color: #6b7280; }
.product-prices .pvp-price-custom strong {
  color: #9ca3af;
  font-weight: 600;
}
.product-prices .discount-price-custom {
  font-size: 13px;
  color: #6b7280;
  margin-bottom: 2px;
}
.product-prices .discount-price-custom .regular-price {
  color: #9ca3af;
  font-weight: 600;
  margin-left: 4px;
  text-decoration: none;
}
.product-prices .normal-price-custom .pvl-oferta-price,
.product-prices .normal-price-custom .price {
  color: var(--color--brand-blue);
  font-size: 38px;
  font-weight: 800;
  line-height: 1.05;
  display: inline-block;
  margin-top: 0;
}

/* --- Tabla "Descuento por unidad" --- */
.product-prices .discount_unit,
.product_middle_column .discount_unit,
.pvl-discounts-row .discount_unit {
  border: 1.5px solid var(--color--brand-blue) !important;
  border-radius: 12px;
  margin: 20px 0 0;
  position: relative;
  display: flex !important;
  padding: 28px 12px 16px !important;
  gap: 0;
  background: #fff !important;
  justify-content: center;
}
.product-prices .discount_unit::before,
.product_middle_column .discount_unit::before {
  content: none;
}
.discount-unit-label {
  position: absolute;
  top: -13px;
  left: 16px;
  background: var(--color--brand-blue);
  color: #fff;
  padding: 5px 14px 5px 32px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.2px;
  white-space: nowrap;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/><circle cx='7.5' cy='7.5' r='1.5' fill='white' stroke='none'/></svg>");
  background-repeat: no-repeat;
  background-position: 10px center;
  background-size: 14px 14px;
}
.product-prices .discount_unit > div {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center !important;
  padding: 0;
  border-right: none;
}
.product-prices .discount_unit ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
  align-items: stretch;
  justify-content: center;
}
.product-prices .discount_unit ul > li {
  flex: 1 1 0;
  min-width: 90px;
  display: flex !important;
  flex-direction: column;
  align-items: center !important;
  justify-content: center;
  gap: 4px;
  padding: 4px 12px;
  border-right: 1px solid #e5e7eb;
  font-size: 12px;
  color: #6b7280;
  line-height: 1.3;
  text-align: center !important;
}
.product-prices .discount_unit ul > li:last-child { border-right: none; }
.product-prices .discount_unit ul > li svg { display: none; }
.product-prices .discount_unit ul > li strong {
  color: var(--color--brand-blue) !important;
  font-size: 22px;
  font-weight: 700;
  margin-top: 2px;
}
.product-prices .discount_unit ul > li.pack-label {
  flex: 0 0 100%;
  min-width: 0;
  border-right: none;
  border-bottom: 1px solid #e5e7eb;
  padding: 0 0 10px;
  margin-bottom: 10px;
}
.product-prices .discount_unit ul > li.gift-item {
  flex-direction: row;
  flex-wrap: nowrap;
  white-space: nowrap;
  align-items: center;
  justify-content: center;
  gap: 4px;
  font-size: 15px;
  color: #6b7280;
}
.product-prices .discount_unit ul > li.gift-item strong {
  color: var(--color--brand-blue) !important;
  font-size: 15px;
  font-weight: 700;
  margin-top: 0;
}
.product-prices .discount_unit ul > li.pack-label strong {
  color: var(--color--brand-blue) !important;
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  margin: 0;
  letter-spacing: 0.3px;
}
.product-prices .pvl-discounts-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 12px;
  width: 100%;
}
.product-prices .pvl-discounts-row .normal-price-custom,
.product-prices .pvl-discounts-row .pvp-iva-line {
  flex: 0 0 auto;
  width: auto;
}
.product-prices .pvl-discounts-row .discount_unit {
  flex: 0 0 100%;
  width: 100%;
  box-sizing: border-box;
}
.product-prices .pvl-discounts-row .btn-ficha-tecnica {
  align-self: center;
}

/* --- pdp-meta-brand-row: metadata a la izq, logo marca a la dcha --- */
.pdp-meta-brand-row {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  flex-wrap: nowrap;
}
.pdp-meta-left {
  flex: 1 1 auto;
  min-width: 0;
}
.pdp-brand-right {
  flex: 0 0 auto;
}

/* --- pro_price_block: precio ocupa ancho completo --- */
.pro_price_block {
  display: block !important;
}
.pro_price_right {
  display: none;
}

/* --- Brand logo box + Ficha Técnica button --- */
.product-brand-logo-box {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 160px;
  height: 90px;
  border: 1px solid #e5e7eb !important;
  border-radius: 6px;
  padding: 10px;
  background: #fff;
  overflow: hidden;
}
.product-brand-logo-box img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.btn-ficha-tecnica {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 160px;
  height: 44px;
  border: 1.5px solid var(--color--brand-blue);
  border-radius: 6px;
  background: #fff;
  color: var(--color--brand-blue);
  margin-left: auto;
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  padding: 8px 18px;
  line-height: 1.2;
  transition: background 0.15s, color 0.15s;
  white-space: nowrap;
}
.btn-ficha-tecnica:hover {
  background: var(--color--brand-blue);
  color: #fff;
  text-decoration: none;
}
@media (max-width: 767px) {
  .product-brand-logo-box {
    width: 110px;
    height: 65px;
  }
  .btn-ficha-tecnica {
    width: 110px;
  }
}

/* --- Inputs Cj / Uds / botón en una sola fila --- */
.product-add-to-cart .qty-inputs-row {
  display: flex;
  align-items: flex-end;
  gap: 16px;
  flex-wrap: nowrap;
  width: 100%;
  margin-bottom: 10px;
  margin-top: 10px;
}
.product-add-to-cart .qty-inputs-row .qty.qty_wrap {
  flex: 0 0 auto;
}
/* En la ficha el input de cajas va segundo (después de unidades): usa la misma sangría que en el listado */
.product-add-to-cart .qty-inputs-row .qty-cajas-wrap.qty_wrap {
  margin-left: 20px;
}
.product-add-to-cart .qty-inputs-row .add--inline {
  flex: 0 0 auto;
  width: auto !important;
  margin-left: auto;
  align-self: flex-end;
}
.product-add-to-cart .qty-inputs-row .add--inline .btn {
  width: auto;
  padding: 0 20px;
  margin-bottom: 0;
}
.product-add-to-cart .qty-label-product {
  font-size: 12px;
  color: #6b7280;
  margin-bottom: 4px;
  display: block;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* --- Botón Añadir al carrito (azul) --- */
.product-add-to-cart .btn.add-to-cart,
.product-add-to-cart .btn.btn-default.add-to-cart,
.product-add-to-cart button.add-to-cart {
  background: var(--color--brand-blue) !important;
  border-color: var(--color--brand-blue) !important;
  color: #fff !important;
  border-radius: 10px;
  font-weight: 600;
  height: 48px;
  padding: 0 24px;
  letter-spacing: 0.2px;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
.product-add-to-cart .btn.add-to-cart:hover,
.product-add-to-cart button.add-to-cart:hover {
  background: #22539f !important;
  border-color: #22539f !important;
}
.product-add-to-cart .btn.add-to-cart i.icon_btn { color: #fff; }

/* --- Wishlist link verde (icono + texto) --- */
.product_middle_column .amwishlist-toggle-btn,
.product_middle_column .amwishlist-toggle-btn .btn_text,
.product_middle_column .amwishlist-toggle-btn .amwishlist-toggle-text,
.product_middle_column .amwishlist-toggle-btn i,
.product_middle_column .amwishlist-toggle-btn .fto-star,
.product_middle_column .amwishlist-toggle-btn .icon_btn,
.product_middle_column .add_to_wishlist,
.product_middle_column .add_to_wishlist * {
  color: #10b981 !important;
  font-weight: 600;
}
.product_middle_column .amwishlist-toggle-btn .btn_text,
.product_middle_column .amwishlist-toggle-btn .amwishlist-toggle-text {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.product_middle_column .amwishlist-toggle-btn:hover,
.product_middle_column .amwishlist-toggle-btn:hover * {
  color: #059669 !important;
}

/* --- Acordeones (ingredientes / modo empleo) --- */
.product_info_tabs.mobile_tab .nav-tabs { display: none; }
.product_info_tabs.mobile_tab .tab-pane {
  display: block;
  border-top: 1px solid #e5e7eb;
  padding: 16px 0;
}
.product_info_tabs.mobile_tab .tab-pane:last-child { border-bottom: none; padding-bottom: 0; }
.product_info_tabs.mobile_tab .tab-pane:first-child { border-top: none; }
.product_info_tabs.mobile_tab .mobile_tab_title {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  margin: 0;
}
.product_info_tabs.mobile_tab .mobile_tab_name {
  font-weight: 700;
  color: #111827;
  font-size: 15px;
}
.product_info_tabs.mobile_tab .opener {
  color: var(--color--brand-blue);
  font-size: 18px;
  line-height: 1;
  text-decoration: none;
}
.product_info_tabs.mobile_tab .tab-pane-body {
  margin-top: 10px;
  color: #4b5563;
  font-size: 14px;
  line-height: 1.55;
}
.product_info_tabs.mobile_tab .tab-pane:not(.st_open) .tab-pane-body { display: none; }

/* --- Trust footer (blockreassurance) --- */
#block-reassurance {
  margin-top: 32px;
  background: #fff;
  border: 1px solid #eef0f4;
  border-radius: 16px;
  padding: 22px 20px;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}
#block-reassurance > ul {
  display: flex !important;
  justify-content: space-around;
  flex-wrap: wrap;
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}
#block-reassurance > ul > li {
  flex: 1 1 220px;
  display: flex;
  align-items: center;
  gap: 14px;
  justify-content: center;
  border: none !important;
  padding: 4px 8px;
}
#block-reassurance .block-icon img,
#block-reassurance .block-icon svg {
  width: 36px;
  height: 36px;
}
#block-reassurance .block-title,
#block-reassurance h3 {
  color: #111827;
  font-weight: 700;
  font-size: 14px;
  margin: 0 0 2px;
}
#block-reassurance span,
#block-reassurance p {
  color: #6b7280;
  font-size: 13px;
  margin: 0;
}

/* --- Responsive --- */
@media (max-width: 991.98px) {
  .product_page_container .product_middle_column .product_middle_column_inner { padding: 22px 18px; }
  .pdp-gallery-card { padding: 18px; }
  .pdp-weight-badge { width: 64px; height: 64px; font-size: 13px; top: 16px; right: 16px; }
  .pdp-weight-badge::after { height: 50px; width: 22px; }
  .product_middle_column h1.h1 { font-size: 22px; }
  .product-prices .normal-price-custom .pvl-oferta-price,
  .product-prices .normal-price-custom .price { font-size: 32px; }
  .product-prices .discount_unit { padding: 16px 8px 12px; }
  .product-add-to-cart .qty-inputs-row { gap: 10px; flex-wrap: wrap; }
  /* Botón a fila propia, ancho completo */
  .product-add-to-cart .qty-inputs-row .add--inline {
    flex: 0 0 100%;
    width: 100% !important;
    margin-left: 0;
    margin-top: 4px;
  }
  .product-add-to-cart .qty-inputs-row .add--inline .btn {
    width: 100%;
  }
  /* Steppers -/input/+ cuadrados uniformes */
  .product-add-to-cart .qty-inputs-row .bootstrap-touchspin .form-control,
  .product-add-to-cart .qty-inputs-row .bootstrap-touchspin .btn-touchspin,
  .product-add-to-cart .qty-inputs-row #quantity_wanted,
  .product-add-to-cart .qty-inputs-row #boxes_wanted {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    flex: 0 0 36px !important;
    padding: 2px;
  }
}

@media (max-width: 768px) {
  .product-prices .discount_unit ul {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    flex-wrap: nowrap;
    row-gap: 10px;
  }
  .product-prices .discount_unit ul > li {
    flex: none;
    min-width: 0;
    width: 100%;
    border-right: 1px solid #e5e7eb;
  }
  .product-prices .discount_unit ul > li:nth-child(2n) {
    border-right: none;
  }
  .product-prices .discount_unit ul > li.pack-label {
    grid-column: 1 / -1;
    border-right: none;
  }
  .product-prices .discount_unit ul > li.pack-label + li {
    border-right: 1px solid #e5e7eb;
  }
  .product-prices .discount_unit ul > li.pack-label ~ li:nth-of-type(2n+1) {
    border-right: 1px solid #e5e7eb;
  }
  .product-prices .discount_unit ul > li.pack-label ~ li:nth-of-type(2n) {
    border-right: none;
  }
}

/* === GRID MINIATURE REDESIGN === */

.miniature-brand {
  font-size: 11px;
  color: #71717a;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 500;
  margin-bottom: 2px;
  line-height: 1.4;
}

.miniature-meta-row {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #52525b;
  margin-bottom: 3px;
  line-height: 1.4;
}

.miniature-meta-icon {
  flex-shrink: 0;
  color: #71717a;
}

.top-miniature {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin-bottom: 6px;
}

.top-miniature .pdp-stock-pill {
  display: inline-flex;
  align-self: flex-start;
  margin-top: 3px;
}

.miniature-price-row {
  display: flex !important;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-top: 6px;
  flex-wrap: nowrap;
}

.miniature-pvp-label {
  font-size: 13px;
  color: #71717a;
  white-space: nowrap;
  flex-shrink: 0;
}

.miniature-price-row .pro_price,
.miniature-price-row .current-price {
  text-align: right;
}

.miniature-discount-card {
  position: relative;
  border: 1.5px solid var(--color--brand-blue);
  border-radius: 10px;
  padding: 0;
  margin-top: 14px;
}

.miniature-ofertas-badge {
  position: absolute;
  top: 0;
  right: -8px;
  transform: translateY(-50%);
  background: #fff;
  color: var(--color--brand-blue);
  border: 1.5px solid var(--color--brand-blue);
  font-size: 11px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 4px;
  white-space: nowrap;
  line-height: 1.5;
  text-decoration: none;
}
.miniature-ofertas-badge:hover {
  background: var(--color--brand-blue);
  color: #fff;
  text-decoration: none;
}

.miniature-discount-label {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 11.5px;
  color: var(--color--brand-blue);
  font-weight: 500;
  padding: 12px 12px 7px;
  border-bottom: 1px solid #dbeafe;
}

.miniature-discount-icon {
  color: var(--color--brand-blue);
  flex-shrink: 0;
}

.miniature-discount-cols {
  display: flex;
  align-items: stretch;
}

.miniature-discount-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  padding: 6px 4px;
  border-right: 1px solid #e4e4e7;
  gap: 2px;
}

.miniature-discount-col:last-child {
  border-right: none;
}

.miniature-discount-qty {
  font-size: 10.5px;
  color: #71717a;
  text-align: center;
}

.miniature-discount-pct {
  font-size: 14px;
  color: var(--color--brand-blue);
  font-weight: 700;
  text-align: center;
}
/* === Cart product line redesign === */

.cart-product-ref {
  font-size: 11.5px;
  color: var(--color--fg-muted);
}

.cart-product-variant {
  font-size: 12px;
  color: var(--color--fg-muted);
  margin-bottom: 2px;
}

.cart-col-info .product-line-info a.label {
  color: #18181b !important;
  font-weight: 400 !important;
  font-size: 13px !important;
  line-height: 1.3;
}
.product-line-grid-body .product-line-info a.label {
  color: #18181b !important;
  font-weight: 600;
  font-size: 14px;
  line-height: 1.3;
}

.cart-col-discount {
  display: flex;
  align-items: center;
}

.cart-discount-card {
  width: 100%;
}

.cart-discount-label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #18181b;
  font-weight: 400;
  margin-bottom: 14px;
}

.cart-discount-icon {
  color: var(--color--brand-blue);
  flex-shrink: 0;
}

.cart-discount-tiers {
  display: flex;
  align-items: stretch;
  border: none;
}

.cart-discount-tier {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  flex: 1;
  max-width: 120px;
  padding: 10px 4px 8px;
  border-right: 1px solid #e4e4e7;
  border-top: 3px solid transparent;
  gap: 4px;
}

.cart-discount-tier:last-child {
  border-right: none;
}

.cart-discount-tier.is-active {
  border-top: 2.5px solid var(--color--brand-blue);
  border-radius: 4px 4px 0 0;
  background: transparent;
}

.cart-tier-qty {
  font-size: 10.5px;
  color: #18181b;
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
}

.cart-discount-tier.is-active .cart-tier-qty {
  color: #18181b;
  font-weight: 700;
}

.cart-tier-pct {
  font-size: 14px;
  color: var(--color--brand-blue);
  font-weight: 700;
  text-align: center;
}

.cart-oferta-aplicada {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--color--brand-blue);
  background: #eff6ff;
  border-radius: 20px;
  padding: 4px 10px;
  margin-top: 10px;
}

.cart-price-header { text-align: right; margin-bottom: 6px; }
.cart-unit-price { font-size: 15px; font-weight: 400; color: var(--color--fg-base); }
.cart-per-ud { font-size: 12px; color: #71717a; font-weight: 400; }
.cart-iva-label { font-size: 11px; color: #71717a; }
.cart-subtotal-line { font-size: 12px; color: #18181b; margin: 4px 0 0; }
.cart-subtotal-line strong { color: #0275d8; font-weight: 700; }
.cart-line-total-price { display: inline-flex; align-items: baseline; gap: 6px; margin-left: 8px; }
.cart-line-total-price .regular-price { font-size: 13px; color: #a1a1aa; text-decoration: line-through; }
.cart-line-total-price strong { font-size: 16px; font-weight: 700; color: var(--color--brand-blue); }
.cart-item.line_item .product-line-grid-right { padding-right: 20px !important; padding-left: 10px !important; }
@media (max-width: 767px) {
  .product-line-grid-right .qty { display: flex; flex-direction: column; align-items: flex-end; }
  .cart-discount-card { width: fit-content; margin-left: auto; }
  .cart-discount-label { justify-content: flex-end; }
}
.cart-caja-qty-zero { opacity: 0.4; pointer-events: none; }

/* No discount: info col stretches */
.cart-item.line_item .product-line-grid-body.col-md-7 {
  padding-right: 24px;
}

/* Brand logo in product page */
.pdp-info-brand-row {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}
.pdp-info-brand-row .pdp-info-left {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 18px;
  align-items: flex-start;
}
.pdp-info-brand-row .info-top-prod {
  flex: 1 1 auto;
  min-width: 0;
}
.pdp-brand-logo-link {
  flex-shrink: 0;
  align-self: flex-start;
}
.pdp-brand-logo-img {
  max-width: 110px;
  max-height: 65px;
  width: auto;
  height: auto;
  object-fit: contain;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 6px;
  background: #fff;
  display: block;
}

/* === END PDP REDESIGN === */

/* ============================================================
   HEADER REDESIGN (task 41927) — mockup HEADER-DEFINITIVO
   ============================================================ */

/* --- 1. Banner superior: degradado de marca verde → azul (réplica José) --- */
#amhellobarpro_hookdisplayBanner .amhellobarpro_1 {
  background: linear-gradient(90deg, #4aa83a 0%, #2f7d6b 50%, #2a64c8 100%) !important;
}
#amhellobarpro_hookdisplayBanner .amhellobarpro-description p,
#amhellobarpro_hookdisplayBanner .amhellobarpro-description strong {
  color: #fff !important;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.04em;
}
/* centrado vertical: el p trae margin-top .5rem (8px) inline !important imposible
   de pisar — compensamos los 8px con offset */
#amhellobarpro_hookdisplayBanner .amhellobarpro-description {
  position: relative;
  top: -8px;
}

/* --- 2. Topbar izquierda: pills azules → links texto + icono --- */
#top_bar .topbar-buttons {
  display: flex;
  align-items: center;
  gap: 15px;
}
#top_bar .topbar-buttons .btn-dropdown-wrap {
  display: inline-flex;
  position: relative;
}
#top_bar .topbar-buttons a.btn {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0;
  color: #0d7f8c !important;
  font-size: 13px;
  font-weight: 400 !important;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  line-height: 1.2;
}
/* hover: solo subrayado animado, el color de cada link no cambia (réplica José) */
#top_bar .topbar-buttons a.btn:hover {
  text-decoration: none;
}
#top_bar .topbar-buttons a.btn::before {
  content: "";
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  background-color: currentColor;
  -webkit-mask: var(--tb-icon) no-repeat center / contain;
  mask: var(--tb-icon) no-repeat center / contain;
}
/* Cada link toma el color del degradado en su posición (verde → azul) */
#top_bar .topbar-buttons a.btn[href*="outlet"] {
  color: #4aa83a !important;
  --tb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z'/%3E%3Ccircle cx='7.5' cy='7.5' r='1' fill='black'/%3E%3C/svg%3E");
}
#top_bar .topbar-buttons a.btn[href*="promociones"] {
  color: #3c9256 !important;
  --tb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z'/%3E%3Cpath d='m15 9-6 6'/%3E%3Ccircle cx='9' cy='9' r='1'/%3E%3Ccircle cx='15' cy='15' r='1'/%3E%3C/svg%3E");
}
#top_bar .topbar-buttons a.btn.btn-novedades {
  color: #2f7d6b !important;
  --tb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z'/%3E%3Cpath d='M20 3v4'/%3E%3Cpath d='M22 5h-4'/%3E%3Cpath d='M4 17v2'/%3E%3Cpath d='M5 18H3'/%3E%3C/svg%3E");
}
#top_bar .topbar-buttons a.btn[href*="packs"] {
  color: #2c7099 !important;
  --tb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z'/%3E%3Cpath d='M12 22V12'/%3E%3Cpath d='m3.3 7 7.703 4.734a2 2 0 0 0 1.994 0L20.7 7'/%3E%3Cpath d='m7.5 4.27 9 5.15'/%3E%3C/svg%3E");
}
#top_bar .topbar-buttons a.btn[href*="oferta"] {
  color: #2a64c8 !important;
  --tb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M16 2v4'/%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E");
}
/* dropdown Novedades: mantener usable sobre el nuevo link */
#top_bar .topbar-buttons .btn-dropdown-wrap .dropdown-menu {
  min-width: 160px;
}

/* --- 3. Topbar derecha: fuera Noticias/Formaciones, headset en Atención --- */
#top_bar #easycontent_8 {
  display: none;
}
#multilink_7 .st_custom_link_icon::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  vertical-align: -3px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3'/%3E%3C/svg%3E") no-repeat center / contain;
}
#multilink_7 .dropdown_tri {
  font-size: 13px;
  font-weight: 400;
  color: #000;
  /* la caja mide 45px de alto y el texto quedaba arriba */
  height: auto;
  line-height: 1.3;
}

/* --- 4. Buscador: caja gris redondeada, lupa dentro a la izquierda --- */
#header_primary .search_widget_block {
  /* mismo ancho fijo que la réplica de José (152px) */
  width: 152px !important;
  flex: 0 0 auto;
  padding: 0;
}
#header_primary .search_widget_form_inner {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  width: 100%;
  min-height: 43px;
  box-sizing: border-box;
  background: #eceef1;
  border: none !important;
  border-radius: 10px;
  padding: 7px 8px;
}
#header_primary .search_widget_form_inner .search_widget_text {
  background: transparent;
  border: none;
  box-shadow: none;
  font-weight: 700;
  font-size: 13.5px;
  color: #000;
}
#header_primary .search_widget_form_inner .search_widget_text::placeholder {
  color: #000;
  font-weight: 700;
  opacity: 1;
}
#header_primary .search_widget_form_inner .input-group-btn {
  width: auto;
}
#header_primary .search_widget_form_inner .search_widget_btn {
  background: none !important;
  border: none !important;
  color: #000 !important;
  padding: 0 4px 0 8px;
}
#header_primary .search_widget_form_inner .search_widget_btn i {
  font-size: 21px;
  color: #000 !important;
}

/* --- 5. Menú principal: iconos + separador, sin "Ver todo" --- */
/* !important: "#header_left .st_mega_menu a{font-weight:bold}" y el font-size
   del theme tienen más especificidad */
#st_mega_menu_wrap .ma_level_0 {
  font-size: 14.5px !important;
  font-weight: 600 !important;
  color: #000;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  /* el theme pinta un border-bottom café (#c6b8a1) en hover — fuera, el
     subrayado es nuestro ::after en degradado */
  border-bottom: none !important;
}
#st_menu_2 > .ma_level_0::before,
#st_menu_7 > .ma_level_0::before {
  content: "";
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  background-color: currentColor;
  -webkit-mask: var(--mm-icon) no-repeat center / contain;
  mask: var(--mm-icon) no-repeat center / contain;
}
#st_menu_2 > .ma_level_0 {
  --mm-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h.01'/%3E%3Cpath d='M3 18h.01'/%3E%3Cpath d='M3 6h.01'/%3E%3Cpath d='M8 12h13'/%3E%3Cpath d='M8 18h13'/%3E%3Cpath d='M8 6h13'/%3E%3C/svg%3E");
}
#st_menu_7 > .ma_level_0 {
  --mm-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z'/%3E%3C/svg%3E");
}
/* espaciado uniforme (24px) en todo el grupo izquierdo:
   buscador —24— Catálogo —24— | —24— Compra rápida */
#header_left .header_box {
  gap: 22px;
}
#st_mega_menu_wrap .st_mega_menu {
  display: flex;
  align-items: center;
  gap: 16px;
}
#st_menu_7 {
  border-left: 1px solid #e0e3e8;
  padding-left: 16px;
  margin-left: 0;
}

/* --- 6. Zona derecha: Comercial / Comprar como con label uppercase --- */
#header_right .account .header_v_align_m {
  display: inline-block;
  text-align: left;
  font-weight: 600;
  font-size: 13.5px;
  color: #000;
  line-height: 1.35;
}
#header_right .account .header_v_align_m b {
  display: block;
  font-size: 11px;
  font-weight: 600;
  color: #8a8f96;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
/* el <br> tras el <b> (ya display:block) duplica el salto de línea */
#header_right .account .header_v_align_m br {
  display: none;
}
#header_right_top {
  align-items: center;
}
#header_right .account .header_v_align_m::after {
  content: "▾";
  color: #71717a;
  font-size: 12px;
  margin-left: 6px;
}
#header_right .header-item-comercial {
  display: block;
  position: relative;
  width: max-content;
  text-align: left;
  border: none !important;
  background: none !important;
  padding: 0 24px 0 0;
  margin-right: 0;
}
/* barra separadora solo a la derecha (entre COMERCIAL y COMPRAR COMO),
   centrada y con altura propia como en el mockup */
#header_right .header-item-comercial::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 1px;
  height: 24px;
  background: #e0e3e8;
}
#header_right .header-item-comercial p {
  margin: 0;
  font-weight: 600;
  font-size: 13.5px;
  color: #000;
  line-height: 1.35;
}
#header_right .header-item-comercial p:first-child {
  font-size: 11px;
  font-weight: 600;
  color: #8a8f96;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* --- 7. Carrito: pill azul con badge y total --- */
/* espaciado uniforme (24px) en el grupo derecho:
   | —24— COMERCIAL —24— | —24— COMPRAR COMO —24— carrito */
#header_right_top {
  gap: 22px;
}
#header_right .account {
  border: none !important;
  background: none !important;
  width: max-content;
  /* aire alrededor del contenido para el chip de hover (margen negativo
     compensa para no mover el layout) */
  padding: 6px 12px;
  margin: -6px -12px;
}
#header_right .account .header_item,
#header_right .account .header_v_align_m {
  width: max-content;
}
#header_right .blockcart {
  background: none !important;
  border: none !important;
  padding: 0;
  box-shadow: none;
}
#header_right .blockcart .st_shopping_cart {
  background: #2a64c8;
  border-radius: 10px;
  padding: 11px 16px;
  font-size: 13.5px;
  font-weight: 700;
  color: #fff;
}
#header_right .blockcart .st_shopping_cart:hover {
  background: #2255a8;
  color: #fff;
}
#header_right .blockcart .st_shopping_cart svg path {
  fill: #fff;
}
#header_right .blockcart .ajax_cart_quantity {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border-radius: 50%;
  background: #fff;
  color: #2a64c8;
  font-size: 11px;
  font-weight: 700;
}
#header_right .blockcart .ajax_cart_total,
#header_right .blockcart .ajax_cart_total b {
  color: #fff;
  font-size: 13.5px;
  font-weight: 700;
}

/* --- 8. Alturas de fila fieles a la réplica de José (promo 27 / row1 52 / row2 78) --- */
/* Hellobar más fino (el alto 47px lo fija bxslider inline) */
#amhellobarpro_hookdisplayBanner .bx-viewport {
  height: 28px !important;
}
#amhellobarpro_hookdisplayBanner .amhellobarpro-description p {
  margin-bottom: 0 !important;
}
/* Topbar más fino: margen del bloque easycontent + p vacío + alto de botones */
#top_bar #easycontent_7 {
  margin: 6px 0;
}
#top_bar #easycontent_7 .easy_brother_block p {
  display: none;
}
#top_bar .topbar-buttons a.btn {
  min-height: 0;
  height: auto;
}
#multilink_7 .dropdown_tri {
  line-height: 1.3;
  padding-top: 0;
  padding-bottom: 0;
}
/* Topbar: altura como en la réplica (52px) */
#top_bar_row {
  min-height: 52px;
  align-items: center;
}
/* Fila principal: el theme fija height 84px; aire vertical como en el mockup */
#st_header #header_primary,
#st_header #header_primary .wide_container_box,
#st_header #header_primary_container {
  height: auto !important;
}
#header_primary_row {
  height: auto;
  min-height: 78px;
  align-items: center;
  padding-top: 6px;
  padding-bottom: 6px;
}
/* Logo a 66px como en la réplica */
#header_center .logo_box img.logo {
  height: 66px;
  width: auto;
}

/* --- 9. Estado deslogueado: mismo lenguaje visual --- */
#header_right a.login.top_bar_item {
  border: none !important;
  background: none !important;
  padding: 0;
  margin: 0;
}
#header_right a.login .header_icon_btn_text {
  font-weight: 600;
  font-size: 13.5px;
  color: #000;
}
#header_right .b2bregistration-top-link-text {
  border: none !important;
  background: none !important;
  padding: 0;
  margin: 0;
}
#header_right .b2bregistration-top-link-text a {
  display: inline-block;
  background: #2453c9;
  color: #fff !important;
  font-weight: 700;
  font-size: 13.5px;
  border-radius: 10px;
  padding: 11px 16px;
}
#header_right .b2bregistration-top-link-text a:hover {
  background: #1d45ab;
  text-decoration: none;
}

/* --- 10. Hovers / transiciones (ref. José: cabecera-actual-replica-v2.html + cabecera-paudiet.css) --- */

/* Topbar izquierda: subrayado animado en el color propio de cada link
   (el ::after no depende del padding/background que la regla base fija !important) */
#top_bar .topbar-buttons a.btn {
  position: relative;
  transition: color 0.18s ease;
}
#top_bar .topbar-buttons a.btn::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -6px;
  height: 2px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.22s ease;
}
#top_bar .topbar-buttons a.btn:hover::after {
  transform: scaleX(1);
}
#top_bar .topbar-buttons a.btn::before {
  transition: background-color 0.18s ease;
}

/* Atención al cliente: subrayado animado + icono a azul en hover */
#multilink_7 .dropdown_tri {
  position: relative;
  transition: color 0.18s ease;
}
#multilink_7 .dropdown_tri::after {
  content: "";
  position: absolute;
  left: 12px; /* alineado con el padding lateral del link */
  right: 26px; /* no cubrir la flechita del dropdown */
  top: auto !important;
  bottom: -4px;
  height: 2px;
  background: linear-gradient(90deg, #4aa83a 0%, #2f7d6b 50%, #2a64c8 100%);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.22s ease;
}
#multilink_7 .dropdown_tri:hover::after {
  transform: scaleX(1);
}
/* el texto no cambia de color; solo el icono pasa a azul */
#multilink_7 .dropdown_tri:hover .st_custom_link_icon {
  color: #2a64c8;
}
#multilink_7 .st_custom_link_icon {
  transition: color 0.18s ease, background-color 0.18s ease;
}

/* Menú principal (Catálogo / Compra rápida): subrayado en degradado de marca */
#st_mega_menu_wrap .ma_level_0 {
  position: relative;
  padding-bottom: 4px;
  transition: color 0.18s ease;
}
/* content:none!important en #st_ma_2/#st_ma_7.is_parent:after (línea ~3830, clearfix
   deshabilitado) pisa cualquier ::after de menor especificidad: forzamos con !important */
#st_mega_menu_wrap .ma_level_0::after {
  content: "" !important;
  display: block !important;
  position: absolute;
  left: 0;
  right: 0;
  /* el theme fija top:0 al ::after → la raya se pintaba ARRIBA; forzar solo bottom */
  top: auto !important;
  bottom: -4px;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, #4aa83a 0%, #2f7d6b 50%, #2a64c8 100%);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.22s ease;
}
#st_menu_2:hover > .ma_level_0::after,
#st_menu_7:hover > .ma_level_0::after {
  transform: scaleX(1);
}

/* Buscador: fondo se oscurece e icono pasa a azul en hover */
#header_primary .search_widget_form_inner {
  transition: background-color 0.18s ease;
}
#header_primary .search_widget_form_inner:hover {
  background: #e2e5ea;
}
#header_primary .search_widget_form_inner:hover .search_widget_btn,
#header_primary .search_widget_form_inner:hover .search_widget_btn i {
  color: var(--color--brand-blue) !important;
  transition: color 0.18s ease;
}

/* Comprar como (bloque .account nativo de PS): chip hover, etiqueta se mantiene
   muted, valor + flecha pasan a azul — igual que el chip Comercial */
#header_right .account {
  cursor: pointer;
  border-radius: 8px;
  transition: background-color 0.18s ease;
}
#header_right .account:hover {
  background: #f4f6fb !important;
}
#header_right .account:hover .header_v_align_m {
  color: #2a64c8;
}
#header_right .account:hover .header_v_align_m b {
  color: #a1a1aa;
}
#header_right .account:hover .header_v_align_m::after {
  color: #2a64c8;
}

/* Carrito: transición explícita del cambio de color en hover */
#header_right .blockcart .st_shopping_cart {
  transition: background-color 0.18s ease;
}

/* === END HEADER REDESIGN === */

/* Botón de video en la ficha de producto (stvideo): esquina inferior derecha,
   mismos márgenes en bottom y right, más grande, cuadrado y con más contraste */
.st_popup_video_wrap {
  bottom: 15px;
  right: 15px;
}
.st_popup_video_wrap .st_popup_video.layer_icon_wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  line-height: 1;
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.65);
  color: #fff;
  font-size: 1.15rem;
}
.st_popup_video_wrap .st_popup_video.layer_icon_wrap:hover {
  background: rgba(0, 0, 0, 0.85);
  color: #fff;
}

/* ========================================
   CART VOUCHER ACCORDION (checkout cart-voucher.tpl)
   Reuses .cart-tax-accordion / .tax-toggle-arrow base rules;
   this block only adds the summary layout + list spacing
   ======================================== */
/* .card-block (hermano de .cart-voucher en cart-detailed-totals.tpl) tiene
   padding: 1.25rem — el acordeón necesita el mismo inset lateral y vertical
   para alinear con "Impuestos"/"Total"/"Finalizar compra". El <hr> de arriba
   de cart-voucher.tpl queda fuera del padding para que siga a ancho completo. */
.cart-voucher > details.cart-tax-accordion {
  padding: 1.25rem;
}

.cart-voucher .cart-tax-accordion > summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0;
}

.cart-voucher .cart-tax-accordion .promo-discounts {
  margin-top: 12px;
  margin-bottom: 0;
}

.cart-voucher .promo-discounts {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}

.cart-voucher .promo-discounts li.cart-summary-line {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
}

/* Badge de cupón: disponible (gris claro, clicable) vs seleccionado/aplicado
   (azul Paudiet + X en círculo blanco para quitarlo). Sin bordes. Ancho al
   contenido (no se estira ni se desborda) — cada cupón va debajo del otro. */
.cart-voucher .promo-coupon-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: auto;
  max-width: 100%;
  padding: 4px 8px;
  border: none;
  border-radius: 999px;
  background: #f0f0f0;
  font-size: 11px;
  line-height: 1.3;
  text-align: left;
  cursor: pointer;
  transition: background-color 0.15s;
  box-sizing: border-box;
}

.cart-voucher button.promo-coupon-item {
  font-family: inherit;
}

.cart-voucher .promo-coupon-item:hover {
  background: #e4e4e7;
}

.cart-voucher .promo-coupon-item .label {
  font-weight: 500;
  color: var(--color--fg-base, #18181b);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cart-voucher .promo-coupon-item .value {
  font-weight: 600;
  white-space: nowrap;
}

.cart-voucher .promo-coupon-item.is-selected,
.cart-voucher .promo-coupon-item.is-selected:hover {
  background: var(--color--brand-blue);
  cursor: default;
}

.cart-voucher .promo-coupon-item.is-selected .label,
.cart-voucher .promo-coupon-item.is-selected .value {
  color: #fff;
}

.cart-voucher .promo-coupon-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 15px;
  height: 15px;
  margin-left: 2px;
  border-radius: 50%;
  background: #fff;
  color: var(--color--brand-blue);
  flex-shrink: 0;
}

.cart-voucher .promo-coupon-remove:hover {
  background: #f0f0f0;
}

.cart-voucher .promo-coupon-remove i {
  font-size: 8px;
}

/* ========================================
   BRAND BLUE OVERRIDES — theme-editor generated CSS
   (modules/stthemeeditor/views/css/customer-s1.css)
   Scoped, higher-specificity overrides only.
   Do NOT edit that generated file directly — it is
   auto-regenerated by the BO Theme Editor.
   ======================================== */

/* #4 — Listing/grid "Añadir al carrito" buttons.
   Theme-editor CSS sets background-color:#0066CF with a GREEN hover
   (#2f793f) via ".btn.ajax_add_to_cart_button, .btn.add-to-cart".
   Override both to brand blue with a darker-blue hover. */
.btn.ajax_add_to_cart_button,
.btn.add-to-cart {
  background-color: var(--color--brand-blue) !important;
}
.btn.ajax_add_to_cart_button:hover,
.btn.add-to-cart:hover {
  background-color: #22539f !important;
}

/* #8 — Botón "Aplicar" del cupón/voucher del carrito.
   Scoped to .cart-voucher so the generic .btn-default (theme-editor)
   is left untouched elsewhere. */
.cart-voucher .btn.btn-default {
  background-color: var(--color--brand-blue) !important;
  border-color: var(--color--brand-blue) !important;
}
.cart-voucher .btn.btn-default:hover,
.cart-voucher .btn.btn-default:focus {
  background-color: #22539f !important;
  border-color: #22539f !important;
  box-shadow: none;
}

/* #9 — Botón "Finalizar compra" (checkout payment step).
   Scoped to the payment step section id (checkout/_partials/steps/payment.tpl,
   rendered inside checkout-step.tpl's <section id="checkout-payment-step">)
   so the generic .btn-default is left untouched elsewhere. */
#checkout-payment-step .btn.btn-default {
  background-color: var(--color--brand-blue) !important;
  border-color: var(--color--brand-blue) !important;
}
#checkout-payment-step .btn.btn-default:hover,
#checkout-payment-step .btn.btn-default:focus {
  background-color: #22539f !important;
  border-color: #22539f !important;
  box-shadow: none;
}

/* #11 — Botón "Guardar este carrito" (module addtocartfromurl, link17.tpl).
   Confirmed selector: button id="save_this_cart_button" (PS >= 1.7),
   class "btn btn-default button-primary addtocartfromurl_savecarts_btn". */
#save_this_cart_button.addtocartfromurl_savecarts_btn {
  background-color: var(--color--brand-blue) !important;
  border-color: var(--color--brand-blue) !important;
  color: #fff !important;
}
#save_this_cart_button.addtocartfromurl_savecarts_btn:hover,
#save_this_cart_button.addtocartfromurl_savecarts_btn:focus {
  background-color: #22539f !important;
  border-color: #22539f !important;
}

/* #12 — Columna "Unidades / Cajas" de líneas de pedido fusionadas
   (customer/_partials/order-detail-no-return.tpl).
   Ver hookActionPresentOrder en modules/amdevtools/amdevtools.php
   y PrestaShop\Module\AmDevTools\OrderSaleTypeGrouper. */
.qty-sale-type {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}
.qty-sale-type-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.2;
}
.qty-sale-type-label {
  font-size: 11px;
  text-transform: uppercase;
  color: #767676;
  white-space: nowrap;
}
.qty-sale-type-value {
  font-weight: 600;
}

/* Tabla de "Su pedido está confirmado" (order-confirmation-table.tpl,
   25/08): reutiliza las mismas clases de la vista de tabla del catálogo
   (table-category-view / table-product-info, ver
   catalog/_partials/miniatures/list-item.tpl y product-table-row.tpl)
   para que quede igual de ordenada — Artículo | Precio/ud | Unidades |
   Cajas | Precio total — en vez de las filas flex de antes. */
.order-confirmation-view .table-col-product {
  max-width: 420px;
}
.order-confirmation-view thead th.oc-col-price,
.order-confirmation-view thead th.oc-col-qty,
.order-confirmation-view thead th.oc-col-total,
.order-confirmation-view td.oc-col-price,
.order-confirmation-view td.oc-col-qty,
.order-confirmation-view td.oc-col-total {
  text-align: center;
  white-space: nowrap;
}
.order-confirmation-view td.oc-col-total {
  font-weight: 700;
  color: var(--color--fg-base, #18181b);
}
/* Precio por Unidad y por Caja apilados en la celda "Precio/ud" cuando el
   producto tiene las dos variantes fusionadas (no hay un unico precio/ud
   que mostrar, ver OrderSaleTypeGrouper::mergePresentedGroup). */
.order-confirmation-view .oc-price-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}
.order-confirmation-view .oc-price-row {
  white-space: nowrap;
}
.order-confirmation-view .oc-price-label {
  font-size: 11px;
  color: var(--color--fg-muted, #a1a1aa);
}
.order-confirmation-view .oc-price-value {
  font-size: 14px;
}

/* Oferta manual de comercial en carrito (amprofilecomercial):
   chip "Oferta aplicada: -X%" con boton para eliminarla.
   Ver cart-detailed-product-line_BoxAndUnid.tpl (bloque comercial). */
.row-inputs .comercial-offer-applied {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 6px 4px 10px;
  background: #d1fae5;
  border: 1px solid #a7f3d0;
  border-radius: 6px;
  font-family: "TT Commons Pro";
  font-weight: 700;
  font-size: 14px;
  line-height: 150%;
  color: #065f46;
  white-space: nowrap;
}
.row-inputs .comercial-offer-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  padding: 0;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: #065f46;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}
.row-inputs .comercial-offer-remove:hover {
  background: #a7f3d0;
  color: #dc2626;
}

/* Punto 46: boton "Borrar Filtros" junto al buscador, reemplaza la barra
   de chips de filtros activos (esa seleccion ya se ve en los bloques de
   la izquierda / recuadro de laboratorio). Ver active_filters.tpl. */
#js-product-list-top #js-active-search-filters.active_filters_box {
  padding: 0;
  background: transparent;
  border: none;
  margin-left: 8px;
}
#js-product-list-top .js-search-filters-clear-all.btn-clear-filters {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 32px;
  padding: 0 16px;
  background-color: var(--color--brand-blue);
  color: #ffffff;
  font-size: 14px;
  font-weight: 500;
  border-radius: 4px;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
#js-product-list-top .js-search-filters-clear-all.btn-clear-filters:hover {
  background-color: var(--color--brand-blue);
  color: #ffffff;
  opacity: 0.9;
  text-decoration: none;
}

/* ==========================================================================
   amdevtools - Videos de producto integrados como slide mas en la galeria
   (pro_gallery_top / pro_gallery_thumbs, ver product-cover-thumbnails.tpl)
   ========================================================================== */

/* Slide grande, dentro de .pro_gallery_top: ocupa el mismo espacio que una foto */
.amdevtools-video-slide {
  position: relative;
  width: 100%;
  height: 100%;
}
.amdevtools-video-slide-trigger {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.amdevtools-video-slide-poster {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background-color: #222;
}
.amdevtools-video-slide-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 48px;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
  pointer-events: none;
}

/* Miniatura pequeña, dentro de .pro_gallery_thumbs: .pro_gallery_thumb_box no
   fija tamaño propio en el theme (solo cursor/display), lo que realmente
   dimensiona cada thumb real es el ancho/alto del <img> del producto
   (STSN_THUMB_IMAGE_TYPE = cart_default, 80x80) - como nuestro poster no es
   una imagen de producto con esas medidas, fijamos el mismo tamaño a mano
   para que la miniatura de video no rompa la fila. */
.amdevtools-video-thumb-slide {
  position: relative;
  width: 80px;
  height: 80px;
}
.amdevtools-video-thumb-slide .pro_gallery_thumb,
.amdevtools-video-thumb-slide .amdevtools-video-thumb-placeholder {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.amdevtools-video-thumb-slide-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 18px;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
  pointer-events: none;
}

/* Comun a ambos tamaños */
.amdevtools-video-thumb-poster-blur {
  filter: blur(4px);
  transform: scale(1.1); /* evita el borde transparente que deja el blur */
}
.amdevtools-video-thumb-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #444, #222);
}

/* Popup del video subido como archivo (video nativo, ver inline_popup_tri) */
.amdevtools-video-popup {
  width: 90%;
  max-width: 900px;
  margin: 40px auto;
}
.amdevtools-video-player {
  display: block;
  width: 100%;
  max-height: 80vh;
  background: #000;
}

/* Spinner mostrado mientras se reconstruye el listado (catalogo/_partials/miniatures,
   custom.js: restaurar posicion al volver desde la ficha de producto) */
.plp-restore-spinner {
  padding: 60px 0;
}
