/* ============================================
   Podiatech Child Theme — Custom CSS
   Referencia: https://www.podiatech.es/
   ============================================ */
@import url('https://pro.fontawesome.com/releases/v5.15.4/css/all.css');

/* ---- FONTS ---- */
@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&display=swap");
@import url("https://use.typekit.net/mzj5aam.css");

/* ---- VARIABLES ----
   Replica de las globales que define EasyBuilder en
   modules/steasybuilder/elementor/js/elementor/css/elementor/css/post-global-setting-css-1.css
   Se duplican aquí (en :root) como fallback por si ese CSS no carga
   o por si los hashes cambian al regenerarse desde admin.
   --------------------------------------------------------- */
:root {
  /* System colors EasyBuilder */
  --e-global-color-primary:    #36B3E6;
  --e-global-color-secondary:  #133B4D;
  --e-global-color-text:       #123B4D;
  --e-global-color-accent:     #35B2E6;

  /* Custom colors EasyBuilder (hashes) */
  --e-global-color-bf691a2:    #677378; /* gris texto */
  --e-global-color-4cefd86:    #62DDD4; /* turquesa */
  --e-global-color-ec3c3cf:    #FC4444; /* rojo */
  --e-global-color-a05fbe3:    #BA7800; /* mostaza */
  --e-global-color-091a276:    #FFFFFF;
  --e-global-color-f682926:    #D9E2E5; /* gris claro */

  /* Tipografía EasyBuilder */
  --e-global-typography-primary-font-family: "Poppins";
  --e-global-typography-primary-font-weight: 400;

  /* Alias semánticos del tema (estables aunque cambien hashes en EasyBuilder) */
  --pt-primary:        var(--e-global-color-accent);     /* #35B2E6 */
  --pt-primary-hover:  var(--pt-primary-hover);                          /* primary darker (hover state) */
  --pt-topbar:         var(--e-global-color-text);       /* #123B4D */
  --pt-ofertas:    var(--e-global-color-ec3c3cf);    /* #FC4444 */
  --pt-descargas:  #556B2F;
  --pt-prefooter:  #F2F8FA;
  --pt-text:       var(--e-global-color-bf691a2);    /* #677378 */
  --pt-turquesa:   var(--e-global-color-4cefd86);    /* #62DDD4 */
  --pt-mostaza:    var(--e-global-color-a05fbe3);    /* #BA7800 */
  --pt-border:     var(--e-global-color-f682926);    /* #D9E2E5 */
}

/* ============================================
   BREADCRUMB — Global
   ============================================ */

.breadcrumb {
  padding: .75rem 1rem;
  margin-bottom: 1rem;
  list-style: none;
  background-color: #f6f6f6;
  border-radius: 0;
}
#page_wrapper .breadcrumb {
  background: transparent;
  padding: 0;
  font-size: 12px;
  line-height: 10px;
  margin-top: 10px;
  margin-bottom: 60px;
}
#page_wrapper .breadcrumb ol {
  padding-left: 0;
  margin-bottom: 0;
}
#page_wrapper .breadcrumb li,
#page_wrapper .breadcrumb li:last-child {
  color: #123b4d;
}
#page_wrapper .breadcrumb li {
  display: inline;
}
#page_wrapper .breadcrumb li a {
  color: #123b4d;
  font-weight: 700;
}

/* ============================================
   HEADER — Top bar (#top_bar / .nav_bar)
   Panda 9: id="top_bar" class="nav_bar"
   ============================================ */

#top_bar,
.nav_bar {
  background-color: var(--pt-topbar) !important;
  border: none !important;
  max-height: 24.4px;
  overflow: hidden;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
#top_bar_row {
  height: 24.4px;
  max-height: 24.4px;
  align-items: center;
}

/* Full-width: no side padding on topbar container */
#top_bar .container,
#top_bar .container-fluid,
#top_bar_container,
#top_bar_container.container-fluid {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100% !important;
}

/* True-center nav_center: pseudo-element left spacer balances nav_right */
#top_bar_row {
  display: flex !important;
  align-items: center !important;
}
#top_bar_row::before {
  content: '';
  flex: 1;
}
#nav_center {
  position: static;
  transform: none;
  flex: 0 1 auto;
  white-space: nowrap;
}
#nav_right {
  flex: 1;
  display: flex !important;
  justify-content: flex-end;
  align-items: center;
}

/* Remove panda's ::before separator between top_bar_item */
#nav_right .top_bar_item:before {
  display: none !important;
}
#top_bar,
#top_bar a,
#top_bar .container {
  color: #a8d4e8;
}
#top_bar a:hover {
  color: #fff;
  text-decoration: none;
}

/* Top bar text color — only nav_right items, not nav_center */
#nav_right .stlinkgroups_top .header_item,
#nav_right .stlinkgroups_top .header_item span,
#nav_right .top_bar_item .header_item span {
  font-size: 11px;
}

/* Center — "Despacho en 24-48h*" text: white, centered */
#nav_center,
#nav_center .flex_box {
  text-align: center;
  justify-content: center;
}
#nav_center .header_item,
#nav_center .header_item span {
  color: #fff !important;
  font-size: 12px;
  line-height: 1.2;
}
/* "+ información" link: primary blue, underline */
#nav_center .header_item a {
  color: #35b2e6 !important;
  font-weight: 700;
  text-decoration: underline;
}

/* Right nav CTA buttons — inline-flex kills ghost space, height matches topbar */
#nav_right .top_bar_item a.dropdown_tri.header_item {
  display: inline-flex;
  align-items: center;
  height: 24.4px;
  padding: 0 10px;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  color: #fff !important;
  line-height: 1;
  border: none;
  border-radius: 0;
  margin-left: 0;
  box-sizing: border-box;
}
#nav_right .top_bar_item a.dropdown_tri.header_item span {
  color: #fff !important;
}

/* CONTACTAR — turquesa background */
#multilink_6 a.dropdown_tri.header_item {
  background-color: #62ddd4;
}
#multilink_6 a.dropdown_tri.header_item:hover {
  background-color: #4cc8bf;
  text-decoration: none;
}

/* SOLICITUD DE PRESUPUESTO — primary blue background */
#multilink_7 a.dropdown_tri.header_item {
  background-color: #35b2e6;
}
#multilink_7 a.dropdown_tri.header_item:hover {
  background-color: #1f9fd3;
  text-decoration: none;
}
/* Hide dropdown arrow icons on all topbar group buttons */
#top_bar .top_bar_item a.dropdown_tri .arrow_down,
#top_bar .top_bar_item a.dropdown_tri .arrow_up {
  display: none;
}

/* ============================================
   HEADER — Main header (#header_primary)
   Panda 9: #header_primary > #header_left / #header_center / #header_right
   ============================================ */

/* Hide steasycontent block title in header (shows "Teléfono Header" label) */
#header_left .easycontent_header .title_block,
#header_left .title_block {
  display: none;
}

/* Contact block — #header_left */
.pt-header-contact {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
}
.pt-header-contact-icon {
  font-size: 40px;
  color: var(--pt-primary);
  flex-shrink: 0;
}
.pt-header-contact-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.pt-header-contact-info h4 {
  margin: 0;
  font-size: 0.75rem;
  color: #888;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.pt-header-bigtel a {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--pt-primary);
  text-decoration: none;
  line-height: 1.2;
  display: block;
}
.pt-header-bigtel a:hover {
  color: var(--pt-primary-hover);
}
.pt-header-horaires {
  font-size: 0.78rem;
  color: #888;
}
.pt-header-horaires a {
  color: var(--pt-primary);
  font-weight: 600;
  text-decoration: none;
}
.pt-header-horaires a:hover {
  color: var(--pt-primary-hover);
}

/* Search bar — remove wrapper border */
#header_right .search_widget_form_inner,
#header_right .input-group-with-border,
#header_right .input-group {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Search bar — input */
#header_right .search_widget_text,
#header_right input[name="s"] {
  width: 100%;
  padding: 10px 20px 10px 40px !important;
  outline: none !important;
  background-color: #f1f1f1 !important;
  border: none !important;
  border-radius: 5px !important;
  color: #555;
}
#header_right .search_widget_text::placeholder {
  color: #999;
}

