/* === INPUT DE CANTIDAD CON ESTILO DE MARCA === */
.bootstrap-touchspin .input-group-btn-vertical {
  position: relative;
  white-space: nowrap;
  width: 1%;
  vertical-align: middle;
  display: table-cell;
}

.bootstrap-touchspin .input-group-btn-vertical > .btn {
  display: block;
  float: none;
  width: 100%;
  max-width: 100%;
  padding: 8px 10px;
  margin-left: -1px;
  position: relative;
  background-color: #3f4d34 !important;
  border: none !important;
  color: #fff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500;
  transition: background-color 0.3s ease;
}

.bootstrap-touchspin .input-group-btn-vertical > .btn:hover {
  background-color: #2f3a27 !important;
}

.bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-up {
  border-radius: 0;
  border-top-right-radius: 6px;
}

.bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-down {
  margin-top: -2px;
  border-radius: 0;
  border-bottom-right-radius: 6px;
}

.bootstrap-touchspin .input-group-btn-vertical i {
  position: absolute; !important;
  top: 3px;
  left: 5px;
  font-size: 10px;
  font-weight: 400;
}

/* ==== CUSTOM.CSS EQUIVALENTE DEL THEME.CSS OPTIMIZADO ==== */

/* Google Fonts: Montserrat en varios pesos */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800&display=swap');

:root {
  --primary-color: #3f4d34; !important;
  --primary-font: 'Montserrat', sans-serif; !important;
}

body {
  font-family: var(--primary-font); !important;
  background-color: #ffffff; !important;
  color: #333;
  margin: 0;
  padding: 0;
  font-size: 16px;
  -ms-overflow-style: scrollbar; !important;
  -webkit-tap-highlight-color: transparent; !important;
  line-height: 1.15;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
}

html {
  font-family: sans-serif; !important;
  line-height: 1.15;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
  font-size: 16px;
  -ms-overflow-style: scrollbar;!important;
  -webkit-tap-highlight-color: transparent; !important;
}

*, *::before, *::after {
  box-sizing: inherit; !important;
  text-rendering: optimizeLegibility; 
  -webkit-font-smoothing: antialiased; !important;
  font-smoothing: antialiased; !important;
}

/* Dropdown styles */
.dropdown-toggle::after {
  display: inline-block; !important;
  width: 0;
  height: 0;
  margin-left: .3em;
  vertical-align: middle; !important;
  content: "";
  border-top: .3em solid;
  border-right: .3em solid transparent; !important;
  border-left: .3em solid transparent; !important;
}

.dropdown-toggle:focus {
  outline: 0;
}

.dropup .dropdown-toggle::after {
  border-top: 0;
  border-bottom: .3em solid; !important;
}

.dropdown-menu {
  position: absolute; !important;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 10rem;
  padding: .5rem 0;
  margin: .125rem 0 0;
  font-size: 1rem;
  color: #363a42 !important;
  text-align: left;
  list-style: none;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0,0,0,.15);
  border-radius: 0;
}

.dropdown-divider {
  height: 1px;
  margin: .5rem 0;
  overflow: hidden;
  background-color: #e5e5e5 !important;
}

.dropdown-item {
  display: block;
  width: 100%;
  padding: 3px 1.5rem;
  clear: both;
  font-weight: 400;
  color: #363a42 
  text-align: inherit;
  white-space: nowrap !important;
  background: 0 0;
  border: 0;
}

.dropdown-item:focus,
.dropdown-item:hover {
  background-color: #f5f5f5 !important;
}

.dropdown-item.active,
.dropdown-item.active:focus,
.dropdown-item.active:hover {
  color: #fff;
  text-decoration: none;
  background-color: var(--primary-color); !important;
  outline: 0;
}

.dropdown-item.disabled,
.dropdown-item.disabled:focus,
.dropdown-item.disabled:hover {
  color: #f6f6f6;
  text-decoration: none;
  cursor: not-allowed;
  background-color: transparent; !important;
  background-image: none;
  filter: "progid:DXImageTransform.Microsoft.gradient(enabled = false)"; !important;
}

.open>.dropdown-menu {
  display: block;
}

.open>a {
  outline: 0;
}

.dropdown-menu-right {
  right: 0;
  left: auto;
}

