body {
    background-color: rgb(255, 255, 255);
}
.producto-zoom {
  cursor: zoom-in;
  object-fit: contain;
}
.list-group-item.active a {
    color: white !important;
  }
.card.fade-in {
  animation: fadeIn 0.3s ease-in-out;
}
.scroll-down {
  transform: translateY(-100%);
  transition: transform 0.3s ease-in-out;
}

.scroll-up {
  transform: translateY(0);
}

@keyframes fadeIn {
  from { opacity: 0; transform: scale(0.97); }
  to   { opacity: 1; transform: scale(1); }
}

/* Tamaño más grande */
.carousel-control-prev-icon,
.carousel-control-next-icon {
    width: 3rem !important;
    height: 3rem !important;
    background-size: 100% 100%;
    filter: drop-shadow(0 0 6px rgba(0,0,0,0.7));
}

/* Flecha izquierda azul */
.carousel-control-prev-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%231A73E8' viewBox='0 0 16 16'%3E%3Cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L6.707 7l4.647 4.646a.5.5 0 1 1-.708.708l-5-5a.5.5 0 0 1 0-.708l5-5a.5.5 0 0 1 .708 0z'/%3E%3C/svg%3E");
}

/* Flecha derecha azul */
.carousel-control-next-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%231A73E8' viewBox='0 0 16 16'%3E%3Cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l5 5a.5.5 0 0 1 0 .708l-5 5a.5.5 0 1 1-.708-.708L9.293 7 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
}
/* Altura máxima del dropdown */
.dropdown-menu {
    max-height: 70vh;
    overflow: hidden;
}

/* Solo el área de productos hace scroll */
.dropdown-menu > div[data-minicarrito-target="lista"] {
    max-height: 45vh;
    overflow-y: auto;
}

/* Tienda Switch: identidad visual más ligera y dinámica que el catálogo médico. */
.switch-navbar-logo {
    display: block;
    width: auto;
    height: 46px;
    max-width: 190px;
    object-fit: contain;
}

.switch-store {
    min-height: 100vh;
    background: linear-gradient(180deg, #f4f8ff 0, #ffffff 42rem);
}

.switch-hero {
    color: #fff;
    background:
        radial-gradient(circle at 12% 18%, rgba(101, 164, 229, .2), transparent 32%),
        #031332;
    overflow: hidden;
}

.switch-hero .lead {
    color: rgba(255, 255, 255, .82);
}

.switch-kicker {
    display: inline-flex;
    align-items: center;
    padding: .55rem 1rem;
    border: 1px solid rgba(255, 255, 255, .42);
    border-radius: 999px;
    background: rgba(255, 255, 255, .13);
    font-weight: 700;
    letter-spacing: .04em;
}

.switch-hero-logo {
    width: min(100%, 34rem);
    max-height: 220px;
    object-fit: contain;
}

.switch-category-strip {
    scrollbar-width: thin;
}

.switch-category-pill {
    --category-color: #6998d0;
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: .55rem;
    padding: .7rem 1rem;
    border: 1px solid color-mix(in srgb, var(--category-color), white 48%);
    border-radius: 999px;
    color: #17324f;
    background: color-mix(in srgb, var(--category-color), white 88%);
    font-weight: 700;
}

.switch-category-pill:hover,
.switch-category-pill.active {
    color: #fff;
    border-color: var(--category-color);
    background: var(--category-color);
    transform: translateY(-2px);
}

.switch-product-card {
    overflow: hidden;
    border: 0;
    border-top: .35rem solid var(--category-color);
    border-radius: 1.25rem;
    box-shadow: 0 .8rem 2.2rem rgba(23, 50, 79, .1);
    transition: transform .2s ease, box-shadow .2s ease;
}

.switch-product-card:hover {
    transform: translateY(-.35rem);
    box-shadow: 0 1.1rem 2.6rem rgba(23, 50, 79, .17);
}

.switch-product-media {
    height: 15rem;
    background: #f8fafc;
}

.switch-product-media img {
    padding: .75rem;
    object-fit: contain;
}

.switch-product-category {
    align-self: flex-start;
    padding: .4rem .75rem;
    border-radius: 999px;
    color: #17324f;
    background: color-mix(in srgb, var(--category-color), white 82%);
    font-size: .8rem;
    font-weight: 700;
}

.switch-product-form .form-control {
    min-width: 0;
}

@media (max-width: 575.98px) {
    .switch-navbar-logo { height: 36px; max-width: 145px; }
    .switch-hero-logo { max-height: 140px; }
    .switch-product-media { height: 13rem; }
}