/* Search bar — button */
#header_center .btn-search,
#header_center button[type="submit"],
.stsearchbar_builder .search_widget_btn,
#header_right .search_widget_btn,
#header_right button[type="submit"] {
  background-color: var(--pt-primary) !important;
  border-color: var(--pt-primary) !important;
  color: #fff !important;
  border-top-right-radius: 30px !important;
  border-bottom-right-radius: 30px !important;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  cursor: pointer;
  transition: all 300ms cubic-bezier(.77, 0, .175, 1) !important;
}
#header_right .search_widget_btn:hover,
#header_center .btn-search:hover,
.stsearchbar_builder .search_widget_btn:hover {
  background-color: var(--pt-primary-hover) !important;
  border-color: var(--pt-primary-hover) !important;
}

/* Cart quantity badge — Panda 9 uses .ajax_cart_quantity.amount_circle */
.ajax_cart_quantity.amount_circle {
  background-color: var(--pt-primary) !important;
  color: #fff !important;
  border-radius: 50%;
  font-size: 10px;
  min-width: 16px;
  text-align: center;
}

/* Cart icon color */
#header_right .st_shopping_cart,
#header_right .blockcart a {
  color: #555;
}
#header_right .st_shopping_cart:hover,
#header_right .blockcart a:hover {
  color: var(--pt-primary);
  text-decoration: none;
}

/* Cart — compact: hide verbose text, keep icon + badge only */
#header_right .cart_text,
#header_right .ajax_cart_product_txt,
#header_right .blockcart .ajax_cart_quantity:not(.amount_circle) {
  display: none;
}

/* Login — hide "Welcome" label (English, not needed) */
#header_right .welcome.top_bar_item {
  display: none;
}

/* Hide dropdown arrow on user icon */
#header_right .arrow_down,
#header_right .arrow_up,
#header_right .arrow {
  display: none !important;
}

/* ============================================
   HEADER RIGHT — Production icon matching
   Order: [wishlist heart] [cart] [user] [history] [search]
   ============================================ */

/* Single row layout */
#header_right {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  float: none;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
}
#header_right_top {
  order: 2;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
}
#header_right_bottom {
  order: 1;
  display: flex;
  align-items: center;
}

/* Within top row: cart | user | history | search */
#header_right_top .blockcart { order: 1; }
#header_right_top .header_icon_btn_2 { order: 2; }
#header_right_top .pt-order-history { order: 3; }
#header_right_top .search_widget_block { order: 4; }

/* Icon color and size */
#header_right .fto-user,
#header_right .fto-star,
#header_right .header_icon_btn_icon,
#mobile_bar .fto-user,
#mobile_bar .fto-star,
#mobile_bar .fto-glyph,
#mobile_bar .fto-menu,
#mobile_bar .fto-search-1 {
  color: #768e97;
  font-size: 22px;
}

/* fto-user → far fa-user */
#header_right i.fto-user::before,
#mobile_bar i.fto-user::before {
  font-family: "Font Awesome 5 Pro" !important;
  font-weight: 400 !important;
  content: "\f007" !important;
}

/* fto-star → far fa-heart */
#header_right i.fto-star::before,
#mobile_bar i.fto-star::before {
  font-family: "Font Awesome 5 Pro" !important;
  font-weight: 400 !important;
  content: "\f004" !important;
}

/* fto-search-1 → far fa-search */
#mobile_bar i.fto-search-1::before {
  font-family: "Font Awesome 5 Pro" !important;
  font-weight: 400 !important;
  content: "\f002" !important;
}

/* fto-menu → far fa-bars */
#mobile_bar i.fto-menu::before {
  font-family: "Font Awesome 5 Pro" !important;
  font-weight: 400 !important;
  content: "\f0c9" !important;
}

/* theme.css hides .ajax_cart_bag i — restore for mobile bar */
#mobile_bar .ajax_cart_bag i {
  display: inline-block !important;
}

/* Cart bag in mobile bar */
#mobile_bar .ajax_cart_bag {
  position: relative;
  width: auto !important;
  height: auto !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: none !important;
  background: none !important;
}
#mobile_bar .ajax_cart_bg_handle { display: none !important; }
#mobile_bar i.fto-glyph::before {
  font-family: "Font Awesome 5 Pro" !important;
  font-weight: 400 !important;
  content: "\f07a" !important;
}
#mobile_bar .ajax_cart_quantity.amount_circle {
  position: absolute;
  top: -6px;
  right: -8px;
  z-index: 1;
}

/* Cart: replace Panda bag with far fa-shopping-cart */
#header_right .ajax_cart_bag {
  position: relative;
  width: auto !important;
  height: auto !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: none !important;
  outline: none !important;
  background: none !important;
  box-shadow: none !important;
}
#header_right .ajax_cart_bg_handle {
  display: none !important;
}
#header_right .ajax_cart_bag::before {
  font-family: "Font Awesome 5 Pro";
  font-weight: 400;
  content: "\f07a";
  font-size: 24px;
  color: #768e97;
  display: block;
}
#header_right .ajax_cart_quantity.amount_circle {
  position: absolute;
  top: -7px;
  right: -9px;
  z-index: 1;
}

/* Search button icon: fto-search-1 → far fa-search */
#header_right i.fto-search-1::before {
  font-family: "Font Awesome 5 Pro" !important;
  font-weight: 400 !important;
  content: "\f002" !important;
}

/* Order history icon */
.pt-order-history a {
  display: flex;
  align-items: center;
  color: #768e97;
  text-decoration: none;
}
.pt-order-history svg {
  width: 24px;
  height: 24px;
}
.pt-order-history svg path {
  fill: #768e97;
}
.pt-order-history a:hover svg path {
  fill: var(--pt-primary);
}

/* Logged out: only show wishlist heart + user + search
   Panda shows .account or .userinfo_mod_top or .logout when logged in */
#header_right:not(:has(.account, .userinfo_mod_top, .logout)) .blockcart,
#header_right:not(:has(.account, .userinfo_mod_top, .logout)) .pt-order-history {
  display: none !important;
}

/* ============================================
   HEADER — Mega menu (stmegamenu — Panda module)
   Container: #st_mega_menu_wrap > ul.st_mega_menu
   Items: li.ml_level_0 > a.ma_level_0
   icon_class on <li> added via TPL override
   ============================================ */

#st_mega_menu_wrap,
.st_mega_menu_container #st_mega_menu_wrap {
  background-color: var(--pt-primary);
}

/* Nav items distribuidos a todo lo ancho */
ul.st_mega_menu {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
ul.st_mega_menu > li.ml_level_0 {
  flex: 1 1 auto;
  display: flex;
  position: static; /* ancla el dropdown al section, no al li */
}

/* Items más altos (matching prod) */
ul.st_mega_menu > li.ml_level_0 > a.ma_level_0 {
  padding: 20px 10px !important;
}

/* Dropdown a ancho COMPLETO del viewport — usa 100vw para escapar
   cualquier contenedor con padding/max-width intermedio */
#st_mega_menu_wrap .stmenu_sub.style_wide {
  position: absolute;
  top: 100%;
  left: 50%;
  right: auto;
  width: 100vw;
  max-width: 100vw;
  transform: translateX(-50%);
  margin-top: 0;
  z-index: 100;
}

/* El contenido interno del dropdown se centra como la navbar (max ancho del container) */
#st_mega_menu_wrap .stmenu_sub.style_wide > .row.m_column_row {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}
ul.st_mega_menu > li.ml_level_0 > a.ma_level_0 {
  color: #fff !important;
  font-weight: 600;
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
/* Hover y activo: relleno azul oscuro como prod */
ul.st_mega_menu > li.ml_level_0:hover > a.ma_level_0,
ul.st_mega_menu > li.ml_level_0.menu_hover > a.ma_level_0,
ul.st_mega_menu > li.ml_level_0.active > a.ma_level_0 {
  background-color: var(--pt-topbar) !important;
  color: #fff !important;
}

/* OFERTAS item — red background full height (igual que DESCARGAS) */
ul.st_mega_menu > li.ml_level_0.ofertas > a.ma_level_0 {
  background-color: var(--pt-ofertas) !important;
  color: #fff !important;
}
ul.st_mega_menu > li.ml_level_0.ofertas:hover > a.ma_level_0 {
  background-color: #c62828 !important;
}

/* DESCARGAS — mustard/brown como prod */
ul.st_mega_menu > li.ml_level_0.descargas > a.ma_level_0 {
  background-color: var(--pt-mostaza) !important;
  color: #fff !important;
}
ul.st_mega_menu > li.ml_level_0.descargas:hover > a.ma_level_0 {
  background-color: #8a5a00 !important;
}

/* ============================================
   MEGAMENU — Full-width blue bar
   La barra azul debe llegar a los bordes del viewport.
   Estructura:
     <section id="top_extra"> ← FULL WIDTH (apply bg here)
       <div class="st_mega_menu_container">
         <div class="container"> ← inner content centered (or 100%)
           <nav id="st_mega_menu_wrap">
   ============================================ */

section#top_extra {
  background-color: var(--pt-primary);
  position: relative; /* ancla del dropdown a 100% viewport */
}