.dropdown-menu-left {
  right: auto;
  left: 0;
}

.dropdown-header {
  display: block; !important;
  padding: .5rem 1.5rem;
  margin-bottom: 0;
  font-size: .875rem; 
  color: #f6f6f6; !important;
  white-space: nowrap; !important;
}

.dropdown-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 990;
}

.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
  content: "";
  border-top: 0;
  border-bottom: .3em solid;
}

.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-bottom: .125rem;
}

button:hover,
.btn:hover,
.btn:focus,
.btn:active,
input[type="submit"]:hover,
input[type="submit"]:focus,
input[type="submit"]:active {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: #fff !important;
}

.btn-primary,
.btn-primary:hover {
  color: #fff !important;
  background-color: #3f4d34 !important;
  border-color: transparent !important;
  font-family: 'Montserrat', sans-serif !important; 
}

.btn-primary:hover {
  background-color: #2f3a27 !important; /* una versión ligeramente más oscura para el hover */
}

.dropdown-item.active,
.dropdown-item:active,
.dropdown-item:hover,
.dropdown-item:focus {
    background-color: var(--primary-color) !important;
    color: #fff !important;
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--primary-color) !important;
    box-shadow: 0 0 0 0.2rem rgba(63, 77, 52, 0.25) !important;
}
/* ===============================
   CUSTOM STYLES - RAMA BELLEZA
   =============================== */

/* Ajustes de color en navegación */
.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus {
    color: #3f4d34; /* color principal al pasar el mouse */ !important;
}

.navbar-light .navbar-nav .nav-link.active,
.navbar-light .navbar-nav .nav-link.active:focus,
.navbar-light .navbar-nav .nav-link.active:hover {
    color:#3f4d34; !important;
    font-weight: bold; !important;
}

/* Estilos existentes anteriores */
.nav {
    padding-left: 0;
    margin-bottom: 0;
    list-style: none
}

.nav-link {
    display: inline-block !important;
}

.nav-link:focus,.nav-link:hover {
    text-decoration: none
}

.nav-link.disabled {
    color: #f6f6f6 !important;
}

.nav-link.disabled,.nav-link.disabled:focus,.nav-link.disabled:hover {
    color: #f6f6f6;
    cursor: not-allowed;
    background-color: transparent
}

.nav-inline .nav-item {
    display: inline-block
}

.nav-inline .nav-item+.nav-item,.nav-inline .nav-link+.nav-link {
    margin-left: 1rem
}

.nav-tabs {
    border-bottom: 1px solid #ddd
}

.nav-pills::after,.nav-tabs::after,.navbar::after {
    content: "";
    display: table;
    clear: both
}

.nav-tabs .nav-item {
    float: left;
    margin-bottom: -1px
}

.nav-tabs .nav-item+.nav-item {
    margin-left: .2rem
}

.nav-tabs .nav-link {
    display: block;
    padding: .5em 1em;
    border: 1px solid transparent;
    border-top-right-radius: 0;
    border-top-left-radius: 0
}

.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover {
    border-color: #f6f6f6 #f6f6f6 #ddd
}

.nav-tabs .nav-link.disabled,.nav-tabs .nav-link.disabled:focus,.nav-tabs .nav-link.disabled:hover {
    color: #f6f6f6;
    background-color: transparent;
    border-color: transparent
}

.nav-tabs .nav-item.open .nav-link,.nav-tabs .nav-item.open .nav-link:focus,.nav-tabs .nav-item.open .nav-link:hover,.nav-tabs .nav-link.active,.nav-tabs .nav-link.active:focus,.nav-tabs .nav-link.active:hover {
    color: #7a7a7a;
    background-color: #fff;
    border-color: #ddd #ddd transparent
}

.nav-tabs .dropdown-menu {
    margin-top: -1px;
    border-top-right-radius: 0;
    border-top-left-radius: 0
}

.nav-pills .nav-item {
    float: left
}

.nav-pills .nav-item+.nav-item {
    margin-left: .2rem
}

.nav-pills .nav-link {
    display: block;
    padding: .5em 1em;
    border-radius: 0
}

.nav-pills .nav-item.open .nav-link,.nav-pills .nav-item.open .nav-link:focus,.nav-pills .nav-item.open .nav-link:hover,.nav-pills .nav-link.active,.nav-pills .nav-link.active:focus,.nav-pills .nav-link.active:hover {
    color: #fff;
    cursor: default;
    background-color: #3f4d34 !important;
}

