.navbar-brand img {
    width: 75px;
    padding-top: 8px;
    padding-bottom: 8px;
}

.logo-menu-mobile {
    width: 75px;
}

@media (min-width: 992px) {
    .navbar-expand-lg[class*=navbar-bg-]:not(.fancy):not(.extended):not(.fixed) .navbar-collapse .nav-link {
        padding-top: 0rem;
        padding-bottom: .7rem;
    }
}

.nav-link {
    padding: 1.2rem 1rem;
}

@media (max-width: 575.98px) {
    .navbar-brand img {
        width: 75px;
        padding: 15px 15px 15px 0px !important;
    }
}

/* Extranet de mayoristas (la barra lleva menu-extranet-nav solo cuando entra un mayorista): el logo con el mismo aire
   de los cuatro lados, también en el celular */
.navbar.menu-extranet-nav .navbar-brand img {
    width: 75px;
    padding: 8px !important;
}

.display-4{
	font-size: calc(1.305rem + .66vw);
	line-height: 1.2;
}

.titulo-formulario-contacto, .titulo-whatsapp-contacto{
	font-size: calc(1.305rem + .66vw);
    line-height: 1.2;
}

@media (min-width:1200px){
	.titulo-formulario-contacto, .titulo-whatsapp-contacto{
		font-size: 1.8rem;
	}
}

.follow-link:hover {
    color: var(--color-secundario);
}

/* El carrito quedo con fondo blanco (Checkout Pro), asi que el texto va oscuro. El menu de
   favoritos sigue oscuro y conserva sus iconos claros. */
#favoritosMenu i {
    color: #ffffff;
}

.number-picker .input-group {
    border-radius: 2rem;
}

.number-picker .btn-increment, .btn-decrement {
	border-radius: 2rem !important;
}

.number-picker-cart .input-group input {
	color : #1f263c !important;
}

#carritoMenu del span {
	color : #959ca9 !important;
}

[id^="divBloque"] .display-4, [id^="divBloque"] .display-5, [id^="divBloque"] .display-6 {
	line-height: 1.3;
	background-image: linear-gradient(to right, #409735 18%, #264123 69%);
	-webkit-text-fill-color: transparent;
	-webkit-background-clip: text;
	background-clip: text;
}

#divSugerenciasBuscar .picker.picker-botones label:not([for*=radColor]) {
    border-color: #ffffff;
    background-color: var(--color-secundario);
}

#divSugerenciasBuscar .picker.picker-botones label:not([for*=radColor]):hover {
    border-color: var(--color-primario) !important;
    color: var(--color-primario) !important;
}

#divSugerenciasBuscar .picker.picker-botones label:not([for*=radColor]):has(input:checked) {
    border-color: var(--color-primario) !important;
    background-color: var(--color-primario) !important;
}

#divBloquePuntosAutorizados, #divBloquePuntosAutorizados h2, #divBloqueFranquicias, #divBloqueFranquicias h2{
	color: #ffffff;
}

#divBloquePuntosAutorizados p, #divBloqueFranquicias p {
	margin-bottom: 0 !important;
	margin-top: .5rem !important;
}

#divBloquePuntosAutorizados .card, #divBloqueFranquicias .card, #divBloqueNewsletter .card, #divBloqueReferidos .card{
	background-image: linear-gradient(90deg, #21262c, #409735) !important;
}

#divBloqueNewsletter p {
	text-align: center;
	font-size: 0.9rem !important;
}

#divBloquePuntosAutorizados h3, #divBloqueFranquicias h3, #divBloqueNewsletter h2, #divBloqueReferidos h2{
	color: #ffffff !important;
	background-image: linear-gradient(to right, #ffffff 18%, #ffffff 69%);
	-webkit-text-fill-color: transparent;
	-webkit-background-clip: text;
	background-clip: text;
}

#divBloqueFranquicias .btn-secundario, #divBloquePuntosAutorizados .btn-secundario {
	color: #fff;
	background-color: var(--color-primario);
	border-color: var(--color-primario);
}

#divBloqueMapaRevendedores iframe{
	border-radius: .4rem;
}

#divBloqueMapaRevendedores .container, #divBloqueDestacados .container{
    padding-top: 0px !important;
}

.swiper-hero-con-barra, .swiper-hero-con-barra .swiper-slide {
    height: calc(100vw / 2.65);
}

.picker label[for*=radVariante]>input:checked~span {
    background-color: #21262c;
    color: #fff;
}

.picker label[for*=radVariante]>span {
    padding: .3rem;
}

.div-buscar-header .link-dark {
	color: #ffffff !important;
}

.div-buscar-header .picker label[for*=radVariante]>input:checked~span,
.buscador-resultados .picker label[for*=radVariante]>input:checked~span {
    background-color: var(--color-primario);
    color: #fff;
}