/* Quitar bordes #444 que mete EasyBuilder en post-global-setting-css-1.css
   (genera una franja oscura debajo del menú) */
#top_extra .st_mega_menu_container,
#header_primary #st_mega_menu_wrap,
.nav_full_container #st_mega_menu_wrap {
  border-bottom-width: 0 !important;
  border-bottom: 0 !important;
}
#st_mega_menu_wrap .stmenu_sub {
  border-top-width: 0 !important;
  border-top: 0 !important;
}
#st_mega_menu_wrap .ma_level_0 {
  margin-bottom: 0 !important;
  border-bottom-width: 0 !important;
  border-bottom: 0 !important;
}

.st_mega_menu_container,
.st_mega_menu_container.animated {
  background-color: transparent;
}

.st_mega_menu_container.stuck {
  background-color: var(--pt-primary) !important;
}

/* Sticky icons — user + cart */
#sticky_icons {
  display: none;
  margin-left: auto;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
.st_mega_menu_container.stuck #sticky_icons {
  display: flex;
}
#sticky_icons .sticky_user_icon,
#sticky_icons .blockcart a,
#sticky_icons .top_bar_item > a {
  color: #fff !important;
  font-size: 24px;
  font-weight: 300;
  line-height: 1;
  text-decoration: none;
  display: flex;
  align-items: center;
}
#sticky_icons .sticky_user_icon i,
#sticky_icons .blockcart i,
#sticky_icons .top_bar_item i {
  color: #fff !important;
  font-size: 24px;
  font-weight: 300;
}
/* Hide wishlist, search, order-history — only user + cart in sticky */
#sticky_icons .header_icon_btn_2,
#sticky_icons .pt-order-history,
#sticky_icons .search_widget_block {
  display: none !important;
}
/* Cart — hide text, keep icon + badge */
#sticky_icons .blockcart .cart_text,
#sticky_icons .blockcart .ajax_cart_product_txt,
#sticky_icons .blockcart .ajax_cart_quantity:not(.amount_circle) {
  display: none !important;
}
#sticky_icons .blockcart .ajax_cart_bag {
  position: relative !important;
  width: auto !important;
  height: auto !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: none !important;
  background: none !important;
}
#sticky_icons .blockcart .ajax_cart_bg_handle {
  display: none !important;
}
#sticky_icons .blockcart .ajax_cart_bag::before {
  font-family: "Font Awesome 5 Pro";
  font-weight: 300;
  content: "\f07a";
  font-size: 24px;
  color: #fff !important;
  display: block;
}
#sticky_icons .blockcart .ajax_cart_quantity.amount_circle {
  position: absolute !important;
  top: -6px !important;
  right: -8px !important;
  left: auto !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: var(--pt-primary) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 16px !important;
  text-align: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: none !important;
}
#sticky_icons .blockcart .cart-products-count {
  color: #fff;
  font-size: 11px;
}
/* Hide cart when logged out */
#sticky_icons:not(:has(.account, .userinfo_mod_top, .logout)) .blockcart {
  display: none !important;
}

.st_mega_menu_container .container {
  max-width: 100%;
  width: 100%;
  padding-left: 20px !important;
  padding-right: 20px !important;
}

#st_mega_menu_wrap,
.st_mega_menu_container #st_mega_menu_wrap {
  background-color: transparent;
}

/* ============================================
   MEGAMENU — Dropdown panel
   .stmenu_sub = panel desplegable (col-md-12 wide)
   Estructura por columna:
     #st_menu_column_X.col-md-N
       #st_menu_block_X
         ul.mu_level_1
           li.ml_level_1
             a.ma_level_1     ← head (título columna)
             ul.mu_level_2    ← subcategorías
               li.ml_level_2
                 a.ma_level_2 ← sub-link
   ============================================ */

#st_mega_menu_wrap .stmenu_sub.style_wide {
  background-color: #fff !important;
  box-shadow: 0 10px 24px rgba(0,0,0,0.08);
  padding: 28px 20px 32px;
}

#st_mega_menu_wrap .stmenu_sub .row.m_column_row {
  margin-left: -10px;
  margin-right: -10px;
}
#st_mega_menu_wrap .stmenu_sub [id^="st_menu_column_"] {
  padding-left: 10px;
  padding-right: 10px;
}

/* Column head (a.ma_level_1) — equivalente al h4 de prod
   Línea gris finita debajo (no azul gruesa) */
#st_mega_menu_wrap .stmenu_sub a.ma_level_1.ma_item {
  display: block;
  font-family: "korolev", sans-serif;
  font-weight: 700;
  font-size: 15px;
  text-transform: uppercase;
  color: var(--pt-topbar) !important;
  letter-spacing: 0.5px;
  padding-bottom: 12px;
  margin-bottom: 14px;
  border-bottom: 1px solid #e6e6e6;
  text-decoration: none;
}
#st_mega_menu_wrap .stmenu_sub a.ma_level_1.ma_item:hover {
  color: var(--pt-primary) !important;
}

/* mu_level_1 / mu_level_2 list resets */
#st_mega_menu_wrap .stmenu_sub ul.mu_level_1,
#st_mega_menu_wrap .stmenu_sub ul.mu_level_2 {
  list-style: none;
  margin: 0;
  padding: 0;
}
#st_mega_menu_wrap .stmenu_sub li.ml_level_1,
#st_mega_menu_wrap .stmenu_sub li.ml_level_2 {
  margin: 0;
  padding: 0;
}

/* Subcategory links (mu_level_2 a.ma_level_2)
   Texto plano sin separador, sin flecha — como prod */
#st_mega_menu_wrap .stmenu_sub ul.mu_level_2 a.ma_level_2.ma_item {
  display: block;
  padding: 5px 0;
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: var(--pt-topbar) !important;
  border-bottom: 0;
  text-decoration: none;
  transition: color 0.15s, padding-left 0.15s;
}
#st_mega_menu_wrap .stmenu_sub ul.mu_level_2 a.ma_level_2.ma_item:hover {
  color: var(--pt-primary) !important;
  padding-left: 4px;
}
/* Ocultar flecha (no aparece en prod) */
#st_mega_menu_wrap .stmenu_sub ul.mu_level_2 .list_arrow,
#st_mega_menu_wrap .stmenu_sub ul.mu_level_2 i.fto-angle-right {
  display: none !important;
}

/* Image blocks (item_t=5 con HTML) */
#st_mega_menu_wrap .stmenu_sub .style_content {
  text-align: center;
  padding: 8px 0;
}
#st_mega_menu_wrap .stmenu_sub .style_content img {
  max-width: 100%;
  height: auto;
  display: inline-block;
}
#st_mega_menu_wrap .stmenu_sub .style_content a {
  display: inline-block;
}

/* ============================================
   HOME — Product tabs
   ============================================ */

/* Tab default */
.sttab_block .nav-tabs .nav-link {
  font-family: korolev, sans-serif;
  font-size: 24px;
  font-weight: 500;
  color: #677378;
  text-transform: capitalize;
  padding: 10px 0;
  margin: 0 15px;
  line-height: 1;
  border: none !important;
  border-bottom: none !important;
  background: transparent !important;
}

/* Tab active */
.sttab_block .nav-tabs .nav-link.active,
.sttab_block .nav-tabs .nav-link.active:hover,
.sttab_block .nav-tabs .nav-link.active:focus {
  color: #123b4d;
  border: none !important;
  border-bottom: 3px solid #35b2e6 !important;
}

/* Tab hover */
.sttab_block .nav-tabs .nav-link:hover {
  color: #123b4d;
  border-bottom: 3px solid #35b2e6 !important;
}

/* Remove default Bootstrap tab border from container */
.sttab_block .nav-tabs {
  border-bottom: none;
}