.nav-stacked .nav-item {
    display: block;
    float: none
}

.nav-stacked .nav-item+.nav-item {
    margin-top: .2rem;
    margin-left: 0
}

#checkout #search_widget,#mobile_top_menu_wrapper .top-menu .collapse-icons .remove,#mobile_top_menu_wrapper .top-menu .collapse-icons[aria-expanded=true] .add,.tab-content>.tab-pane {
    display: block !important;
}

.tab-content>.active {
    display: block
}

#header .header-nav .cart-preview.active {
    background-color: #3f4d34 !important;
    color: #ffff !important;
    
}

/* Cambio del color celeste a verde oscuro para barras de progreso info */
.progress-info[value]::-webkit-progress-value {
    background-color: #3f4d34; !important;
}

.progress-info[value]::-moz-progress-bar {
    background-color: #3f4d34; !important;
}

.progress-info[value]::-ms-fill {
    background-color: #3f4d34; !important;
}

/* ------------------------------ */
/* Animación de barras de progreso */
/* ------------------------------ */
@-webkit-keyframes progress-bar-stripes {
    0% { background-position: 1rem 0; }
    to { background-position: 0 0; }
}

@keyframes progress-bar-stripes {
    0% { background-position: 1rem 0; }
    to { background-position: 0 0; }
}

/* ------------------------------ */
/* Reset y estilos base del HTML  */
/* ------------------------------ */
html {
    font-family: 'Montserrat', sans-serif;
    line-height: 1.15;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 16px;
    -ms-overflow-style: scrollbar;
    -webkit-tap-highlight-color: transparent;
}

body {
    margin: 0;
    font-family: 'Montserrat', -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
    background-color: #fff;
}

/* Elementos semánticos */
article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary {
    display: block;
}

/* Multimedia y texto */
audio,canvas,output,progress,video { display: inline-block; }
audio:not([controls]) { display: none; height: 0; }
progress,sub,sup { vertical-align: baseline; }
template { display: none; }

/* Enlaces */
a {
    background-color: transparent;
    -webkit-text-decoration-skip: objects;
    color: #3f4d34; /* color predeterminado */
    text-decoration: none;
    font-family: 'Montserrat', sans-serif !important;
}


/* ==== MEDIA OBJECT ==== */
.media-heading {
    margin-top: 0;
    margin-bottom: 5px;
    color: #3f4d34;!important;
    font-weight: bold; !important;
}

.media-object {
    display: block; !important;
    transition: transform 0.2s ease; !important;
}

.media-object:hover {
    transform: scale(1.02); !important;
}

.media,.media-body {
    overflow: hidden !important;
}

.media-body {
    width: 10000px; !important;
    display: table-cell !important;
    vertical-align: top !important;
}

.media-left,
.media-right {
    display: table-cell !important;
    vertical-align: top !important;
}

.media-left {
    padding-right: 10px;
}

.media-right {
    padding-left: 10px;
}

.media-middle {
    vertical-align: middle;
}

.media-bottom {
    vertical-align: bottom;
}

.media-object.img-thumbnail {
    max-width: none;
}

/* ==== LIST GROUP ==== */
.list-group {
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
}

.list-group-item {
    position: relative;
    display: block;
    padding: .75rem 1.25rem;
    margin-bottom: -1px;
    background-color: #fff;
    border: 1px solid #ddd;
}

