/* === Productos relacionados (Swiper) === */
.relacionados-swiper .swiper-slide {
	display: flex;
	justify-content: center;
}

/* ✅ PROMOCIONES: evitar choque título vs timer */
.promociones{
  position: relative;
  --promo-timer-reserva: 1050px;
}

.promociones .promo-timer{
  position: absolute;
  top: 10px;
  right: 20px;
  z-index: 2;
}

.promociones .section-title,
.promociones .section-heading,
.promociones h2,
.promociones h3{
  padding-right: var(--promo-timer-reserva);
  margin-right: 0;
  text-align: left;
  position: relative;
  z-index: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* =========================================================
   ✅ OFFSET GLOBAL PARA TODAS LAS PÁGINAS
   (No usar body padding-top en media queries, se pisa y rompe)
   ========================================================= */
:root{
  --content-gap-top: 18px; /* aire debajo del stack fijo */
  /* en desktop existe barra3 -> var(--subbar-h) ya vale 75px en variables.css */
}

/* El contenido siempre arranca debajo del stack fijo */
main,
.site-main{
  padding-top: calc(var(--header-total-h) + var(--content-gap-top)) !important;
}

/* Si el index usa #contenedor-secciones con padding-top grande,
   no lo duplicamos (solo anulamos el TOP, mantenés laterales/abajo en index.css) */
#contenedor-secciones{
  padding-top: 0 !important;
}

@media (max-width: 1200px) {
	.section-card-2x .slick-slide > div > div {
		flex: 1 1 25%;
		max-width: 25%;
	}

	/* Ajustar grilla de productos */
  	.productos-container {
	    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	    justify-content: center;       /* 🔹 centra las columnas */
	    gap: 10px;
	    padding: 0 20px;               /* 🔹 evita que pegue al borde */
  	}
}