/* Product card buttons — reset global btn-default/btn-primary overrides */
.product-miniature .btn-default,
.product-miniature .btn-primary,
.product-miniature .add-to-cart,
.product-miniature .quick-view,
.ajax_block_product .btn-default,
.ajax_block_product .btn-primary,
.ajax_block_product .add-to-cart {
  background-color: var(--pt-primary) !important;
  border-color: var(--pt-primary) !important;
  color: #fff !important;
  border-radius: 4px !important;
  padding: 6px 12px !important;
  font-family: inherit !important;
  font-size: inherit !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  height: auto !important;
  line-height: inherit !important;
  border-width: 1px !important;
}
.product-miniature .btn-default:hover,
.product-miniature .btn-primary:hover,
.product-miniature .add-to-cart:hover,
.ajax_block_product .btn-default:hover,
.ajax_block_product .btn-primary:hover,
.ajax_block_product .add-to-cart:hover {
  background-color: var(--pt-primary-hover) !important;
  border-color: var(--pt-primary-hover) !important;
  color: #fff !important;
}

/* ============================================
   HOME — Newsletter section (stnewsletter)
   ============================================ */

/* Section padding */
.st_news_letter {
  padding: 40px 20px;
}

/* Title */
.st_news_letter .title_block {
  display: block;
  margin-bottom: 20px;
}
.st_news_letter .title_block_inner {
  font-family: korolev, sans-serif;
  font-size: 24px;
  font-weight: 500;
  color: #fff !important;
  text-align: center !important;
  line-height: 1.2;
  width: 100%;
}

/* Form layout */
.st_news_letter .st_news_letter_box {
  text-align: center;
}
.st_news_letter .st_news_letter_form {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.st_news_letter .st_news_letter_form_inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  width: 100%;
}
.st_news_letter .input-group,
.st_news_letter .input-group.round_item,
.st_news_letter .input-group-with-border {
  width: 400px;
  max-width: 90vw;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  background-color: transparent !important;
}
.st_news_letter .st_news_letter_input,
.st_news_letter .form-control.st_news_letter_input {
  border-radius: 100px !important;
  border: 2px solid #fff !important;
  padding: 5px 20px !important;
  height: 44px !important;
  width: 100% !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #123b4d !important;
  font-size: 14px;
  box-shadow: none !important;
}
.st_news_letter .st_news_letter_input::placeholder,
.st_news_letter .form-control.st_news_letter_input::placeholder {
  color: #35b2e6 !important;
  opacity: 1 !important;
}
.st_news_letter .st_news_letter_input:focus,
.st_news_letter .form-control.st_news_letter_input:focus {
  outline: none;
  box-shadow: none !important;
  background: transparent !important;
  background-color: transparent !important;
}

/* Button */
.st_news_letter .st_news_letter_submit {
  background-color: transparent !important;
  color: #fff !important;
  border: 2px solid #fff !important;
  border-radius: 100px !important;
  padding: 5px 20px !important;
  height: 44px;
  line-height: normal;
  font-size: 14px;
  cursor: pointer;
  transition: opacity 0.2s;
  width: 400px;
  max-width: 90vw;
  margin-top: 0;
}
.st_news_letter .st_news_letter_submit:hover {
  background: rgba(255,255,255,0.15) !important;
}
.st_news_letter .st_news_letter_submit:hover {
  opacity: 0.85;
}

/* ============================================
   FOOTER — Prefooter (.row.prefooter)
   ============================================ */

.prefooter,
.row.prefooter,
.prefooter-wrapper,
#footer .prefooter-wrapper {
  background-color: var(--pt-prefooter);
  padding: 30px 0;
}

/* Phone block inside prefooter */
.prefooter-phone .phone-label,
.prefooter .phone-label {
  font-size: 0.85rem;
  color: #666;
  display: block;
}
.prefooter-phone .phone-number a,
.prefooter .phone-number a {
  color: var(--pt-primary);
  font-size: 1.6rem;
  font-weight: 700;
  text-decoration: none;
  display: block;
  line-height: 1.2;
}
.prefooter-phone .phone-email,
.prefooter .phone-email {
  font-size: 0.85rem;
  color: #666;
  margin-top: 2px;
}
.prefooter-phone .phone-email a,
.prefooter .phone-email a {
  color: var(--pt-primary);
}
.prefooter-phone .btn-contactar,
.prefooter .btn-contactar {
  display: inline-block;
  margin-top: 14px;
  background: #222;
  color: #fff;
  padding: 9px 22px;
  border-radius: 25px;
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s;
}
.prefooter-phone .btn-contactar:hover,
.prefooter .btn-contactar:hover {
  background: #000;
  color: #fff;
}

/* YouTube link */
.prefooter-youtube .yt-link,
.prefooter .yt-link {
  display: block;
  margin-top: 8px;
  color: var(--pt-primary);
  font-size: 0.85rem;
  text-decoration: none;
  text-align: center;
}
.prefooter-youtube .yt-link:hover {
  text-decoration: underline;
}

/* Prefooter columns — center content */
.col1-prefooter,
.col2-prefooter,
.col3-prefooter {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

/* YouTube link */
.colVid a[href*=youtube] {
  color: #677378;
  font-size: 13px;
  margin-top: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
.colVid a[href*=youtube] i {
  font-size: 16px;
  color: #35b2e6;
  margin: 0 2px 0 0;
}
.colVid a[href*=youtube]:hover {
  color: var(--pt-primary);
}

/* Social icons */
.colSocials h4,
.colInfo h4,
.colPaiements h4 {
  font-family: korolev, sans-serif !important;
  font-size: 16px !important;
  line-height: 22px !important;
  font-weight: 500 !important;
  color: #123b4d !important;
  margin: 0 0 8px !important;
}
.colSocials ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: row;
  gap: 4px;
}
.colSocials ul li {
  display: inline-flex;
}
.colSocials ul li a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
.colSocials ul li a i {
  font-size: 30px;
  padding: 5px;
  color: #123b4d;
  transition: all 350ms cubic-bezier(.77, 0, .175, 1);
}
.colSocials ul li a:hover i {
  color: var(--pt-primary);
}

/* ============================================
   FOOTER — Link columns (#footer-tertiary)
   ============================================ */

/* Max-width 1440px centrado */
#footer-tertiary .wide_container_box,
#footer-bottom .wide_container_box {
  max-width: 1440px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}
#footer-tertiary-container,
#footer-bottom-container {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Column titles */
#footer-tertiary .title_block_inner {
  font-family: korolev, sans-serif !important;
  font-size: 18px !important;
  line-height: 24px !important;
  font-weight: 700 !important;
  color: #123b4d !important;
  text-transform: none !important;
  margin-top: 10px !important;
  margin-bottom: 10px !important;
  letter-spacing: 0 !important;
}

/* Column links */
#footer-tertiary .dropdown_list_item,
#footer-tertiary .footer_block_content li a {
  color: #677378 !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
  text-decoration: none;
  display: block;
  padding: 3px 0;
}
#footer-tertiary .dropdown_list_item:hover,
#footer-tertiary .footer_block_content li a:hover {
  color: var(--pt-primary) !important;
}

/* Hide mobile accordion opener on desktop */
#footer-tertiary .opener {
  display: none;
}
@media (max-width: 767px) {
  #footer-tertiary .opener { display: block; }
}

/* ============================================
   LAYOUT — Full width + 20px horizontal padding
   Enabled via STSN_FULLWIDTH_TOPBAR/HEADER = 1
   ============================================ */

#top_bar_container.container-fluid,
#header_primary_container.container-fluid {
  padding-left: 20px !important;
  padding-right: 20px !important;
}

/* Mega menu always uses .container — force full width + 20px padding */
.st_mega_menu_container .container,
.st_mega_menu_container.container-fluid {
  max-width: 100%;
  width: 100%;
  padding-left: 20px !important;
  padding-right: 20px !important;
}

/* Copyright bar */
#footer-bottom-container {
  border: none !important;
}
#footer-bottom .col-12 {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: center;
  border-top: 2px solid #d9e2e5;
  font-size: 11px;
  padding: 10px 0;
  color: #123b4d;
  margin: 40px 0 0 0;
}
#footer_bottom_left {
  text-align: left !important;
  flex: 1;
}
#footer_bottom_right {
  flex-shrink: 0;
}
@media (max-width: 767px) {
  #footer-bottom .col-12 {
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 10px;
  }
  #footer_bottom_left {
    text-align: left !important;
  }
}
#footer-bottom .copyright_text {
  color: #123b4d;
  font-size: 11px;
  text-align: left !important;
}
#footer {
  padding-bottom: 0 !important;
}
#footer-bottom {
  padding-bottom: 0 !important;
}