.list-group-item:first-child {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.list-group-item:last-child {
    margin-bottom: 0;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

/* Estado activo personalizado */
.list-group-item.active,
.list-group-item.active:focus,
.list-group-item.active:hover {
    z-index: 2;
    color: #fff;
    background-color: #3f4d34 !important;
    border-color: #3f4d34 !important;
}

/* Texto dentro de ítems activos */
.list-group-item.active .list-group-item-text,
.list-group-item.active:hover .list-group-item-text,
.list-group-item.active:focus .list-group-item-text {
    color: #d0f1f7;
}

.list-group-item.disabled,
.list-group-item.disabled:focus,
.list-group-item.disabled:hover {
    color: #f6f6f6 !important;
    cursor: not-allowed;
    background-color: #f6f6f6 !important;
}

/* Ítem con comportamiento interactivo (hover) */
.list-group-item-action {
    width: 100%;
    color: #3f4d34 !important;
    text-align: inherit !important;
}

.list-group-item-action:hover,
.list-group-item-action:focus {
    color: #3f4d34 !important;
    background-color: #e6eae3 !important;
    text-decoration: none;
}

.list-group-item-heading {
    margin-top: 0;
    margin-bottom: 5px;
    color: #3f4d34 !important;
}

.list-group-item-text {
    margin-bottom: 0;
    line-height: 1.3;
}

/* List group flush (sin bordes laterales) */
.list-group-flush .list-group-item {
    border-right: 0;
    border-left: 0;
    border-radius: 0;
}

.modal-content {
    border: 1px solid #3f4d34 !important;
    border-radius: 0; /* mantiene el estilo cuadrado */
}

.modal-header, .modal-footer {
    border-color: #3f4d34 !important;
}

.modal-title {
    color: #3f4d34 !important;
}

#blockcart-modal .product-name {
    font-size: 1.125rem;
    color: #3f4d34 !important;
  

 .tooltip-inner {
    background-color: #3f4d34 !important;
    color: #fff; /* mantiene la buena legibilidad */
    border-radius: 0;
}

.tooltip.tooltip-top .tooltip-inner::before,
.tooltip.tooltip-right .tooltip-inner::before,
.tooltip.tooltip-bottom .tooltip-inner::before,
.tooltip.tooltip-left .tooltip-inner::before {
    border-color: transparent !important;
}

/* Direcciones individuales */
.tooltip.tooltip-top .tooltip-inner::before {
    border-top-color: #3f4d34 !important;
}

.tooltip.tooltip-right .tooltip-inner::before {
    border-right-color: #3f4d34 !important;
}

.tooltip.tooltip-bottom .tooltip-inner::before {
    border-bottom-color: #3f4d34 !important;
}

.tooltip.tooltip-left .tooltip-inner::before {
    border-left-color: #3f4d34 !important;
}

.popover {
    border: 1px solid #3f4d34 !important;
    border-radius: 0;
}

.popover-title {
    background-color: #3f4d34 !important;
    color: #fff;
    border-bottom-color: #3f4d34 !important;
}

.popover-content {
    color: #3f4d34 !important;
}

.bootstrap-touchspin .group-span-filestyle .btn-touchspin,
.group-span-filestyle .bootstrap-touchspin .btn-touchspin,
.group-span-filestyle .btn-default {
    background: #3f4d34 !important;
}

.custom-radio input[type=radio]:checked+span {
    background-color: #3f4d34 !important;
}

.ps-alert-success .item,
.ps-alert-success .item i,
.ps-alert-success .item i svg {
    background-color: #3f4d34 !important;
    border-color: #3f4d34 !important;
}

.carousel .carousel-control .icon-next:hover i,
.carousel .carousel-control .icon-prev:hover i,
.dropdown:hover .expand-more,
.page-my-account #content .links a:hover i,
.search-widget form button[type=submit] .search:hover,
.top-menu .sub-menu a:hover,
.dropdown-item:focus,
.dropdown-item:hover {
    color: #3f4d34
}

body#checkout section.checkout-step .address-item.selected {
    border: 3px solid #3f4d34 !important;
}

#order-details {
    padding-left: 1.3rem;
    margin-top: 1.25rem;
}

#order-details>.card-title {
    margin-bottom: 1.875rem;
}

#order-details ul {
    margin-bottom: 1.25rem;
}

#order-items {
    border-right: #f6f6f6 1px solid;
}

#order-items .h3,
.page-addresses .address .address-footer a i,
.page-addresses .addresses-footer a i,
.page-footer .account-link i {
    font-size: 1rem;
}

#order-items hr {
    border-top-color: #232323;
}

#order-items table tr {
    height: 1.875rem;
}

#order-items table tr td {
    padding: .5rem;
    font-size: .875rem;
}

#order-items table tr td:last-child {
    text-align: right;
}

#order-items table tr.taxes td {
    text-align: left;
}

#order-items table tr.taxes td .value {
    padding-top: 0;
}

#order-items .order-line {
    margin-top: 1rem;
}