/* Sobre el panel oscuro del buscador, el fondo de la variante elegida no puede ser el mismo
   #21262c del fondo: se usa el color primario del sitio */
.buscador-resultados .picker.picker-botones label:not([for*=radColor]),
.buscador-resultados .picker.picker-botones label:not([for*=radColor]) > span {
    border-color: rgba(255, 255, 255, .25);
    background-color: transparent;
    color: #ffffff;
}

.buscador-resultados .picker.picker-botones label:not([for*=radColor]):has(input:checked) {
    border-color: var(--color-primario) !important;
    background-color: var(--color-primario) !important;
}

.borde-encabezado-listado-productos {
    border-bottom: 2px solid var(--color-primario);
}

#divBarraSuperior .p-revendedor {
    width: max-content;
}

.boton-extranet{
	background: var(--color-primario) !important;
}

.boton-extranet p{
	line-height: 0 !important;
	width: max-content;
}

.btn-seguir-comprando, .btn-seguir-comprando .uil-shopping-cart{
	color: var(--color-primario) !important;
}

/* El boton de agregar al carrito ocupa todo el ancho, salvo en la ficha del producto y en los bloques de
   destacados. La exclusion de los destacados va por PREFIJO y no por id exacto: el id de cada bloque se
   arma con el nombre que le puso el cliente (#divBloqueDestacadosmasvendido, por ejemplo), asi que con el
   id pelado quedaba afuera todo bloque nuevo y el boton se le estiraba igual. */
[id^="btnAgregarProductoCarrito_"]:not(#divAgregarProductoCarrito *):not([id^="divBloqueDestacados"] *) {
    width: 100% !important;
}

/* ========================================
   ALINEACIÓN DE PRODUCTOS EN GRILLA Y SLIDERS

   Aplica a:
   - Productos en modo grilla (col-*)
   - Productos en sliders verticales (recientes, recomendados)

   NO aplica a:
   - Productos destacados (slider horizontal con .row)

   Estrategia: usar flexbox + margin-top auto
   para empujar precios hacia abajo y alinearlos
   ======================================== */

/* Producto completo en flex vertical */
.row > .project.item[class*="col-"] {
    display: flex;
    flex-direction: column;
}

.row > .project.item[class*="col-"] > div {
    display: flex;
    flex-direction: column;
    flex: 1;
}

/* Área de contenido en flex */
.row > .project.item[class*="col-"] .post-header {
    display: flex;
    flex-direction: column;
    flex: 1;
}

/* El precio se empuja hacia abajo automáticamente */
.row > .project.item[class*="col-"] .post-header .price {
    margin-top: auto;
}

/* ======================================== */

/* ALINEACIÓN DE PRODUCTOS EN SWIPER SLIDERS
   Aplica flexbox a los slides para alinear precios y botones
   Solo aplica a slides que NO tienen .row como hijo (excluye Destacados) */

.swiper-slide.project.item:not(:has(> .row)) {
    display: flex;
    flex-direction: column;
    height: auto !important;
}

.swiper-container:has(.swiper-slide.project.item:not(:has(> .row))) .swiper-wrapper {
    align-items: stretch !important;
}

.swiper-slide.project.item:not(:has(> .row)) > div {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.swiper-slide.project.item:not(:has(> .row)) .post-header {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.swiper-slide.project.item:not(:has(> .row)) .post-header .price {
    margin-top: auto;
}

/* Botón comprar alineado al fondo en swiper */
.swiper-slide.project.item:not(:has(> .row)) > [id^="btnAgregarProductoCarrito_"] {
    margin-top: auto;
}

/* Pickers compactos en listados de productos
   Aplica a: swipers (recientes, recomendados) y grillas (shop, buscar)
   Excluye: Destacados (tienen .row) y página de producto */
.swiper-slide.project.item:not(:has(> .row)) .picker.picker-botones label:not([for*=radColor]),
.project.item[class*="col-"] .picker.picker-botones label:not([for*=radColor]) {
    padding: 0.15rem;
    margin-right: 0.25rem;
    margin-bottom: 0.25rem;
}

.swiper-slide.project.item:not(:has(> .row)) .picker label[for*=radVariante] > span,
.project.item[class*="col-"] .picker label[for*=radVariante] > span {
    font-size: .65rem;
}

/* ======================================== */

.item figure .item-cart, .swiper-slide figure .item-cart {
    padding: .4rem;
}

.btn{
	padding: 0.45rem 0.8rem !important;
    border-radius: 2rem;
}

.boton-extranet {
    padding-left: .5rem !important;
    padding-right: .5rem !important;
	border-radius: 2rem;
}

/* ======================================== */

#divBloqueSucursalesSeccion .container, #divBloqueCatalogosSeccion .container{
	padding-top: 0px !important;
}

.modal-body-calendario{
	background-color: transparent !important;
}


/* Botones de navegación para Swiper de anuncios slide */
[id^="divAnuncio_"] .swiper-controls .swiper-navigation .swiper-button {
    background: transparent !important;
    width: auto !important;
    height: auto !important;
    opacity: 1 !important;
    border-radius: 0 !important;
    padding: 0 !important;
}

/* Iconos de navegación para anuncios slide - usar chevrons de Unicons */
[id^="divAnuncio_"] .swiper-controls .swiper-navigation .swiper-button.swiper-button-prev:after {
    content: "\e92f" !important; /* uil-angle-left */
}

[id^="divAnuncio_"] .swiper-controls .swiper-navigation .swiper-button.swiper-button-next:after {
    content: "\e931" !important; /* uil-angle-right */
}

#filtrosMenu {
    color: var(--color-secundario);
}