/* ============================================
   TYPOGRAPHY — Body + Headings
   Body:    Poppins (Google Fonts)
   Titles:  Korolev (Adobe Fonts / TypeKit mzj5aam)
   ============================================ */

body {
  font-family: "Poppins", sans-serif;
  font-size: 15px;
  line-height: 1.6;
  color: var(--pt-topbar);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: "korolev", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  color: #232323;
}

h1 { font-size: 2rem; }
h2 { font-size: 1.5rem; }
h3 { font-size: 1.25rem; }
h4 { font-size: 1.125rem; }
h5 { font-size: 1rem; }
h6 { font-size: 0.9rem; }

p {
  font-family: "Poppins", sans-serif;
  font-size: 15px;
  line-height: 1.6;
  color: var(--pt-topbar);
}

a {
  color: var(--pt-primary);
  text-decoration: none;
}
a:hover {
  color: var(--pt-primary-hover);
  text-decoration: underline;
}

button,
.btn,
input[type="submit"],
input[type="button"] {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
}

/* Botones globales */
.btn-default {
  background-color: #35b2e6 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 100px !important;
  font-family: korolev, sans-serif !important;
  font-size: clamp(14px, 1.5vw, 16px) !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  padding: 14px 36px !important;
  letter-spacing: 0.05em !important;
  height: auto !important;
  line-height: 1.2 !important;
  transition: background-color 0.2s ease !important;
}
.btn-default:hover,
.btn-default:focus,
.btn-default:active {
  background-color: #123b4d !important;
  color: #fff !important;
}
.btn-primary {
  background-color: #fff !important;
  color: #35b2e6 !important;
  border: 2px solid #35b2e6 !important;
  border-radius: 100px !important;
  font-family: korolev, sans-serif !important;
  font-size: clamp(14px, 1.5vw, 16px) !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  padding: 14px 36px !important;
  letter-spacing: 0.05em !important;
  height: auto !important;
  line-height: 1.2 !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background-color: #35b2e6 !important;
  color: #fff !important;
  border-color: #35b2e6 !important;
}

/* ============================================
   CATEGORY PAGE — #contentHead banner
   Full-width dark header matching production
   ============================================ */

#contentHead {
  background-color: #123b4d;
  background-image: url(../img/bg-news.png);
  background-position: 100% 50%;
  background-size: auto;
  background-repeat: no-repeat;
  color: #fff;
  padding: 60px 0 20px;
}

#contentHead .breadcrumb {
  margin-top: -40px;
}
#contentHead .breadcrumb li,
#contentHead .breadcrumb li:last-child {
  color: #fff;
}
#contentHead .breadcrumb li a {
  color: #fff;
}
.block-category {
  min-height: 13.75rem;
}
#contentHead .block-category.card.card-block {
  box-shadow: none;
  border: 0;
  padding: 0;
  background: transparent;
  margin: 0;
}
#contentHead .block-category.card.card-block h1 {
  color: #fff;
  margin-top: 20px;
  margin-bottom: 10px;
  font-family: korolev, sans-serif;
  font-weight: 500;
  font-size: 51px;
  line-height: 1.1;
  text-transform: none;
}
.block-category .block-category-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

/* Hide h1 from product_list_header (now in contentHead) */
.page-category .category_page_heading {
  display: none !important;
}

/* Category cover image — full width, large */
.page-category .category-cover {
  margin-bottom: 24px;
}

.page-category .category-cover img {
  width: 100%;
  height: auto;
  max-height: 480px;
  object-fit: cover;
  display: block;
}

/* ============================================
   PRODUCT MINIATURES
   ============================================ */