#order-items .image img {
    width: 100%;
    margin-bottom: 1rem;
    border: 1px solid #d3d3d3 !important; /* corregido de gray-lighter */ 
}

#order-items .details,
#order-items .qty {
    margin-bottom: 1rem;
}

#order-items .details .customizations {
    margin-top: .625rem;
}

#order-confirmation #registration-form {
    width: 50%;
    margin: 0 auto 1rem;
}

.js-payment-binary.disabled {
    cursor: not-allowed;
    opacity: .6;
}

.js-payment-binary.disabled::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none;
    content: "";
}

.table-labeled .label {
    padding: .25rem .375rem;
    margin: .125rem;
    font-size: inherit;
    font-weight: 400;
    color: #fff;
    white-space: nowrap;
    border-radius: 3px;
    background-color: #3f4d34 !important;
}

.page-order .table {
    margin-bottom: 0;
}

.page-order table td,
.page-order table th {
    padding: .5rem;
}

.product-miniature .highlighted-informations .quick-view:hover {
    color: #3f4d34 !important;
}

#order-return-infos .thead-default th,
.page-addresses .addresses-footer a,
.page-addresses .addresses-footer a:hover,
.page-my-account #content .links a:hover {
    color: #3f4d34;
}

.page-my-account #content .links a {
    color: #3f4d34;
}

.page-my-account #content .links a i {
    color: #3f4d34;
}

.page-order-detail h3 {
    color: #3f4d34;
}

.page-addresses .address .address-footer a {
    color: #3f4d34;
}

.carousel .carousel-control .icon-next i,
.carousel .carousel-control .icon-prev i {
    color: #3f4d34 !important;
}

.carousel-indicators .active {
    background-color: #3f4d34;
}


.brands-sort .select-list:hover,
.products-sort-order .select-list:hover,
.suppliers-sort .select-list:hover,
.facet-dropdown .select-list:hover {
    color: #fff;
    text-decoration: none;
    background: #3f4d34 !important; /* color principal */
}

.facet-dropdown.open > .select-title {
    background: #f6f6f6;
    border: 3px solid #3f4d34 !important; /* color principal */
}

.pagination .current a {
    font-size: 1.25rem;
    color: #3f4d34; /* color principal */
    text-decoration: none;
}

#subcategories ul li:hover .subcategory-image a {
    padding: 5px;
    border: 5px solid #3f4d34; /* color principal */
}

.product-miniature .highlighted-informations .quick-view:hover {
    color: #3f4d34; /* color principal */
}

.block-categories .collapse-icons[aria-expanded=true] .remove:hover,
.block-categories .collapse-icons .add:hover,
.block-categories .collapse-icons .remove:hover,
#subcategories ul li .subcategory-name:hover,
.cart-grid-body a.label:hover {
    color: #3f4d34 !important; /* color principal */
}

.product-price {
    display: inline-block;
    max-width: 100%;
    color: #3f4d34 !important; /* color principal */
}

.tabs {
    padding: 1.25rem 1.875rem;
    margin-top: 2rem;
    background: #fff !important;
}

.tabs .tab-pane {
    padding-top: 1.25rem;
}

.tabs .nav-tabs {
    border: 0;
    border-bottom: #f6f6f6 2px solid !important;
}

.tabs .nav-tabs .nav-link {
    color: #7a7a7a;
    border: 0 solid transparent !important;
}

.tabs .nav-tabs .nav-link.active {
    color: #3f4d34
}

.tabs .nav-tabs .nav-link.active,
.tabs .nav-tabs .nav-link:hover {
    border: 0;
    border-bottom: #3f4d34 3px solid
}

#product-modal .modal-content .modal-body .product-images img:hover {
    border: #3f4d34 3px solid !important;
}

.product-images>li.thumb-container .thumb.selected,
.product-images>li.thumb-container .thumb:hover {
    border: #3f4d34 3px solid !important; 
}

.block-promo .promo-code-button.cancel-promo {
    color: #3f4d34 !important;
}

.block-promo .promo-input+button {
    border: 2px solid #3f4d34 !important;
}

.product-customization .product-message:focus {
    outline: .1875rem solid #3f4d34 !important;
}

 }