#divBloqueClinicas-Disponibilidad {
    margin-bottom: 1.5rem !important;
    margin-top: 2rem !important;
}

#divBloqueClinicas-Calendario {
        margin-bottom: 1rem !important;
}

.seccion-3dlatinoamérica.seccion-hero .container {
	margin-top: 0px !important;
}

#carritoMenu .fp-shipbar-txt {
	color: #ffffff;
}

#carritoMenu .fp-shipbar-labels b {
	color: #ffffff;
}
/* Botones del carrito con el fondo blanco del Checkout Pro */
#carritoMenu .btn-secundario, #carritoMenu .btn-secondary {
    color: #ffffff !important;
    background-color: var(--color-secundario) !important;
    border-color: var(--color-secundario) !important;
}

#carritoMenu .btn-secondary i {
    color: #ffffff !important;
}

#carritoMenu .btn-primary {
    color: #000000 !important;
}

/* El blanco del boton Aplicar es default en style.css; aca queda solo Finalizar compra */
#carritoMenu .offcanvas-footer > a.btn-primary {
    color: #ffffff !important;
}

/* Titulo del producto del carrito: secundario, y primario al pasar el mouse */
#carritoMenu .shopping-cart .link-titulo-carrito {
    color: var(--color-secundario) !important;
}

#carritoMenu .shopping-cart .link-titulo-carrito:hover {
    color: var(--color-primario) !important;
}

/* Encuesta: enunciado de la pregunta un poco mas chico que el default */
.encuesta-pregunta-etiqueta {
    font-size: .9rem;
}

/* ===== Estilos > Componentes ===== */

/* ---------- Accesos directos ---------- */

/* accesos_directos|chip_fondo|normal|otro|#40973580 */
html body .menu-accesos-directos .acceso-directo:not(#\9):not(#\9) {
	background-color: #40973580 !important;
	transition-property: color, background-color, border-color, -webkit-text-fill-color;
	transition-duration: .2s;
	transition-timing-function: ease-in-out;
}

/* accesos_directos|chip_texto|normal|otro|#ffffff */
html body .menu-accesos-directos .acceso-directo:not(#\9):not(#\9) {
	color: #ffffff !important;
	-webkit-text-fill-color: currentColor !important;
	transition-property: color, background-color, border-color, -webkit-text-fill-color;
	transition-duration: .2s;
	transition-timing-function: ease-in-out;
}

/* accesos_directos|chip_borde|normal|primario| */
html body .menu-accesos-directos .acceso-directo:not(#\9):not(#\9) {
	border-color: var(--color-primario) !important;
	transition-property: color, background-color, border-color, -webkit-text-fill-color;
	transition-duration: .2s;
	transition-timing-function: ease-in-out;
}

/* accesos_directos|tamano|normal|medida|0.7rem */
html body .menu-accesos-directos .acceso-directo:not(#\9):not(#\9) {
	font-size: 0.7rem !important;
}

/* accesos_directos|relleno_vertical|normal|medida|0.3rem */
html body .menu-accesos-directos .acceso-directo:not(#\9):not(#\9) {
	padding-top: 0.3rem !important;
	padding-bottom: 0.3rem !important;
}

/* accesos_directos|relleno_horizontal|normal|medida|0.85rem */
html body .menu-accesos-directos .acceso-directo:not(#\9):not(#\9) {
	padding-left: 0.85rem !important;
	padding-right: 0.85rem !important;
}

/* accesos_directos|peso|normal|opcion|400 */
html body .menu-accesos-directos .acceso-directo:not(#\9):not(#\9) {
	font-weight: 400 !important;
}

/* accesos_directos|fondo|normal|secundario| */
html body .menu-accesos-directos:not(#\9):not(#\9) {
	background-color: var(--color-secundario) !important;
	transition-property: color, background-color, border-color, -webkit-text-fill-color;
	transition-duration: .2s;
	transition-timing-function: ease-in-out;
}