/* Card styles on article (full column width, not inner pro_outer_box) */
article.ajax_block_product {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: none;
  transition: box-shadow 0.25s;
}
article.ajax_block_product:hover {
  background: #fff;
  box-shadow: 0 4px 20px rgba(0,0,0,0.13);
}
/* Inner box: full width, no auto-centering, no hover background */
.ajax_block_product .pro_outer_box {
  background: transparent !important;
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.product_list.grid .ajax_block_product .pro_outer_box:hover,
.products_sldier_swiper .ajax_block_product .pro_outer_box:hover {
  background-color: transparent !important;
}

/* Hide image-area hover overlay (buttons live in second box) */
.ajax_block_product .pro_first_box .hover_fly {
  display: none !important;
}

/* Title — dark navy, bold */
.ajax_block_product .s_title_block a {
  color: #123b4d !important;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none !important;
}
.ajax_block_product .s_title_block a:hover {
  color: #35b2e6 !important;
}

/* Remove bottom padding so buttons sit flush */
.ajax_block_product .pro_second_box {
  padding-bottom: 0 !important;
}

/* Description centered */
.ajax_block_product .product-desc {
  text-align: center;
}

/* Price */
.ajax_block_product .price {
  text-align: center;
  position: relative;
  font-family: korolev, sans-serif;
  font-size: 24px;
  font-weight: 500;
  color: #123b4d;
  display: block;
}
.ajax_block_product .regular-price {
  display: inline-block;
  font-size: .875rem;
  color: #7a7a7a;
  text-decoration: line-through;
}
.ajax_block_product .tax_label {
  display: none !important;
}

/* Product card: name */
.ajax_block_product .s_title_block a {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.2;
  font-family: korolev, sans-serif;
  color: #123b4d;
  text-transform: none;
  margin-top: 0;
  margin-bottom: 0;
}

/* Product card: short description truncated to 2 lines below name */
.ajax_block_product .pt_short_desc {
  font-size: 13px;
  color: #677378;
  line-height: 18px;
  text-align: center;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0 0 10px;
}

/* Keep act_box hidden outside pt_action_bar (Panda compat) */
.ajax_block_product .act_box_cart,
.ajax_block_product .act_box_inner {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Icon bar always hidden */
.ajax_block_product .pt_icon_bar {
  display: none !important;
}

/* Action bar: flex container, hidden until hover, negates pro_second_box 6px side padding */
.ajax_block_product .pt_action_bar {
  display: none;
  flex-direction: row;
  margin: 0 -6px;
  border-radius: 0 0 10px 10px;
  overflow: hidden;
}
.ajax_block_product:hover .pt_action_bar {
  display: flex;
}
/* Mobile: no hover exists — always show action bar */
@media (max-width: 767px) {
  .ajax_block_product .pt_action_bar {
    display: flex;
  }
}
/* Inside action bar: override the !important hide, each child takes equal space */
.ajax_block_product .pt_action_bar .act_box_cart,
.ajax_block_product .pt_action_bar .act_box_inner {
  display: block !important;
  flex: 1;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}
/* Hide empty cart slot so inner button expands to full width */
.ajax_block_product .pt_action_bar .act_box_cart:not(:has(*)) {
  display: none !important;
  flex: 0 !important;
}

/* COMPRA RÁPIDA / PRECIO A CONSULTAR button (blue) */
.ajax_block_product .act_box_cart .ajax_add_to_cart_button,
.ajax_block_product .act_box_cart .precio_consultar_btn {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  background: #35b2e6;
  color: #fff !important;
  padding: 10px 6px;
  margin: 0 !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  white-space: nowrap;
  border: none;
  border-radius: 0;
  text-decoration: none !important;
  transition: background 0.2s;
  box-sizing: border-box;
}
.ajax_block_product .act_box_cart .ajax_add_to_cart_button:hover,
.ajax_block_product .act_box_cart .precio_consultar_btn:hover {
  background: #1f9fd3;
  text-decoration: none !important;
}

/* MÁS DETALLES button (dark navy) */
.ajax_block_product .act_box_inner .hover_fly_btn {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  background: #123b4d;
  color: #fff !important;
  padding: 10px 6px;
  margin: 0 !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  white-space: nowrap;
  border: none;
  border-radius: 0;
  text-decoration: none !important;
  transition: background 0.2s;
  box-sizing: border-box;
}
.ajax_block_product .act_box_inner .hover_fly_btn:hover {
  background: #0d2d3b;
  text-decoration: none !important;
}

/* Button inner layout */
.ajax_block_product .act_box_cart .hover_fly_btn_inner,
.ajax_block_product .act_box_inner .hover_fly_btn_inner {
  display: flex;
  align-items: center;
  gap: 6px;
}
.ajax_block_product .act_box_cart .icon_btn,
.ajax_block_product .act_box_inner .icon_btn,
.ajax_block_product .act_box_cart .hover_fly_btn_inner span,
.ajax_block_product .act_box_inner .hover_fly_btn_inner span {
  color: #fff !important;
  font-size: 0.72rem;
}
.ajax_block_product .act_box_cart .icon_btn,
.ajax_block_product .act_box_inner .icon_btn {
  font-size: 1rem;
}

/* Override button text labels */
.ajax_block_product .act_box_cart .hover_fly_btn_inner > span {
  font-size: 0 !important;
}
.ajax_block_product .act_box_cart .hover_fly_btn_inner > span::after {
  content: 'Compra rápida';
  font-size: 0.72rem;
}
.ajax_block_product .act_box_cart .precio_consultar_btn .hover_fly_btn_inner > span::after {
  content: 'Precio a consultar';
}
.ajax_block_product .act_box_inner .hover_fly_btn_inner > span {
  font-size: 0 !important;
}
.ajax_block_product .act_box_inner .hover_fly_btn_inner > span::after {
  content: 'Más detalles';
  font-size: 0.72rem;
}

/* ============================================================
   PRODUCT PAGE — Columna derecha (product_middle_column)
   ============================================================ */

/* Layout columna — posición relativa para logo marca y ref top */
.product_middle_column .product_name_wrap {
  position: relative;
  flex-direction: column;
}

/* Referencia arriba del nombre */
.product_middle_column .pt-product-ref-top {
  font-family: Poppins, sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: #677378;
  margin-bottom: 4px;
}

/* Ocultar referencia original (queda abajo) */
.product_middle_column .product-reference {
  display: none;
}

/* H1 nombre producto — padding-right para no solapar logo */
.product_middle_column h1.product_name {
  font-family: korolev, sans-serif;
  font-size: 51px;
  font-weight: 500;
  color: #123b4d;
  text-transform: uppercase;
  line-height: 1;
  margin-bottom: 8px;
  padding-right: 120px;
}

/* Marca — logo top-right, sin label "Brand:", sin border */
.product_middle_column .product-manufacturer {
  position: absolute;
  top: 0;
  right: 0;
}
.product_middle_column .product-manufacturer .pro_extra_info_label {
  display: none;
}
.product_middle_column .product-manufacturer img,
.product_middle_column .product-manufacturer a,
.product_middle_column .product-manufacturer .general_border {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Meta title — subtítulo azul bajo h1 */
.product_middle_column .product-meta-title {
  font-family: korolev, sans-serif;
  font-size: 15px;
  font-weight: 400;
  color: #35b2e6;
  text-transform: uppercase;
  line-height: 24px;
  margin: 10px 0;
}

/* Reordenar bloques: subtitle → HR → precio → HR → descripción → qty+cart → wishlist */
.product_middle_column .product-information {
  display: flex;
  flex-direction: column;
}
.product_middle_column .steasy_divider.between_short_and_price { order: 1; }
.product_middle_column .pro_price_block                        { order: 2; }
.product_middle_column .product-description-short              { order: 4; }
.product_middle_column .product-actions                        { order: 5; }
.product_middle_column .product-reference                      { order: 6; }
.product_middle_column .add_to_wishlist                        { order: 7; }

/* HR 1 — entre subtitle y precio */
.product_middle_column .steasy_divider.between_short_and_price {
  border-top: 1px solid #d9e2e5;
  margin: 20px 0;
}
.product_middle_column .steasy_divider.between_short_and_price .steasy_divider_item {
  display: none;
}

/* HR 2 — entre precio y descripción (border-top en descripción) */
.product_middle_column .product-description-short {
  border-top: 1px solid #d9e2e5;
  padding-top: 24px;
  margin-top: 0;
  margin-bottom: 24px;
  color: #677378;
  font-size: 15px;
  line-height: 1.6;
}

/* Margen bajo el bloque de precio */
.product_middle_column .pro_price_block {
  margin-bottom: 8px;
}

/* "Cantidad" label encima del qty */
.product_middle_column .product-quantity::before {
  content: 'Cantidad';
  display: block;
  font-family: Poppins, sans-serif;
  font-size: 15px;
  font-weight: 400;
  color: #123b4d;
  margin-bottom: 8px;
  margin-top: 16px;
}

/* Botón añadir al carrito — más grande */
.product_middle_column .add-to-cart {
  background-color: #35b2e6 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 100px !important;
  font-family: korolev, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  padding: 14px 36px !important;
  letter-spacing: 0.05em;
  height: auto !important;
}
.product_middle_column .add-to-cart:hover {
  background-color: #123b4d !important;
}

/* Qty - y + buttons */
.product_middle_column .btn-touchspin {
  background-color: #fff !important;
  border: 1px solid #d9e2e5 !important;
  color: #123b4d !important;
  font-size: 18px !important;
  font-weight: 500 !important;
}
.product_middle_column .qty input[name="qty"] {
  font-family: korolev, sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: #123b4d;
  border: 1px solid #d9e2e5;
  text-align: center;
}

/* Disponibilidad — EN STOCK */
.product_middle_column .js-product-availability.product-available {
  color: #35b2e6;
  font-family: korolev, sans-serif;
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 12px;
}
.product_middle_column .js-product-availability.product-available::before {
  font-family: "Font Awesome 5 Pro" !important;
  font-weight: 900 !important;
  content: "\f00c" !important;
  font-size: 14px;
  color: #35b2e6;
}
.product_middle_column .js-product-availability.product-unavailable {
  display: none;
}

/* Wishlist — corazón FA, estilo prod */
.product_middle_column .add_to_wishlist {
  display: flex !important;
  align-items: center;
  font-family: Poppins, sans-serif;
  font-size: 15px;
  color: #35b2e6 !important;
  text-decoration: none !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin-top: 8px;
}
.product_middle_column .add_to_wishlist .hover_fly_btn_inner {
  display: flex !important;
  align-items: center;
  gap: 8px;
}
/* Ocultar icono estrella original */
.product_middle_column .add_to_wishlist .fto-star {
  display: none !important;
}
/* Corazón en el propio enlace */
.product_middle_column .add_to_wishlist::before {
  font-family: "Font Awesome 5 Pro" !important;
  font-weight: 300 !important;
  content: "\f004" !important;
  font-size: 20px !important;
  color: #35b2e6 !important;
  margin-right: 6px;
  speak: none;
  -webkit-font-smoothing: antialiased;
}
/* Ocultar texto original "Add to wishlist" y poner traducción */
.product_middle_column .add_to_wishlist .btn_text {
  font-size: 0;
}
.product_middle_column .add_to_wishlist .btn_text::after {
  content: 'Añadir a mis favoritos';
  font-size: 15px;
  color: #35b2e6;
}

/* Precio */
.product_middle_column .current-price {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
}
.product_middle_column .price {
  font-family: korolev, sans-serif;
  font-size: 40px !important;
  font-weight: 500;
  color: #35b2e6;
  line-height: 30px;
  margin: 0;
}
.product_middle_column .tax_label {
  font-size: 15px;
  color: #677378;
  font-family: korolev, sans-serif;
  font-weight: 500;
  line-height: 1;
}
.product_middle_column .regular-price {
  flex: 0 0 100%;
  text-decoration: none !important;
  font-family: Poppins, sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: #123b4d;
  margin-top: 4px;
}
.product_middle_column .regular-price::before {
  content: 'Precio tarifa: ';
  font-weight: 400;
  color: #677378;
}
.product_middle_column .regular-price::after {
  content: ' sin IVA';
  font-weight: 700;
  color: #123b4d;
}

/* Botón añadir al carrito */
.product_middle_column .add-to-cart {
  background-color: #35b2e6 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 100px !important;
  font-family: korolev, sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  padding: 10px 30px !important;
  letter-spacing: 0.05em;
}
.product_middle_column .add-to-cart:hover {
  background-color: #123b4d !important;
}

/* Botones qty - / + */
.product_middle_column .qty .input-group-btn .btn,
.product_middle_column .qty .btn-touchspin {
  background-color: #f2f8fa;
  border: 1px solid #d9e2e5;
  color: #123b4d;
  font-size: 18px;
  font-weight: 500;
}
.product_middle_column .qty input[name="qty"] {
  font-family: korolev, sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: #123b4d;
  border: 1px solid #d9e2e5;
  text-align: center;
}

/* Referencia */
.product_middle_column .product-reference .pro_extra_info_label {
  font-size: 13px;
  color: #677378;
}
.product_middle_column .product-reference .pro_extra_value {
  font-size: 13px;
  font-weight: 600;
  color: #123b4d;
}

/* Banner login requerido */
.pt-login-to-buy {
  display: flex;
  align-items: center;
  gap: 24px;
  background-color: #35b2e6;
  border-radius: 8px;
  padding: 24px 28px;
  color: #fff !important;
  font-family: Poppins, sans-serif;
  font-size: 15px;
  line-height: 1.6;
  margin: 16px 0;
}
.pt-login-to-buy .fal {
  font-size: 44px;
  flex-shrink: 0;
  color: #fff !important;
}
.pt-login-to-buy p {
  margin: 0;
  color: #fff !important;
}
.pt-login-to-buy a,
.pt-login-to-buy a:visited,
.pt-login-to-buy a:hover {
  color: #fff !important;
  text-decoration: underline !important;
}

/* Galería de imágenes producto — bordes thumbnails */
.product_left_column .pro_gallery_thumb_box,
.product_left_column .clicked_thumb .pro_gallery_thumb_box {
  border-color: #e8eef0 !important;
}
.product_left_column .swiper-slide-active .pro_gallery_thumb_box {
  border-color: #35b2e6 !important;
}

/* Galería — animación de desplazamiento de thumbnails */
.product_left_column .pro_gallery_thumbs .swiper-wrapper {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

/* Thumbnail skeleton: reserva altura mientras imagen lazy no cargó */
.product_left_column .pro_gallery_thumbs .pro_gallery_thumb_box {
  min-height: 70px;
  background-color: #fff;
}
/* Fade-in del thumbnail al cargar */
.product_left_column .pro_gallery_thumbs .swiper-lazy {
  opacity: 0;
  transition: opacity 0.3s ease;
}
.product_left_column .pro_gallery_thumbs .swiper-lazy.swiper-lazy-loaded {
  opacity: 1;
}

/* Galería — flechas: movidas fuera de overflow:hidden via JS, círculo siempre visible */
.product_left_column .pro_gallery_thumbs_container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.product_left_column .pro_gallery_thumbs_container > .swiper-container {
  width: 100%;
}
.product_left_column .pro_gallery_thumbs_container > .swiper-button-top,
.product_left_column .pro_gallery_thumbs_container > .swiper-button-bottom {
  position: static !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  width: 56px !important;
  height: 56px !important;
  line-height: normal !important;
  border-radius: 50% !important;
  background-color: #fff !important;
  border: 1.5px solid #d0dde1 !important;
  color: #123b4d !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.07) !important;
  cursor: pointer;
  margin: 0 !important;
}
.product_left_column .pro_gallery_thumbs_container > .swiper-button-disabled {
  opacity: 0.35 !important;
  pointer-events: none;
}
.product_left_column .pro_gallery_thumbs_container > .swiper-button-top i,
.product_left_column .pro_gallery_thumbs_container > .swiper-button-bottom i {
  position: static !important;
  height: auto !important;
  line-height: 1 !important;
  width: auto !important;
  font-size: 16px !important;
  margin: 0 !important;
  color: #123b4d !important;
}
/* Hide wrong-direction icon in each moved button */
.product_left_column .pro_gallery_thumbs_container > .swiper-button-top .slider_arrow_bottom,
.product_left_column .pro_gallery_thumbs_container > .swiper-button-bottom .slider_arrow_top {
  display: none !important;
}

/* Secciones de producto — padding uniforme */
.product_second_section,
.product_third_section {
  padding-top: 48px;
  padding-bottom: 48px;
}
.product_second_section {
  background-color: #F7FBFC;
}

/* Títulos de bloques — sólo en secciones de ficha de producto */
.product_second_section .title_block,
.product_third_section .title_block {
  border: none !important;
}
.product_second_section .title_block .title_block_inner,
.product_third_section .title_block .title_block_inner {
  margin-top: 20px;
  margin-bottom: 10px;
  font-family: "korolev", sans-serif;
  font-size: clamp(24px, 4vw, 38px);
  line-height: 1.2;
  font-weight: 500;
  color: #232323;
  border: none !important;
}

/* =====================================================
   LEFT COLUMN SIDEBAR — category tree & facet filters
   ===================================================== */

/* Block title box */
#left_column .title_block {
  border: 0 !important;
  padding: 15px !important;
  background-color: #f2f8fa;
  margin-bottom: 10px;
}
#left_column .title_block_inner {
  font-family: korolev, sans-serif !important;
  font-size: 24px !important;
  line-height: 30px !important;
  font-weight: 500 !important;
  color: #123b4d !important;
  margin: 0 !important;
  width: 100% !important;
  border: none !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

/* Category tree: gray links with > chevron */
#left_column .block-categories .category-sub-menu li {
  border-bottom: none !important;
}
#left_column .block-categories .acc_header {
  border-bottom: none !important;
}
#left_column .block-categories .acc_header a.flex_child {
  color: #677378 !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  padding: 7px 0 !important;
}
#left_column .block-categories .acc_header a.flex_child::before {
  content: '> ';
  color: #b0bec5;
  margin-right: 2px;
}
#left_column .block-categories .acc_header a.flex_child:hover {
  color: #123b4d !important;
}
#left_column .block-categories .acc_header a.flex_child:hover::before {
  color: #123b4d;
}