.account-list a:hover,
.block_newsletter form button[type=submit] .search:hover,
.footer-container li a:hover {
    color: #3f4d34 !important;
}

.block-social ul li:hover {
    background-color: #3f4d34 !important;
}

.block_newsletter form input[type=text]:focus {
    color: #232323;
    background: #fff;
    outline: 3px #3f4d34 solid !important;
}

.block_newsletter form input[type=email]:focus {
    padding: 8px 8px 9px;
    border: 3px #3f4d34 solid !important;
    outline: 0;
}

#header a:hover {
    color: #3f4d34;
    text-decoration: none;
}

#header .header-nav .cart-preview.active {
    background: #3f4d34 !important;
}

#header .header-nav .blockcart.active a:hover,
#header .header-nav .cart-preview.active a,
#header .header-nav .cart-preview.active i {
    color: #fff !important;
}

#header .header-nav .blockcart a:hover {
    color: #3f4d34 !important;
}

  
/* Slider: imágenes ajustadas al tamaño original */
#carousel .carousel-item img {
     aspect-ratio: 16 / 9;
  width: 100%;
  height: auto;
  object-fit: contain;
}


/* Ajuste de figcaption para que se muestre siempre debajo o encima de la imagen */
#carousel .carousel-item figure {
    margin: 0;
    position: relative;
}

   #carousel .carousel-item figcaption.caption {
    position: absolute;
    bottom: 20px;      /* ajusta según prefieras */
    left: 20px;
    right: 20px;
    color: #fff;       /* color del texto */
    background: rgba(0,0,0,0.4); /* fondo semi-transparente para legibilidad */
    padding: 15px;
    border-radius: 5px;
}

/* Opcional: altura mínima para que el slider no colapse en imágenes pequeñas */
#carousel .carousel-inner {
    min-height: 300px;
}

  
  .has-discount .discount {
    display: inline-block;
    padding: .3125rem .625rem;
    margin-left: .625rem;
    font-size: 1rem;
    font-weight: 600;
    font-family: 'Montserrat', sans-serif !important; /* fuente Montserrat */
    color: #fff;
    text-transform: uppercase;
    background: #3f4d34 !important; /* color de fondo actualizado */
}

.has-discount .product-unit-price,
.product-unit-price {
    margin-bottom: 0;
    overflow: hidden;
    font-size: .8125rem;
    color: #3f4d34 !important;
    text-overflow: ellipsis;
    font-family: 'Montserrat', sans-serif; /* fuente Montserrat */
}

//*Customizar badges de Nuevo, Fuera de Stock, Descuento*//

   .product-flags li.product-flag{
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: .3125rem .4375rem;
    margin-top: .625rem;
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
    word-break: break-word;
    pointer-events: auto;
    background: #3f4d34 !important;
     
}
  
