/* Copia de frontend-desktop/src/styles.css — fuente mantenible del desktop React.
   El @import de Google Fonts se movió al <head> del layout: dentro del CSS
   obliga al navegador a descubrirlo recién tras descargar la hoja. */
:root {
  --color-base-marino: #0b1221;
  --color-base-beige: #fdf7ed;
  --color-base-blanco: #fff;
  --color-base-negro: #000;
  --color-texto-principal: #222;
  --color-texto-suave: #666;
  --color-borde: #eaeaea;
  --color-marca: #b89359;
  --fuente-titulos: "Libre Baskerville", serif;
  --fuente-cuerpo: "Inter", sans-serif;
}
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
body {
  font-family: var(--fuente-cuerpo);
  color: var(--color-texto-principal);
  background-color: var(--color-base-blanco);
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--fuente-titulos);
  color: var(--color-marca);
  font-weight: 400;
}
a {
  color: inherit;
  text-decoration: none;
}
button {
  cursor: pointer;
  font-family: inherit;
}
.contenedor {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 2rem;
}
img {
  max-width: 100%;
  display: block;
}
.encabezado-seccion {
  text-align: center;
  margin-bottom: 2.5rem;
}
.encabezado-seccion h2 {
  color: var(--color-marca);
  margin-bottom: 0.5rem;
  font-size: 2.4rem;
}
.encabezado-seccion p {
  color: var(--color-texto-suave);
  font-size: 1rem;
}
.cabecera {
  background-color: var(--color-base-blanco);
  border-bottom: 1px solid var(--color-borde);
  z-index: 100;
  width: 100%;
  position: sticky;
  top: 0;
}
.cabecera-superior {
  background-color: var(--color-marca);
  color: var(--color-base-blanco);
  text-align: center;
  letter-spacing: 0.5px;
  padding: 0.5rem;
  font-size: 0.8rem;
  font-weight: 600;
}
.cabecera-principal {
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
  height: 80px;
  display: flex;
}
.cabecera-izquierda {
  flex: 1;
  align-items: center;
  gap: 1.5rem;
  display: flex;
}
.cabecera-logo img {
  flex-shrink: 0;
  width: auto;
  max-width: none;
  height: 40px;
}
.cabecera-buscador {
  flex: 1;
  align-items: center;
  min-width: 0;
  display: flex;
  position: relative;
}
.promo-itau-navbar {
  flex-shrink: 0;
  align-items: center;
  gap: 0.6rem;
  text-decoration: none;
  transition: opacity 0.2s;
  display: flex;
}
.promo-itau-navbar:hover {
  opacity: 0.85;
}
.promo-itau-icono {
  object-fit: contain;
  flex-shrink: 0;
  width: auto;
  height: 40px;
  display: block;
}
.promo-itau-texto {
  color: #036;
  white-space: nowrap;
  font-size: calc(0.72rem + 1.5px);
  font-weight: 600;
}
.barra-busqueda {
  background-color: #f0efed;
  border: none;
  border-radius: 20px;
  flex: 1;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  display: flex;
}
.icono-buscar {
  color: #888;
  flex-shrink: 0;
}
.barra-busqueda input {
  width: 100%;
  font-size: 0.88rem;
  font-family: var(--fuente-cuerpo);
  color: #333;
  background: 0 0;
  border: none;
  outline: none;
}
.barra-busqueda input::placeholder {
  color: #aaa;
}
.cabecera-acciones {
  flex-shrink: 0;
  align-items: center;
  gap: 1.1rem;
  display: flex;
}
.boton-amco {
  color: var(--color-marca);
  border: 1.5px solid var(--color-marca);
  white-space: nowrap;
  border-radius: 10px;
  flex-direction: column;
  flex-shrink: 0;
  align-items: flex-start;
  padding: 0.3rem 0.75rem;
  line-height: 1.2;
  text-decoration: none;
  transition:
    background-color 0.2s,
    color 0.2s;
  display: flex;
}
.boton-amco:hover {
  background-color: var(--color-marca);
  color: var(--color-base-blanco);
}
.boton-amco__linea1 {
  letter-spacing: 0.3px;
  font-size: 0.82rem;
  font-weight: 800;
}
.boton-amco__linea2 {
  letter-spacing: 0.2px;
  opacity: 0.85;
  align-items: center;
  gap: 3px;
  font-size: 0.62rem;
  font-weight: 500;
  display: flex;
}
.separador-acciones {
  background: #ddd;
  width: 1px;
  height: 20px;
}
.boton-icono {
  color: #666;
  cursor: pointer;
  background: 0 0;
  border: none;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  transition: color 0.2s;
  display: flex;
  position: relative;
}
.boton-icono:hover {
  color: var(--color-marca);
}
.boton-icono.carrito,
.boton-icono[aria-label="Favoritos"] {
  position: relative;
}
.insignia-carrito {
  color: var(--color-base-negro);
  background-color: #0000;
  justify-content: center;
  align-items: center;
  font-size: 0.8rem;
  font-weight: 600;
  display: flex;
  position: absolute;
  top: -8px;
  right: -8px;
}
.panel-wrapper {
  align-items: center;
  gap: 1.1rem;
  display: flex;
  position: relative;
}
.panel-desplegable {
  border: 1px solid var(--color-borde);
  z-index: 300;
  background: #fff;
  border-radius: 14px;
  width: 320px;
  animation: 0.18s panelBajar;
  position: absolute;
  top: calc(100% + 14px);
  right: 0;
  overflow: hidden;
  box-shadow: 0 8px 32px #0000001f;
}
@keyframes panelBajar {
  0% {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.panel-titulo {
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: #aaa;
  border-bottom: 1px solid var(--color-borde);
  padding: 1rem 1.1rem 0.6rem;
  font-size: 0.75rem;
  font-weight: 700;
}
.panel-vacio {
  color: #bbb;
  text-align: center;
  padding: 1.25rem 1.1rem;
  font-size: 0.82rem;
}
.panel-lista {
  max-height: 280px;
  padding: 0.5rem 0;
  list-style: none;
  overflow-y: auto;
}
.panel-item {
  align-items: center;
  gap: 0.75rem;
  padding: 0.55rem 1.1rem;
  transition: background 0.12s;
  display: flex;
}
.panel-item:hover {
  background: #faf9f7;
}
.panel-item__img {
  background: #f0ede8;
  border-radius: 8px;
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  overflow: hidden;
}
.panel-item__img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.panel-item__img-placeholder {
  background: #f0ede8;
  width: 100%;
  height: 100%;
}
.panel-item__info {
  flex-direction: column;
  flex: 1;
  gap: 2px;
  min-width: 0;
  display: flex;
}
.panel-item__nombre {
  color: #333;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 0.8rem;
  font-weight: 500;
  overflow: hidden;
}
.panel-item__precio {
  color: var(--color-marca);
  font-size: 0.75rem;
  font-weight: 600;
}
.panel-item__qty {
  color: #888;
  flex-shrink: 0;
  font-size: 0.78rem;
  font-weight: 700;
}
.panel-item__quitar {
  color: #ccc;
  cursor: pointer;
  background: 0 0;
  border: none;
  flex-shrink: 0;
  align-items: center;
  padding: 2px;
  transition: color 0.15s;
  display: flex;
}
.panel-item__quitar:hover {
  color: #e53e3e;
}
.panel-subtotal {
  border-top: 1px solid var(--color-borde);
  color: #444;
  justify-content: space-between;
  align-items: center;
  padding: 0.65rem 1.1rem;
  font-size: 0.82rem;
  font-weight: 600;
  display: flex;
}
.panel-subtotal span:last-child {
  color: var(--color-marca);
  font-size: 0.9rem;
}
.panel-precio-tachado {
  text-decoration: line-through;
  color: #bbb !important;
  font-size: 0.82rem !important;
}
.panel-subtotal--itau,
.panel-subtotal--itau span:last-child {
  color: #f96f1e;
}
.panel-pie {
  border-top: 1px solid var(--color-borde);
  padding: 0.75rem 1.1rem;
}
.panel-btn {
  text-align: center;
  background: var(--color-marca);
  color: #fff;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  border-radius: 8px;
  padding: 0.65rem;
  font-size: 0.78rem;
  font-weight: 700;
  text-decoration: none;
  transition: filter 0.15s;
  display: block;
}
.panel-btn:hover {
  filter: brightness(1.1);
}
.cabecera-navegacion {
  border-top: 1px solid var(--color-borde);
  background-color: var(--color-base-blanco);
}
.lista-nav {
  justify-content: center;
  align-items: center;
  gap: 2rem;
  height: 50px;
  list-style: none;
  display: flex;
}
.lista-nav li a {
  color: #888;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  align-items: center;
  gap: 0.2rem;
  font-size: calc(0.85rem - 1.5px);
  font-weight: 500;
  transition: color 0.2s;
  display: flex;
}
.lista-nav li a:hover {
  color: var(--color-base-marino);
}
.lista-nav li.ver-todos a {
  color: var(--color-marca, #7a4f5e);
  border-bottom: 2px solid var(--color-marca, #7a4f5e);
  padding-bottom: 2px;
  font-weight: 600;
}
.lista-nav li.ver-todos a:hover {
  color: var(--color-marca, #7a4f5e);
  filter: brightness(1.2);
}
.tiene-desplegable {
  position: relative;
}
.tiene-desplegable:hover .desplegable-nav {
  display: block;
}
.desplegable-nav {
  border: 1px solid var(--color-borde);
  z-index: 200;
  background: #fff;
  border-radius: 8px;
  min-width: 200px;
  padding: 0.5rem 0;
  list-style: none;
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  box-shadow: 0 4px 16px #0000001a;
}
.desplegable-nav li a {
  color: #888;
  letter-spacing: 0.4px;
  white-space: nowrap;
  font-size: calc(0.85rem - 1.5px);
  font-weight: 500;
  font-family: var(--fuente-cuerpo);
  align-items: center;
  gap: 0.6rem;
  padding: 0.5rem 1rem;
  transition:
    background 0.2s,
    color 0.2s,
    transform 0.22s;
  display: flex;
}
.desplegable-nav li a:hover {
  color: var(--color-marca);
  background: #f9f6f0;
  transform: translate(5px);
}
.desplegable-img {
  object-fit: cover;
  border-radius: 4px;
  flex-shrink: 0;
  width: 28px;
  height: 28px;
}
.categoria-destacada {
  background: linear-gradient(120deg, #fde68a 0% 100%) 0 60%/100% 40% no-repeat;
  padding: 0 2px;
  font-weight: 600;
  display: inline-block;
  position: relative;
}
.icono-buscar-btn {
  cursor: pointer;
  background: 0 0;
  border: none;
  flex-shrink: 0;
  align-items: center;
  padding: 0;
  display: flex;
}
.icono-limpiar-btn {
  cursor: pointer;
  color: #aaa;
  background: 0 0;
  border: none;
  flex-shrink: 0;
  align-items: center;
  padding: 0;
  transition: color 0.15s;
  display: flex;
}
.icono-limpiar-btn:hover {
  color: #666;
}
.buscador-dropdown {
  z-index: 200;
  background: #fff;
  border: 1px solid #e8e4de;
  border-radius: 14px;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  overflow: hidden;
  box-shadow: 0 8px 24px #0000001a;
}
.buscador-cargando {
  text-align: center;
  color: #aaa;
  padding: 1rem;
  font-size: 0.82rem;
}
.buscador-item {
  color: inherit;
  border-bottom: 1px solid #f5f2ee;
  align-items: center;
  gap: 0.75rem;
  padding: 0.6rem 1rem;
  text-decoration: none;
  transition: background-color 0.15s;
  display: flex;
}
.buscador-item:hover {
  background-color: #fdf7ed;
}
.buscador-item__img {
  background: #f5f2ee;
  border-radius: 8px;
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  overflow: hidden;
}
.buscador-item__img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.buscador-item__img-ph {
  width: 100%;
  height: 100%;
}
.buscador-item__info {
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  display: flex;
}
.buscador-item__nombre {
  color: #222;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 0.84rem;
  font-weight: 500;
  overflow: hidden;
}
.buscador-item__precio {
  color: var(--color-marca);
  font-size: 0.78rem;
  font-weight: 600;
}
.buscador-ver-todos {
  text-align: center;
  width: 100%;
  color: var(--color-marca);
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 600;
  font-family: var(--fuente-cuerpo);
  background: 0 0;
  border: none;
  padding: 0.65rem 1rem;
  transition: background-color 0.15s;
  display: block;
}
.buscador-ver-todos:hover {
  background-color: #fdf7ed;
}
.pie-pagina {
  width: 100%;
}
.pie-pagina__superior {
  border-bottom: 1px solid var(--color-borde);
  padding: 5rem 2rem 4.5rem;
}
.pie-pagina__boletin {
  text-align: center;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
  display: flex;
}
.boletin-eyebrow {
  font-family: var(--fuente-cuerpo);
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-marca);
  opacity: 0.75;
  margin: 0;
  font-size: 0.7rem;
  font-weight: 600;
}
.boletin-titulo {
  color: var(--color-marca);
  margin: 0;
  font-family:
    Libre Baskerville,
    serif;
  font-size: 2.8rem;
  font-style: italic;
  font-weight: 400;
  line-height: 1.25;
}
.boletin-subtexto {
  color: #888;
  max-width: 420px;
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.7;
}
.formulario-boletin {
  border: 1.5px solid var(--color-marca);
  border-radius: 50px;
  width: 100%;
  max-width: 420px;
  margin-top: 0.25rem;
  display: flex;
  overflow: hidden;
}
.formulario-boletin input {
  font-family: var(--fuente-cuerpo);
  color: #333;
  background: 0 0;
  border: none;
  outline: none;
  flex: 1;
  padding: 0.85rem 1.5rem;
  font-size: 0.85rem;
}
.formulario-boletin input::placeholder {
  color: #bbb;
}
.formulario-boletin button {
  background-color: var(--color-marca);
  color: #fff;
  font-family: var(--fuente-cuerpo);
  letter-spacing: 0.5px;
  text-transform: uppercase;
  cursor: pointer;
  white-space: nowrap;
  border: none;
  flex-shrink: 0;
  padding: 0 1.6rem;
  font-size: 0.78rem;
  font-weight: 600;
  transition: filter 0.2s;
}
.formulario-boletin button:hover {
  filter: brightness(1.1);
}
.pie-pagina__principal.fondo-marino {
  background-color: var(--color-base-blanco);
  color: var(--color-texto-principal);
  border-top: 1px solid var(--color-borde);
  padding-top: 4rem;
}
.pie-pagina__cuadricula {
  grid-template-columns: 2fr 1fr 1fr 1.5fr 1.5fr;
  gap: 2rem;
  margin-bottom: 4rem;
  display: grid;
}
.logo-pie {
  height: 40px;
  margin-bottom: 1.5rem;
  display: block;
}
.logo-pie--circular {
  object-fit: contain;
  width: 110px;
  height: 110px;
}
.info-contacto p {
  font-size: calc(0.85rem - 1.5px);
  font-family: var(--fuente-cuerpo);
  color: #888;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 1rem;
  font-weight: 500;
  display: flex;
}
.info-horario {
  margin-top: -0.5rem;
  color: #666 !important;
  font-size: 0.75rem !important;
  font-weight: 400 !important;
}
.enlaces-pie {
  list-style: none;
}
.enlaces-pie li {
  margin-bottom: 1rem;
}
.enlaces-pie a {
  font-size: calc(0.85rem - 1.5px);
  font-family: var(--fuente-cuerpo);
  color: #888;
  letter-spacing: 0.4px;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.2s;
}
.enlaces-pie a:hover {
  color: var(--color-marca);
}
.columna-social h4 {
  font-size: calc(0.85rem - 1.5px);
  font-family: var(--fuente-cuerpo);
  letter-spacing: 0.4px;
  color: #888;
  margin-bottom: 1rem;
  font-weight: 500;
}
.redes-sociales {
  gap: 1rem;
  display: flex;
}
.icono-social {
  color: #888;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  transition: color 0.2s;
  display: flex;
}
.icono-social:hover {
  color: var(--color-marca);
}
.pie-pagina__inferior {
  text-align: center;
  border-top: 1px solid var(--color-borde);
  padding: 2rem 0;
}
.pie-pagina__inferior p {
  color: var(--color-texto-suave);
  font-size: 0.8rem;
}
.pagina-producto {
  padding: 2rem 2rem 5rem;
}
.producto-breadcrumb {
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: #aaa;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 2.5rem;
  font-size: 0.72rem;
  font-weight: 600;
  display: flex;
}
.producto-breadcrumb a {
  color: #aaa;
  transition: color 0.15s;
}
.producto-breadcrumb a:hover {
  color: var(--color-marca);
}
.producto-breadcrumb__sep {
  color: #ccc;
}
.producto-breadcrumb__actual {
  color: var(--color-marca);
}
.producto-grid {
  grid-template-columns: 55% 1fr;
  align-items: start;
  gap: 4rem;
  display: grid;
}
.producto-galeria__principal {
  aspect-ratio: 4/3;
  background: #f7f5f2;
  border-radius: 12px;
  position: relative;
  overflow: hidden;
}
.producto-galeria__principal img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  animation: 0.2s fadeIn;
  display: block;
}
.producto-galeria__placeholder {
  background: #f0ede8;
  width: 100%;
  height: 100%;
}
@keyframes fadeIn {
  0% {
    opacity: 0.5;
  }
  to {
    opacity: 1;
  }
}
.producto-galeria__iconos {
  z-index: 3;
  gap: 8px;
  display: flex;
  position: absolute;
  top: 12px;
  right: 12px;
}
.galeria-icono {
  color: #777;
  cursor: pointer;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  background: #ffffffeb;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 38px;
  height: 38px;
  transition:
    color 0.15s,
    background 0.15s;
  display: flex;
  box-shadow: 0 2px 8px #0000001f;
}
.galeria-icono:hover {
  color: var(--color-marca);
  background: #fff;
}
.galeria-icono.activo {
  color: #e53e3e;
  background: #fff;
}
.galeria-icono.activo:hover {
  color: #c53030;
}
.producto-galeria__flecha {
  color: #555;
  cursor: pointer;
  z-index: 2;
  background: #ffffffe6;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  transition:
    background 0.2s,
    color 0.2s;
  display: flex;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  box-shadow: 0 2px 8px #0000001f;
}
.producto-galeria__flecha:hover {
  background: var(--color-marca);
  color: #fff;
}
.producto-galeria__flecha.izq {
  left: 12px;
}
.producto-galeria__flecha.der {
  right: 12px;
}
.producto-galeria__miniaturas {
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 0.75rem;
  display: flex;
}
.producto-miniatura {
  cursor: pointer;
  background: 0 0;
  border: 2px solid #0000;
  border-radius: 8px;
  flex-shrink: 0;
  width: 72px;
  height: 72px;
  padding: 0;
  transition: border-color 0.15s;
  overflow: hidden;
}
.producto-miniatura img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.producto-miniatura.activa {
  border-color: var(--color-marca);
}
.producto-nombre {
  font-family: var(--fuente-titulos);
  color: var(--color-marca);
  margin-bottom: 0.75rem;
  font-size: 1.7rem;
  font-weight: 400;
  line-height: 1.2;
}
.producto-nombre__linea {
  background-color: var(--color-marca);
  opacity: 0.5;
  width: 60px;
  height: 2px;
  margin-bottom: 1.5rem;
}
.producto-precios {
  align-items: baseline;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
  display: flex;
}
.producto-precio-anterior {
  color: #aaa;
  font-size: 1rem;
  text-decoration: line-through;
}
.producto-precio-actual {
  color: var(--color-marca);
  font-size: 1.2rem;
  font-weight: 700;
}
.producto-descripcion {
  color: #555;
  margin-top: 10px;
  margin-bottom: 2rem;
  font-size: 0.9rem;
  line-height: 1.8;
}
.producto-descripcion br {
  content: "";
  margin-bottom: 0.25rem;
  display: block;
}
.producto-acciones {
  flex-direction: column;
  gap: 0;
  display: flex;
}
.producto-cantidad__label {
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #888;
  margin-bottom: 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
}
.producto-cantidad {
  align-items: center;
  gap: 0;
  margin-bottom: 1.5rem;
  display: flex;
}
.producto-cantidad__btn {
  border: 1.5px solid var(--color-marca);
  width: 44px;
  height: 44px;
  color: var(--color-marca);
  cursor: pointer;
  background: 0 0;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  transition:
    background 0.15s,
    color 0.15s;
  display: flex;
}
.producto-cantidad__btn:first-child {
  border-radius: 8px 0 0 8px;
}
.producto-cantidad__btn:last-of-type {
  border-radius: 0 8px 8px 0;
}
.producto-cantidad__btn:hover {
  background: var(--color-marca);
  color: #fff;
}
.producto-cantidad__numero {
  border-top: 1.5px solid var(--color-marca);
  border-bottom: 1.5px solid var(--color-marca);
  width: 56px;
  height: 44px;
  color: var(--color-base-negro);
  justify-content: center;
  align-items: center;
  font-size: 1.1rem;
  font-weight: 600;
  display: flex;
}
.producto-separador {
  background: #eee;
  width: 100%;
  height: 1px;
  margin-bottom: 1.5rem;
}
.producto-cta {
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  display: grid;
}
.producto-btn {
  letter-spacing: 0.8px;
  text-transform: uppercase;
  cursor: pointer;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  height: 52px;
  font-size: 0.82rem;
  font-weight: 700;
  transition:
    filter 0.15s,
    background 0.15s,
    color 0.15s;
  display: flex;
}
.producto-btn--carrito {
  border: 2px solid var(--color-marca);
  color: var(--color-marca);
  background: 0 0;
}
.producto-btn--carrito:hover {
  background: var(--color-marca);
  color: #fff;
}
.producto-btn--comprar {
  background: var(--color-marca);
  border: 2px solid var(--color-marca);
  color: #fff;
}
.producto-btn--comprar:hover {
  filter: brightness(1.1);
}
.modal-galeria__overlay {
  z-index: 1000;
  background: #000000e0;
  justify-content: center;
  align-items: center;
  padding: 2rem;
  animation: 0.18s fadeIn;
  display: flex;
  position: fixed;
  inset: 0;
}
.modal-galeria__contenido {
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 820px;
  display: flex;
  position: relative;
}
.modal-galeria__imagen {
  justify-content: center;
  align-items: center;
  width: 100%;
  max-height: 72vh;
  display: flex;
}
.modal-galeria__imagen img {
  object-fit: contain;
  border-radius: 8px;
  max-width: 100%;
  max-height: 72vh;
  animation: 0.18s fadeIn;
}
.modal-galeria__cerrar {
  color: #fff;
  cursor: pointer;
  background: #ffffff26;
  border: 1px solid #ffffff40;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  transition: background 0.15s;
  display: flex;
  position: absolute;
  top: -44px;
  right: 0;
}
.modal-galeria__cerrar:hover {
  background: #ffffff4d;
}
.modal-galeria__flecha {
  color: #fff;
  cursor: pointer;
  background: #ffffff1f;
  border: 1px solid #fff3;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  transition: background 0.15s;
  display: flex;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.modal-galeria__flecha:hover {
  background: #ffffff40;
}
.modal-galeria__flecha.izq {
  left: -64px;
}
.modal-galeria__flecha.der {
  right: -64px;
}
.modal-galeria__miniaturas {
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 1rem;
  display: flex;
}
.modal-miniatura {
  cursor: pointer;
  opacity: 0.6;
  background: 0 0;
  border: 2px solid #0000;
  border-radius: 6px;
  width: 58px;
  height: 58px;
  padding: 0;
  transition:
    opacity 0.15s,
    border-color 0.15s;
  overflow: hidden;
}
.modal-miniatura img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.modal-miniatura.activa {
  border-color: var(--color-marca);
  opacity: 1;
}
.modal-galeria__contador {
  color: #ffffff80;
  letter-spacing: 1px;
  margin-top: 0.6rem;
  font-size: 0.78rem;
}
.relacionados {
  border-top: 1px solid var(--color-borde);
  margin-top: 4rem;
  padding-top: 3rem;
  padding-bottom: 4rem;
}
.relacionados__deslizador {
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
  display: flex;
}
.flecha-relacionados {
  color: #888;
  cursor: pointer;
  background: 0 0;
  border: 1px solid #ccc;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  transition:
    border-color 0.15s,
    color 0.15s;
  display: flex;
}
.flecha-relacionados:hover:not(:disabled) {
  border-color: var(--color-marca);
  color: var(--color-marca);
}
.flecha-relacionados:disabled {
  opacity: 0.25;
  cursor: default;
}
.relacionados__grid {
  flex: 1;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
  display: grid;
}
.tarjeta-relacionado {
  cursor: pointer;
  text-align: center;
}
.tarjeta-relacionado__img {
  aspect-ratio: 3/4;
  background: #f7f5f2;
  border-radius: 8px;
  margin-bottom: 0.75rem;
  transition: box-shadow 0.15s;
  position: relative;
  overflow: hidden;
}
.tarjeta-relacionado:hover .tarjeta-relacionado__img {
  box-shadow: 0 4px 16px #0000001a;
}
.tarjeta-relacionado__img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform 0.3s;
}
.tarjeta-relacionado:hover .tarjeta-relacionado__img img {
  transform: scale(1.04);
}
.tarjeta-relacionado__placeholder {
  background: #f0ede8;
  width: 100%;
  height: 100%;
}
.tarjeta-relacionado__nombre {
  color: #888;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  white-space: nowrap;
  text-overflow: ellipsis;
  margin-bottom: 0.35rem;
  font-size: calc(0.85rem - 1.5px);
  font-weight: 500;
  overflow: hidden;
}
.tarjeta-relacionado__precios {
  justify-content: center;
  align-items: center;
  gap: 0.4rem;
  display: flex;
}
.tarjeta-relacionado__anterior {
  color: #ccc;
  font-size: 0.78rem;
  text-decoration: line-through;
}
.tarjeta-relacionado__actual {
  color: var(--color-marca);
  font-size: 0.9rem;
  font-weight: 600;
}
.tarjeta-relacionado__itau-badge {
  border-radius: 5px;
  width: 42px;
  position: absolute;
  bottom: 9px;
  right: 9px;
  overflow: hidden;
}
.tarjeta-relacionado__itau-badge img {
  width: 100%;
  height: auto;
  display: block;
}
.tarjeta-relacionado__itau-leyenda {
  color: #f96f1e;
  text-align: center;
  margin: 0.2rem 0 0;
  font-size: 0.66rem;
  font-weight: 600;
}
.producto-itau-badge {
  pointer-events: none;
  border-radius: 8px;
  width: 58px;
  position: absolute;
  bottom: 12px;
  right: 12px;
  overflow: hidden;
}
.producto-itau-badge img {
  width: 100%;
  height: auto;
  display: block;
}
.producto-itau-leyenda {
  color: #f96f1e;
  border-bottom: 1px solid #ebebeb;
  margin: 0.25rem 0 0;
  padding-bottom: 1.25rem;
  font-size: 0.72rem;
  font-weight: 600;
}
.producto-toast {
  color: #fff;
  z-index: 2000;
  pointer-events: none;
  white-space: nowrap;
  border-radius: 30px;
  padding: 0.75rem 1.5rem;
  font-size: 0.85rem;
  font-weight: 600;
  animation:
    0.3s cubic-bezier(0.34, 1.56, 0.64, 1) forwards toastEntrada,
    0.4s 2.4s forwards toastSalida;
  position: fixed;
  bottom: 2rem;
  left: 50%;
  transform: translate(-50%);
  box-shadow: 0 4px 20px #0000002e;
}
.producto-toast--exito {
  background: #2d9e5f;
}
.producto-toast--favorito {
  background: var(--color-marca);
}
@keyframes toastEntrada {
  0% {
    opacity: 0;
    transform: translate(-50%) translateY(20px);
  }
  to {
    opacity: 1;
    transform: translate(-50%) translateY(0);
  }
}
@keyframes toastSalida {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.producto-cargando {
  color: #aaa;
  justify-content: center;
  align-items: center;
  min-height: 40vh;
  font-size: 0.9rem;
  display: flex;
}
.carrito-pagina {
  min-height: 60vh;
  padding: 2.5rem 2rem 5rem;
}
.carrito-encabezado {
  border-bottom: 1px solid var(--color-borde);
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2.5rem;
  padding-bottom: 1.25rem;
  display: flex;
}
.carrito-encabezado h1 {
  font-family: var(--fuente-titulos);
  color: var(--color-marca);
  font-size: 2rem;
  font-weight: 400;
}
.carrito-volver {
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #aaa;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.78rem;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.15s;
  display: flex;
}
.carrito-volver:hover {
  color: var(--color-marca);
}
.carrito-vacio {
  color: #ccc;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  padding: 5rem 0;
  display: flex;
}
.carrito-vacio p {
  color: #aaa;
  font-size: 1rem;
}
.carrito-vacio__btn {
  background: var(--color-marca);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-radius: 30px;
  margin-top: 0.5rem;
  padding: 0.7rem 2rem;
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
  transition: filter 0.15s;
}
.carrito-vacio__btn:hover {
  filter: brightness(1.1);
}
.carrito-layout {
  grid-template-columns: 1fr 360px;
  align-items: start;
  gap: 2.5rem;
  display: grid;
}
.carrito-items__header {
  border-bottom: 1px solid var(--color-borde);
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: #bbb;
  grid-template-columns: 1fr 140px 140px 140px;
  padding: 0 0 0.75rem;
  font-size: 0.7rem;
  font-weight: 700;
  display: grid;
}
.carrito-items__header span:not(:first-child) {
  text-align: center;
}
.carrito-fila {
  border-bottom: 1px solid #f5f5f5;
  grid-template-columns: 1fr 140px 140px 140px;
  align-items: center;
  padding: 1.25rem 0;
  transition: background 0.1s;
  display: grid;
}
.carrito-fila:hover {
  background: #faf9f7;
}
.carrito-fila__producto {
  align-items: center;
  gap: 1rem;
  display: flex;
}
.carrito-fila__img {
  background: #f0ede8;
  border: 1px solid #eee;
  border-radius: 8px;
  flex-shrink: 0;
  width: 72px;
  height: 72px;
  overflow: hidden;
}
.carrito-fila__img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.carrito-fila__img-placeholder {
  background: #f0ede8;
  width: 100%;
  height: 100%;
}
.carrito-fila__info {
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  display: flex;
}
.carrito-fila__nombre {
  color: #333;
  font-size: 0.85rem;
  font-weight: 500;
  line-height: 1.3;
}
.carrito-fila__precio-mobile {
  display: none;
}
.carrito-fila__precio {
  text-align: center;
  color: #666;
  font-size: 0.88rem;
}
.carrito-fila__cantidad {
  justify-content: center;
  align-items: center;
  gap: 0;
  display: flex;
}
.qty-btn {
  color: #666;
  cursor: pointer;
  background: 0 0;
  border: 1.5px solid #ddd;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  transition:
    border-color 0.15s,
    color 0.15s;
  display: flex;
}
.qty-btn:first-child {
  border-radius: 6px 0 0 6px;
}
.qty-btn:last-child {
  border-radius: 0 6px 6px 0;
}
.qty-btn:hover:not(:disabled) {
  border-color: var(--color-marca);
  color: var(--color-marca);
}
.qty-btn:disabled {
  opacity: 0.3;
  cursor: default;
}
.qty-num {
  border-top: 1.5px solid #ddd;
  border-bottom: 1.5px solid #ddd;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 30px;
  font-size: 0.88rem;
  font-weight: 600;
  display: flex;
}
.carrito-fila__total {
  justify-content: center;
  align-items: center;
  gap: 0.75rem;
  display: flex;
}
.carrito-fila__total span {
  color: var(--color-marca);
  font-size: 0.9rem;
  font-weight: 600;
}
.carrito-fila__quitar {
  color: #ccc;
  cursor: pointer;
  background: 0 0;
  border: none;
  padding: 3px;
  transition: color 0.15s;
  display: flex;
}
.carrito-fila__quitar:hover {
  color: #e53e3e;
}
.carrito-resumen {
  border: 1px solid var(--color-borde);
  background: #faf9f7;
  border-radius: 16px;
  padding: 1.75rem;
  position: sticky;
  top: 140px;
}
.resumen-item {
  justify-content: space-between;
  align-items: baseline;
  gap: 0.5rem;
  display: flex;
}
.resumen-item__nombre {
  color: #555;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
  font-size: 0.8rem;
  overflow: hidden;
}
.resumen-envio__texto {
  color: #aaa;
  font-size: 0.75rem;
  font-style: italic;
}
.resumen-precio-tachado {
  color: #bbb;
  text-decoration: line-through;
}
.checkout-pagina {
  min-height: 70vh;
  padding: 2.5rem 2rem 5rem;
}
.checkout-encabezado {
  border-bottom: 1px solid var(--color-borde);
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2.5rem;
  padding-bottom: 1.25rem;
  display: flex;
}
.checkout-encabezado h1 {
  font-family: var(--fuente-titulos);
  color: var(--color-marca);
  font-size: 2rem;
  font-weight: 400;
}
.checkout-volver {
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #aaa;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.78rem;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.15s;
  display: flex;
}
.checkout-volver:hover {
  color: var(--color-marca);
}
.checkout-layout {
  grid-template-columns: 1fr 360px;
  align-items: start;
  gap: 2.5rem;
  display: grid;
}
.checkout-seccion {
  border: 1px solid var(--color-borde);
  background: #fff;
  border-radius: 14px;
  margin-bottom: 1.25rem;
  padding: 1.75rem;
}
.checkout-seccion__titulo {
  font-family: var(--fuente-titulos);
  color: var(--color-marca);
  align-items: center;
  gap: 0.65rem;
  margin-bottom: 1.5rem;
  font-size: 1.05rem;
  font-weight: 400;
  display: flex;
}
.checkout-seccion__num {
  background: var(--color-marca);
  color: #fff;
  width: 26px;
  height: 26px;
  font-family: var(--fuente-cuerpo);
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  font-size: 0.78rem;
  font-weight: 700;
  display: flex;
}
.checkout-grid-2 {
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-bottom: 1rem;
  display: grid;
}
.campo label span {
  color: var(--color-marca);
}
.campo-opcional {
  text-transform: none;
  letter-spacing: 0;
  font-size: 0.72rem;
  font-weight: 400;
  color: #bbb !important;
}
.campo input,
.campo textarea,
.campo select {
  width: 100%;
  font-size: 0.88rem;
  font-family: var(--fuente-cuerpo);
  color: #333;
  appearance: none;
  background: #fff;
  border: 1.5px solid #e5e5e5;
  border-radius: 10px;
  outline: none;
  padding: 0.65rem 0.9rem;
  transition: border-color 0.15s;
}
.campo input:focus,
.campo textarea:focus,
.campo select:focus {
  border-color: var(--color-marca);
}
.campo input.error,
.campo select.error,
.campo textarea.error {
  border-color: #e53e3e;
}
.campo-ayuda {
  color: #bbb;
  margin-top: 0.3rem;
  font-size: 0.72rem;
}
.texto-right {
  text-align: right;
}
.campo-doc__select-wrap select {
  appearance: none;
  cursor: pointer;
  font-weight: 600;
  color: #555 !important;
  background: #f7f5f2 !important;
  border-right: none !important;
  border-radius: 10px 0 0 10px !important;
  width: 82px !important;
  padding-right: 1.4rem !important;
}
.toggle-tarjeta {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
  display: flex;
}
.toggle-tarjeta span {
  color: #444;
  font-size: 0.88rem;
  font-weight: 500;
}
.toggle-btn {
  cursor: pointer;
  background: #e5e5e5;
  border: none;
  border-radius: 13px;
  flex-shrink: 0;
  width: 46px;
  height: 26px;
  transition: background 0.2s;
  position: relative;
}
.toggle-btn.activo {
  background: var(--color-marca);
}
.toggle-btn__circulo {
  background: #fff;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  transition: transform 0.2s;
  display: block;
  position: absolute;
  top: 3px;
  left: 3px;
  box-shadow: 0 1px 4px #0003;
}
.toggle-btn.activo .toggle-btn__circulo {
  transform: translate(20px);
}
.tarjetas-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 0.65rem;
  display: grid;
}
.tarjeta-item {
  cursor: pointer;
  text-align: left;
  background: 0 0;
  border: 2px solid #e5e5e5;
  border-radius: 10px;
  flex-direction: column;
  padding: 0;
  transition: border-color 0.15s;
  display: flex;
  position: relative;
  overflow: hidden;
}
.tarjeta-item:hover {
  border-color: #ccc;
}
.tarjeta-item.seleccionada {
  border-color: var(--color-marca);
}
.tarjeta-item__img {
  aspect-ratio: 3/4;
  background: #f0ede8;
  width: 100%;
  overflow: hidden;
}
.tarjeta-item__img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.tarjeta-item__placeholder {
  background: #f0ede8;
  width: 100%;
  height: 100%;
}
.tarjeta-item__nombre {
  color: #555;
  white-space: nowrap;
  text-overflow: ellipsis;
  padding: 0.4rem 0.5rem 0.1rem;
  font-size: 0.75rem;
  display: block;
  overflow: hidden;
}
.tarjeta-item__precio {
  color: var(--color-marca);
  padding: 0 0.5rem 0.4rem;
  font-size: 0.77rem;
  font-weight: 700;
  display: block;
}
.tarjeta-item__body {
  cursor: pointer;
  text-align: left;
  background: 0 0;
  border: none;
  flex-direction: column;
  width: 100%;
  padding: 0;
  display: flex;
}
.tarjeta-item.pendiente {
  border-color: #68d391;
}
.tarjeta-item__agregar {
  color: #276749;
  cursor: pointer;
  background: #f0fff4;
  border: none;
  border-top: 1px solid #c6f6d5;
  justify-content: center;
  align-items: center;
  gap: 0.25rem;
  width: 100%;
  padding: 0.35rem 0;
  font-size: 0.7rem;
  font-weight: 700;
  transition: background 0.15s;
  display: flex;
}
.tarjeta-item__agregar:hover {
  background: #c6f6d5;
}
.tarjeta-item__remove {
  color: #c53030;
  cursor: pointer;
  background: #fff5f5;
  border: none;
  border-top: 1px solid #fed7d7;
  justify-content: center;
  align-items: center;
  gap: 0.25rem;
  width: 100%;
  padding: 0.35rem 0;
  font-size: 0.7rem;
  font-weight: 700;
  transition: background 0.15s;
  display: flex;
}
.tarjeta-item__remove:hover {
  background: #fed7d7;
}
.checkout-resumen {
  border: 1px solid var(--color-borde);
  background: #faf9f7;
  border-radius: 16px;
  padding: 1.75rem;
  position: sticky;
  top: 140px;
}
.resumen-titulo {
  font-family: var(--fuente-titulos);
  color: var(--color-marca);
  border-bottom: 1px solid #eee;
  margin-bottom: 1.25rem;
  padding-bottom: 0.75rem;
  font-size: 1.2rem;
  font-weight: 400;
}
.resumen-lista {
  border-bottom: 1px solid #eee;
  flex-direction: column;
  gap: 0.85rem;
  margin-bottom: 1.25rem;
  padding-bottom: 1.25rem;
  list-style: none;
  display: flex;
}
.resumen-item {
  align-items: center;
  gap: 0.75rem;
  display: flex;
}
.resumen-item__img {
  background: #f0ede8;
  border: 1px solid #eee;
  border-radius: 7px;
  flex-shrink: 0;
  width: 46px;
  height: 46px;
  overflow: hidden;
}
.resumen-item__img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.resumen-item__img-ph {
  background: #f0ede8;
  width: 100%;
  height: 100%;
}
.resumen-item__info {
  flex-direction: column;
  flex: 1;
  gap: 2px;
  min-width: 0;
  display: flex;
}
.resumen-item__nombre {
  color: #333;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 0.78rem;
  font-weight: 500;
  overflow: hidden;
}
.resumen-item__qty {
  color: #aaa;
  font-size: 0.7rem;
}
.resumen-item--tarjeta .resumen-item__nombre {
  color: var(--color-marca);
}
.resumen-item__precio {
  color: #333;
  flex-shrink: 0;
  font-size: 0.8rem;
  font-weight: 700;
}
.resumen-linea {
  color: #555;
  justify-content: space-between;
  align-items: center;
  padding: 0.45rem 0;
  font-size: 0.85rem;
  display: flex;
}
.resumen-envio-txt {
  color: #aaa;
  font-size: 0.75rem;
  font-style: italic;
}
.resumen-linea--itau,
.resumen-linea--itau span {
  font-weight: 600;
  color: #f96f1e !important;
}
.resumen-total {
  color: var(--color-base-negro);
  border-top: 1.5px solid var(--color-borde);
  margin-top: 0.4rem;
  padding-top: 0.75rem;
  font-size: 1rem;
  font-weight: 700;
}
.checkout-itau-nota {
  color: #666;
  background: #fff8f4;
  border-left: 3px solid #f96f1e;
  border-radius: 0 5px 5px 0;
  margin: 0.75rem 0 1rem;
  padding: 0.65rem 0.85rem;
  font-size: 0.76rem;
  line-height: 1.5;
}
.resumen-total span:last-child {
  color: var(--color-marca);
  font-size: 1.1rem;
}
.resumen-btn-comprar {
  background: var(--color-marca);
  color: #fff;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  cursor: pointer;
  border: none;
  border-radius: 10px;
  width: 100%;
  margin-top: 1.5rem;
  padding: 0.9rem;
  font-size: 0.85rem;
  font-weight: 700;
  transition: filter 0.15s;
  display: block;
}
.resumen-btn-comprar:hover {
  filter: brightness(1.1);
}
.resumen-seguro {
  color: #777;
  justify-content: center;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.85rem;
  font-size: 0.72rem;
  display: flex;
}
.checkout-banner {
  border: 1.5px solid var(--color-marca);
  background: linear-gradient(135deg, #fdf7ed 0%, #faf5ee 100%);
  border-radius: 14px;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1.75rem;
  padding: 1.4rem 1.5rem;
  display: flex;
  position: relative;
}
.checkout-banner__cuerpo {
  flex: 1;
  min-width: 0;
}
.checkout-banner__titulo {
  font-family: var(--fuente-titulos);
  color: var(--color-marca);
  margin-bottom: 0.85rem;
  font-size: 1.05rem;
  font-weight: 400;
}
.checkout-banner__beneficios {
  grid-template-columns: 1fr 1fr;
  gap: 0.35rem 1.5rem;
  margin-bottom: 1.1rem;
  list-style: none;
  display: grid;
}
.checkout-banner__beneficios li {
  color: #555;
  font-size: 0.8rem;
}
.checkout-banner__botones {
  flex-wrap: wrap;
  gap: 0.65rem;
  display: flex;
}
.checkout-banner__btn {
  letter-spacing: 0.4px;
  text-transform: uppercase;
  cursor: pointer;
  border: none;
  border-radius: 9px;
  padding: 0.55rem 1.25rem;
  font-size: 0.8rem;
  font-weight: 700;
  transition: filter 0.15s;
}
.checkout-banner__btn--primary {
  background: var(--color-marca);
  color: #fff;
}
.checkout-banner__btn--primary:hover {
  filter: brightness(1.1);
}
.checkout-banner__btn--secondary {
  color: var(--color-marca);
  border: 1.5px solid var(--color-marca);
  background: 0 0;
}
.checkout-banner__btn--secondary:hover {
  background: #faecd6;
}
.checkout-banner__cerrar {
  color: #ccc;
  cursor: pointer;
  background: 0 0;
  border: none;
  flex-shrink: 0;
  padding: 0;
  line-height: 1;
  transition: color 0.15s;
}
.checkout-banner__cerrar:hover {
  color: #888;
}
.checkout-panel-acceso {
  margin-bottom: 1.75rem;
}
.checkout-panel-acceso__header {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0;
  display: flex;
}
.checkout-panel-acceso__cerrar {
  color: #aaa;
  cursor: pointer;
  background: 0 0;
  border: none;
  padding: 0;
  transition: color 0.15s;
  display: flex;
}
.checkout-panel-acceso__cerrar:hover {
  color: #555;
}
.checkout-panel-error {
  color: #e53e3e;
  background: #fff5f5;
  border: 1px solid #fed7d7;
  border-radius: 8px;
  margin-bottom: 1rem;
  padding: 0.55rem 0.85rem;
  font-size: 0.8rem;
}
.checkout-panel-acceso__footer {
  flex-wrap: wrap;
  align-items: center;
  gap: 1.25rem;
  margin-top: 1.25rem;
  display: flex;
}
.checkout-panel-acceso__link {
  color: #aaa;
  cursor: pointer;
  background: 0 0;
  border: none;
  padding: 0;
  font-size: 0.78rem;
  text-decoration: underline;
  transition: color 0.15s;
}
.checkout-panel-acceso__link:hover {
  color: var(--color-marca);
}
.checkout-dirs-guardadas {
  border-bottom: 1px dashed #e5e5e5;
  margin-bottom: 1.25rem;
  padding-bottom: 1.25rem;
}
.checkout-dirs-label {
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #888;
  align-items: center;
  gap: 0.35rem;
  margin-bottom: 0.65rem;
  font-size: 0.72rem;
  font-weight: 600;
  display: flex;
}
.checkout-dirs-lista {
  flex-wrap: wrap;
  gap: 0.5rem;
  display: flex;
}
.checkout-dir-btn {
  text-align: left;
  cursor: pointer;
  background: #fff;
  border: 1.5px solid #e5e5e5;
  border-radius: 10px;
  flex-direction: column;
  gap: 2px;
  padding: 0.55rem 0.85rem;
  transition: border-color 0.15s;
  display: flex;
}
.checkout-dir-btn strong {
  color: #444;
  font-size: 0.78rem;
}
.checkout-dir-btn span {
  color: #aaa;
  font-size: 0.72rem;
}
.checkout-dir-btn.activa {
  border-color: var(--color-marca);
  background: #fdf7ed;
}
.checkout-dir-btn.activa strong {
  color: var(--color-marca);
}
.aviso-factura {
  color: #744210;
  background: #fffbeb;
  border: 1px solid #f6e05e;
  border-radius: 8px;
  align-items: flex-start;
  gap: 0.55rem;
  margin-bottom: 0.5rem;
  padding: 0.7rem 0.9rem;
  font-size: 0.78rem;
  display: flex;
}
.aviso-factura svg {
  flex-shrink: 0;
  margin-top: 1px;
}
.toggle-regalo-label {
  align-items: center;
  gap: 0.5rem;
  display: flex;
}
.toggle-regalo-icono {
  color: var(--color-marca);
  flex-shrink: 0;
}
.pedido-modal-overlay {
  z-index: 9999;
  background: #0000008c;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  animation: 0.25s fadeInOverlay;
  display: flex;
  position: fixed;
  inset: 0;
}
@keyframes fadeInOverlay {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.pedido-modal {
  text-align: center;
  background: #fff;
  border-radius: 20px;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
  width: 100%;
  max-width: 400px;
  padding: 2.5rem 2rem 2rem;
  animation: 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) slideUpModal;
  display: flex;
}
@keyframes slideUpModal {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.pedido-modal__logo {
  margin-bottom: 0.5rem;
}
.pedido-modal__logo img {
  object-fit: contain;
  max-width: 180px;
  max-height: 48px;
}
.pedido-modal__marca {
  font-family: var(--fuente-titulos);
  color: var(--color-marca);
  letter-spacing: 1px;
  font-size: 1.4rem;
}
.pedido-modal__check {
  margin: 0.5rem 0;
}
.pedido-modal__check-svg {
  width: 64px;
  height: 64px;
}
.pedido-modal__check-circle {
  stroke: #38a169;
  stroke-width: 2px;
  stroke-dasharray: 166;
  stroke-dashoffset: 166px;
  animation: 0.6s cubic-bezier(0.65, 0, 0.45, 1) 0.1s forwards drawCircle;
}
.pedido-modal__check-tick {
  stroke: #38a169;
  stroke-width: 2.5px;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 48;
  stroke-dashoffset: 48px;
  animation: 0.4s 0.65s forwards drawTick;
}
@keyframes drawCircle {
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes drawTick {
  to {
    stroke-dashoffset: 0;
  }
}
.pedido-modal__titulo {
  font-family: var(--fuente-titulos);
  color: var(--color-marca);
  margin: 0.25rem 0 0;
  font-size: 1.35rem;
  font-weight: 400;
}
.pedido-modal__subtitulo {
  color: #888;
  margin: 0 0 0.75rem;
  font-size: 0.82rem;
  line-height: 1.5;
}
.pedido-modal__btn {
  background: var(--color-marca);
  color: #fff;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  border-radius: 10px;
  width: 100%;
  margin-top: 0.25rem;
  padding: 0.85rem;
  font-size: 0.85rem;
  font-weight: 700;
  text-decoration: none;
  transition: filter 0.15s;
  display: block;
}
.pedido-modal__btn:hover {
  filter: brightness(1.1);
}
.pedido-modal__link {
  color: #bbb;
  margin-top: 0.25rem;
  font-size: 0.78rem;
  text-decoration: none;
  transition: color 0.15s;
}
.pedido-modal__link:hover {
  color: #888;
}
.metodos-pago-lista {
  flex-direction: column;
  gap: 0.6rem;
  display: flex;
}
.metodo-pago-opcion {
  cursor: pointer;
  border: 1.5px solid #e5e0d9;
  border-radius: 10px;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.85rem 1rem;
  transition:
    border-color 0.15s,
    background 0.15s;
  display: flex;
  position: relative;
}
.metodo-pago-opcion input[type="radio"] {
  opacity: 0;
  pointer-events: none;
  position: absolute;
}
.metodo-pago-opcion.seleccionado {
  border-color: var(--color-marca);
  background: #fdf9f3;
}
.metodo-pago-opcion__nombre {
  color: #333;
  font-size: 0.88rem;
  font-weight: 600;
}
.metodo-pago-opcion.seleccionado .metodo-pago-opcion__nombre {
  color: var(--color-marca);
}
.metodo-pago-opcion__desc {
  color: #888;
  font-size: 0.75rem;
}
.cupon-input-row {
  gap: 0.5rem;
  display: flex;
}
.cupon-input {
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: 1.5px solid #e5e0d9;
  border-radius: 10px;
  outline: none;
  flex: 1;
  padding: 0.7rem 0.9rem;
  font-family: monospace;
  font-size: 0.88rem;
  transition: border-color 0.15s;
}
.cupon-input:focus {
  border-color: var(--color-marca);
}
.cupon-btn {
  background: var(--color-marca);
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
  border: none;
  border-radius: 10px;
  padding: 0.7rem 1.2rem;
  font-size: 0.82rem;
  font-weight: 600;
  transition: filter 0.15s;
}
.cupon-btn:hover:not(:disabled) {
  filter: brightness(1.1);
}
.cupon-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.cupon-error {
  color: #c0392b;
  margin-top: 0.5rem;
  font-size: 0.78rem;
}
.cupon-aplicado {
  background: #f0faf4;
  border: 1.5px solid #a3d9b1;
  border-radius: 10px;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  display: flex;
}
.cupon-aplicado__texto {
  color: #2d7a4a;
  font-size: 0.84rem;
}
.cupon-aplicado__quitar {
  color: #888;
  cursor: pointer;
  background: 0 0;
  border: none;
  flex-shrink: 0;
  font-size: 0.75rem;
  text-decoration: underline;
}
.cupon-bloqueado-itau {
  color: #999;
  background: #fafafa;
  border: 1px dashed #ddd;
  border-radius: 8px;
  margin-top: -0.5rem;
  margin-bottom: 0.5rem;
  padding: 0.6rem 0.9rem;
  font-size: 0.78rem;
}
.resumen-linea--descuento {
  color: #2d7a4a;
  font-weight: 600;
}
.checkout-alerta-mixto {
  background: #fff8f0;
  border: 1.5px solid #f0a040;
  border-radius: 12px;
  gap: 0.85rem;
  margin-bottom: 0.5rem;
  padding: 1.1rem 1.25rem;
  display: flex;
}
.checkout-alerta-mixto__icono {
  flex-shrink: 0;
  font-size: 1.4rem;
  line-height: 1;
}
.checkout-alerta-mixto__titulo {
  color: #a05000;
  margin-bottom: 0.5rem;
  font-size: 0.88rem;
  font-weight: 700;
}
.checkout-alerta-mixto__desc {
  color: #7a4500;
  margin-bottom: 0.25rem;
  font-size: 0.8rem;
}
.checkout-alerta-mixto__hint {
  color: #a05000;
  margin-top: 0.5rem;
  font-size: 0.77rem;
  font-style: italic;
}
.cuenta-pagina {
  min-height: 70vh;
  padding: 2.5rem 2rem 5rem;
}
.cuenta-layout {
  grid-template-columns: 240px 1fr;
  align-items: start;
  gap: 2rem;
  display: grid;
}
.cuenta-sidebar {
  border: 1px solid var(--color-borde);
  background: #fff;
  border-radius: 16px;
  position: sticky;
  top: 130px;
  overflow: hidden;
}
.cuenta-sidebar__avatar {
  border-bottom: 1px solid var(--color-borde);
  background: #faf9f7;
  align-items: center;
  gap: 0.75rem;
  padding: 1.25rem 1.1rem;
  display: flex;
}
.cuenta-avatar {
  background: var(--color-marca);
  color: #fff;
  width: 42px;
  height: 42px;
  font-family: var(--fuente-titulos);
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  font-size: 1.1rem;
  display: flex;
}
.cuenta-sidebar__nombre {
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  display: flex;
}
.cuenta-sidebar__nombre strong {
  color: #333;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 0.82rem;
  overflow: hidden;
}
.cuenta-sidebar__nombre span {
  color: #aaa;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 0.7rem;
  overflow: hidden;
}
.cuenta-nav {
  flex-direction: column;
  padding: 0.5rem 0;
  display: flex;
}
.cuenta-nav__item {
  color: #555;
  cursor: pointer;
  text-align: left;
  background: 0 0;
  border: none;
  align-items: center;
  gap: 0.6rem;
  padding: 0.7rem 1.1rem;
  font-size: 0.82rem;
  transition:
    background 0.12s,
    color 0.12s;
  display: flex;
}
.cuenta-nav__item:hover {
  color: var(--color-marca);
  background: #faf7f2;
}
.cuenta-nav__item.activo {
  color: var(--color-marca);
  border-left: 3px solid var(--color-marca);
  background: #fdf7ed;
  padding-left: calc(1.1rem - 3px);
  font-weight: 600;
}
.cuenta-nav__logout {
  border: none;
  border-top: 1px solid var(--color-borde);
  color: #aaa;
  cursor: pointer;
  background: 0 0;
  align-items: center;
  gap: 0.55rem;
  width: 100%;
  padding: 0.75rem 1.1rem;
  font-size: 0.78rem;
  transition: color 0.12s;
  display: flex;
}
.cuenta-nav__logout:hover {
  color: #e53e3e;
}
.cuenta-contenido {
  min-width: 0;
}
.cuenta-seccion {
  border: 1px solid var(--color-borde);
  background: #fff;
  border-radius: 14px;
  padding: 1.75rem;
}
.cuenta-seccion__header {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
  display: flex;
}
.cuenta-seccion__titulo {
  font-family: var(--fuente-titulos);
  color: var(--color-marca);
  margin-bottom: 1.5rem;
  font-size: 1.2rem;
  font-weight: 400;
}
.cuenta-seccion__header .cuenta-seccion__titulo {
  margin-bottom: 0;
}
.cuenta-subtitulo {
  color: #444;
  margin-bottom: 0.75rem;
  font-size: 0.88rem;
  font-weight: 600;
}
.cuenta-hint {
  color: #aaa;
  margin-bottom: 1rem;
  font-size: 0.78rem;
}
.cuenta-vacio {
  color: #bbb;
  text-align: center;
  padding: 2rem 0;
  font-size: 0.85rem;
}
.cuenta-link {
  color: var(--color-marca);
  font-weight: 600;
  text-decoration: none;
}
.cuenta-link:hover {
  text-decoration: underline;
}
.cuenta-separador {
  border: none;
  border-top: 1px solid var(--color-borde);
  margin: 1.5rem 0 1rem;
}
.cuenta-ok {
  color: #2d9e5f;
  background: #f0fff4;
  border: 1px solid #c6f6d5;
  border-radius: 8px;
  margin-bottom: 1rem;
  padding: 0.6rem 0.9rem;
  font-size: 0.82rem;
}
.cuenta-grid-2 {
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-bottom: 1rem;
  display: grid;
}
.campo {
  margin-bottom: 1rem;
}
.campo:last-child {
  margin-bottom: 0;
}
.campo label {
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #888;
  margin-bottom: 0.4rem;
  font-size: 0.78rem;
  font-weight: 600;
  display: block;
}
.campo-req {
  color: var(--color-marca);
}
.campo-opcional {
  text-transform: none;
  letter-spacing: 0;
  color: #bbb;
  font-size: 0.72rem;
  font-weight: 400;
}
.campo input,
.campo textarea,
.campo select {
  width: 100%;
  font-size: 0.88rem;
  font-family: var(--fuente-cuerpo);
  color: #333;
  appearance: none;
  box-sizing: border-box;
  background: #fff;
  border: 1.5px solid #e5e5e5;
  border-radius: 10px;
  outline: none;
  padding: 0.65rem 0.9rem;
  transition: border-color 0.15s;
}
.campo input:focus,
.campo select:focus,
.campo textarea:focus {
  border-color: var(--color-marca);
}
.campo input.error,
.campo select.error {
  border-color: #e53e3e;
}
.campo-error {
  color: #e53e3e;
  margin-top: 0.3rem;
  font-size: 0.72rem;
  display: block;
}
.campo-doc {
  gap: 0;
  display: flex;
}
.campo-doc__select-wrap {
  flex-shrink: 0;
  position: relative;
}
.campo-doc__select-wrap select {
  cursor: pointer;
  font-weight: 600;
  color: #555 !important;
  background: #f7f5f2 !important;
  border-right: none !important;
  border-radius: 10px 0 0 10px !important;
  width: 82px !important;
  padding-right: 1.4rem !important;
}
.campo-doc__chevron {
  color: #aaa;
  pointer-events: none;
  position: absolute;
  top: 50%;
  right: 6px;
  transform: translateY(-50%);
}
.campo-doc input {
  flex: 1;
  border-radius: 0 10px 10px 0 !important;
}
.campo-select-wrapper {
  position: relative;
}
.campo-select-wrapper select {
  padding-right: 2rem;
}
.campo-select-icon {
  color: #aaa;
  pointer-events: none;
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
}
.campo-pass {
  position: relative;
}
.campo-pass input {
  padding-right: 2.5rem;
}
.campo-pass__ojo {
  color: #aaa;
  cursor: pointer;
  background: 0 0;
  border: none;
  padding: 0;
  display: flex;
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
}
.campo-check {
  color: #555;
  cursor: pointer;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 1rem;
  font-size: 0.82rem;
  display: flex;
}
.campo-check input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: var(--color-marca);
  cursor: pointer;
}
.cuenta-btn-guardar {
  background: var(--color-marca);
  color: #fff;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  cursor: pointer;
  border: none;
  border-radius: 10px;
  margin-top: 0.5rem;
  padding: 0.7rem 1.75rem;
  font-size: 0.85rem;
  font-weight: 700;
  transition: filter 0.15s;
  display: inline-block;
}
.cuenta-btn-guardar:hover {
  filter: brightness(1.1);
}
.cuenta-btn-guardar:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.cuenta-btn-cancelar {
  color: #888;
  cursor: pointer;
  background: 0 0;
  border: 1.5px solid #e5e5e5;
  border-radius: 10px;
  margin-top: 0.5rem;
  padding: 0.7rem 1.25rem;
  font-size: 0.82rem;
  font-weight: 600;
  transition: border-color 0.15s;
  display: inline-block;
}
.cuenta-btn-cancelar:hover {
  border-color: #bbb;
}
.cuenta-btn-add {
  color: var(--color-marca);
  border: 1.5px solid var(--color-marca);
  text-transform: uppercase;
  letter-spacing: 0.4px;
  cursor: pointer;
  background: #fdf7ed;
  border-radius: 8px;
  align-items: center;
  gap: 0.4rem;
  padding: 0.5rem 1rem;
  font-size: 0.78rem;
  font-weight: 700;
  transition: background 0.15s;
  display: flex;
}
.cuenta-btn-add:hover {
  background: #faecd6;
}
.acceso-wrap {
  justify-content: center;
  padding: 3rem 0;
  display: flex;
}
.acceso-card {
  border: 1px solid var(--color-borde);
  background: #fff;
  border-radius: 16px;
  width: 100%;
  max-width: 460px;
  padding: 2rem 2rem 2.5rem;
}
.acceso-titulo {
  font-family: var(--fuente-titulos);
  color: var(--color-marca);
  text-align: center;
  margin-bottom: 1.5rem;
  font-size: 1.6rem;
  font-weight: 400;
}
.acceso-tabs {
  border-bottom: 2px solid #f0ede8;
  margin-bottom: 1.5rem;
  display: flex;
}
.acceso-tab {
  color: #aaa;
  cursor: pointer;
  background: 0 0;
  border: none;
  border-bottom: 2px solid #0000;
  flex: 1;
  margin-bottom: -2px;
  padding: 0.65rem;
  font-size: 0.85rem;
  font-weight: 600;
  transition: color 0.15s;
}
.acceso-tab.activo {
  color: var(--color-marca);
  border-bottom-color: var(--color-marca);
}
.acceso-error {
  color: #e53e3e;
  background: #fff5f5;
  border: 1px solid #fed7d7;
  border-radius: 8px;
  margin-bottom: 1rem;
  padding: 0.6rem 0.85rem;
  font-size: 0.8rem;
}
.acceso-btn {
  background: var(--color-marca);
  color: #fff;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  cursor: pointer;
  border: none;
  border-radius: 10px;
  width: 100%;
  margin-top: 1.25rem;
  padding: 0.85rem;
  font-size: 0.88rem;
  font-weight: 700;
  transition: filter 0.15s;
  display: block;
}
.acceso-btn:hover {
  filter: brightness(1.1);
}
.acceso-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.dirs-grid {
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
  display: grid;
}
.dir-card {
  border: 1.5px solid #e5e5e5;
  border-radius: 12px;
  padding: 1rem;
  position: relative;
}
.dir-card.default {
  border-color: var(--color-marca);
  background: #fdf7ed;
}
.dir-badge {
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--color-marca);
  border: 1px solid var(--color-marca);
  background: #fff;
  border-radius: 20px;
  margin-bottom: 0.5rem;
  padding: 0.15rem 0.6rem;
  font-size: 0.65rem;
  font-weight: 700;
  display: inline-block;
}
.dir-nombre {
  color: #333;
  margin-bottom: 0.3rem;
  font-size: 0.85rem;
  font-weight: 700;
}
.dir-linea {
  color: #666;
  margin-bottom: 0.15rem;
  font-size: 0.78rem;
}
.dir-zona {
  color: var(--color-marca);
  align-items: center;
  gap: 0.3rem;
  font-weight: 500;
  display: flex;
}
.dir-acciones {
  border-top: 1px solid #f0ede8;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.75rem;
  padding-top: 0.6rem;
  display: flex;
}
.dir-btn {
  color: #888;
  cursor: pointer;
  background: 0 0;
  border: none;
  align-items: center;
  gap: 0.3rem;
  padding: 0;
  font-size: 0.72rem;
  transition: color 0.12s;
  display: flex;
}
.dir-btn:hover {
  color: var(--color-marca);
}
.dir-btn--danger:hover {
  color: #e53e3e;
}
.dir-form {
  border: 1px dashed var(--color-borde);
  border-radius: 12px;
  margin-top: 0.5rem;
  padding: 1.25rem;
}
.dir-form__botones {
  gap: 0.75rem;
  margin-top: 1rem;
  display: flex;
}
.pedidos-lista {
  flex-direction: column;
  gap: 0.75rem;
  display: flex;
}
.pedido-card {
  border: 1.5px solid #e5e5e5;
  border-radius: 12px;
  overflow: hidden;
}
.pedido-card__header {
  cursor: pointer;
  text-align: left;
  background: 0 0;
  border: none;
  align-items: center;
  gap: 0.85rem;
  width: 100%;
  padding: 0.9rem 1.1rem;
  display: flex;
}
.pedido-card__header:hover {
  background: #faf9f7;
}
.pedido-thumbs {
  flex-shrink: 0;
  display: flex;
}
.pedido-thumb {
  background: #f0ede8;
  border: 2px solid #fff;
  border-radius: 8px;
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  margin-left: -8px;
  overflow: hidden;
}
.pedido-thumb:first-child {
  margin-left: 0;
}
.pedido-thumb img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.pedido-thumb__ph {
  background: #f0ede8;
  width: 100%;
  height: 100%;
}
.pedido-thumb--mas {
  color: #888;
  background: #f0ede8;
  justify-content: center;
  align-items: center;
  font-size: 0.65rem;
  font-weight: 700;
  display: flex;
}
.pedido-card__meta {
  flex-direction: column;
  flex: 1;
  gap: 2px;
  min-width: 0;
  display: flex;
}
.pedido-id {
  color: #333;
  font-size: 0.85rem;
  font-weight: 700;
}
.pedido-fecha {
  color: #aaa;
  font-size: 0.72rem;
}
.pedido-card__right {
  flex-shrink: 0;
  align-items: center;
  gap: 0.75rem;
  display: flex;
}
.pedido-status {
  letter-spacing: 0.3px;
  color: #555;
  background: #f7f7f7;
  border-radius: 20px;
  align-items: center;
  gap: 0.35rem;
  padding: 0.25rem 0.7rem;
  font-size: 0.7rem;
  font-weight: 700;
  display: flex;
}
.pedido-status__dot {
  border-radius: 50%;
  flex-shrink: 0;
  width: 7px;
  height: 7px;
}
.status--pending {
  color: #b7791f;
  background: #fffbeb;
}
.status--preparing {
  color: #2b6cb0;
  background: #ebf8ff;
}
.status--way {
  color: #6b21a8;
  background: #f3e8ff;
}
.status--done {
  color: #2d9e5f;
  background: #f0fff4;
}
.status--cancelled {
  color: #c53030;
  background: #fff5f5;
}
.pedido-total {
  color: var(--color-marca);
  font-size: 0.85rem;
  font-weight: 700;
}
.pedido-chevron {
  color: #aaa;
  transition: transform 0.2s;
}
.pedido-chevron.abierto {
  transform: rotate(180deg);
}
.pedido-card__detalle {
  background: #faf9f7;
  border-top: 1px solid #f0ede8;
  padding: 0.85rem 1.1rem 1rem;
}
.pedido-dir {
  color: #666;
  margin-bottom: 0.75rem;
  font-size: 0.78rem;
}
.pedido-items {
  flex-direction: column;
  gap: 0.65rem;
  list-style: none;
  display: flex;
}
.pedido-item {
  align-items: center;
  gap: 0.75rem;
  display: flex;
}
.pedido-item__img {
  background: #f0ede8;
  border: 1px solid #eee;
  border-radius: 8px;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  overflow: hidden;
}
.pedido-item__img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.pedido-item__img-ph {
  background: #f0ede8;
  width: 100%;
  height: 100%;
}
.pedido-item__info {
  flex-direction: column;
  flex: 1;
  gap: 3px;
  display: flex;
}
.pedido-item__nombre {
  color: #444;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.8rem;
  display: flex;
}
.pedido-item__badge-tarjeta {
  color: #92400e;
  background: #fef3c7;
  border-radius: 4px;
  padding: 1px 5px;
  font-size: 0.65rem;
  font-weight: 700;
}
.pedido-item__mensaje {
  color: #92400e;
  background: #fef9ec;
  border-left: 2px solid #f59e0b;
  border-radius: 2px;
  padding: 2px 6px;
  font-size: 0.75rem;
  font-style: italic;
}
.pedido-item__qty {
  color: #aaa;
  font-size: 0.75rem;
}
.pedido-item__precio {
  color: #333;
  font-size: 0.82rem;
  font-weight: 700;
}
.pedido-nota {
  color: #aaa;
  margin-top: 0.6rem;
  font-size: 0.75rem;
  font-style: italic;
}
.pedido-totales {
  border-top: 1px solid #ede9e3;
  flex-direction: column;
  gap: 0.3rem;
  margin-top: 0.85rem;
  padding-top: 0.75rem;
  display: flex;
}
.pedido-totales__row {
  color: #888;
  justify-content: space-between;
  font-size: 0.78rem;
  display: flex;
}
.pedido-totales__row--total {
  color: #333;
  border-top: 1px dashed #ddd;
  margin-top: 0.15rem;
  padding-top: 0.3rem;
  font-size: 0.85rem;
  font-weight: 700;
}
.pedido-factura {
  border-top: 1px solid #ede9e3;
  margin-top: 1rem;
  padding-top: 0.9rem;
}
.pedido-factura__titulo {
  text-transform: uppercase;
  letter-spacing: 0.7px;
  color: #aaa;
  margin-bottom: 0.65rem;
  font-size: 0.68rem;
  font-weight: 700;
}
.pedido-factura__grid {
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem 1.5rem;
  display: grid;
}
.pedido-factura__item {
  color: #555;
  flex-direction: column;
  gap: 1px;
  font-size: 0.78rem;
  display: flex;
}
.pedido-factura__label {
  color: #aaa;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: 0.68rem;
}
.favs-grid {
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 1rem;
  display: grid;
}
.fav-card {
  border: 1.5px solid #e5e5e5;
  border-radius: 12px;
  transition: border-color 0.15s;
  position: relative;
  overflow: hidden;
}
.fav-card:hover {
  border-color: var(--color-marca);
}
.fav-card__img {
  aspect-ratio: 1;
  background: #f0ede8;
  display: block;
  overflow: hidden;
}
.fav-card__img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.fav-card__img-ph {
  background: #f0ede8;
  width: 100%;
  height: 100%;
}
.fav-card__info {
  padding: 0.6rem 0.65rem 0.5rem;
}
.fav-card__nombre {
  color: #333;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 0.78rem;
  font-weight: 500;
  text-decoration: none;
  display: block;
  overflow: hidden;
}
.fav-card__nombre:hover {
  color: var(--color-marca);
}
.fav-card__precio {
  color: var(--color-marca);
  margin-top: 2px;
  font-size: 0.72rem;
  font-weight: 700;
  display: block;
}
.fav-card__quitar {
  color: #fff;
  cursor: pointer;
  opacity: 0;
  background: #00000073;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  transition: opacity 0.15s;
  display: flex;
  position: absolute;
  top: 5px;
  right: 5px;
}
.fav-card:hover .fav-card__quitar {
  opacity: 1;
}
.fechas-lista {
  flex-direction: column;
  gap: 0.6rem;
  margin-bottom: 1rem;
  display: flex;
}
.fecha-chip {
  background: #faf9f7;
  border: 1.5px solid #f0ede8;
  border-radius: 12px;
  align-items: center;
  gap: 0.85rem;
  padding: 0.85rem 1rem;
  display: flex;
}
.fecha-chip__cat {
  flex-shrink: 0;
  font-size: 1.1rem;
}
.fecha-chip__info {
  flex: 1;
  min-width: 0;
}
.fecha-chip__desc {
  color: #333;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 0.85rem;
  font-weight: 600;
  display: block;
  overflow: hidden;
}
.fecha-chip__meta {
  color: #aaa;
  margin-top: 2px;
  font-size: 0.72rem;
  display: block;
}
.fecha-chip__btns {
  flex-shrink: 0;
  gap: 0.4rem;
  display: flex;
}
.fecha-chip__btn {
  color: #888;
  cursor: pointer;
  background: #fff;
  border: 1.5px solid #e5e5e5;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  transition:
    border-color 0.12s,
    color 0.12s;
  display: flex;
}
.fecha-chip__btn:hover {
  border-color: var(--color-marca);
  color: var(--color-marca);
}
.fecha-chip__btn--danger:hover {
  color: #e53e3e;
  border-color: #e53e3e;
}
.fecha-form {
  border: 1px dashed var(--color-borde);
  border-radius: 12px;
  margin-top: 0.5rem;
  padding: 1.25rem;
}
.fecha-selector {
  gap: 0.5rem;
  display: flex;
}
.fecha-selector .campo-select-wrapper {
  flex: 1;
}
@media (width<=700px) {
  .cuenta-layout {
    grid-template-columns: 1fr;
  }
  .cuenta-sidebar {
    flex-direction: column;
    display: flex;
    position: static;
  }
  .cuenta-nav {
    flex-direction: row;
    padding: 0;
    overflow-x: auto;
  }
  .cuenta-nav__item {
    border-bottom: 2px solid #0000;
    flex-shrink: 0;
    font-size: 0.75rem;
    border-left: none !important;
    padding: 0.65rem 0.9rem !important;
  }
  .cuenta-nav__item.activo {
    border-bottom-color: var(--color-marca);
    border-left: none;
  }
  .cuenta-grid-2,
  .dirs-grid {
    grid-template-columns: 1fr;
  }
}
.categ-pagina {
  min-height: 70vh;
  padding: 2rem 2rem 5rem;
}
.categ-breadcrumb {
  color: #aaa;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 1.75rem;
  font-size: 0.78rem;
  display: flex;
}
.categ-breadcrumb a {
  color: #888;
  text-decoration: none;
}
.categ-breadcrumb a:hover {
  color: var(--color-marca);
}
.categ-breadcrumb svg {
  color: #ccc;
  flex-shrink: 0;
}
.categ-encabezado {
  margin-bottom: 2rem;
}
.categ-titulo {
  font-family: var(--fuente-titulos);
  color: var(--color-marca);
  margin-bottom: 0.4rem;
  font-size: 1.6rem;
}
.categ-desc {
  color: #888;
  font-size: 0.87rem;
}
.categ-cargando,
.categ-vacio {
  color: #aaa;
  text-align: center;
  padding: 3rem 0;
  font-size: 0.9rem;
}
.categ-vacio a {
  color: var(--color-marca);
  text-decoration: none;
}
.categ-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  display: grid;
}
@media (width<=1024px) {
  .categ-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (width<=680px) {
  .categ-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}
.categ-card {
  flex-direction: column;
  display: flex;
  position: relative;
}
.categ-card__img-wrap {
  aspect-ratio: 3/4;
  background: #f5f3f0;
  border-radius: 10px;
  margin-bottom: 0.85rem;
  display: block;
  position: relative;
  overflow: hidden;
}
.categ-card__img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform 0.35s;
}
.categ-card__img-wrap:hover .categ-card__img {
  transform: scale(1.04);
}
.categ-card__img-ph {
  background: #ece9e4;
  width: 100%;
  height: 100%;
}
.categ-card__badge {
  background: var(--color-marca);
  color: #fff;
  border-radius: 5px;
  padding: 0.2rem 0.45rem;
  font-size: 0.68rem;
  font-weight: 700;
  position: absolute;
  top: 9px;
  left: 9px;
}
.categ-card__fav {
  cursor: pointer;
  color: #888;
  background: #ffffffd9;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  transition:
    color 0.2s,
    background 0.2s;
  display: flex;
  position: absolute;
  top: 9px;
  right: 9px;
}
.categ-card__fav:hover,
.categ-card__fav.activo {
  color: #e05;
  background: #fff;
}
.categ-card__info {
  flex-direction: column;
  flex: 1;
  gap: 0.35rem;
  display: flex;
}
.categ-card__nombre {
  color: #777;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: calc(0.85rem - 1.5px);
  font-weight: 500;
  line-height: 1.4;
  font-family: var(--fuente-cuerpo);
  text-decoration: none;
}
.categ-card__nombre:hover {
  color: var(--color-marca);
}
.categ-card__precios {
  align-items: center;
  gap: 0.45rem;
  display: flex;
}
.categ-card__anterior {
  color: #bbb;
  font-size: 0.8rem;
  text-decoration: line-through;
}
.categ-card__precio {
  color: var(--color-marca);
  font-size: 0.95rem;
  font-weight: 600;
}
.categ-card__agregar {
  border: 1px solid var(--color-marca);
  color: var(--color-marca);
  cursor: pointer;
  background: 0 0;
  border-radius: 20px;
  justify-content: center;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.35rem;
  padding: 0.45rem 0.75rem;
  font-size: 0.76rem;
  font-weight: 600;
  transition:
    background 0.2s,
    color 0.2s;
  display: flex;
}
.categ-card__agregar:hover,
.categ-card__agregar.agregado {
  background: var(--color-marca);
  color: #fff;
}
.categ-card__itau-badge {
  border-radius: 6px;
  width: 46px;
  position: absolute;
  bottom: 9px;
  right: 9px;
  overflow: hidden;
}
.categ-card__itau-badge img {
  width: 100%;
  height: auto;
  display: block;
}
.categ-card__itau-leyenda {
  color: #f96f1e;
  margin: 0;
  font-size: 0.68rem;
  font-weight: 600;
}
.categ-paginador {
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.4rem;
  margin-top: 3rem;
  display: flex;
}
.categ-pag-btn {
  color: #666;
  cursor: pointer;
  background: 0 0;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 0.45rem 0.9rem;
  font-size: 0.85rem;
  transition:
    border-color 0.2s,
    color 0.2s;
}
.categ-pag-btn:hover:not(:disabled) {
  border-color: var(--color-marca);
  color: var(--color-marca);
}
.categ-pag-btn:disabled {
  opacity: 0.3;
  cursor: default;
}
.categ-pag-num {
  color: #666;
  cursor: pointer;
  background: 0 0;
  border: 1px solid #ddd;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  font-size: 0.82rem;
  transition:
    background 0.2s,
    color 0.2s,
    border-color 0.2s;
}
.categ-pag-num:hover {
  border-color: var(--color-marca);
  color: var(--color-marca);
}
.categ-pag-num.activo {
  background: var(--color-marca);
  border-color: var(--color-marca);
  color: #fff;
  font-weight: 600;
}
.categ-pag-ellipsis {
  color: #bbb;
  padding: 0 0.2rem;
  font-size: 0.85rem;
}
.todos-pagina {
  min-height: 70vh;
  padding: 2rem 2rem 5rem;
}
.todos-encabezado {
  align-items: baseline;
  gap: 1rem;
  margin-bottom: 2rem;
  display: flex;
}
.todos-titulo {
  font-family: var(--fuente-titulos);
  color: var(--color-marca);
  font-size: 1.6rem;
}
.todos-count {
  color: #aaa;
  font-size: 0.8rem;
}
.todos-estado {
  color: #aaa;
  text-align: center;
  padding: 3rem 0;
  font-size: 0.9rem;
}
.todos-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  margin-bottom: 3rem;
  display: grid;
}
@media (width<=1024px) {
  .todos-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (width<=680px) {
  .todos-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}
.todos-card {
  flex-direction: column;
  display: flex;
  position: relative;
}
.todos-card__img-wrap {
  aspect-ratio: 3/4;
  background: #f5f3f0;
  border-radius: 10px;
  margin-bottom: 0.85rem;
  display: block;
  position: relative;
  overflow: hidden;
}
.todos-card__img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform 0.35s;
}
.todos-card__img-wrap:hover .todos-card__img {
  transform: scale(1.04);
}
.todos-card__img-ph {
  background: #ece9e4;
  width: 100%;
  height: 100%;
}
.todos-card__badge {
  background: var(--color-marca);
  color: #fff;
  border-radius: 5px;
  padding: 0.2rem 0.45rem;
  font-size: 0.68rem;
  font-weight: 700;
  position: absolute;
  top: 9px;
  left: 9px;
}
.todos-card__itau-badge {
  background: #fff;
  border-radius: 6px;
  width: 46px;
  position: absolute;
  bottom: 9px;
  right: 9px;
  overflow: hidden;
  box-shadow: 0 1px 4px #0000002e;
}
.todos-card__itau-badge img {
  width: 100%;
  height: auto;
  display: block;
}
.todos-card__fav {
  cursor: pointer;
  color: #888;
  background: #ffffffd9;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  transition:
    color 0.2s,
    background 0.2s;
  display: flex;
  position: absolute;
  top: 9px;
  right: 9px;
}
.todos-card__fav:hover,
.todos-card__fav.activo {
  color: #e05;
  background: #fff;
}
.todos-card__info {
  flex-direction: column;
  flex: 1;
  gap: 0.35rem;
  display: flex;
}
.todos-card__nombre {
  color: #777;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: calc(0.85rem - 1.5px);
  font-weight: 500;
  line-height: 1.4;
  font-family: var(--fuente-cuerpo);
  text-decoration: none;
}
.todos-card__nombre:hover {
  color: var(--color-marca);
}
.todos-card__precios {
  align-items: center;
  gap: 0.45rem;
  display: flex;
}
.todos-card__anterior {
  color: #bbb;
  font-size: 0.8rem;
  text-decoration: line-through;
}
.todos-card__precio {
  color: var(--color-marca);
  font-size: 0.95rem;
  font-weight: 600;
}
.todos-card__itau-leyenda {
  color: #f96f1e;
  margin: 0;
  font-size: 0.68rem;
  font-weight: 600;
}
.todos-card__agregar {
  border: 1px solid var(--color-marca);
  color: var(--color-marca);
  cursor: pointer;
  background: 0 0;
  border-radius: 20px;
  justify-content: center;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.35rem;
  padding: 0.45rem 0.75rem;
  font-size: 0.76rem;
  font-weight: 600;
  transition:
    background 0.2s,
    color 0.2s;
  display: flex;
}
.todos-card__agregar:hover,
.todos-card__agregar.agregado {
  background: var(--color-marca);
  color: #fff;
}
.todos-paginador {
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 0 2rem;
  display: flex;
}
.todos-paginador__btn {
  color: #666;
  cursor: pointer;
  background: 0 0;
  border: 1px solid #ddd;
  border-radius: 20px;
  align-items: center;
  gap: 0.3rem;
  padding: 0.45rem 1rem;
  font-size: 0.8rem;
  transition:
    border-color 0.2s,
    color 0.2s;
  display: flex;
}
.todos-paginador__btn:hover:not(:disabled) {
  border-color: var(--color-marca);
  color: var(--color-marca);
}
.todos-paginador__btn:disabled {
  opacity: 0.3;
  cursor: default;
}
.todos-paginador__paginas {
  align-items: center;
  gap: 0.3rem;
  display: flex;
}
.todos-paginador__num {
  color: #666;
  cursor: pointer;
  background: 0 0;
  border: 1px solid #ddd;
  border-radius: 50%;
  width: 34px;
  height: 34px;
  font-size: 0.82rem;
  transition:
    background 0.2s,
    color 0.2s,
    border-color 0.2s;
}
.todos-paginador__num:hover {
  border-color: var(--color-marca);
  color: var(--color-marca);
}
.todos-paginador__num.activo {
  background: var(--color-marca);
  border-color: var(--color-marca);
  color: #fff;
}
.todos-paginador__ellipsis {
  color: #aaa;
  padding: 0 0.2rem;
  font-size: 0.82rem;
}
.cartel-principal {
  background: #111;
  width: 100%;
  position: relative;
  overflow: hidden;
}
.cartel-principal__track {
  width: 100%;
  height: 75vh;
  min-height: 400px;
  max-height: 800px;
  position: relative;
}
.cartel-principal__slide {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.7s;
  position: absolute;
  inset: 0;
}
.cartel-principal__slide.activo {
  opacity: 1;
  pointer-events: auto;
}
.cartel-principal__imagen {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
  display: block;
}
.cartel-principal__superposicion {
  background: linear-gradient(270deg, #0000008c 0%, #0000000d 60%);
  justify-content: flex-end;
  align-items: center;
  padding-right: 8%;
  display: flex;
  position: absolute;
  inset: 0;
}
.cartel-principal__contenido {
  text-align: center;
  color: #fff;
  max-width: 520px;
}
.cartel-principal__contenido h1 {
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-family: var(--fuente-titulos);
  letter-spacing: 1px;
  margin-bottom: 1rem;
  line-height: 1.2;
}
.cartel-principal__contenido p {
  margin-bottom: 2rem;
  font-size: clamp(0.95rem, 1.5vw, 1.1rem);
  font-weight: 400;
  line-height: 1.5;
}
.cartel-principal__boton {
  color: #fff;
  letter-spacing: 2px;
  text-transform: uppercase;
  cursor: pointer;
  background-color: #0000;
  border: 1.5px solid #fff;
  padding: 0.75rem 2.5rem;
  font-size: 0.85rem;
  font-weight: 600;
  transition: all 0.25s;
}
.cartel-principal__boton:hover {
  color: #000;
  background-color: #fff;
}
.cartel-principal__flecha {
  color: #fff;
  cursor: pointer;
  z-index: 10;
  background: #00000059;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  transition: background 0.2s;
  display: flex;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.cartel-principal__flecha:hover {
  background: #0009;
}
.cartel-principal__flecha.izq {
  left: 1.5rem;
}
.cartel-principal__flecha.der {
  right: 1.5rem;
}
.cartel-principal__dots {
  z-index: 10;
  gap: 8px;
  display: flex;
  position: absolute;
  bottom: 1.25rem;
  left: 50%;
  transform: translate(-50%);
}
.dot {
  cursor: pointer;
  background: #ffffff80;
  border: none;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  padding: 0;
  transition: all 0.2s;
}
.dot.activo {
  background: #fff;
  border-radius: 4px;
  width: 24px;
}
@media (width<=768px) {
  .cartel-principal__track {
    height: 50vh;
    min-height: 260px;
  }
  .cartel-principal__superposicion {
    background: linear-gradient(#0000 40%, #0009 100%);
    justify-content: center;
    align-items: flex-end;
    padding: 0 1.5rem 3rem;
  }
  .cartel-principal__contenido {
    max-width: 100%;
  }
}
.regalos-seleccionados {
  padding: 4rem 2rem;
}
.deslizador-regalos {
  align-items: center;
  gap: 1rem;
  display: flex;
}
.boton-deslizador {
  color: #555;
  cursor: pointer;
  background: 0 0;
  border: 1px solid #ccc;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 42px;
  height: 42px;
  transition:
    border-color 0.2s,
    color 0.2s;
  display: flex;
}
.boton-deslizador:hover:not(:disabled) {
  border-color: var(--color-marca);
  color: var(--color-marca);
}
.boton-deslizador:disabled {
  opacity: 0.3;
  cursor: default;
}
.cuadricula-regalos {
  flex: 1;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  display: grid;
}
.tarjeta-regalo {
  text-align: center;
  flex-direction: column;
  align-items: center;
  display: flex;
}
.tarjeta-regalo__imagen {
  aspect-ratio: 3/4;
  background: #f7f7f7;
  border-radius: 12px;
  margin-bottom: 1rem;
  display: block;
  position: relative;
  overflow: hidden;
}
.tarjeta-regalo__imagen img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform 0.3s;
}
.tarjeta-regalo:hover .tarjeta-regalo__imagen img {
  transform: scale(1.05);
}
.tarjeta-regalo__titulo {
  font-family: var(--fuente-cuerpo);
  color: #777;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-align: center;
  margin-bottom: 0.3rem;
  font-size: calc(0.85rem - 1.5px);
  font-weight: 500;
  text-decoration: none;
  display: block;
}
.tarjeta-regalo__titulo:hover {
  color: var(--color-marca);
}
.tarjeta-regalo__itau-badge {
  border-radius: 6px;
  width: 46px;
  position: absolute;
  bottom: 9px;
  right: 9px;
  overflow: hidden;
}
.tarjeta-regalo__itau-badge img {
  width: 100%;
  height: auto;
  display: block;
}
.tarjeta-regalo__precios {
  justify-content: center;
  align-items: center;
  gap: 0.45rem;
  margin-bottom: 0.15rem;
  display: flex;
}
.tarjeta-regalo__anterior {
  color: #bbb;
  font-size: 0.78rem;
  text-decoration: line-through;
}
.tarjeta-regalo__precio {
  color: var(--color-marca);
  font-size: 0.92rem;
  font-weight: 600;
}
.tarjeta-regalo__itau-leyenda {
  color: #f96f1e;
  text-align: center;
  margin: 0;
  font-size: 0.68rem;
  font-weight: 600;
}
.tarjeta-regalo__agregar {
  color: var(--color-marca);
  border: 1px solid var(--color-marca);
  font-size: 0.76rem;
  font-weight: 600;
  font-family: var(--fuente-cuerpo);
  cursor: pointer;
  background: 0 0;
  border-radius: 20px;
  justify-content: center;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.5rem;
  padding: 0.45rem 0.75rem;
  transition:
    background 0.2s,
    color 0.2s;
  display: flex;
}
.tarjeta-regalo__agregar:hover,
.tarjeta-regalo__agregar.agregado {
  background: var(--color-marca);
  color: #fff;
}
.conexiones-preciadas {
  padding: 3rem 2rem 5rem;
}
.deslizador-conexiones {
  align-items: center;
  gap: 1rem;
  display: flex;
}
.flecha-conexion {
  color: #555;
  cursor: pointer;
  background: 0 0;
  border: 1px solid #ccc;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 42px;
  height: 42px;
  transition:
    border-color 0.2s,
    color 0.2s;
  display: flex;
}
.flecha-conexion:hover:not(:disabled) {
  border-color: var(--color-marca);
  color: var(--color-marca);
}
.flecha-conexion:disabled {
  opacity: 0.3;
  cursor: default;
}
.cuadricula-conexiones {
  flex: 1;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  display: grid;
}
.tarjeta-conexion {
  text-align: center;
  text-decoration: none;
  display: block;
}
.tarjeta-conexion__imagen {
  aspect-ratio: 3/4;
  border-radius: 12px;
  margin-bottom: 0.9rem;
  position: relative;
  overflow: hidden;
}
.tarjeta-conexion__imagen img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform 0.3s;
}
.tarjeta-conexion:hover .tarjeta-conexion__imagen img {
  transform: scale(1.05);
}
.tarjeta-conexion__flecha {
  color: var(--color-marca);
  background-color: #fff;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 26px;
  height: 26px;
  display: flex;
  position: absolute;
  bottom: 10px;
  right: 10px;
  box-shadow: 0 1px 4px #00000026;
}
.tarjeta-conexion__titulo {
  font-family: var(--fuente-cuerpo);
  color: var(--color-texto-principal);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-align: center;
  font-size: calc(0.85rem - 1.5px);
  font-weight: 500;
}
.seccion-productos {
  padding: 4rem 2rem;
}
.deslizador-productos {
  align-items: center;
  gap: 1rem;
  display: flex;
}
.flecha-productos {
  color: #555;
  cursor: pointer;
  background: 0 0;
  border: 1px solid #ccc;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 42px;
  height: 42px;
  transition:
    border-color 0.2s,
    color 0.2s;
  display: flex;
}
.flecha-productos:hover:not(:disabled) {
  border-color: var(--color-marca);
  color: var(--color-marca);
}
.flecha-productos:disabled {
  opacity: 0.3;
  cursor: default;
}
.cuadricula-productos {
  flex: 1;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  display: grid;
}
.tarjeta-producto {
  text-align: center;
  transition: transform 0.22s;
}
.tarjeta-producto:hover {
  transform: translate(4px);
}
.envoltorio-imagen-producto {
  aspect-ratio: 3/4;
  background-color: #f7f7f7;
  border-radius: 12px;
  margin-bottom: 60px;
  position: relative;
  overflow: hidden;
}
.envoltorio-imagen-producto img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.etiqueta-producto {
  background-color: var(--color-base-negro);
  color: var(--color-base-blanco);
  border-radius: 4px;
  padding: 0.2rem 0.5rem;
  font-size: 0.7rem;
  font-weight: 700;
  position: absolute;
  top: 10px;
  right: 10px;
}
.info-producto {
  text-align: center;
  flex-direction: column;
  align-items: center;
  padding-top: 4px;
  display: flex;
}
.titulo-producto {
  font-family: var(--fuente-cuerpo);
  color: #777;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-align: center;
  margin-bottom: 0.5rem;
  font-size: calc(0.85rem - 1.5px);
  font-weight: 500;
}
.precio-producto {
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem;
  display: flex;
}
.precio-anterior {
  color: var(--color-texto-suave);
  font-size: 0.9rem;
  text-decoration: line-through;
}
.precio-actual {
  color: var(--color-marca);
  font-weight: 600;
}
.pie-seccion-productos {
  text-align: center;
  margin-top: calc(3rem + 120px);
}
.boton-ver-todo {
  background-color: var(--color-marca);
  color: var(--color-base-blanco);
  letter-spacing: 0.5px;
  text-transform: uppercase;
  cursor: pointer;
  border: none;
  border-radius: 30px;
  padding: 0.8rem 2.5rem;
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none;
  transition: filter 0.2s;
  display: inline-block;
}
.boton-ver-todo:hover {
  filter: brightness(1.1);
  color: var(--color-base-blanco);
}
.boton-agregar-carrito {
  color: var(--color-marca);
  border: 1px solid var(--color-marca);
  font-size: 0.76rem;
  font-weight: 600;
  font-family: var(--fuente-cuerpo);
  cursor: pointer;
  background: 0 0;
  border-radius: 20px;
  justify-content: center;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.5rem;
  padding: 0.45rem 0.75rem;
  transition:
    background 0.2s,
    color 0.2s;
  display: flex;
}
.boton-agregar-carrito:hover,
.boton-agregar-carrito--agregado {
  background: var(--color-marca);
  color: #fff;
}
.edicion-limitada {
  color: var(--color-base-blanco);
  background-image: url(https://andreamaria.com.py/uploads/images/home/creamos.jpg);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 12px;
  margin: 2rem;
  padding: 5rem 2rem;
  position: relative;
}
.edicion-limitada .contenedor {
  position: relative;
}
.titulo-limitado {
  color: var(--color-marca);
  font-size: 3rem;
}
.subtitulo-limitado {
  color: var(--color-base-blanco);
  font-size: 1rem;
  font-weight: 400;
  font-family: var(--fuente-cuerpo);
  letter-spacing: 0.3px;
  opacity: 0.9;
  margin-top: 0.4rem;
  margin-bottom: 2.5rem;
}
.cuadricula-limitada {
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  display: grid;
}
.tarjeta-edicion {
  background-color: var(--color-base-blanco);
  border-radius: 12px;
  text-decoration: none;
  transition:
    transform 0.25s,
    box-shadow 0.25s;
  display: block;
  overflow: hidden;
  box-shadow: 0 4px 20px #0000002e;
}
.tarjeta-edicion:hover {
  transform: scale(1.03);
  box-shadow: 0 10px 36px #00000047;
}
.tarjeta-edicion__contenedor-img {
  border: 3.5px solid var(--color-marca);
  background: var(--color-base-blanco);
  margin: 0.85rem 0.85rem 0;
  padding: 4px;
  position: relative;
  box-shadow: 0 2px 12px #0000001f;
}
.img-principal-edicion {
  aspect-ratio: 3/4;
  object-fit: cover;
  width: 100%;
  display: block;
}
.envoltorio-miniatura-edicion {
  border: 2px solid var(--color-marca);
  border-radius: 8px;
  width: 104px;
  height: 104px;
  position: absolute;
  bottom: -32px;
  right: 10px;
  overflow: hidden;
  box-shadow: 0 4px 10px #00000040;
}
.img-miniatura-edicion {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.tarjeta-edicion__contenido {
  padding: 1.5rem 1rem 1.25rem;
}
.nombre-curador {
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--color-marca);
  margin-bottom: 0.25rem;
  font-size: 0.7rem;
  font-weight: 700;
  display: block;
}
.tarjeta-edicion__contenido h3 {
  font-size: calc(0.85rem - 1.5px);
  font-weight: 500;
  font-family: var(--fuente-cuerpo);
  color: #888;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 0.5rem;
}
.tarjeta-edicion__contenido p {
  color: #666;
  margin-bottom: 1rem;
  font-size: 0.82rem;
  line-height: 1.5;
}
.enlace-comprar {
  color: var(--color-marca);
  text-underline-offset: 3px;
  font-size: 0.82rem;
  font-weight: 600;
  text-decoration: underline;
}
.seguinos-instagram {
  margin-bottom: 70px;
  padding: 4rem 0;
}
.instagram-titulo {
  justify-content: center;
  align-items: center;
  gap: 0.6rem;
  display: flex;
}
.instagram-titulo h2 {
  margin: 0;
}
.instagram-handle {
  text-align: center;
  color: #888;
  letter-spacing: 0.5px;
  margin-top: 0.25rem;
  font-size: 0.9rem;
  text-decoration: none;
  display: block;
}
.instagram-handle:hover {
  color: var(--color-base-marino);
}
.cuadricula-instagram {
  grid-template-columns: repeat(4, 1fr);
  gap: 0.5rem;
  margin-top: 2rem;
  display: grid;
}
.foto-instagram {
  aspect-ratio: 1;
  cursor: pointer;
  background: 0 0;
  border: none;
  border-radius: 6px;
  padding: 0;
  display: block;
  position: relative;
  overflow: hidden;
}
.foto-instagram img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform 0.3s;
}
.foto-instagram:hover img {
  transform: scale(1.05);
}
.foto-instagram__overlay {
  color: #fff;
  opacity: 0;
  background: #00000059;
  justify-content: center;
  align-items: center;
  transition: opacity 0.2s;
  display: flex;
  position: absolute;
  inset: 0;
}
.foto-instagram:hover .foto-instagram__overlay {
  opacity: 1;
}
.lightbox-overlay {
  z-index: 1000;
  background: #000000e0;
  justify-content: center;
  align-items: center;
  animation: 0.18s lbFadeIn;
  display: flex;
  position: fixed;
  inset: 0;
}
@keyframes lbFadeIn {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.lightbox-caja {
  flex-direction: column;
  align-items: center;
  display: flex;
  position: relative;
}
.lightbox-img {
  object-fit: contain;
  border-radius: 8px;
  max-width: 80vw;
  max-height: 76vh;
  display: block;
}
.lightbox-cerrar {
  color: #fff;
  cursor: pointer;
  opacity: 0.8;
  background: 0 0;
  border: none;
  justify-content: center;
  align-items: center;
  transition: opacity 0.15s;
  display: flex;
  position: absolute;
  top: -44px;
  right: 0;
}
.lightbox-cerrar:hover {
  opacity: 1;
}
.lightbox-flecha {
  color: #fff;
  cursor: pointer;
  background: #ffffff26;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  transition: background 0.15s;
  display: flex;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.lightbox-flecha:hover {
  background: #ffffff4d;
}
.lightbox-flecha--prev {
  left: -70px;
}
.lightbox-flecha--next {
  right: -70px;
}
.lightbox-pie {
  margin-top: 1.25rem;
}
.lightbox-btn-ig {
  background: var(--color-marca);
  color: #fff;
  letter-spacing: 0.4px;
  border-radius: 30px;
  align-items: center;
  gap: 0.5rem;
  padding: 0.65rem 1.5rem;
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none;
  transition: filter 0.15s;
  display: inline-flex;
}
.lightbox-btn-ig:hover {
  filter: brightness(1.12);
  color: #fff;
}
.bloques-duo {
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 4rem;
  margin-top: 80px;
  margin-bottom: 3rem;
  padding: 1rem 1rem 3rem;
  display: flex;
}
.bloque-duo {
  background: #fff;
  border-radius: 2px;
  width: 100%;
  max-width: 347px;
  padding: 0.85rem 0.85rem 2.75rem;
  transition:
    transform 0.35s,
    box-shadow 0.35s;
  box-shadow:
    0 8px 28px #0000002b,
    0 2px 8px #00000017;
}
.bloque-duo:first-child {
  margin-top: 1.5rem;
  transform: rotate(-4deg);
}
.bloque-duo:last-child {
  transform: rotate(3deg);
}
.bloque-duo:hover {
  z-index: 1;
  position: relative;
  box-shadow:
    0 14px 40px #0003,
    0 4px 12px #0000001a;
}
.bloque-duo__imagen {
  aspect-ratio: 1;
  flex-shrink: 0;
  overflow: hidden;
}
.bloque-duo__imagen img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform 0.4s;
  display: block;
}
.bloque-duo:hover .bloque-duo__imagen img {
  transform: scale(1.08);
}
.bloque-duo__imagen-placeholder {
  background-color: #f0ede8;
  width: 100%;
  height: 100%;
}
.bloque-duo__contenido {
  text-align: center;
  flex-direction: column;
  align-items: center;
  padding: 1.1rem 0.4rem 0;
  display: flex;
}
.bloque-duo__contenido h2 {
  color: var(--color-marca);
  margin-bottom: 0.45rem;
  font-family:
    Libre Baskerville,
    Didot,
    Georgia,
    serif;
  font-size: 1rem;
  line-height: 1.3;
}
.bloque-duo__contenido p {
  color: #777;
  margin-bottom: 1rem;
  font-size: 0.78rem;
  line-height: 1.55;
}
.boton-bloque-duo {
  background-color: var(--color-marca);
  color: #fff;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  border-radius: 30px;
  align-items: center;
  gap: 0.3rem;
  padding: 0.55rem 1.2rem;
  font-size: 0.72rem;
  font-weight: 600;
  text-decoration: none;
  transition: filter 0.2s;
  display: inline-flex;
}
.boton-bloque-duo:hover {
  filter: brightness(1.1);
}
@media (width<=680px) {
  .bloques-duo {
    flex-direction: column;
    align-items: center;
    gap: 2.5rem;
  }
  .bloque-duo:first-child,
  .bloque-duo:last-child {
    margin-top: 0;
    transform: rotate(0);
  }
}
.bloque-destacado {
  margin-top: 70px;
  margin-bottom: 70px;
}
.cuadricula-bloque {
  border-radius: 12px;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  display: grid;
  overflow: hidden;
}
.imagen-bloque img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}
.contenido-bloque {
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 4rem;
  display: flex;
}
.fondo-beige {
  background-color: var(--color-base-beige);
}
.contenido-bloque h2 {
  color: var(--color-base-negro);
  margin-bottom: 1rem;
  font-size: 2.5rem;
}
.contenido-bloque p {
  color: #333;
  margin-bottom: 2rem;
  font-size: 1rem;
  line-height: 1.6;
}
.boton-bloque.negro {
  background-color: var(--color-marca);
  color: var(--color-base-blanco);
  letter-spacing: 0.5px;
  text-transform: uppercase;
  cursor: pointer;
  border: none;
  border-radius: 30px;
  padding: 0.8rem 2rem;
  font-size: 0.85rem;
  font-weight: 600;
  transition: filter 0.2s;
}
.boton-bloque.negro:hover {
  filter: brightness(1.1);
}
.regalo-con-causa {
  background-color: var(--color-base-blanco);
  position: relative;
}
.texto-centrado {
  text-align: center;
  align-items: center;
  padding: 2rem;
}
.causa-frase-colibrí {
  max-width: 420px;
  font-size: calc(1.25rem + 1.5px);
  font-style: italic;
  line-height: 1.5;
  color: var(--color-marca) !important;
  margin-bottom: 1.75rem !important;
  font-family:
    Libre Baskerville,
    Didot,
    GFS Didot,
    Bodoni MT,
    Georgia,
    serif !important;
}
.causa-cuerpo {
  font-size: 1rem;
  line-height: 1.8;
  color: var(--color-marca) !important;
  margin-bottom: 1.75rem !important;
  font-family:
    Libre Baskerville,
    Didot,
    GFS Didot,
    Bodoni MT,
    Georgia,
    serif !important;
}
.causa-cta {
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--color-marca) !important;
  margin-bottom: 0 !important;
  font-family:
    Libre Baskerville,
    Didot,
    GFS Didot,
    Bodoni MT,
    Georgia,
    serif !important;
}
.collage-causa {
  justify-content: center;
  align-items: center;
  padding: 2rem;
  display: flex;
}
.imagen-collage-principal {
  border-radius: 8px;
  width: 100%;
}
.curador-cargando {
  text-align: center;
  color: #aaa;
  padding: 6rem 2rem;
  font-size: 0.9rem;
}
.curador-layout {
  grid-template-columns: 1fr 220px;
  align-items: start;
  gap: 3rem;
  padding: 3rem 2rem 5rem;
  display: grid;
}
.curador-sidebar {
  text-align: center;
  border: 1px solid var(--color-borde);
  background: #fdfaf6;
  border-radius: 14px;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  padding: 1.5rem;
  display: flex;
  position: sticky;
  top: 110px;
}
.curador-sidebar__avatar {
  border: 3px solid var(--color-marca);
  border-radius: 50%;
  flex-shrink: 0;
  width: 96px;
  height: 96px;
  overflow: hidden;
}
.curador-sidebar__avatar img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.curador-sidebar__subtitulo {
  font-family: var(--fuente-cuerpo);
  color: #888;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0;
  font-size: calc(0.85rem - 1.5px);
  font-weight: 500;
}
.curador-sidebar__nombre {
  font-family: var(--fuente-titulos);
  color: var(--color-marca);
  margin: 0;
  font-size: 1.4rem;
  font-weight: 400;
}
.curador-sidebar__texto {
  color: #666;
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.65;
}
.curador-sin-productos {
  color: #bbb;
  padding: 2rem 0;
  font-size: 0.9rem;
}
.cuadricula-curador {
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  display: grid;
}
.tarjeta-curador {
  text-align: center;
}
.tarjeta-curador__img-wrap {
  aspect-ratio: 3/4;
  background: #f7f7f7;
  border-radius: 10px;
  margin-bottom: 0.75rem;
  position: relative;
  overflow: hidden;
}
.tarjeta-curador__img-wrap a {
  width: 100%;
  height: 100%;
  display: block;
}
.tarjeta-curador__img-wrap img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform 0.3s;
}
.tarjeta-curador:hover .tarjeta-curador__img-wrap img {
  transform: scale(1.04);
}
.tarjeta-curador__itau-badge {
  background: #fff;
  border-radius: 6px;
  width: 42px;
  position: absolute;
  bottom: 9px;
  right: 9px;
  overflow: hidden;
  box-shadow: 0 1px 4px #0000002e;
}
.tarjeta-curador__itau-badge img {
  width: 100%;
  height: auto;
  display: block;
}
.tarjeta-curador__fav {
  color: #aaa;
  cursor: pointer;
  background: #ffffffe0;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  transition:
    color 0.2s,
    background 0.2s;
  display: flex;
  position: absolute;
  top: 9px;
  right: 9px;
}
.tarjeta-curador__fav:hover,
.tarjeta-curador__fav.activo {
  color: var(--color-marca);
  background: #fff;
}
.tarjeta-curador__nombre {
  font-family: var(--fuente-cuerpo);
  color: #777;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 0.3rem;
  font-size: calc(0.85rem - 1.5px);
  font-weight: 500;
  text-decoration: none;
  display: block;
}
.tarjeta-curador__nombre:hover {
  color: var(--color-marca);
}
.tarjeta-curador__precios {
  justify-content: center;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 0.15rem;
  display: flex;
}
.tarjeta-curador__anterior {
  color: #bbb;
  font-size: 0.78rem;
  text-decoration: line-through;
}
.tarjeta-curador__precio {
  color: var(--color-marca);
  font-size: 0.88rem;
  font-weight: 600;
}
.tarjeta-curador__itau-leyenda {
  color: #f96f1e;
  text-align: center;
  margin: 0 0 0.5rem;
  font-size: 0.65rem;
  font-weight: 600;
}
.tarjeta-curador__agregar {
  background: var(--color-marca);
  color: #fff;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  cursor: pointer;
  border: none;
  border-radius: 20px;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.4rem;
  padding: 0.38rem 0.85rem;
  font-size: 0.7rem;
  font-weight: 600;
  transition: filter 0.2s;
  display: inline-flex;
}
.tarjeta-curador__agregar:hover {
  filter: brightness(1.1);
}
@media (width<=1024px) {
  .curador-layout {
    grid-template-columns: 1fr;
  }
  .curador-sidebar {
    text-align: left;
    flex-direction: row;
    position: static;
  }
  .cuadricula-curador {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (width<=680px) {
  .cuadricula-curador {
    grid-template-columns: repeat(2, 1fr);
  }
}
.nosotros-hero {
  width: 100%;
  height: 520px;
  position: relative;
  overflow: hidden;
}
.nosotros-hero__imagen {
  width: 100%;
  height: 100%;
}
.nosotros-hero__imagen img {
  object-fit: cover;
  object-position: center 30%;
  width: 100%;
  height: 100%;
  display: block;
}
.nosotros-hero__overlay {
  text-align: center;
  background: linear-gradient(#00000026 0%, #00000085 100%);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 2rem;
  display: flex;
  position: absolute;
  inset: 0;
}
.nosotros-hero__eyebrow {
  font-family: var(--fuente-cuerpo);
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #fffc;
  margin-bottom: 0.75rem;
  font-size: 0.7rem;
  font-weight: 600;
}
.nosotros-hero__titulo {
  color: #fff;
  margin-bottom: 0.75rem;
  font-family:
    Libre Baskerville,
    serif;
  font-size: clamp(2.8rem, 6vw, 4.5rem);
  font-style: italic;
  font-weight: 400;
  line-height: 1.1;
}
.nosotros-hero__subtitulo {
  font-family: var(--fuente-cuerpo);
  color: #ffffffd9;
  letter-spacing: 0.5px;
  font-size: 1rem;
}
.nosotros-intro {
  text-align: center;
  max-width: 720px;
  margin: 6rem auto;
}
.nosotros-intro__frase {
  color: var(--color-marca);
  margin-bottom: 2rem;
  font-family:
    Libre Baskerville,
    serif;
  font-size: 1.35rem;
  font-style: italic;
  line-height: 1.6;
}
.nosotros-intro p {
  color: #555;
  margin-bottom: 1.25rem;
  font-size: 1rem;
  line-height: 1.85;
}
.nosotros-polaroids {
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 5rem;
  margin-bottom: 2rem;
  padding: 2rem 2rem 5rem;
  display: flex;
}
.nosotros-polaroid {
  background: #fff;
  border-radius: 2px;
  width: 100%;
  max-width: 340px;
  padding: 0.9rem 0.9rem 2.8rem;
  transition:
    transform 0.35s,
    box-shadow 0.35s;
  box-shadow:
    0 8px 28px #00000029,
    0 2px 8px #00000014;
}
.nosotros-polaroid--izquierda {
  margin-top: 1.5rem;
  transform: rotate(-4deg);
}
.nosotros-polaroid--derecha {
  transform: rotate(3deg);
}
.nosotros-polaroid:hover {
  z-index: 1;
  position: relative;
  box-shadow:
    0 14px 40px #0003,
    0 4px 12px #0000001a;
}
.nosotros-polaroid__imagen {
  aspect-ratio: 1;
  overflow: hidden;
}
.nosotros-polaroid__imagen img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform 0.4s;
  display: block;
}
.nosotros-polaroid:hover .nosotros-polaroid__imagen img {
  transform: scale(1.07);
}
.nosotros-polaroid__caption {
  color: var(--color-marca);
  text-align: center;
  padding: 1rem 0.4rem 0;
  font-family:
    Libre Baskerville,
    serif;
  font-size: 0.88rem;
  font-style: italic;
  line-height: 1.4;
}
.nosotros-valores {
  text-align: center;
  background-color: var(--color-base-beige);
  max-width: 100%;
  margin: 0;
  padding: 5rem 2rem;
}
.nosotros-valores.contenedor {
  max-width: 100%;
  padding: 5rem 2rem;
}
.nosotros-valores__titulo {
  color: var(--color-marca);
  margin-bottom: 3rem;
  font-family:
    Libre Baskerville,
    serif;
  font-size: 2rem;
  font-weight: 400;
}
.nosotros-valores__grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
  max-width: 900px;
  margin: 0 auto;
  display: grid;
}
.nosotros-valor {
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  display: flex;
}
.nosotros-valor__icono {
  color: var(--color-marca);
  opacity: 0.7;
  font-size: 1.4rem;
}
.nosotros-valor h3 {
  color: var(--color-marca);
  font-family:
    Libre Baskerville,
    serif;
  font-size: 1.1rem;
  font-weight: 700;
}
.nosotros-valor p {
  color: #666;
  font-size: 0.9rem;
  line-height: 1.7;
}
.nosotros-cta {
  text-align: center;
  padding: 6rem 2rem;
}
.nosotros-cta h2 {
  color: var(--color-marca);
  margin-bottom: 2rem;
  font-size: 2rem;
  font-weight: 400;
}
.nosotros-cta__boton {
  background-color: var(--color-marca);
  color: #fff;
  font-family: var(--fuente-cuerpo);
  letter-spacing: 0.7px;
  text-transform: uppercase;
  border-radius: 30px;
  padding: 0.85rem 2.4rem;
  font-size: 0.82rem;
  font-weight: 600;
  text-decoration: none;
  transition: filter 0.2s;
  display: inline-block;
}
.nosotros-cta__boton:hover {
  filter: brightness(1.1);
}
@media (width<=700px) {
  .nosotros-hero {
    height: 340px;
  }
  .nosotros-intro {
    margin: 3.5rem auto;
  }
  .nosotros-polaroids {
    flex-direction: column;
    align-items: center;
    gap: 2.5rem;
    padding-bottom: 3rem;
  }
  .nosotros-polaroid--izquierda,
  .nosotros-polaroid--derecha {
    margin-top: 0;
    transform: rotate(0);
  }
  .nosotros-valores__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.pagina-estatica {
  flex-direction: column;
  min-height: 100vh;
  display: flex;
}
.estatica-hero {
  background-color: var(--color-base-beige);
  border-bottom: 1px solid var(--color-borde);
  text-align: center;
  padding: 5rem 2rem 4rem;
}
.estatica-hero__eyebrow {
  font-family: var(--fuente-cuerpo);
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--color-marca);
  opacity: 0.7;
  margin-bottom: 0.75rem;
  font-size: 0.68rem;
  font-weight: 600;
}
.estatica-hero__titulo {
  color: var(--color-marca);
  margin-bottom: 0.75rem;
  font-family:
    Libre Baskerville,
    serif;
  font-size: clamp(2rem, 4vw, 3rem);
  font-style: italic;
  font-weight: 400;
  line-height: 1.2;
}
.estatica-hero__actualizado {
  color: #aaa;
  font-size: 0.8rem;
}
.estatica-cuerpo {
  flex: 1;
  width: 100%;
  max-width: 820px;
  margin: 0 auto;
  padding: 5rem 2rem 7rem;
}
.estatica-cuerpo h2 {
  color: var(--color-marca);
  margin-top: 3rem;
  margin-bottom: 1rem;
  font-family:
    Libre Baskerville,
    serif;
  font-size: 1.25rem;
  font-weight: 700;
}
.estatica-cuerpo h2:first-child {
  margin-top: 0;
}
.estatica-cuerpo p {
  color: #555;
  margin-bottom: 1rem;
  font-size: 0.95rem;
  line-height: 1.85;
}
.estatica-cuerpo ul,
.estatica-cuerpo ol {
  margin: 0.5rem 0 1.25rem 1.5rem;
}
.estatica-cuerpo li {
  color: #555;
  margin-bottom: 0.4rem;
  font-size: 0.95rem;
  line-height: 1.8;
}
.estatica-cuerpo a {
  color: var(--color-marca);
  text-decoration: underline;
}
.estatica-separador {
  border: none;
  border-top: 1px solid var(--color-borde);
  margin: 2.5rem 0;
}
.faq-lista {
  flex-direction: column;
  gap: 0;
  display: flex;
}
.faq-item {
  border-bottom: 1px solid var(--color-borde);
}
.faq-item:first-child {
  border-top: 1px solid var(--color-borde);
}
.faq-pregunta {
  text-align: left;
  cursor: pointer;
  width: 100%;
  font-family: var(--fuente-cuerpo);
  color: #777;
  background: 0 0;
  border: none;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1.3rem 0;
  font-size: 0.97rem;
  font-weight: 600;
  transition: color 0.2s;
  display: flex;
}
.faq-pregunta:hover,
.faq-pregunta.activa {
  color: var(--color-marca);
}
.faq-icono {
  color: var(--color-marca);
  flex-shrink: 0;
  font-size: 1.2rem;
  font-weight: 300;
  line-height: 1;
  transition: transform 0.25s;
}
.faq-icono.abierto {
  transform: rotate(45deg);
}
.faq-respuesta {
  max-height: 0;
  transition:
    max-height 0.3s,
    padding 0.3s;
  overflow: hidden;
}
.faq-respuesta.visible {
  max-height: 400px;
}
.faq-respuesta p {
  color: #666;
  margin: 0;
  padding-bottom: 1.3rem;
  font-size: 0.93rem;
  line-height: 1.8;
}
.faq-categoria {
  margin-top: 3rem;
  margin-bottom: 0.5rem;
}
.faq-categoria h2 {
  color: var(--color-marca);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 0.25rem;
  font-family:
    Libre Baskerville,
    serif;
  font-size: 1rem;
  font-weight: 700;
}
.tabla-envios {
  border-collapse: collapse;
  width: 100%;
  margin: 1.25rem 0 2rem;
  font-size: 0.9rem;
}
.tabla-envios th {
  text-align: left;
  background-color: var(--color-base-beige);
  font-family: var(--fuente-cuerpo);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--color-marca);
  border-bottom: 2px solid var(--color-borde);
  padding: 0.75rem 1rem;
  font-size: 0.75rem;
  font-weight: 600;
}
.tabla-envios td {
  color: #555;
  border-bottom: 1px solid var(--color-borde);
  vertical-align: top;
  padding: 0.85rem 1rem;
}
.tabla-envios tr:last-child td {
  border-bottom: none;
}
@media (width<=600px) {
  .estatica-hero {
    padding: 3.5rem 1.5rem 3rem;
  }
  .estatica-cuerpo {
    padding: 3rem 1.25rem 5rem;
  }
  .tabla-envios {
    font-size: 0.82rem;
  }
  .tabla-envios th,
  .tabla-envios td {
    padding: 0.65rem 0.5rem;
  }
}

/* Comprobante de transferencia en el checkout — sigue el mismo lenguaje que
   .metodo-pago-opcion: borde 1.5px, radio 10px, acento de marca. */
.comprobante {
  border: 1.5px dashed #e5e0d9;
  border-radius: 10px;
  margin-top: 0.85rem;
  padding: 1rem;
}

.comprobante__titulo {
  color: var(--color-texto-principal);
  margin: 0 0 0.2rem;
  font-size: 0.86rem;
  font-weight: 600;
}

.comprobante__ayuda {
  color: var(--color-texto-suave);
  margin: 0 0 0.85rem;
  font-size: 0.78rem;
}

.comprobante__boton {
  color: var(--color-marca);
  cursor: pointer;
  background: 0 0;
  border: 1.5px solid var(--color-marca);
  border-radius: 8px;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 1.1rem;
  font-size: 0.82rem;
  font-weight: 600;
  transition: background 0.15s, color 0.15s;
  display: inline-flex;
}

.comprobante__boton:hover:not(:disabled) {
  background: var(--color-marca);
  color: var(--color-base-blanco);
}

.comprobante__boton:disabled {
  cursor: default;
  opacity: 0.6;
}

.comprobante__girando {
  animation: comprobante-girar 0.9s linear infinite;
}

@keyframes comprobante-girar {
  to { transform: rotate(360deg); }
}

.comprobante__cargado {
  background: #faf7f2;
  border: 1.5px solid #e5e0d9;
  border-radius: 8px;
  align-items: center;
  gap: 0.55rem;
  padding: 0.6rem 0.75rem;
  font-size: 0.82rem;
  display: flex;
}

.comprobante__nombre {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.comprobante__peso {
  color: var(--color-texto-suave);
  flex: none;
  font-size: 0.75rem;
}

.comprobante__quitar {
  color: var(--color-texto-suave);
  cursor: pointer;
  background: 0 0;
  border: 0;
  flex: none;
  padding: 0.2rem;
  display: flex;
}

.comprobante__quitar:hover {
  color: #d93a21;
}

.comprobante__error {
  color: #d93a21;
  margin: 0.6rem 0 0;
  font-size: 0.78rem;
}