/* Facet group headers ("Categorías", "Marca", etc.) */
#left_column .facet {
  margin-top: 12px;
}
#left_column .facet-title.hidden-md-down {
  font-family: korolev, sans-serif !important;
  font-size: 24px !important;
  line-height: 30px !important;
  font-weight: 500 !important;
  color: #123b4d !important;
  margin: 0 !important;
  width: 100% !important;
  padding: 10px 0 8px !important;
  border-top: 1px solid #e2ecf0;
  text-transform: none !important;
  letter-spacing: normal !important;
}

/* Facet item options */
#left_column .search-link.flex_child {
  color: #677378 !important;
  font-family: Poppins, sans-serif !important;
  font-size: 15px !important;
  line-height: 1 !important;
}
#left_column .search-link.flex_child:hover {
  color: #123b4d !important;
}

/* Count stays blue */
#left_column .magnitude {
  color: #35b2e6 !important;
}

/* Category page — spacing between sticky nav and page content */
body#category #wrapper {
  padding-top: 60px;
}
@media (max-width: 767px) {
  body#category #wrapper {
    padding-top: 24px;
  }
}

/* ----------------------------------------------------------------------
 * combinationstab matrix + filters (port from PS7 epodiatech theme).
 * Selectors are kept short so they apply inside the panda product layout
 * (no .col-info-pdt wrapper there).
 * ----------------------------------------------------------------------*/
body#product table.table-ct-filters {
  margin-top: 15px;
  margin-bottom: 0;
}
body#product table.table-ct-filters h4 {
  margin: 2px 0 0 0;
  line-height: 1;
  text-transform: uppercase;
  color: #123b4d;
}
body#product table.table-ct-filters .btn-info {
  color: #fff;
  background-color: #35b2e6;
  border-color: #35b2e6;
  margin: 2px 1px;
  padding: 5px 8px;
  display: inline-block;
  cursor: pointer;
}
body#product table.table-ct-filters .btn-info.active,
body#product table.table-ct-filters .btn-info:hover {
  background-color: #123b4d;
  border-color: #123b4d;
}
body#product table.table-ct-filters tr.resetFilters p {
  float: right;
  font-weight: 500;
  font-size: 13px;
  cursor: pointer;
  color: #123b4d;
  text-transform: uppercase;
  margin: 0;
  transition: color 300ms cubic-bezier(0.77, 0, 0.175, 1);
}
body#product table.table-ct-filters tr.resetFilters p:hover {
  color: #35b2e6;
}