/* === REFUERZO DE ESTILOS PARA MÓVILES === */
@media (max-width: 575px) {
  body,
  h1, h2, h3, h4, h5, h6,
  p, a, li, .btn, .nav-link, .dropdown-item {
    font-family: 'Montserrat', sans-serif !important;
    color: #3f4d34 !important;
  }

  .btn-primary,
  .btn-primary:hover {
    background-color: #3f4d34 !important;
    color: #fff !important;
    border-color: transparent !important;
  }

  .btn-primary:hover {
    background-color: #2f3a27 !important;
  }

  .footer-container a,
  .navbar-light .navbar-nav .nav-link {
    color: #3f4d34 !important;
    font-family: 'Montserrat', sans-serif !important;
  }

  .media-heading,
  .modal-title,
  .product-price,
  .page-order-detail h3 {
    font-family: 'Montserrat', sans-serif !important;
    color: #3f4d34 !important;
  }

  .list-group-item.active,
  .dropdown-item.active,
  .dropdown-item:hover {
    background-color: #3f4d34 !important;
    color: #fff !important;
  }

  .carousel .carousel-control .icon-next i,
  .carousel .carousel-control .icon-prev i {
    color: #3f4d34 !important;
  }
  .navbar-toggleable-xs .navbar-brand {
     display:block;
     float: none;
     margin-top: .5rem;
     margin-right: .5rem;
  }

    .navbar-toggleable-xs .navbar-nav {
        margin-top: .5rem;
        margin-bottom: .5rem
    }

    .navbar-toggleable-xs .navbar-nav .dropdown-menu {
        position: static;
        float: none
    }

    .navbar-toggleable-xs .navbar-nav .nav-item {
        float: none;
        margin-left: 0
    }

    .hidden-xs-down {
        display: block !important
    }

    .header-top-right {
        width: 100%;
        padding-right: 15px
    }

    body#checkout section.checkout-step .content {
        padding: .9375rem 0
    }

    #payment-confirmation button {
        font-size: .875rem
    }

    #payment-confirmation button.btn {
        white-space: normal
    }

    .product-miniature .thumbnail-container:focus .product-description::after,
    .product-miniature .thumbnail-container:hover .product-description::after {
        display: block 
    }

    .product-miniature .highlighted-informations {
        display: block
    }

    .products-selection .filter-button {
        padding-left: 0
    }

    #category #left-column #search_filters_wrapper {
        margin-right: -15px;
        margin-left: -15px
    }

    .cart-items {
        padding: 1rem 0
    }

    .cart-item {
        border-bottom: 1px solid #f6f6f6
    }

    .cart-item:last-child {
        border-bottom: 0
    }

    .cart-grid-body .cart-overview {
        padding: 0
    }

    .cart-grid-body .no-items {
        display: inline-block;
        padding: 1rem
    }

    .product-line-grid-left {
        padding-right: 0!important
    }

    #stores .page-stores .store-item-container,
    #stores .page-stores .store-item-footer {
        display: block
    }

    #stores .page-stores .store-item-container .divide-left {
        border-left: none
    }

    #stores .page-stores .store-item-container .store-description a,
    #stores .page-stores .store-item-container .store-description address {
        margin-bottom: .5rem
    }

    #stores .page-stores .store-item-footer.divide-top {
        border-top: #f6f6f6 1px solid
    }

    #stores .page-stores .store-item-footer li {
        margin-bottom: .625rem
    }

    #stores .page-stores .store-item-footer .card-block {
        padding: .75rem .75rem 0
    }

    .sitemap {
        margin-top: 0
    }

    .progress-success .progress-bar {
        background-color: #3f4d34;
    }

    .progress-info .progress-bar {
        background-color: #3f4d34;
    }

    .progress-warning .progress-bar {
        background-color: #3f4d34;
    }

    .progress-danger .progress-bar {
        background-color: #3f4d34;
    }

    .carousel .carousel-item .caption .display-1 {
        color: #3f4d34;
    }

    .footer-container .links ul>li a,
    .pagination .current a,
    .block-categories a:hover,
    .category-sub-menu .subcategory-name:hover {
        color: #3f4d34 !important;
    }

    .facet-dropdown.open>.select-title {
        border: 3px solid #3f4d34 !important;
    }

    .facet-dropdown .select-list:hover,
    .brands-sort .select-list:hover,
    .products-sort-order .select-list:hover,
    .suppliers-sort .select-list:hover {
        background: #3f4d34 !important; 
    }

    #subcategories ul li:hover .subcategory-image a {
        border: 5px solid #3f4d34; 
    }
}

a {
    background-color: transparent;
    -webkit-text-decoration-skip: objects; 
    text-decoration: none !important;
}

 #subcategories ul li:hover .subcategory-image a {
  border: 5px solid #3f4d34; 
} 

/* Mostrar botones de PayPal en móvil */
  .paypal-button, .js-payment-option {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

@media (max-width: 767px) {
  /* estilos móviles existentes */

  /* aquí agregas el estilo para mostrar el botón PayPal */
  
  @media not all and (min-resolution:.001dpcm) { 
  @supports (-webkit-appearance:none) {
    #pay-with-paypal-form {
      display: block !important;
      opacity: 1 !important;
      visibility: visible !important;
      height: auto !important;
      overflow: visible !important;
      pointer-events: auto !important;
    }
  }
}
  
  #payment-confirmation {
  visibility: visible !important;
  opacity: 1 !important;
}
  
  
  .custom-xs-2-cols .js-product {
    width: 50% !important;       /* cada producto ocupa la mitad del ancho */
    float: left !important;      /* flota para formar columnas */
    padding-left: 5px !important; 
    padding-right: 5px !important;
  }
}



  

/* Resto de bloques originales sin modificar, que mantienen compatibilidad */

