@import "https://fonts.googleapis.com/css2?family=Raleway:wght@100;200;300;400;500;600;700&family=Lato:wght@300;400;700&display=swap";:root {
  --color-base-marino:#00155e;
  --color-base-beige:#fdf7ed;
  --color-base-blanco:#fff;
  --color-base-negro:#000;
  --color-texto-principal:#727176;
  --color-texto-suave:#666;
  --color-borde:#eaeaea;
  --color-marca:#e59838;
  --fuente-titulos:"Raleway", sans-serif;
  --fuente-cuerpo:"Lato", sans-serif;
}
* {
  box-sizing:border-box;
  margin:0;
  padding:0;
}
html,body,#root {
  height:100%;
}
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;
}
.app-shell {
  display:flex;
  flex-direction:column;
  min-height:100vh;
}
.app-content {
  flex:1 0 auto;
}
h1,h2,h3,h4,h5,h6 {
  font-family:var(--fuente-titulos);
  color:#00155e;
  font-weight:600;
}
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:#00155e;
  margin-bottom:.5rem;
  font-size:2.4rem;
}
.encabezado-seccion p {
  color:var(--color-texto-suave);
  font-size:1rem;
}
.cabecera {
  background-color:#030f5e;
  border-bottom:1px solid #030f5e;
  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:.5px;
  padding:.5rem;
  font-size:.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:.6rem;
  text-decoration:none;
  transition:opacity .2s;
  display:flex;
}
.promo-itau-navbar:hover {
  opacity:.85;
}
.promo-itau-icono {
  object-fit:contain;
  flex-shrink:0;
  width:auto;
  height:40px;
  display:block;
}
.promo-itau-texto {
  color:#fff;
  white-space:nowrap;
  font-size:calc(.72rem + 1.5px);
  font-weight:600;
}
.barra-busqueda {
  background-color:#f0efed;
  border:none;
  border-radius:20px;
  flex:1;
  align-items:center;
  gap:.5rem;
  padding:.5rem 1rem;
  display:flex;
}
.icono-buscar {
  color:#888;
  flex-shrink:0;
}
.barra-busqueda input {
  width:100%;
  font-size:.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 {
  display:none;
}
.boton-amco:hover {
  background-color:var(--color-marca);
  color:var(--color-base-blanco);
}
.boton-amco__linea1 {
  letter-spacing:.3px;
  font-size:.82rem;
  font-weight:800;
}
.boton-amco__linea2 {
  letter-spacing:.2px;
  opacity:.85;
  align-items:center;
  gap:3px;
  font-size:.62rem;
  font-weight:500;
  display:flex;
}
.separador-acciones {
  background:#ddd;
  width:1px;
  height:20px;
}
.boton-icono {
  color:#fff;
  cursor:pointer;
  background:0 0;
  border:none;
  justify-content:center;
  align-items:center;
  text-decoration:none;
  transition:color .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:#fff;
  background-color:var(--color-marca);
  min-width:18px;
  height:18px;
  border-radius:50%;
  justify-content:center;
  align-items:center;
  padding:0 4px;
  font-size:.7rem;
  font-weight:700;
  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:.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:.8px;
  color:#aaa;
  border-bottom:1px solid var(--color-borde);
  padding:1rem 1.1rem .6rem;
  font-size:.75rem;
  font-weight:700;
}
.panel-vacio {
  color:#bbb;
  text-align:center;
  padding:1.25rem 1.1rem;
  font-size:.82rem;
}
.panel-lista {
  max-height:280px;
  padding:.5rem 0;
  list-style:none;
  overflow-y:auto;
}
.panel-item {
  align-items:center;
  gap:.75rem;
  padding:.55rem 1.1rem;
  transition:background .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:.8rem;
  font-weight:500;
  overflow:hidden;
}
.panel-item__precio {
  color:var(--color-marca);
  font-size:.75rem;
  font-weight:600;
}
.panel-item__qty {
  color:#888;
  flex-shrink:0;
  font-size:.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 .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:.65rem 1.1rem;
  font-size:.82rem;
  font-weight:600;
  display:flex;
}
.panel-subtotal span:last-child {
  color:var(--color-marca);
  font-size:.9rem;
}
.panel-precio-tachado {
  text-decoration:line-through;
  color:#bbb!important;
  font-size:.82rem!important;
}
.panel-subtotal--itau,.panel-subtotal--itau span:last-child {
  color:#f96f1e;
}
.panel-pie {
  border-top:1px solid var(--color-borde);
  padding:.75rem 1.1rem;
}
.panel-btn {
  text-align:center;
  background:var(--color-marca);
  color:#fff;
  letter-spacing:.6px;
  text-transform:uppercase;
  border-radius:8px;
  padding:.65rem;
  font-size:.78rem;
  font-weight:700;
  text-decoration:none;
  transition:filter .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:.5px;
  align-items:center;
  gap:.2rem;
  font-size:calc(.85rem - 1.5px);
  font-weight:500;
  transition:color .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:.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:.4px;
  white-space:nowrap;
  font-size:calc(.85rem - 1.5px);
  font-weight:500;
  font-family:var(--fuente-cuerpo);
  align-items:center;
  gap:.6rem;
  padding:.5rem 1rem;
  transition:background .2s,color .2s,transform .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 .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:.82rem;
}
.buscador-item {
  color:inherit;
  border-bottom:1px solid #f5f2ee;
  align-items:center;
  gap:.75rem;
  padding:.6rem 1rem;
  text-decoration:none;
  transition:background-color .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:.84rem;
  font-weight:500;
  overflow:hidden;
}
.buscador-item__precio {
  color:var(--color-marca);
  font-size:.78rem;
  font-weight:600;
}
.buscador-ver-todos {
  text-align:center;
  width:100%;
  color:var(--color-marca);
  cursor:pointer;
  font-size:.82rem;
  font-weight:600;
  font-family:var(--fuente-cuerpo);
  background:0 0;
  border:none;
  padding:.65rem 1rem;
  transition:background-color .15s;
  display:block;
}
.buscador-ver-todos:hover {
  background-color:#fdf7ed;
}
.pie-pagina {
  width:100%;
}
.pie-pagina__superior {
  border-bottom:none;
  padding:2.5rem 2rem;
  background:#00155e;
}
.pie-pagina__boletin {
  text-align:left;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  display:flex;
  max-width:1200px;
  margin:0 auto;
}
.boletin-eyebrow {
  display:none;
}
.boletin-titulo {
  color:#fff;
  margin:0;
  font-family:var(--fuente-titulos);
  font-size:1.3rem;
  font-style:normal;
  font-weight:600;
  line-height:1.3;
}
.boletin-subtexto {
  display:none;
}
.formulario-boletin {
  border:1.5px solid rgba(255,255,255,0.3);
  border-radius:4px;
  width:100%;
  max-width:380px;
  margin-top:0;
  display:flex;
  overflow:hidden;
  flex-shrink:0;
}
.formulario-boletin input {
  font-family:var(--fuente-cuerpo);
  color:#fff;
  background:rgba(255,255,255,0.05);
  border:none;
  outline:none;
  flex:1;
  padding:.85rem 1.5rem;
  font-size:.85rem;
}
.formulario-boletin input::placeholder {
  color:#bbb;
}
.formulario-boletin button {
  background-color:#e59838;
  color:#fff;
  font-family:var(--fuente-cuerpo);
  letter-spacing:.5px;
  text-transform:uppercase;
  cursor:pointer;
  white-space:nowrap;
  border:none;
  flex-shrink:0;
  padding:0 1.6rem;
  font-size:.78rem;
  font-weight:600;
  transition:filter .2s;
}
.formulario-boletin button:hover {
  filter:brightness(1.1);
}
.pie-pagina__principal.fondo-marino {
  background-color:#00155e;
  color:#fff;
  border-top:1px solid rgba(255,255,255,0.08);
  padding:3rem 0 2.5rem;
}
.pie-pagina__cuadricula {
  grid-template-columns:2fr 1fr 1fr 1.5fr;
  gap:2.5rem;
  padding:0 2rem;
  max-width:1200px;
  margin-left:auto;
  margin-right:auto;
  display:grid;
}
.logo-pie {
  height:40px;
  margin-bottom:1.5rem;
  display:block;
}
.logo-pie--circular {
  object-fit:contain;
  width:160px;
  height:auto;
  max-height:60px;
  margin-bottom:1.25rem;
}
.info-contacto p {
  font-size:.82rem;
  font-family:var(--fuente-cuerpo);
  color:#fff;
  align-items:center;
  gap:.8rem;
  margin-bottom:1rem;
  font-weight:500;
  display:flex;
}
.info-horario {
  margin-top:-.5rem;
  color:#fff!important;
  font-size:.75rem!important;
  font-weight:400!important;
}
.enlaces-pie {
  list-style:none;
}
.enlaces-pie li {
  margin-bottom:1rem;
}
.enlaces-pie a {
  font-size:.8rem;
  font-family:var(--fuente-cuerpo);
  color:#fff;
  letter-spacing:.4px;
  font-weight:500;
  text-decoration:none;
  transition:color .2s;
}
.enlaces-pie a:hover {
  color:var(--color-marca);
}
.columna-social h4 {
  font-size:calc(.85rem - 1.5px);
  font-family:var(--fuente-cuerpo);
  letter-spacing:.4px;
  color:#fff;
  margin-bottom:1rem;
  font-weight:500;
}
.redes-sociales {
  gap:1rem;
  display:flex;
}
.icono-social {
  color:#fff;
  justify-content:center;
  align-items:center;
  text-decoration:none;
  transition:color .2s;
  display:flex;
}
.icono-social:hover {
  color:var(--color-marca);
}
.pie-pagina__inferior {
  text-align:center;
  background:#00155e;
  padding:1.5rem 2rem;
}
.pie-pagina__inferior .contenedor {
  border-top:1px solid rgba(255,255,255,0.06);
  padding-top:1.5rem;
}
.pie-pagina__inferior p {
  color:#fff;
  font-size:.8rem;
}
.pagina-producto {
  padding:2rem 2rem 5rem;
}
.producto-breadcrumb {
  text-transform:uppercase;
  letter-spacing:.6px;
  color:#aaa;
  align-items:center;
  gap:.5rem;
  margin-bottom:2.5rem;
  font-size:.72rem;
  font-weight:600;
  display:flex;
}
.producto-breadcrumb a {
  color:#aaa;
  transition:color .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:.2s fadeIn;
  display:block;
}
.producto-galeria__placeholder {
  background:#f0ede8;
  width:100%;
  height:100%;
}
@keyframes fadeIn {
  0% {
    opacity:.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 .15s,background .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 .2s,color .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:.6rem;
  margin-top:.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 .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:#00155e;
  margin-bottom:.75rem;
  font-size:1.7rem;
  font-weight:600;
  line-height:1.2;
}
.producto-nombre__linea {
  background-color:var(--color-marca);
  opacity:.5;
  width:60px;
  height:2px;
  margin-bottom:1.5rem;
}
.producto-precios {
  align-items:baseline;
  gap:.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:calc(1.2rem + 2.5px);
  font-weight:700;
}
.producto-descripcion {
  color:#555;
  margin-top:10px;
  margin-bottom:2rem;
  font-size:.9rem;
  line-height:1.8;
}
.producto-descripcion br {
  content:"";
  margin-bottom:.25rem;
  display:block;
}
.producto-acciones {
  flex-direction:column;
  gap:0;
  display:flex;
}
.producto-cantidad__label {
  text-transform:uppercase;
  letter-spacing:.5px;
  color:#888;
  margin-bottom:.5rem;
  font-size:.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 .15s,color .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:.75rem;
  display:grid;
}
.producto-btn {
  letter-spacing:.8px;
  text-transform:uppercase;
  cursor:pointer;
  border-radius:8px;
  justify-content:center;
  align-items:center;
  gap:.5rem;
  width:100%;
  height:52px;
  font-size:.82rem;
  font-weight:700;
  transition:filter .15s,background .15s,color .15s;
  display:flex;
}
.producto-btn--carrito {
  border:2px solid #030f5e;
  color:#fff;
  background:#030f5e;
}
.producto-btn--carrito:hover {
  background:var(--color-marca);
  color:#fff;
}
.producto-btn--comprar {
  display:none;
}
.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:.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:.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 .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 .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:.5rem;
  margin-top:1rem;
  display:flex;
}
.modal-miniatura {
  cursor:pointer;
  opacity:.6;
  background:0 0;
  border:2px solid #0000;
  border-radius:6px;
  width:58px;
  height:58px;
  padding:0;
  transition:opacity .15s,border-color .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:.6rem;
  font-size:.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 .15s,color .15s;
  display:flex;
}
.flecha-relacionados:hover:not(:disabled) {
  border-color:var(--color-marca);
  color:var(--color-marca);
}
.flecha-relacionados:disabled {
  opacity:.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:.75rem;
  transition:box-shadow .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 .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:.5px;
  white-space:nowrap;
  text-overflow:ellipsis;
  margin-bottom:.35rem;
  font-size:calc(.85rem - 1.5px);
  font-weight:500;
  overflow:hidden;
}
.tarjeta-relacionado__precios {
  justify-content:center;
  align-items:center;
  gap:.4rem;
  display:flex;
}
.tarjeta-relacionado__anterior {
  color:#ccc;
  font-size:.78rem;
  text-decoration:line-through;
}
.tarjeta-relacionado__actual {
  color:var(--color-marca);
  font-size:.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:.2rem 0 0;
  font-size:.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:.25rem 0 0;
  padding-bottom:1.25rem;
  font-size:calc(.72rem + 1px);
  font-weight:700;
}
.producto-toast {
  color:#fff;
  z-index:2000;
  pointer-events:none;
  white-space:nowrap;
  border-radius:30px;
  padding:.75rem 1.5rem;
  font-size:.85rem;
  font-weight:600;
  animation:.3s cubic-bezier(.34,1.56,.64,1) forwards toastEntrada,.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:.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:#00155e;
  font-size:2rem;
  font-weight:600;
}
.carrito-volver {
  text-transform:uppercase;
  letter-spacing:.5px;
  color:#aaa;
  align-items:center;
  gap:.4rem;
  font-size:.78rem;
  font-weight:600;
  text-decoration:none;
  transition:color .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:.5px;
  border-radius:30px;
  margin-top:.5rem;
  padding:.7rem 2rem;
  font-size:.82rem;
  font-weight:700;
  text-decoration:none;
  transition:filter .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:.8px;
  color:#bbb;
  grid-template-columns:1fr 140px 140px 140px;
  padding:0 0 .75rem;
  font-size:.7rem;
  font-weight:700;
  display:grid;
}
.carrito-items__header.con-itau,.carrito-fila.con-itau {
  grid-template-columns:1fr 120px 150px 130px 130px;
}
.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 .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:.85rem;
  font-weight:500;
  line-height:1.3;
}
.carrito-fila__precio-mobile {
  display:none;
}
.carrito-fila__precio {
  text-align:center;
  color:#666;
  font-size:.88rem;
}
.carrito-fila__precio-itau {
  text-align:center;
  color:#f96f1e;
  font-size:.78rem;
  font-weight:700;
}
.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 .15s,color .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:.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:.88rem;
  font-weight:600;
  display:flex;
}
.carrito-fila__total {
  justify-content:center;
  align-items:center;
  gap:.75rem;
  display:flex;
}
.carrito-fila__total span {
  color:var(--color-marca);
  font-size:.9rem;
  font-weight:600;
}
.carrito-fila__quitar {
  color:#ccc;
  cursor:pointer;
  background:0 0;
  border:none;
  padding:3px;
  transition:color .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:.5rem;
  display:flex;
}
.resumen-item__nombre {
  color:#555;
  text-overflow:ellipsis;
  white-space:nowrap;
  flex:1;
  min-width:0;
  font-size:.8rem;
  overflow:hidden;
}
.resumen-envio__texto {
  color:#aaa;
  font-size:.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:#00155e;
  font-size:2rem;
  font-weight:600;
}
.checkout-volver {
  text-transform:uppercase;
  letter-spacing:.5px;
  color:#aaa;
  align-items:center;
  gap:.4rem;
  font-size:.78rem;
  font-weight:600;
  text-decoration:none;
  transition:color .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:#00155e;
  align-items:center;
  gap:.65rem;
  margin-bottom:1.5rem;
  font-size:1.05rem;
  font-weight:600;
  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:.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:.72rem;
  font-weight:400;
  color:#bbb!important;
}
.campo input,.campo textarea,.campo select {
  width:100%;
  font-size:.88rem;
  font-family:var(--fuente-cuerpo);
  color:#333;
  appearance:none;
  background:#fff;
  border:1.5px solid #e5e5e5;
  border-radius:10px;
  outline:none;
  padding:.65rem .9rem;
  transition:border-color .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:.3rem;
  font-size:.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;
}
.horarios-grupo {
  flex-wrap:wrap;
  gap:.6rem;
  display:flex;
}
.horario-opcion {
  color:#666;
  cursor:pointer;
  -webkit-user-select:none;
  user-select:none;
  border:1.5px solid #e5e5e5;
  border-radius:30px;
  align-items:center;
  gap:.5rem;
  padding:.55rem 1.1rem;
  font-size:.82rem;
  font-weight:500;
  transition:border-color .15s,color .15s,background .15s;
  display:flex;
}
.horario-opcion input[type=radio] {
  display:none;
}
.horario-opcion.seleccionado {
  border-color:var(--color-marca);
  color:var(--color-marca);
  background:#fdf7ed;
  font-weight:600;
}
.toggle-tarjeta {
  justify-content:space-between;
  align-items:center;
  margin-bottom:1rem;
  display:flex;
}
.toggle-tarjeta span {
  color:#444;
  font-size:.88rem;
  font-weight:500;
}
.toggle-btn {
  cursor:pointer;
  background:#e5e5e5;
  border:none;
  border-radius:13px;
  flex-shrink:0;
  width:46px;
  height:26px;
  transition:background .2s;
  position:relative;
}
.toggle-btn.activo {
  background:var(--color-marca);
}
.toggle-btn__circulo {
  background:#fff;
  border-radius:50%;
  width:20px;
  height:20px;
  transition:transform .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:.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 .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:.4rem .5rem .1rem;
  font-size:.75rem;
  display:block;
  overflow:hidden;
}
.tarjeta-item__precio {
  color:var(--color-marca);
  padding:0 .5rem .4rem;
  font-size:.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:.25rem;
  width:100%;
  padding:.35rem 0;
  font-size:.7rem;
  font-weight:700;
  transition:background .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:.25rem;
  width:100%;
  padding:.35rem 0;
  font-size:.7rem;
  font-weight:700;
  transition:background .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:#00155e;
  border-bottom:1px solid #eee;
  margin-bottom:1.25rem;
  padding-bottom:.75rem;
  font-size:1.2rem;
  font-weight:600;
}
.resumen-lista {
  border-bottom:1px solid #eee;
  flex-direction:column;
  gap:.85rem;
  margin-bottom:1.25rem;
  padding-bottom:1.25rem;
  list-style:none;
  display:flex;
}
.resumen-item {
  align-items:center;
  gap:.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:.78rem;
  font-weight:500;
  overflow:hidden;
}
.resumen-item__qty {
  color:#aaa;
  font-size:.7rem;
}
.resumen-item--tarjeta .resumen-item__nombre {
  color:var(--color-marca);
}
.resumen-item__precio {
  color:#333;
  flex-shrink:0;
  font-size:.8rem;
  font-weight:700;
}
.resumen-linea {
  color:#555;
  justify-content:space-between;
  align-items:center;
  padding:.45rem 0;
  font-size:.85rem;
  display:flex;
}
.resumen-envio-txt {
  color:#aaa;
  font-size:.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:.4rem;
  padding-top:.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:.75rem 0 1rem;
  padding:.65rem .85rem;
  font-size:.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:.6px;
  text-transform:uppercase;
  cursor:pointer;
  border:none;
  border-radius:10px;
  width:100%;
  margin-top:1.5rem;
  padding:.9rem;
  font-size:.85rem;
  font-weight:700;
  transition:filter .15s;
  display:block;
}
.resumen-btn-comprar:hover {
  filter:brightness(1.1);
}
.resumen-seguro {
  color:#777;
  justify-content:center;
  align-items:center;
  gap:.4rem;
  margin-top:.85rem;
  font-size:.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:#00155e;
  margin-bottom:.85rem;
  font-size:1.05rem;
  font-weight:600;
}
.checkout-banner__beneficios {
  grid-template-columns:1fr 1fr;
  gap:.35rem 1.5rem;
  margin-bottom:1.1rem;
  list-style:none;
  display:grid;
}
.checkout-banner__beneficios li {
  color:#555;
  font-size:.8rem;
}
.checkout-banner__botones {
  flex-wrap:wrap;
  gap:.65rem;
  display:flex;
}
.checkout-banner__btn {
  letter-spacing:.4px;
  text-transform:uppercase;
  cursor:pointer;
  border:none;
  border-radius:9px;
  padding:.55rem 1.25rem;
  font-size:.8rem;
  font-weight:700;
  transition:filter .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 .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 .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:.55rem .85rem;
  font-size:.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:.78rem;
  text-decoration:underline;
  transition:color .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:.5px;
  color:#888;
  align-items:center;
  gap:.35rem;
  margin-bottom:.65rem;
  font-size:.72rem;
  font-weight:600;
  display:flex;
}
.checkout-dirs-lista {
  flex-wrap:wrap;
  gap:.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:.55rem .85rem;
  transition:border-color .15s;
  display:flex;
}
.checkout-dir-btn strong {
  color:#444;
  font-size:.78rem;
}
.checkout-dir-btn span {
  color:#aaa;
  font-size:.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:.55rem;
  margin-bottom:.5rem;
  padding:.7rem .9rem;
  font-size:.78rem;
  display:flex;
}
.aviso-factura svg {
  flex-shrink:0;
  margin-top:1px;
}
.toggle-regalo-label {
  align-items:center;
  gap:.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:.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:.6rem;
  width:100%;
  max-width:400px;
  padding:2.5rem 2rem 2rem;
  animation:.3s cubic-bezier(.34,1.56,.64,1) slideUpModal;
  display:flex;
}
@keyframes slideUpModal {
  0% {
    opacity:0;
    transform:translateY(30px);
  }
  to {
    opacity:1;
    transform:translateY(0);
  }
}
.pedido-modal__logo {
  margin-bottom:.5rem;
}
.pedido-modal__logo img {
  object-fit:contain;
  max-width:180px;
  max-height:48px;
}
.pedido-modal__marca {
  font-family:var(--fuente-titulos);
  color:#00155e;
  letter-spacing:1px;
  font-size:1.4rem;
}
.pedido-modal__check {
  margin:.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:.6s cubic-bezier(.65,0,.45,1) .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:.4s .65s forwards drawTick;
}
@keyframes drawCircle {
  to {
    stroke-dashoffset:0;
  }
}
@keyframes drawTick {
  to {
    stroke-dashoffset:0;
  }
}
.pedido-modal__titulo {
  font-family:var(--fuente-titulos);
  color:#00155e;
  margin:.25rem 0 0;
  font-size:1.35rem;
  font-weight:600;
}
.pedido-modal__subtitulo {
  color:#888;
  margin:0 0 .75rem;
  font-size:.82rem;
  line-height:1.5;
}
.pedido-modal__btn {
  background:var(--color-marca);
  color:#fff;
  letter-spacing:.5px;
  text-transform:uppercase;
  border-radius:10px;
  width:100%;
  margin-top:.25rem;
  padding:.85rem;
  font-size:.85rem;
  font-weight:700;
  text-decoration:none;
  transition:filter .15s;
  display:block;
}
.pedido-modal__btn:hover {
  filter:brightness(1.1);
}
.pedido-modal__link {
  color:#bbb;
  margin-top:.25rem;
  font-size:.78rem;
  text-decoration:none;
  transition:color .15s;
}
.pedido-modal__link:hover {
  color:#888;
}
.metodos-pago-lista {
  flex-direction:column;
  gap:.6rem;
  display:flex;
}
.metodo-pago-opcion {
  cursor:pointer;
  border:1.5px solid #e5e0d9;
  border-radius:10px;
  flex-direction:column;
  gap:.15rem;
  padding:.85rem 1rem;
  transition:border-color .15s,background .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:.88rem;
  font-weight:600;
}
.metodo-pago-opcion.seleccionado .metodo-pago-opcion__nombre {
  color:var(--color-marca);
}
.metodo-pago-opcion__desc {
  color:#888;
  font-size:.75rem;
}
.cupon-input-row {
  gap:.5rem;
  display:flex;
}
.cupon-input {
  letter-spacing:.08em;
  text-transform:uppercase;
  border:1.5px solid #e5e0d9;
  border-radius:10px;
  outline:none;
  flex:1;
  padding:.7rem .9rem;
  font-family:monospace;
  font-size:.88rem;
  transition:border-color .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:.7rem 1.2rem;
  font-size:.82rem;
  font-weight:600;
  transition:filter .15s;
}
.cupon-btn:hover:not(:disabled) {
  filter:brightness(1.1);
}
.cupon-btn:disabled {
  opacity:.5;
  cursor:not-allowed;
}
.cupon-error {
  color:#c0392b;
  margin-top:.5rem;
  font-size:.78rem;
}
.cupon-aplicado {
  background:#f0faf4;
  border:1.5px solid #a3d9b1;
  border-radius:10px;
  justify-content:space-between;
  align-items:center;
  gap:.75rem;
  padding:.75rem 1rem;
  display:flex;
}
.cupon-aplicado__texto {
  color:#2d7a4a;
  font-size:.84rem;
}
.cupon-aplicado__quitar {
  color:#888;
  cursor:pointer;
  background:0 0;
  border:none;
  flex-shrink:0;
  font-size:.75rem;
  text-decoration:underline;
}
.cupon-bloqueado-itau {
  color:#999;
  background:#fafafa;
  border:1px dashed #ddd;
  border-radius:8px;
  margin-top:-.5rem;
  margin-bottom:.5rem;
  padding:.6rem .9rem;
  font-size:.78rem;
}
.resumen-linea--descuento {
  color:#2d7a4a;
  font-weight:600;
}
.checkout-alerta-mixto {
  background:#fff8f0;
  border:1.5px solid #f0a040;
  border-radius:12px;
  gap:.85rem;
  margin-bottom:.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:.5rem;
  font-size:.88rem;
  font-weight:700;
}
.checkout-alerta-mixto__desc {
  color:#7a4500;
  margin-bottom:.25rem;
  font-size:.8rem;
}
.checkout-alerta-mixto__hint {
  color:#a05000;
  margin-top:.5rem;
  font-size:.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:.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:.82rem;
  overflow:hidden;
}
.cuenta-sidebar__nombre span {
  color:#aaa;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-size:.7rem;
  overflow:hidden;
}
.cuenta-nav {
  flex-direction:column;
  padding:.5rem 0;
  display:flex;
}
.cuenta-nav__item {
  color:#555;
  cursor:pointer;
  text-align:left;
  background:0 0;
  border:none;
  align-items:center;
  gap:.6rem;
  padding:.7rem 1.1rem;
  font-size:.82rem;
  transition:background .12s,color .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:.55rem;
  width:100%;
  padding:.75rem 1.1rem;
  font-size:.78rem;
  transition:color .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:#00155e;
  margin-bottom:1.5rem;
  font-size:1.2rem;
  font-weight:600;
}
.cuenta-seccion__header .cuenta-seccion__titulo {
  margin-bottom:0;
}
.cuenta-subtitulo {
  color:#444;
  margin-bottom:.75rem;
  font-size:.88rem;
  font-weight:600;
}
.cuenta-hint {
  color:#aaa;
  margin-bottom:1rem;
  font-size:.78rem;
}
.cuenta-vacio {
  color:#bbb;
  text-align:center;
  padding:2rem 0;
  font-size:.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:.6rem .9rem;
  font-size:.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:.5px;
  color:#888;
  margin-bottom:.4rem;
  font-size:.78rem;
  font-weight:600;
  display:block;
}
.campo-req {
  color:var(--color-marca);
}
.campo-opcional {
  text-transform:none;
  letter-spacing:0;
  color:#bbb;
  font-size:.72rem;
  font-weight:400;
}
.campo input,.campo textarea,.campo select {
  width:100%;
  font-size:.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:.65rem .9rem;
  transition:border-color .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:.3rem;
  font-size:.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:.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:.75rem;
  transform:translateY(-50%);
}
.campo-check {
  color:#555;
  cursor:pointer;
  align-items:center;
  gap:.55rem;
  margin-bottom:1rem;
  font-size:.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:.5px;
  text-transform:uppercase;
  cursor:pointer;
  border:none;
  border-radius:10px;
  margin-top:.5rem;
  padding:.7rem 1.75rem;
  font-size:.85rem;
  font-weight:700;
  transition:filter .15s;
  display:inline-block;
}
.cuenta-btn-guardar:hover {
  filter:brightness(1.1);
}
.cuenta-btn-guardar:disabled {
  opacity:.6;
  cursor:not-allowed;
}
.cuenta-btn-cancelar {
  color:#888;
  cursor:pointer;
  background:0 0;
  border:1.5px solid #e5e5e5;
  border-radius:10px;
  margin-top:.5rem;
  padding:.7rem 1.25rem;
  font-size:.82rem;
  font-weight:600;
  transition:border-color .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:.4px;
  cursor:pointer;
  background:#fdf7ed;
  border-radius:8px;
  align-items:center;
  gap:.4rem;
  padding:.5rem 1rem;
  font-size:.78rem;
  font-weight:700;
  transition:background .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:#00155e;
  text-align:center;
  margin-bottom:1.5rem;
  font-size:1.6rem;
  font-weight:600;
}
.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:.65rem;
  font-size:.85rem;
  font-weight:600;
  transition:color .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:.6rem .85rem;
  font-size:.8rem;
}
.acceso-btn {
  background:var(--color-marca);
  color:#fff;
  letter-spacing:.5px;
  text-transform:uppercase;
  cursor:pointer;
  border:none;
  border-radius:10px;
  width:100%;
  margin-top:1.25rem;
  padding:.85rem;
  font-size:.88rem;
  font-weight:700;
  transition:filter .15s;
  display:block;
}
.acceso-btn:hover {
  filter:brightness(1.1);
}
.acceso-btn:disabled {
  opacity:.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:.5px;
  color:var(--color-marca);
  border:1px solid var(--color-marca);
  background:#fff;
  border-radius:20px;
  margin-bottom:.5rem;
  padding:.15rem .6rem;
  font-size:.65rem;
  font-weight:700;
  display:inline-block;
}
.dir-nombre {
  color:#333;
  margin-bottom:.3rem;
  font-size:.85rem;
  font-weight:700;
}
.dir-linea {
  color:#666;
  margin-bottom:.15rem;
  font-size:.78rem;
}
.dir-zona {
  color:var(--color-marca);
  align-items:center;
  gap:.3rem;
  font-weight:500;
  display:flex;
}
.dir-acciones {
  border-top:1px solid #f0ede8;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:.75rem;
  padding-top:.6rem;
  display:flex;
}
.dir-btn {
  color:#888;
  cursor:pointer;
  background:0 0;
  border:none;
  align-items:center;
  gap:.3rem;
  padding:0;
  font-size:.72rem;
  transition:color .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:.5rem;
  padding:1.25rem;
}
.dir-form__botones {
  gap:.75rem;
  margin-top:1rem;
  display:flex;
}
.pedidos-lista {
  flex-direction:column;
  gap:.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:.85rem;
  width:100%;
  padding:.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:.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:.85rem;
  font-weight:700;
}
.pedido-fecha {
  color:#aaa;
  font-size:.72rem;
}
.pedido-card__right {
  flex-shrink:0;
  align-items:center;
  gap:.75rem;
  display:flex;
}
.pedido-status {
  letter-spacing:.3px;
  color:#555;
  background:#f7f7f7;
  border-radius:20px;
  align-items:center;
  gap:.35rem;
  padding:.25rem .7rem;
  font-size:.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:.85rem;
  font-weight:700;
}
.pedido-chevron {
  color:#aaa;
  transition:transform .2s;
}
.pedido-chevron.abierto {
  transform:rotate(180deg);
}
.pedido-card__detalle {
  background:#faf9f7;
  border-top:1px solid #f0ede8;
  padding:.85rem 1.1rem 1rem;
}
.pedido-dir {
  color:#666;
  margin-bottom:.75rem;
  font-size:.78rem;
}
.pedido-items {
  flex-direction:column;
  gap:.65rem;
  list-style:none;
  display:flex;
}
.pedido-item {
  align-items:center;
  gap:.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:.4rem;
  font-size:.8rem;
  display:flex;
}
.pedido-item__badge-tarjeta {
  color:#92400e;
  background:#fef3c7;
  border-radius:4px;
  padding:1px 5px;
  font-size:.65rem;
  font-weight:700;
}
.pedido-item__mensaje {
  color:#92400e;
  background:#fef9ec;
  border-left:2px solid #f59e0b;
  border-radius:2px;
  padding:2px 6px;
  font-size:.75rem;
  font-style:italic;
}
.pedido-item__qty {
  color:#aaa;
  font-size:.75rem;
}
.pedido-item__precio {
  color:#333;
  font-size:.82rem;
  font-weight:700;
}
.pedido-nota {
  color:#aaa;
  margin-top:.6rem;
  font-size:.75rem;
  font-style:italic;
}
.pedido-totales {
  border-top:1px solid #ede9e3;
  flex-direction:column;
  gap:.3rem;
  margin-top:.85rem;
  padding-top:.75rem;
  display:flex;
}
.pedido-totales__row {
  color:#888;
  justify-content:space-between;
  font-size:.78rem;
  display:flex;
}
.pedido-totales__row--total {
  color:#333;
  border-top:1px dashed #ddd;
  margin-top:.15rem;
  padding-top:.3rem;
  font-size:.85rem;
  font-weight:700;
}
.pedido-factura {
  border-top:1px solid #ede9e3;
  margin-top:1rem;
  padding-top:.9rem;
}
.pedido-factura__titulo {
  text-transform:uppercase;
  letter-spacing:.7px;
  color:#aaa;
  margin-bottom:.65rem;
  font-size:.68rem;
  font-weight:700;
}
.pedido-factura__grid {
  grid-template-columns:1fr 1fr;
  gap:.5rem 1.5rem;
  display:grid;
}
.pedido-factura__item {
  color:#555;
  flex-direction:column;
  gap:1px;
  font-size:.78rem;
  display:flex;
}
.pedido-factura__label {
  color:#aaa;
  text-transform:uppercase;
  letter-spacing:.5px;
  font-size:.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 .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:.6rem .65rem .5rem;
}
.fav-card__nombre {
  color:#333;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-size:.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:.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 .15s;
  display:flex;
  position:absolute;
  top:5px;
  right:5px;
}
.fav-card:hover .fav-card__quitar {
  opacity:1;
}
.fechas-lista {
  flex-direction:column;
  gap:.6rem;
  margin-bottom:1rem;
  display:flex;
}
.fecha-chip {
  background:#faf9f7;
  border:1.5px solid #f0ede8;
  border-radius:12px;
  align-items:center;
  gap:.85rem;
  padding:.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:.85rem;
  font-weight:600;
  display:block;
  overflow:hidden;
}
.fecha-chip__meta {
  color:#aaa;
  margin-top:2px;
  font-size:.72rem;
  display:block;
}
.fecha-chip__btns {
  flex-shrink:0;
  gap:.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 .12s,color .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:.5rem;
  padding:1.25rem;
}
.fecha-selector {
  gap:.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:.75rem;
    border-left:none!important;
    padding:.65rem .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:.4rem;
  margin-bottom:1.75rem;
  font-size:.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:#00155e;
  margin-bottom:.4rem;
  font-size:1.6rem;
}
.categ-desc {
  color:#888;
  font-size:.87rem;
}
.categ-cargando,.categ-vacio {
  color:#aaa;
  text-align:center;
  padding:3rem 0;
  font-size:.9rem;
}
.categ-vacio a {
  color:var(--color-marca);
  text-decoration:none;
}
.servicio-detalle {
  margin-bottom:3rem;
}
.servicio-detalle__intro {
  color:var(--color-texto-principal);
  font-size:1rem;
  line-height:1.6;
  max-width:760px;
  margin-bottom:2rem;
}
.servicio-detalle__items {
  grid-template-columns:repeat(2,1fr);
  gap:1.5rem;
  display:grid;
}
.servicio-item {
  background:#fff;
  border:1px solid var(--color-borde);
  border-left:4px solid var(--color-marca);
  border-radius:12px;
  padding:1.5rem 1.75rem;
}
.servicio-item__titulo {
  font-family:var(--fuente-titulos);
  color:var(--color-base-marino);
  font-size:1.05rem;
  font-weight:600;
  margin-bottom:1rem;
}
.servicio-item__pasos {
  color:var(--color-texto-principal);
  font-size:.85rem;
  line-height:1.6;
  padding-left:1.1rem;
}
.servicio-item__pasos li + li {
  margin-top:.4rem;
}
.servicio-item__descripcion {
  color:var(--color-texto-principal);
  font-size:.88rem;
  line-height:1.65;
}
.servicio-detalle__contacto {
  background:var(--color-base-marino);
  border-radius:12px;
  justify-content:space-between;
  align-items:center;
  gap:1.5rem;
  margin-top:2rem;
  padding:1.75rem 2rem;
  display:flex;
}
.servicio-detalle__contacto h3 {
  color:#fff;
  font-family:var(--fuente-titulos);
  font-size:1.15rem;
  font-weight:600;
  margin-bottom:.35rem;
}
.servicio-detalle__contacto p {
  color:rgba(255,255,255,.7);
  font-size:.88rem;
}
.servicio-detalle__contacto-btn {
  background:#25d366;
  color:#fff;
  border-radius:30px;
  align-items:center;
  gap:.5rem;
  padding:.85rem 1.75rem;
  font-size:.88rem;
  font-weight:600;
  white-space:nowrap;
  display:flex;
  flex-shrink:0;
  transition:filter .2s;
}
.servicio-detalle__contacto-btn:hover {
  filter:brightness(1.08);
}
@media (max-width:767px) {
  .servicio-detalle__items {
    grid-template-columns:1fr;
  }
  .servicio-detalle__contacto {
    flex-direction:column;
    align-items:flex-start;
  }
  .servicio-detalle__contacto-btn {
    width:100%;
    justify-content:center;
  }
}
.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:.85rem;
  display:block;
  position:relative;
  overflow:hidden;
}
.categ-card__img {
  object-fit:cover;
  width:100%;
  height:100%;
  transition:transform .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:.2rem .45rem;
  font-size:.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 .2s,background .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:.35rem;
  display:flex;
}
.categ-card__nombre {
  color:#777;
  text-transform:uppercase;
  letter-spacing:.5px;
  font-size:calc(.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:.45rem;
  display:flex;
}
.categ-card__anterior {
  color:#bbb;
  font-size:.8rem;
  text-decoration:line-through;
}
.categ-card__precio {
  color:var(--color-marca);
  font-size:.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:.4rem;
  margin-top:.35rem;
  padding:.45rem .75rem;
  font-size:.76rem;
  font-weight:600;
  transition:background .2s,color .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:.68rem;
  font-weight:600;
}
.categ-paginador {
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:.4rem;
  margin-top:3rem;
  display:flex;
}
.categ-pag-btn {
  color:#666;
  cursor:pointer;
  background:0 0;
  border:1px solid #ddd;
  border-radius:8px;
  padding:.45rem .9rem;
  font-size:.85rem;
  transition:border-color .2s,color .2s;
}
.categ-pag-btn:hover:not(:disabled) {
  border-color:var(--color-marca);
  color:var(--color-marca);
}
.categ-pag-btn:disabled {
  opacity:.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:.82rem;
  transition:background .2s,color .2s,border-color .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 .2rem;
  font-size:.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:#00155e;
  font-size:1.6rem;
}
.todos-count {
  color:#aaa;
  font-size:.8rem;
}
.todos-estado {
  color:#aaa;
  text-align:center;
  padding:3rem 0;
  font-size:.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:.85rem;
  display:block;
  position:relative;
  overflow:hidden;
}
.todos-card__img {
  object-fit:cover;
  width:100%;
  height:100%;
  transition:transform .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:.2rem .45rem;
  font-size:.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 .2s,background .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:.35rem;
  display:flex;
}
.todos-card__nombre {
  color:#777;
  text-transform:uppercase;
  letter-spacing:.5px;
  font-size:calc(.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:.45rem;
  display:flex;
}
.todos-card__anterior {
  color:#bbb;
  font-size:.8rem;
  text-decoration:line-through;
}
.todos-card__precio {
  color:var(--color-marca);
  font-size:.95rem;
  font-weight:600;
}
.todos-card__itau-leyenda {
  color:#f96f1e;
  margin:0;
  font-size:.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:.4rem;
  margin-top:.35rem;
  padding:.45rem .75rem;
  font-size:.76rem;
  font-weight:600;
  transition:background .2s,color .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:.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:.3rem;
  padding:.45rem 1rem;
  font-size:.8rem;
  transition:border-color .2s,color .2s;
  display:flex;
}
.todos-paginador__btn:hover:not(:disabled) {
  border-color:var(--color-marca);
  color:var(--color-marca);
}
.todos-paginador__btn:disabled {
  opacity:.3;
  cursor:default;
}
.todos-paginador__paginas {
  align-items:center;
  gap:.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:.82rem;
  transition:background .2s,color .2s,border-color .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 .2rem;
  font-size:.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 .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(.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:.75rem 2.5rem;
  font-size:.85rem;
  font-weight:600;
  transition:all .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 .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 .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 .2s,color .2s;
  display:flex;
}
.boton-deslizador:hover:not(:disabled) {
  border-color:var(--color-marca);
  color:var(--color-marca);
}
.boton-deslizador:disabled {
  opacity:.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 .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:.5px;
  text-align:center;
  margin-bottom:.3rem;
  font-size:calc(.85rem - .5px);
  font-weight:700;
  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:.45rem;
  margin-bottom:.15rem;
  display:flex;
}
.tarjeta-regalo__anterior {
  color:#bbb;
  font-size:.78rem;
  text-decoration:line-through;
}
.tarjeta-regalo__precio {
  color:var(--color-marca);
  font-size:calc(.92rem + 1px);
  font-weight:700;
}
.tarjeta-regalo__itau-leyenda {
  color:#f96f1e;
  text-align:center;
  margin:0;
  font-size:.68rem;
  font-weight:600;
}
.tarjeta-regalo__agregar {
  color:var(--color-marca);
  border:1px solid var(--color-marca);
  font-size:.76rem;
  font-weight:600;
  font-family:var(--fuente-cuerpo);
  cursor:pointer;
  background:0 0;
  border-radius:20px;
  justify-content:center;
  align-items:center;
  gap:.4rem;
  margin-top:.5rem;
  padding:.45rem .75rem;
  transition:background .2s,color .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 .2s,color .2s;
  display:flex;
}
.flecha-conexion:hover:not(:disabled) {
  border-color:var(--color-marca);
  color:var(--color-marca);
}
.flecha-conexion:disabled {
  opacity:.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:.9rem;
  position:relative;
  overflow:hidden;
}
.tarjeta-conexion__imagen img {
  object-fit:cover;
  width:100%;
  height:100%;
  transition:transform .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:.5px;
  text-align:center;
  font-size:calc(.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 .2s,color .2s;
  display:flex;
}
.flecha-productos:hover:not(:disabled) {
  border-color:var(--color-marca);
  color:var(--color-marca);
}
.flecha-productos:disabled {
  opacity:.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 .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:.2rem .5rem;
  font-size:.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:.5px;
  text-align:center;
  margin-bottom:.5rem;
  font-size:calc(.85rem - 1.5px);
  font-weight:500;
}
.precio-producto {
  justify-content:center;
  align-items:center;
  gap:.5rem;
  font-size:1rem;
  display:flex;
}
.precio-anterior {
  color:var(--color-texto-suave);
  font-size:.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:.5px;
  text-transform:uppercase;
  cursor:pointer;
  border:none;
  border-radius:30px;
  padding:.8rem 2.5rem;
  font-size:.85rem;
  font-weight:600;
  text-decoration:none;
  transition:filter .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:.76rem;
  font-weight:600;
  font-family:var(--fuente-cuerpo);
  cursor:pointer;
  background:0 0;
  border-radius:20px;
  justify-content:center;
  align-items:center;
  gap:.4rem;
  margin-top:.5rem;
  padding:.45rem .75rem;
  transition:background .2s,color .2s;
  display:flex;
}
.boton-agregar-carrito:hover,.boton-agregar-carrito--agregado {
  background:var(--color-marca);
  color:#fff;
}
.edicion-limitada {
  color:var(--color-texto-principal);
  background:#fff;
  border-radius:0;
  margin:0 2rem;
  padding:4rem 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:.3px;
  opacity:.9;
  margin-top:.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 .25s,box-shadow .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:.85rem .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:.25rem;
  font-size:.7rem;
  font-weight:700;
  display:block;
}
.tarjeta-edicion__contenido h3 {
  font-size:calc(.85rem - 1.5px);
  font-weight:500;
  font-family:var(--fuente-cuerpo);
  color:#888;
  text-transform:uppercase;
  letter-spacing:.5px;
  margin-bottom:.5rem;
}
.tarjeta-edicion__contenido p {
  color:#666;
  margin-bottom:1rem;
  font-size:.82rem;
  line-height:1.5;
}
.enlace-comprar {
  color:var(--color-marca);
  text-underline-offset:3px;
  font-size:.82rem;
  font-weight:600;
  text-decoration:underline;
}
.seguinos-instagram {
  margin-bottom:70px;
  padding:4rem 0;
}
.instagram-titulo {
  justify-content:center;
  align-items:center;
  gap:.6rem;
  display:flex;
}
.instagram-titulo h2 {
  margin:0;
}
.instagram-handle {
  text-align:center;
  color:#888;
  letter-spacing:.5px;
  margin-top:.25rem;
  font-size:.9rem;
  text-decoration:none;
  display:block;
}
.instagram-handle:hover {
  color:var(--color-base-marino);
}
.cuadricula-instagram {
  grid-template-columns:repeat(4,1fr);
  gap:.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 .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 .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:.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:.8;
  background:0 0;
  border:none;
  justify-content:center;
  align-items:center;
  transition:opacity .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 .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:.4px;
  border-radius:30px;
  align-items:center;
  gap:.5rem;
  padding:.65rem 1.5rem;
  font-size:.85rem;
  font-weight:600;
  text-decoration:none;
  transition:filter .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:2rem;
  margin-top:2rem;
  margin-bottom:3rem;
  padding:1rem 2rem 3rem;
  display:flex;
}
.bloques-duo::before {
  content:"Presentes en las mayores obras del país";
  display:block;
  width:100%;
  text-align:center;
  font-family:var(--fuente-titulos);
  font-size:2.4rem;
  font-weight:600;
  color:#00155e;
  margin-bottom:1rem;
}
.bloque-duo {
  background:none;
  border-radius:0;
  width:100%;
  max-width:380px;
  padding:0;
  transition:none;
  box-shadow:none;
}
.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:none;
}
.bloque-duo__imagen {
  flex-shrink:0;
  overflow:visible;
}
.bloque-duo__imagen img {
  object-fit:cover;
  width:100%;
  height:100%;
  transition:transform .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 .4rem 0;
  display:flex;
}
.bloque-duo__contenido h2 {
  color:var(--color-marca);
  margin-bottom:.45rem;
  font-family:Raleway,sans-serif;
  font-size:1rem;
  line-height:1.3;
}
.bloque-duo__contenido p {
  color:#777;
  margin-bottom:1rem;
  font-size:.78rem;
  line-height:1.55;
}
.boton-bloque-duo {
  background-color:var(--color-marca);
  color:#fff;
  letter-spacing:.6px;
  text-transform:uppercase;
  border-radius:30px;
  align-items:center;
  gap:.3rem;
  padding:.55rem 1.2rem;
  font-size:.72rem;
  font-weight:600;
  text-decoration:none;
  transition:filter .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:.5px;
  text-transform:uppercase;
  cursor:pointer;
  border:none;
  border-radius:30px;
  padding:.8rem 2rem;
  font-size:.85rem;
  font-weight:600;
  transition:filter .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:600px;
  font-size:1.6rem;
  font-style:normal;
  font-weight:600;
  line-height:1.4;
  color:#00155e!important;
  margin-bottom:1.5rem!important;
  font-family:Raleway,sans-serif!important;
}
.causa-cuerpo {
  font-size:.95rem;
  line-height:1.8;
  color:#727176!important;
  margin-bottom:1.5rem!important;
  font-family:Lato,sans-serif!important;
}
.causa-cta {
  font-size:.9rem;
  font-weight:600;
  color:#00155e!important;
  margin-bottom:0!important;
  font-family:Lato,sans-serif!important;
  letter-spacing:1px;
}
.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:.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:.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:.5px;
  margin:0;
  font-size:calc(.85rem - 1.5px);
  font-weight:500;
}
.curador-sidebar__nombre {
  font-family:var(--fuente-titulos);
  color:#00155e;
  margin:0;
  font-size:1.4rem;
  font-weight:600;
}
.curador-sidebar__texto {
  color:#666;
  margin:0;
  font-size:.82rem;
  line-height:1.65;
}
.curador-sin-productos {
  color:#bbb;
  padding:2rem 0;
  font-size:.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:.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 .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 .2s,background .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:.5px;
  margin-bottom:.3rem;
  font-size:calc(.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:.4rem;
  margin-bottom:.15rem;
  display:flex;
}
.tarjeta-curador__anterior {
  color:#bbb;
  font-size:.78rem;
  text-decoration:line-through;
}
.tarjeta-curador__precio {
  color:var(--color-marca);
  font-size:.88rem;
  font-weight:600;
}
.tarjeta-curador__itau-leyenda {
  color:#f96f1e;
  text-align:center;
  margin:0 0 .5rem;
  font-size:.65rem;
  font-weight:600;
}
.tarjeta-curador__agregar {
  background:var(--color-marca);
  color:#fff;
  letter-spacing:.4px;
  text-transform:uppercase;
  cursor:pointer;
  border:none;
  border-radius:20px;
  align-items:center;
  gap:.35rem;
  margin-top:.4rem;
  padding:.38rem .85rem;
  font-size:.7rem;
  font-weight:600;
  transition:filter .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:.75rem;
  font-size:.7rem;
  font-weight:600;
}
.nosotros-hero__titulo {
  color:#fff;
  margin-bottom:.75rem;
  font-family:var(--fuente-titulos);
  font-size:clamp(2.4rem,5vw,3.6rem);
  font-weight:600;
  line-height:1.15;
}
.nosotros-hero__subtitulo {
  font-family:var(--fuente-cuerpo);
  color:#ffffffd9;
  letter-spacing:.5px;
  font-size:1rem;
}
.nosotros-intro {
  text-align:center;
  max-width:720px;
  margin:6rem auto;
}
.nosotros-intro__frase {
  color:var(--color-base-marino);
  margin-bottom:2rem;
  font-family:var(--fuente-titulos);
  font-size:1.35rem;
  font-weight:600;
  line-height:1.4;
}
.nosotros-intro p {
  color:#555;
  margin-bottom:1.25rem;
  font-size:1rem;
  line-height:1.85;
}
.nosotros-polaroids {
  max-width:1100px;
  margin:0 auto 2rem;
  padding:0 2rem 5rem;
}
.polaroid-masonry {
  columns:3 220px;
  column-gap:1.75rem;
}
.polaroid-masonry__item {
  break-inside:avoid;
  background:#fff;
  border-radius:2px;
  margin-bottom:1.75rem;
  padding:.6rem .6rem 2.3rem;
  position:relative;
  transform:rotate(var(--r));
  transition:transform .3s,box-shadow .3s;
  box-shadow:0 8px 24px rgba(0,0,0,.12),0 2px 6px rgba(0,0,0,.08);
}
.polaroid-masonry__item:hover {
  transform:rotate(0deg) scale(1.04);
  box-shadow:0 18px 38px rgba(0,0,0,.18),0 4px 10px rgba(0,0,0,.1);
  z-index:2;
}
.polaroid-masonry__item img {
  width:100%;
  border-radius:1px;
  display:block;
}
.polaroid-masonry__item figcaption {
  text-align:center;
  color:var(--color-base-marino);
  font-family:var(--fuente-titulos);
  font-size:.8rem;
  font-weight:600;
  line-height:1.3;
  position:absolute;
  bottom:.75rem;
  left:0;
  right:0;
}
@media (max-width:700px) {
  .polaroid-masonry {
    columns:2 150px;
    column-gap:1rem;
  }
  .polaroid-masonry__item {
    margin-bottom:1rem;
  }
}
.nosotros-historia {
  max-width:100%;
  margin:0;
  padding:5rem 2rem;
}
.nosotros-historia.contenedor {
  max-width:100%;
  padding:5rem 2rem;
}
.nosotros-historia__grid {
  grid-template-columns:380px 1fr;
  gap:3.5rem;
  max-width:1000px;
  margin:0 auto;
  align-items:start;
  display:grid;
}
.nosotros-historia__foto {
  background:#fff;
  border-radius:6px;
  padding:.6rem .6rem 0;
  transform:rotate(-1.5deg);
  box-shadow:0 14px 34px rgba(0,0,0,.16);
}
.nosotros-historia__foto img {
  width:100%;
  border-radius:2px;
  display:block;
}
.nosotros-historia__foto figcaption {
  text-align:center;
  color:#999;
  font-family:var(--fuente-cuerpo);
  font-size:.75rem;
  font-style:italic;
  padding:.7rem 0;
}
.nosotros-historia__contenido h2 {
  color:var(--color-base-marino);
  font-family:var(--fuente-titulos);
  font-size:2rem;
  font-weight:600;
  margin-bottom:1rem;
}
.nosotros-historia__contenido > p {
  color:#666;
  line-height:1.7;
  margin-bottom:2rem;
}
.nosotros-historia__timeline {
  list-style:none;
}
.nosotros-historia__timeline li {
  border-left:2px solid var(--color-borde);
  margin-left:5px;
  padding:0 0 1.75rem 1.5rem;
  position:relative;
}
.nosotros-historia__timeline li:last-child {
  border-left:2px solid transparent;
  padding-bottom:0;
}
.nosotros-historia__timeline li:after {
  content:"";
  background:var(--color-marca);
  width:2px;
  height:0;
  position:absolute;
  top:0;
  left:-2px;
  transition:height .7s ease;
}
.nosotros-historia__timeline.en-vista li:after {
  height:100%;
}
.nosotros-historia__timeline li:before {
  content:"";
  background:var(--color-marca);
  border:2px solid #fff;
  border-radius:50%;
  width:12px;
  height:12px;
  position:absolute;
  top:1px;
  left:-7px;
  transform:scale(0);
  transition:transform .35s cubic-bezier(.34,1.56,.64,1);
  z-index:1;
}
.nosotros-historia__timeline.en-vista li:before {
  transform:scale(1);
}
.nosotros-historia__timeline li:nth-child(1):after,.nosotros-historia__timeline li:nth-child(1):before {
  transition-delay:0s;
}
.nosotros-historia__timeline li:nth-child(2):after,.nosotros-historia__timeline li:nth-child(2):before {
  transition-delay:.3s;
}
.nosotros-historia__timeline li:nth-child(3):after,.nosotros-historia__timeline li:nth-child(3):before {
  transition-delay:.6s;
}
.nosotros-historia__timeline li:nth-child(4):after,.nosotros-historia__timeline li:nth-child(4):before {
  transition-delay:.9s;
}
.nosotros-historia__timeline li:nth-child(5):after,.nosotros-historia__timeline li:nth-child(5):before {
  transition-delay:1.2s;
}
.nosotros-historia__año {
  color:var(--color-marca);
  text-transform:uppercase;
  letter-spacing:.5px;
  font-family:var(--fuente-titulos);
  font-size:.78rem;
  font-weight:700;
  display:block;
  margin-bottom:.25rem;
  opacity:0;
  transform:translateX(-8px);
  transition:opacity .4s ease,transform .4s ease;
}
.nosotros-historia__timeline.en-vista li:nth-child(1) .nosotros-historia__año {
  transition-delay:.15s;
}
.nosotros-historia__timeline.en-vista li:nth-child(2) .nosotros-historia__año {
  transition-delay:.45s;
}
.nosotros-historia__timeline.en-vista li:nth-child(3) .nosotros-historia__año {
  transition-delay:.75s;
}
.nosotros-historia__timeline.en-vista li:nth-child(4) .nosotros-historia__año {
  transition-delay:1.05s;
}
.nosotros-historia__timeline.en-vista li:nth-child(5) .nosotros-historia__año {
  transition-delay:1.35s;
}
.nosotros-historia__timeline.en-vista .nosotros-historia__año {
  opacity:1;
  transform:translateX(0);
}
.nosotros-historia__timeline p {
  color:#555;
  font-size:.9rem;
  line-height:1.6;
}
@media (max-width:767px) {
  .nosotros-historia__grid {
    grid-template-columns:1fr;
    gap:2.5rem;
  }
  .nosotros-historia__foto {
    max-width:320px;
    margin:0 auto;
  }
}
.nosotros-cta {
  text-align:center;
  padding:6rem 2rem;
}
.nosotros-cta h2 {
  color:var(--color-base-marino);
  margin-bottom:2rem;
  font-size:2rem;
  font-weight:600;
}
.nosotros-cta__boton {
  background-color:var(--color-marca);
  color:#fff;
  font-family:var(--fuente-cuerpo);
  letter-spacing:.7px;
  text-transform:uppercase;
  border-radius:30px;
  padding:.85rem 2.4rem;
  font-size:.82rem;
  font-weight:600;
  text-decoration:none;
  transition:filter .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 {
    padding-bottom:3rem;
  }
}
.faq-page {
  background:linear-gradient(180deg, #f7f1e7 0, #fff 28%);
}
.faq-hub-hero {
  background:radial-gradient(circle at 14% 18%, rgba(229, 152, 56, .2), transparent 24%), radial-gradient(circle at 84% 20%, rgba(255, 255, 255, .12), transparent 18%), linear-gradient(135deg, #04114f 0, #081a68 56%, #05113d 100%);
  padding:5.75rem 0 6.5rem;
  position:relative;
  overflow:hidden;
}
.faq-hub-hero:after {
  content:"";
  background-image:linear-gradient(rgba(255, 255, 255, .06) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .06) 1px, transparent 1px);
  background-size:44px 44px;
  opacity:.28;
  inset:0;
  position:absolute;
  mask-image:linear-gradient(180deg, rgba(0, 0, 0, .95), rgba(0, 0, 0, .2) 76%, transparent);
}
.faq-hub-hero__grid {
  z-index:1;
  grid-template-columns:minmax(0, 1.15fr) minmax(320px, .85fr);
  align-items:end;
  gap:2rem;
  display:grid;
  position:relative;
}
.faq-hub-hero__copy {
  max-width:720px;
}
.faq-hub-hero__eyebrow {
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(255, 255, 255, .72);
  margin-bottom:1rem;
  font-size:.72rem;
  font-weight:700;
}
.faq-hub-hero__title {
  color:#fff;
  text-wrap:balance;
  letter-spacing:-.05em;
  margin:0 0 1rem;
  font-size:clamp(2.8rem, 5vw, 4.9rem);
  font-style:italic;
  font-weight:500;
  line-height:.96;
}
.faq-hub-hero__lead {
  color:rgba(255, 255, 255, .82);
  max-width:36rem;
  margin:0;
  font-size:1.04rem;
  line-height:1.85;
}
.faq-hub-hero__panel {
  backdrop-filter:blur(18px);
  background:linear-gradient(180deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .06));
  border:1px solid rgba(255, 255, 255, .14);
  border-radius:30px;
  box-shadow:0 28px 70px rgba(1, 13, 52, .34);
  flex-direction:column;
  gap:1rem;
  padding:1.45rem;
  display:flex;
}
.faq-hub-search {
  color:#fff;
  background:rgba(255, 255, 255, .08);
  border:1px solid rgba(255, 255, 255, .18);
  border-radius:18px;
  align-items:center;
  gap:.8rem;
  padding:.95rem 1rem;
  display:flex;
}
.faq-hub-search input {
  color:#fff;
  background:0 0;
  border:none;
  width:100%;
  font-size:.98rem;
}
.faq-hub-search input::placeholder {
  color:rgba(255, 255, 255, .6);
}
.faq-hub-search input:focus {
  outline:none;
}
.faq-hub-metrics {
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:.85rem;
  display:grid;
}
.faq-hub-metric {
  background:rgba(255, 255, 255, .08);
  border:1px solid rgba(255, 255, 255, .12);
  border-radius:22px;
  min-height:102px;
  justify-content:flex-end;
  padding:1rem;
  display:flex;
  flex-direction:column;
}
.faq-hub-metric__value {
  color:#fff;
  letter-spacing:-.04em;
  font-family:var(--fuente-titulos);
  font-size:2.1rem;
  font-weight:600;
  line-height:1;
}
.faq-hub-metric__label {
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255, 255, 255, .62);
  margin-top:.45rem;
  font-size:.66rem;
  font-weight:700;
}
.faq-hub-hero__hint {
  color:rgba(255, 255, 255, .7);
  margin:0;
  font-size:.88rem;
  line-height:1.7;
}
.faq-hub-hero__links {
  gap:.75rem;
  display:grid;
}
.faq-hub-hero__link {
  color:#00155e;
  background:#fdf7ed;
  border-radius:18px;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  padding:1rem 1.05rem;
  font-size:.92rem;
  font-weight:700;
  transition:transform .25s, box-shadow .25s, background-color .25s;
  display:flex;
}
.faq-hub-hero__link:hover {
  background:#fff;
  transform:translateY(-1px);
  box-shadow:0 18px 30px rgba(4, 17, 79, .16);
}
.faq-hub-shell {
  z-index:2;
  grid-template-columns:280px minmax(0, 1fr);
  align-items:start;
  gap:2rem;
  margin-top:-3.15rem;
  padding-bottom:6rem;
  display:grid;
  position:relative;
}
.faq-hub-sidebar {
  background:rgba(253, 247, 237, .96);
  border:1px solid #f0e4d4;
  border-radius:28px;
  box-shadow:0 20px 50px rgba(4, 17, 79, .08);
  padding:1.2rem;
  position:sticky;
  top:7rem;
}
.faq-hub-sidebar__eyebrow {
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#8b7657;
  margin-bottom:1rem;
  font-size:.68rem;
  font-weight:700;
}
.faq-hub-sidebar__list {
  gap:.7rem;
  display:grid;
}
.faq-hub-filter {
  color:#24406b;
  background:#fff;
  border:1px solid #efe3d4;
  border-radius:18px;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  padding:.95rem 1rem;
  font-size:.92rem;
  font-weight:600;
  transition:transform .22s, border-color .22s, background-color .22s, box-shadow .22s, color .22s, opacity .22s;
  display:flex;
}
.faq-hub-filter:hover {
  border-color:rgba(229, 152, 56, .45);
  transform:translateY(-1px);
}
.faq-hub-filter strong {
  background:#f8f1e5;
  border-radius:999px;
  min-width:2rem;
  padding:.25rem .55rem;
  font-size:.8rem;
  text-align:center;
}
.faq-hub-filter.activa {
  color:#fff;
  background:#00155e;
  border-color:#00155e;
  box-shadow:0 18px 34px rgba(4, 17, 79, .17);
}
.faq-hub-filter.activa strong {
  color:#00155e;
  background:#fdf7ed;
}
.faq-hub-filter.sin-resultados {
  opacity:.58;
}
.faq-hub-content {
  background:rgba(255, 255, 255, .82);
  border:1px solid #f2e8dc;
  border-radius:32px;
  box-shadow:0 24px 60px rgba(4, 17, 79, .07);
  padding:1.5rem 2rem 2rem;
}
.faq-hub-section {
  grid-template-columns:minmax(220px, .42fr) minmax(0, 1fr);
  gap:1.6rem 2rem;
  padding:2rem 0;
  display:grid;
}
.faq-hub-section+.faq-hub-section {
  border-top:1px solid #f0e6da;
}
.faq-hub-section__intro {
  align-self:start;
  flex-direction:column;
  gap:.7rem;
  display:flex;
}
.faq-hub-section__index {
  color:rgba(0, 21, 94, .14);
  letter-spacing:-.06em;
  font-family:var(--fuente-titulos);
  font-size:clamp(2.7rem, 4vw, 3.6rem);
  font-weight:500;
  line-height:.9;
}
.faq-hub-section__eyebrow {
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--color-marca);
  margin:0;
  font-size:.72rem;
  font-weight:700;
}
.faq-hub-section__intro h2 {
  text-wrap:balance;
  color:#00155e;
  max-width:13ch;
  margin:0;
  font-size:clamp(1.65rem, 2vw, 2.15rem);
  line-height:1.02;
}
.faq-hub-section__description {
  color:#616d7d;
  max-width:30ch;
  margin:0;
  font-size:.95rem;
  line-height:1.78;
}
.faq-hub-section__count {
  color:#7f694c;
  background:#f8f1e6;
  border-radius:999px;
  align-self:flex-start;
  margin-top:.3rem;
  padding:.45rem .8rem;
  font-size:.8rem;
  font-weight:700;
}
.faq-hub-questions {
  gap:1rem;
  display:grid;
}
.faq-hub-question {
  background:linear-gradient(180deg, #fff 0, #fcfaf5 100%);
  border:1px solid #eee4d8;
  border-radius:26px;
  box-shadow:0 16px 40px rgba(0, 21, 94, .05);
  grid-template-columns:56px minmax(0, 1fr);
  align-items:start;
  gap:1rem;
  padding:1.3rem;
  transition:transform .22s, box-shadow .22s, border-color .22s;
  display:grid;
}
.faq-hub-question:hover {
  border-color:rgba(229, 152, 56, .42);
  transform:translateY(-2px);
  box-shadow:0 26px 54px rgba(0, 21, 94, .08);
}
.faq-hub-question__number {
  color:var(--color-marca);
  letter-spacing:-.05em;
  font-family:var(--fuente-titulos);
  font-size:1.55rem;
  font-weight:600;
  line-height:1;
}
.faq-hub-question__body h3 {
  color:#00155e;
  text-wrap:pretty;
  margin:0 0 .65rem;
  font-size:1.14rem;
  font-weight:600;
  line-height:1.25;
}
.faq-hub-question__body p {
  color:#5b6878;
  max-width:60ch;
  margin:0;
  font-size:.96rem;
  line-height:1.82;
}
.faq-hub-empty {
  background:linear-gradient(180deg, #fff 0, #fcf7ef 100%);
  border:1px solid #efe3d4;
  border-radius:28px;
  padding:2.25rem;
}
.faq-hub-empty__eyebrow {
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--color-marca);
  margin:0 0 .8rem;
  font-size:.72rem;
  font-weight:700;
}
.faq-hub-empty h2 {
  color:#00155e;
  text-wrap:balance;
  max-width:18ch;
  margin:0 0 .8rem;
  font-size:clamp(1.8rem, 3vw, 2.4rem);
  line-height:1.05;
}
.faq-hub-empty p {
  color:#5d6978;
  max-width:34rem;
  margin:0 0 1.4rem;
  font-size:.97rem;
  line-height:1.8;
}
.faq-hub-empty__button {
  color:#fff;
  background:#00155e;
  border:none;
  border-radius:999px;
  padding:.85rem 1.25rem;
  font-size:.9rem;
  font-weight:700;
  transition:transform .22s, background-color .22s, box-shadow .22s;
}
.faq-hub-empty__button:hover {
  background:#03227e;
  transform:translateY(-1px);
  box-shadow:0 16px 30px rgba(0, 21, 94, .16);
}
.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:.7;
  margin-bottom:.75rem;
  font-size:.68rem;
  font-weight:600;
}
.estatica-hero__titulo {
  color:var(--color-marca);
  margin-bottom:.75rem;
  font-family:Raleway,sans-serif;
  font-size:clamp(2rem,4vw,3rem);
  font-style:italic;
  font-weight:400;
  line-height:1.2;
}
.estatica-hero__actualizado {
  color:#aaa;
  font-size:.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:Raleway,sans-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:.95rem;
  line-height:1.85;
}
.estatica-cuerpo ul,.estatica-cuerpo ol {
  margin:.5rem 0 1.25rem 1.5rem;
}
.estatica-cuerpo li {
  color:#555;
  margin-bottom:.4rem;
  font-size:.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:.97rem;
  font-weight:600;
  transition:color .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 .25s;
}
.faq-icono.abierto {
  transform:rotate(45deg);
}
.faq-respuesta {
  max-height:0;
  transition:max-height .3s,padding .3s;
  overflow:hidden;
}
.faq-respuesta.visible {
  max-height:400px;
}
.faq-respuesta p {
  color:#666;
  margin:0;
  padding-bottom:1.3rem;
  font-size:.93rem;
  line-height:1.8;
}
.faq-categoria {
  margin-top:3rem;
  margin-bottom:.5rem;
}
.faq-categoria h2 {
  color:var(--color-marca);
  text-transform:uppercase;
  letter-spacing:1px;
  margin-bottom:.25rem;
  font-family:Raleway,sans-serif;
  font-size:1rem;
  font-weight:700;
}
.tabla-envios {
  border-collapse:collapse;
  width:100%;
  margin:1.25rem 0 2rem;
  font-size:.9rem;
}
.tabla-envios th {
  text-align:left;
  background-color:var(--color-base-beige);
  font-family:var(--fuente-cuerpo);
  text-transform:uppercase;
  letter-spacing:.5px;
  color:var(--color-marca);
  border-bottom:2px solid var(--color-borde);
  padding:.75rem 1rem;
  font-size:.75rem;
  font-weight:600;
}
.tabla-envios td {
  color:#555;
  border-bottom:1px solid var(--color-borde);
  vertical-align:top;
  padding:.85rem 1rem;
}
.tabla-envios tr:last-child td {
  border-bottom:none;
}
@media (width<=600px) {
  .faq-hub-hero {
    padding:4.15rem 0 5rem;
  }
  .faq-hub-hero__grid {
    grid-template-columns:minmax(0, 1fr);
  }
  .faq-hub-hero__title {
    font-size:clamp(2.3rem, 12vw, 3.2rem);
  }
  .faq-hub-metrics {
    grid-template-columns:1fr;
  }
  .faq-hub-shell {
    grid-template-columns:minmax(0, 1fr);
    gap:1.25rem;
    margin-top:-2rem;
    padding-bottom:4rem;
  }
  .faq-hub-sidebar {
    padding:1rem;
    position:static;
  }
  .faq-hub-content {
    border-radius:26px;
    padding:1.15rem;
  }
  .faq-hub-section {
    grid-template-columns:minmax(0, 1fr);
    gap:1rem;
    padding:1.5rem 0;
  }
  .faq-hub-section__intro h2 {
    max-width:none;
  }
  .faq-hub-section__description {
    max-width:none;
  }
  .faq-hub-question {
    grid-template-columns:1fr;
    gap:.7rem;
    padding:1.15rem;
  }
  .estatica-hero {
    padding:3.5rem 1.5rem 3rem;
  }
  .estatica-cuerpo {
    padding:3rem 1.25rem 5rem;
  }
  .tabla-envios {
    font-size:.82rem;
  }
  .tabla-envios th,.tabla-envios td {
    padding:.65rem .5rem;
  }
}
@media (width<=1100px) {
  .faq-hub-hero__grid {
    grid-template-columns:minmax(0, 1fr);
  }
  .faq-hub-shell {
    grid-template-columns:minmax(0, 1fr);
  }
  .faq-hub-sidebar {
    position:static;
  }
}