body#product table#ct_matrix {
  width: 100%;
  margin-top: 15px;
  padding: 15px;
  border: 1px solid #f2f8fa;
  background-color: #f2f8fa;
  border-spacing: 1px;
  border-collapse: separate;
}
body#product #ct_matrix thead {
  display: none;
}
body#product #ct_matrix tbody td {
  padding: 5px;
  border: 0;
  text-align: left;
  background: transparent;
  vertical-align: middle;
}
body#product #ct_matrix td.ctd_image {
  max-width: 80px;
}
body#product #ct_matrix td.ctd_image img {
  max-width: 100%;
  height: auto;
}
body#product #ct_matrix .ctd_cname > div span {
  font-family: "korolev", "Poppins", sans-serif;
  font-size: 14px;
  line-height: 14px;
  color: #123b4d;
  font-weight: 400;
}
body#product #ct_matrix .ctd_cname > div span span.combLabel {
  color: #677378;
  font-size: 12px;
  line-height: 14px;
}
body#product #ct_matrix tr.ct_matrix_row:hover td,
body#product #ct_matrix tr.ctp_checked td,
body#product #ct_matrix tr.ct_matrix_row.ctp_checked td {
  background: rgba(53, 178, 230, 0.15);
}
body#product #ct_matrix td.ctd_price,
body#product #ct_matrix td.cth_price {
  color: #123b4d;
  font-family: "korolev", "Poppins", sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 18px;
  text-align: right;
  padding-right: 15px;
}
body#product #ct_matrix td.ctd_price strike,
body#product #ct_matrix td.cth_price strike {
  font-size: 14px;
}
body#product #ct_matrix td.ctd_price strong,
body#product #ct_matrix td.cth_price strong {
  font-weight: 400;
  position: relative;
}
body#product #ct_matrix td.ctd_addtocart {
  text-align: right;
  max-width: 150px;
  min-width: 120px;
  white-space: nowrap;
}
body#product #ct_matrix td.ctd_addtocart.disabled {
  opacity: 0.5;
}
body#product #ct_matrix td.ctd_addtocart.disabled span,
body#product #ct_matrix td.ctd_addtocart.disabled input {
  cursor: not-allowed;
}
body#product #ct_matrix td.ctd_addtocart .increase_quantity,
body#product #ct_matrix td.ctd_addtocart .decrease_quantity {
  cursor: pointer;
  background: #fff !important;
  padding: 8px;
  display: inline-block;
  border-radius: 40px;
  color: #35b2e6;
  font-weight: 700;
}
body#product #ct_matrix td.ctd_addtocart .decrease_quantity {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
body#product #ct_matrix td.ctd_addtocart .increase_quantity {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
body#product #ct_matrix td.ctd_addtocart .qty {
  padding: 10px 0;
  width: 40px;
  text-align: center;
  color: #677378;
  font-size: 13px;
  border: 0;
  margin: 0 !important;
  background: #fff !important;
}

/* EN STOCK + free shipping (rendered by combinationstab's productfooter.tpl) */
body#product #product-availability {
  color: #60d110;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 14px;
  line-height: 1.2;
  display: inline-block;
  margin-top: 10px;
}
body#product .freeShipping {
  color: #677378;
  font-size: 14px;
  line-height: 1.2;
  margin-top: 5px;
  display: block;
}
body#product .freeShipping i {
  margin: 0 8px 0 0;
}

/* bulk add-to-cart button below the matrix */
body#product #add_to_cart_bulk {
  float: none;
  width: 100%;
  margin: 20px 0 0 0;
}
body#product #add_to_cart_bulk .add-to-cart {
  height: auto;
  width: 100%;
  padding: 12px 25px;
  border-radius: 30px;
  background-color: #35b2e6;
  transition: background-color 300ms cubic-bezier(0.77, 0, 0.175, 1);
  line-height: 1;
  font-weight: 600;
  text-transform: uppercase;
  border: 0;
  color: #fff;
}
body#product #add_to_cart_bulk .add-to-cart:hover {
  background-color: #123b4d;
}
body#product #add_to_cart_bulk .add-to-cart > span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
body#product #add_to_cart_bulk .add-to-cart > span i {
  margin: 0 0 3px 8px;
  font-size: 20px;
}

#footer_bottom_right {
  display: none;
}

/* ---- ststickers: pill style -------------------------------------------- */
.st_sticker.layer_btn {
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  white-space: nowrap;
  display: inline-block;
  position: absolute;
  z-index: 10;
}

/* ---- product sections: reduce vertical padding on mobile --------------- */
@media (max-width: 768px) {
  body#product .product_second_section {
    padding-top: 0;
    padding-bottom: 0;
  }
  body#product .product_middle_column {
    margin-bottom: 16px !important;
  }
  body#product .product_third_section {
    padding-top: 0;
    padding-bottom: 16px;
  }
  body#product .bottom_more_info_block {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
}

/* ---- product name + brand: mobile two-column layout -------------------- */
@media (max-width: 768px) {
  body#product .flex_child {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    align-items: start;
    gap: 4px 8px;
  }
  body#product .flex_child h1.product_name {
    font-size: 1.5rem;
    line-height: 1.2;
    grid-column: 1;
    grid-row: 1;
    margin-bottom: 0;
  }
  body#product .flex_child .product-meta-title {
    grid-column: 1 / span 2;
    grid-row: 2;
    display: none;
  }
  body#product .flex_child .product-manufacturer {
    grid-column: 2;
    grid-row: 1;
    flex-direction: column;
    align-items: flex-end;
    margin: 0;
    padding: 0;
  }
  body#product .flex_child .product-manufacturer .pro_extra_info_label {
    display: none;
  }
  body#product .flex_child .product-manufacturer .pro_extra_info_content {
    margin: 0;
  }
  body#product .flex_child .manufacturer-logo {
    max-width: 70px;
    height: auto;
  }
}

/* ---- combinationstab: mobile card layout -------------------------------- */
@media (max-width: 768px) {
  body#product table#ct_matrix {
    background: #f2f8fa;
    border: none;
    padding: 8px;
    margin-top: 0;
  }

  body#product #ct_matrix tr.ct_matrix_row {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    background: #f2f8fa;
    border: none !important;
    border-radius: 0;
    margin-bottom: 0;
    padding: 20px 16px 16px;
  }

  body#product #ct_matrix td {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    border: none !important;
    padding: 3px 0 !important;
    background: transparent !important;
  }

  /* hide all data-label prefixes */
  body#product #ct_matrix td::before {
    display: none !important;
  }

  /* image: centered, square */
  body#product #ct_matrix td.ctd_image {
    display: flex !important;
    justify-content: center;
    max-width: 100% !important;
    margin-bottom: 10px;
  }
  body#product #ct_matrix td.ctd_image img {
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 8px;
  }

  /* attributes */
  body#product #ct_matrix .ctd_cname {
    text-align: center;
  }
  body#product #ct_matrix .ctd_cname > div span {
    display: block;
    text-align: center;
    font-size: 13px;
    line-height: 1.8;
    color: #677378;
  }
  body#product #ct_matrix .ctd_cname > div span span.combLabel {
    font-weight: 700;
    color: #123b4d;
  }

  /* qty controls: pill */
  body#product #ct_matrix td.ctd_addtocart {
    display: flex !important;
    justify-content: center;
    align-items: center;
    max-width: 100% !important;
    min-width: unset !important;
    padding: 8px 0 !important;
  }
  body#product #ct_matrix td.ctd_addtocart .decrease_quantity,
  body#product #ct_matrix td.ctd_addtocart .increase_quantity {
    background: #fff !important;
    padding: 8px;
    border-radius: 40px;
    color: #35b2e6;
    font-weight: 700;
    display: inline-block;
  }
  body#product #ct_matrix td.ctd_addtocart .decrease_quantity {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  body#product #ct_matrix td.ctd_addtocart .increase_quantity {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  body#product #ct_matrix td.ctd_addtocart .qty {
    background: #fff !important;
    width: 40px;
    padding: 10px 0;
    text-align: center;
    color: #677378;
    font-size: 13px;
    border: 0;
    margin: 0 !important;
  }
  /* hide per-row add-to-cart button on mobile (bulk button below) */
  body#product #ct_matrix td.ctd_addtocart .ct_submit {
    display: none;
  }

  /* price */
  body#product #ct_matrix td.ctd_price {
    text-align: center !important;
    padding-right: 0 !important;
    font-size: 18px !important;
  }

  body#product #ct_matrix tr.ct_matrix_row:hover td,
  body#product #ct_matrix tr.ctp_checked td {
    background: transparent !important;
  }
}