@media (min-width: 1025px) {
	.sucursales-section {
		height: calc(100vh);
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.sucursales-layout {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 90%;
		max-width: 1400px;
	}

	.sucursales-list {
		flex: 0 0 40%;
		max-width: 600px;
		height: 100%;
		overflow-y: auto;
		padding: 20px;
		background: #fff;
		border-radius: 8px;
		box-sizing: border-box;
	}

	.sucursales-mapa {
		flex: 1;
		height: 100%;
		min-width: 400px;
		border-radius: 8px;
		overflow: hidden;
		box-sizing: border-box;
	}

	.sucursales-mapa iframe {
		width: 100%;
		height: 100%;
		border: 0;
		border-radius: 8px;
	}
}

@media (min-width: 992px) {
	.top-fixed-bar {
		display: flex;
	}

	.sub-bar {
		display: flex;
	}
	.main-header .container {
		width: 100%;
		max-width: 100%;
		margin: 0;
		padding: 0 40px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 20px;
	}

	.logo {
		flex: 0 0 180px;
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}

	.search-bar {
		flex: 1;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.search-bar .input-group {
		width: 100%;
	}

	.icon-row {
		flex: 0 0 220px;
		display: flex;
		justify-content: flex-end;
		align-items: center;
		gap: 25px;
	}

	.session-icon {
		display: flex;
		align-items: center;
		gap: 6px;
		font-weight: 600;
		font-size: 0.9rem;
		color: var(--dark-color);
		cursor: pointer;
		transition: color 0.3s ease;
	}

	.session-icon i {
		font-size: 1.1rem;
	}

	.session-icon:hover {
		color: var(--primary-color);
	}

	.cart-icon {
		margin: 0;
	}

	/* ❌ ELIMINADO: body padding-top fijo (rompía index y pisaba offsets) */
	/* body { padding-top: 160px; } */

	#btnAbrirFiltros {
    	display: none !important; /* se oculta en desktop */
  	}

  /* 🔹 Mostrar filtros nuevamente en pantallas grandes */
  .producto-lista-section .col-md-3 {
    display: block !important;
  }
}

@media (max-width: 992px), (max-width: 576px) {
	.section-card.conFondo .js-conFondo {
		display: none !important;
	}
}

@media (max-width: 992px) {

  /* ✅ En mobile/tablet NO existe barra3 => subbar = 0
     y ajustamos el aire superior un poco */
  :root{
    --subbar-h: 0px;
    --content-gap-top: 14px;
    --bottom-nav-h: 70px;   /* ajustá a la altura real de tu barra */
    --footer-safe: 80px;
    
    --fab-wa-bottom: calc(var(--bottom-nav-h) + 10px); /* WhatsApp sube */
    --fab-size: 44px;     /* opcional: un toque más chico en mobile */
    --fab-gap: 12px;
    --fab-right: 16px;
  }

	.banner3-card {
		aspect-ratio: 4 / 3;
	}

	.card img {
		height: 200px;
	}

	.qty-input {
		width: 48px;
	}

	.product-add {
		padding: 14px 0 14px;
	}

	.section-card-2x .slick-slide > div > div {
		flex: 1 1 33.33%;
		max-width: 33.33%;
	}

	/*BARRA INFERIOR*/

  /* Reservar espacio para que nada quede detrás de la barra */
  body {
    padding-bottom: 0 !important;
  }

  /* NO tocamos posición de la barra, sólo la mostramos */
  .bottom-nav {
    display: flex;
  }

  /* Footer sin padding gigante abajo */
  .footer-bottom {
    padding-bottom: calc(14px + var(--bottom-nav-h) + var(--footer-safe)) !important;
  }

	/* Ocultar íconos duplicados del header */
	.main-header .icon-row .session-icon,
	.main-header .icon-row .cart-icon,
	.main-header .menu-toggle {
	   display: none !important;
	}

	#btnCategorias,
    .main-header .menu-toggle,
  	.main-header .btn-categorias {
      display: none !important;
  	}

    .producto-layout {
      flex-direction: column !important; /* 👈 apila los bloques */
      align-items: center !important;
      gap: 30px; /* espacio entre galería e info */
      overflow: visible !important;
    }

    .producto-galeria,
    .producto-info {
      flex: 0 0 100% !important;
      max-width: 100% !important;
    }

    .producto-galeria { order: 1; }
    .producto-info { order: 2; }

  /* 🔹 Mueve los filtros arriba y productos abajo */
  .producto-lista-section .row {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  .producto-lista-section .col-md-3 {
    order: 1;
    width: 100%;
    max-width: 100%;
  }

  .producto-lista-section .col-md-9 {
    order: 2;
    width: 100%;
    max-width: 100%;
  }

  /* 🔹 Grilla con 3 columnas adaptables */
  .producto-lista-container .productos-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 24px 20px;
    width: 100%;
    padding: 0;
    box-sizing: border-box;
    justify-items: center;   /* 🔹 centra cada card dentro de su celda */
    align-items: start;
  }

  /* 🔹 Ajuste visual del bloque blanco */
  .producto-lista-container .bg-white.p-3.rounded.shadow-sm {
    width: 100%;
    margin: 0 auto;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
  }

  /*asegura ancho máximo uniforme dentro del contenedor del card*/
  .producto-lista-section .productos-container .item,
  .producto-lista-section .productos-container .card {
    max-width: 100%;
  }

  /* Quitar límite de ancho del container solo en la página del carrito */
  .cart-list-section.container,
  .cart-list-section.main-container {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  /*EXCLUSIVO MI CARRITO CON SUS ITEMS*/
  .cart-page-wrapper {
    flex-direction: column;
    align-items: center;        /* centramos el contenido */
  }

  .cart-page-main {
    width: 100%;                /* columna ocupa todo el ancho */
    display: flex;
    justify-content: center;    /* centramos la tarjeta interna */
  }

  /* Un poco de padding propio para que no quede pegado al borde */
  .cart-page-wrapper {
    padding-left: 8px;
    padding-right: 8px;
  }

  /* Tabla + resumen ocupan 100% del ancho útil */
  .cart-table-wrapper,
  .cart-page-summary {
    width: 96%;
    max-width: 96%;
    margin: 0 auto 16px;  /* centrado y pequeño espacio abajo */
  }

  .page-title-wrapper {
    padding-left: 20px;
  }

	/*FOOTER OCULTAR TOP1 Y TOP2 SOLO DEJAR FOOTER-BOTTOM*/
  .footer-top1,
  .footer-top2 {
    display: none !important;
  }

  /* Layout en columna, centrado */
  .footer-bottom .container {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 4px;
  }

  .footer-bottom-logo-dev,
  .footer-bottom-copy,
  .footer-bottom-logo-company {
    width: 100%;
    text-align: center !important;
  }

  /* Orden:
     1) logo VitalMed
     2) copyright
     3) logo desarrollador
  */
  .footer-bottom-logo-company { order: 1; }
  .footer-bottom-copy         { order: 2; }
  .footer-bottom-logo-dev     { order: 3; }

  /* Asegurar que los logos ocupen su lugar */
  .footer-bottom-logo img,
  .footer-logo-img {
    display: block;
    margin: 0 auto;
    max-height: 40px;
    width: auto;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
	:root {
		--header-h: 160px;
		--subbar-h: 0px;      /* ✅ no hay barra3 */
		--content-gap-top: 14px;
	}

	.sub-bar {
		display: none !important;
	}

	.main-header {
		position: fixed;
		top: 40px;
		left: 0;
		width: 100%;
		height: var(--header-h);
		background: #fff;
		z-index: 1000;
		box-shadow: 0 2px 4px rgba(0,0,0,.1);
	}

	.main-header .container {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 8px;
		max-width: 900px;
		margin: 0 auto;
		padding: 10px 12px;
	}

	.logo {
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.search-bar {
		order: 2;
		width: 100%;
		max-width: 600px;
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 0;
	}

	.icon-row {
		order: 3;
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 25px;
	}

	/* ❌ ELIMINADO: body padding-top (ya lo maneja main/site-main global) */
	/* body { padding-top: calc(var(--header-h) + 40px); } */

	.sucursales-layout {
		display: block !important;
	}

	.sucursales-section {
		width: 85vw !important;
		max-width: 85vw !important;
		margin: 0 auto !important;
		padding: 0 10px !important;
		box-sizing: border-box;
	}

	.sucursales-list {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		max-height: 60vh;
		overflow-y: auto;
		flex: 1 1 100% !important;
		box-sizing: border-box;
		margin: 0 auto 40px;
		padding-bottom: 16px;
	}

	.sucursales-mapa {
		display: none !important;
	}

	/* 🔹 Solo redes, centradas */
	.top-fixed-bar {
		display: flex !important;
		justify-content: center;
		align-items: center;
	}

	.top-fixed-bar .top-fixed-content {
		justify-content: center;
	}

	.top-fixed-bar .left-content {
		width: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.top-fixed-bar .social-icons {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 10px;
	}

	/* Ocultar texto y bloque derecho */
	.top-fixed-bar .textoBarra1,
	.top-fixed-bar .right-text {
		display: none !important;
	}

	/* 🔹 Mostrar botón y ocultar columna de filtros en pantallas intermedias */
  #btnAbrirFiltros {
    display: block;
    width: 100%;
    font-weight: 600;
    background: var(--primary-color);
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 10px 0;
    box-shadow: 0 2px 4px rgba(0,0,0,0.08);
    transition: background 0.2s ease, transform 0.1s ease;
  }

  #btnAbrirFiltros:hover {
    background: #e55c00;
    transform: translateY(-1px);
  }

  #btnAbrirFiltros i {
    margin-right: 6px;
    font-size: 1.1rem;
  }

  .producto-lista-section .col-md-3 {
    display: none !important;
  }

  .producto-lista-section .col-md-9 {
    width: 100%;
    max-width: 100%;
  }

  /* === PANTALLA MÉTODO DE PAGO (TABLET) === */
  .payment-section.container.main-container {
    max-width: 100%;
    padding-left: 24px;
    padding-right: 24px;
  }

  .payment-layout {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }

  .payment-main.card,
  .payment-sidebar {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  .payment-summary-card {
    width: 100%;
  }

  .payment-main.card {
    overflow: hidden;
  }

  .payment-main.card .card-body {
    overflow: visible;
  }

  .payment-form-actions {
    justify-content: flex-end;
    padding: 0 24px 8px;
  }

  .footer-bottom {
    padding-bottom: 70px !important;
  }

  html, body {
    overflow-x: hidden;
  }
}

@media (max-width: 768px) {
	:root {
		--header-h: 172px;
		--subbar-h: 0px;      /* ✅ no hay barra3 */
		--content-gap-top: 12px;
	}

	.sub-bar {
		display: none !important;
	}

	/* 🔹 Mostramos la barra 1 solo con redes centradas */
	.top-fixed-bar {
		display: flex !important;
		justify-content: center;
		align-items: center;
		z-index: 1100;
	}

	.top-fixed-bar .top-fixed-content {
		justify-content: center;
	}

	.top-fixed-bar .left-content {
		width: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.top-fixed-bar .social-icons {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 10px;
	}

	/* Ocultamos texto de mantenimiento y sucursales */
	.top-fixed-bar .textoBarra1,
	.top-fixed-bar .right-text {
		display: none !important;
	}

	.main-header {
		position: fixed;
		top: 40px;
		left: 0;
		width: 100%;
		height: var(--header-h);
		background: #fff;
		z-index: 1000;
		box-shadow: 0 2px 4px rgba(0,0,0,0.1);
	}

	.main-header .container {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 8px;
		padding: 10px;
		max-width: 100%;
	}

	.logo {
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.search-bar {
		order: 2;
		width: 90%;
		max-width: 500px;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.icon-row {
		order: 3;
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 25px;
	}

	/* ❌ ELIMINADO: body padding-top (ya lo maneja main/site-main global) */
	/* body { padding-top: calc(var(--header-h) + 40px); } */

	.carousel-automatico {
		position: relative;
		top: 0;
		margin-top: 0 !important;
		z-index: 1;
	}

	.sucursales-layout {
		display: block !important;
	}

	.sucursales-section {
		width: 85vw !important;
		max-width: 85vw !important;
		margin: 0 auto !important;
		padding: 0 10px !important;
		box-sizing: border-box;
	}

	.sucursales-list {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		max-height: 60vh;
		overflow-y: auto;
		flex: 1 1 100% !important;
		box-sizing: border-box;
		margin: 0 auto 40px;
		padding-bottom: 16px;
	}

	.sucursales-mapa {
		display: none !important;
	}

	.carousel-automatico {
	  position: relative;
	  margin-top: 0 !important;
	  z-index: 1;
	  width: 100%;
	  display: flex;
	  justify-content: center;
	  align-items: center;
	  overflow: hidden;
	  border-radius: 10px;
	}

	.carousel-img {
	  width: 100%;
	  height: auto;
	  aspect-ratio: auto;
	  object-fit: cover;
	  background-color: #fff;
	  border-radius: 0;
	  display: block;
	  border-radius: 0;
	}

	.banner-card {
		min-height: 160px;
		border-radius: 16px;
	}
	.banner2-card {
		min-height: 160px;
		border-radius: 16px;
	}
	.banner3-card {
		min-height: 200px;
		border-radius: 16px;
	}
	.card img {
		height: 180px;
	}
	.product-add {
		gap: 6px;
		padding: 12px 0 12px;
	}
	.section-card-2x .slick-slide > div > div {
		flex: 1 1 50%;
		max-width: 50%;
	}

	.slick-prev-nav,
	.slick-next-nav {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		z-index: 3;
		background: rgba(0, 0, 0, 0.6);
		color: #fff;
		border: none;
		width: 26px;
		height: 26px;
		border-radius: 50%;
		cursor: pointer;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.slick-prev-nav { left: 20px; }
	.slick-next-nav { right: 20px; }

	.slick-prev-nav i, .slick-next-nav i {
		font-size: 14px;
		line-height: 1;
	}

	.slick-prev-for, .slick-next-for {
		font-size: 18px;
		width: 32px;
		height: 32px;
	}

  .producto-lista-container .bg-white.p-3.rounded.shadow-sm {
    width: 100% !important;
    margin: 0 auto !important;
    padding: 10px !important;
    box-sizing: border-box;
  }

  .producto-lista-container .productos-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 16px;
    justify-content: center;
    width: 100%;
    box-sizing: border-box;
    padding: 0;
  }

  .producto-lista-container .productos-container .card {
    border-radius: 10px;
    overflow: hidden;
  }

  #btnAbrirFiltros {
    display: block;
    width: 100%;
    font-weight: 600;
    background: var(--primary-color);
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 10px 0;
    box-shadow: 0 2px 4px rgba(0,0,0,0.08);
    transition: background 0.2s ease, transform 0.1s ease;
  }

  #btnAbrirFiltros:hover {
    background: #e55c00;
    transform: translateY(-1px);
  }

  #btnAbrirFiltros i {
    margin-right: 6px;
    font-size: 1.1rem;
  }

  .producto-lista-section .col-md-3 { display: none !important; }
  .producto-lista-section .col-md-9 { width: 100%; max-width: 100%; }

  .producto-layout {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 20px;
    padding: 10px;
    overflow: visible !important;
  }

  .producto-galeria {
    width: 100% !important;
    max-width: 100% !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    overflow: visible !important;
    box-sizing: border-box;
    padding: 0 10px;
  }

  .slider-for {
    width: 100% !important;
    max-width: 450px;
    margin: 0 auto;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    overflow: hidden;
  }

  .slider-for img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .slider-nav {
    margin-top: 10px;
    width: 100%;
    max-width: 500px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
  }

  .slider-nav .swiper-slide {
    flex: 0 0 auto;
    width: 80px;
    height: 100px;
  }

  .slider-nav img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 6px;
  }

  .producto-galeria .swiper-button-prev { left: 10px !important; }
  .producto-galeria .swiper-button-next { right: 10px !important; }

  .producto-info {
    width: 100% !important;
    max-width: 100% !important;
    padding: 15px;
    box-sizing: border-box;
  }

  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  body > div:first-of-type {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .container,
  .main-container {
    max-width: 100%;
    width: 100%;
    padding-left: 12px;
    padding-right: 12px;
    box-sizing: border-box;
  }

  .payment-section.container.main-container {
    max-width: 100%;
    padding-left: 16px;
    padding-right: 16px;
  }

  .payment-layout {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    box-sizing: border-box;
    overflow-x: hidden;
  }

  .payment-main.card,
  .payment-sidebar {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  .payment-summary-card {
    width: 100%;
  }

  .payment-main.card {
    overflow: hidden;
  }

  .payment-main.card .card-body {
	width: 100%;
    max-width: 100%;
    overflow: visible;
  }

  .payment-panels-wrapper {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
  }

  .payment-panel {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
  }

  .payment-panel-content {
    max-width: 100%;
    box-sizing: border-box;
    white-space: pre-line;
    overflow-wrap: break-word;
    word-break: break-word;
  }

  .payment-form-actions {
    justify-content: flex-end;
    padding: 0 12px 8px;
  }

  .footer-main,
  .footer-bottom,
  .footer-bottom .container {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
  }

  .bottom-nav {
    width: 100%;
    max-width: 100%;
    left: 0;
    right: 0;
    overflow-x: hidden;
  }

  .promociones{ --promo-timer-reserva: 260px; }

  .promociones .promo-timer{
    right: 12px;
    transform: scale(.92);
    transform-origin: top right;
  }

  .promociones .section-title,
  .promociones .section-heading,
  .promociones h2,
  .promociones h3{
    font-size: .80rem;
    padding-right: var(--promo-timer-reserva);
    margin-left: 12px;
  }
  
    /* Mostrar acciones sin hover en móvil */
  .card-actions{
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
  }
}

@media (max-width: 480px) {
	.banner-card {
		min-height: 140px;
		border-radius: 12px;
	}

	.banner2-card {
		min-height: 140px;
		border-radius: 12px;
	}

	.banner3-card {
		min-height: 160px;
		border-radius: 12px;
	}

	.card img {
		height: 160px;
	}

	.btn-add, .btn-view {
		padding: 0 10px;
		height: 34px;
		font-size: 0.8rem;
		min-width: 70px;
	}

	.qty-btn {
		width: 32px;
	}

	.qty-input {
		width: 42px;
	}

	.product-add {
		padding: 10px 0 10px;
	}

	.section-card-2x .slick-slide > div > div {
		flex: 1 1 100%;
		max-width: 100%;
	}

  .producto-lista-container .bg-white.p-3.rounded.shadow-sm {
    width: 94% !important;
    margin: 0 auto !important;
    padding: 8px !important;
    box-sizing: border-box;
  }

  .producto-lista-container .productos-container {
    display: grid;
    grid-template-columns: repeat(1, minmax(240px, 1fr));
    justify-content: center;
    gap: 14px;
    width: 100%;
    padding: 0 8px;
    box-sizing: border-box;
  }

  .producto-lista-container .productos-container .item {
    display: flex;
    justify-content: center;
  }

  .producto-lista-container .productos-container .card {
    max-width: 300px;
    width: 100%;
  }

  .promociones{ --promo-timer-reserva: 230px; }

  .promociones .promo-timer{
    right: 10px;
    transform: scale(.86);
  }

  .promociones .section-title,
  .promociones .section-heading,
  .promociones h2,
  .promociones h3{
    font-size: .80rem;
    margin-left: 10px;
  }

  :root{
	--footer-safe: 110px;
  }

  .footer-logo-img{
    max-height: 32px;
  }
}

/* =========================================
   STICKY FOOTER EN TODAS LAS PANTALLAS
   ========================================= */

html, body { height: 100%; }

body{
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  margin: 0;
}

.app-wrapper{
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
}

.site-main{ flex: 1 0 auto; }

.app-wrapper footer.footer-main{ margin-top: auto; }