/* accesos_directos|redondeo|normal|medida|30px */
html body .menu-accesos-directos .acceso-directo:not(#\9):not(#\9) {
	border-radius: 30px !important;
}

/* accesos_directos|chip_fondo|hover|otro|#409735 */
html body .menu-accesos-directos .acceso-directo:hover:not(#\9):not(#\9) {
	background-color: #409735 !important;
	transition-property: color, background-color, border-color, -webkit-text-fill-color;
	transition-duration: .2s;
	transition-timing-function: ease-in-out;
}

/* accesos_directos|alto_tira_arriba|normal|medida|0.25rem */
html body .menu-accesos-directos .container:not(#\9):not(#\9) {
	padding-top: 0.25rem !important;
}

/* ---------- Barra superior ---------- */

/* barra_superior|alto_arriba|normal|medida|0.25rem */
html body #divBarraSuperior .container:not(#\9):not(#\9) {
	padding-top: 0.25rem !important;
}

/* barra_superior|alto_abajo|normal|medida|0.25rem */
html body #divBarraSuperior .container:not(#\9):not(#\9) {
	padding-bottom: 0.25rem !important;
}

/* ---------- Carrito ---------- */

/* carrito|cerrar_fondo|normal|otro|#40973580 */
html body #carritoMenu .btn-close:not(#\9):not(#\9)::before {
	background-color: #40973580 !important;
	transition-property: color, background-color, border-color, -webkit-text-fill-color;
	transition-duration: .2s;
	transition-timing-function: ease-in-out;
}

/* carrito|cerrar_fondo|hover|otro|#409735 */
html body #carritoMenu .btn-close:hover:not(#\9):not(#\9)::before {
	background-color: #409735 !important;
	transition-property: color, background-color, border-color, -webkit-text-fill-color;
	transition-duration: .2s;
	transition-timing-function: ease-in-out;
}

/* carrito|cerrar|hover|otro|#ffffff */
html body #carritoMenu .btn-close:hover:not(#\9):not(#\9) {
	color: #ffffff !important;
	-webkit-text-fill-color: currentColor !important;
	transition-property: color, background-color, border-color, -webkit-text-fill-color;
	transition-duration: .2s;
	transition-timing-function: ease-in-out;
}

/* carrito|iconos_botones|normal|otro|#ffffff */
html body #carritoMenu .btn i:not(#\9):not(#\9),
html body #carritoMenu .btn-secondary i:not(#\9):not(#\9) {
	color: #ffffff !important;
	-webkit-text-fill-color: currentColor !important;
	transition-property: color, background-color, border-color, -webkit-text-fill-color;
	transition-duration: .2s;
	transition-timing-function: ease-in-out;
}

/* ---------- Ruta del catálogo ---------- */

/* ruta|separador|normal|primario| */
html body #seccionRutaCatalogo .breadcrumb-item + .breadcrumb-item:not(#\9):not(#\9)::before {
	color: var(--color-primario) !important;
	-webkit-text-fill-color: currentColor !important;
	transition-property: color, background-color, border-color, -webkit-text-fill-color;
	transition-duration: .2s;
	transition-timing-function: ease-in-out;
}

/* ruta|relleno|normal|medida|0.5rem */
html body #seccionRutaCatalogo .container:not(#\9):not(#\9) {
	padding-top: 0.5rem !important;
	padding-bottom: 0.5rem !important;
}

/* ---------- Botones ---------- */

/* botones|redondeo|normal|medida|10px */
html body .btn:not(#\9):not(#\9) {
	border-radius: 10px !important;
}

html body .input-group > .btn:not(:first-child):not(#\9):not(#\9) {
	border-top-left-radius: 0 !important;
	border-bottom-left-radius: 0 !important;
}

html body .input-group > .btn:not(:last-child):not(#\9):not(#\9) {
	border-top-right-radius: 0 !important;
	border-bottom-right-radius: 0 !important;
}

/* botones|primario_degradado|normal|degradado|primario,secundario,90 */
html body .btn-primary:not(#\9):not(#\9) {
	background-image: linear-gradient(90deg, var(--color-primario), var(--color-secundario)) !important;
}

/* ---------- Llamados a la acción ---------- */

/* llamados@divBloqueFranquicias|boton_degradado|normal|degradado|primario,secundario,90 */
html body #divBloqueFranquicias .container-card .btn:not(#\9):not(#\9) {
	background-image: linear-gradient(90deg, var(--color-primario), var(--color-secundario)) !important;
}

/* llamados@divBloquePuntosAutorizados|boton_degradado|normal|degradado|primario,secundario,90 */
html body #divBloquePuntosAutorizados .container-card .btn:not(#\9):not(#\9) {
	background-image: linear-gradient(90deg, var(--color-primario), var(--color-secundario)) !important;
}

/* ===== fin Estilos > Componentes ===== */
