/** Shopify CDN: Minification failed

Line 65:9 Expected identifier but found whitespace
Line 65:11 Unexpected "{"
Line 65:16 Expected ":"
Line 65:53 Expected ":"
Line 96:12 Expected identifier but found whitespace
Line 96:14 Unexpected "{"
Line 96:19 Expected ":"
Line 96:56 Expected ":"
Line 423:32 Expected identifier but found whitespace
Line 423:34 Unexpected "{"
... and 44 more hidden warnings

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:calimacrea (INDEX:0) */
.hdr-anuncio {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  padding: 10px 20px !important;
  text-align: center !important;
  position: relative !important;
  z-index: 10 !important;
}
.hdr-anuncio__texto {
  margin: 0 !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.4 !important;
}
.hdr-anuncio__texto strong { font-weight: 700 !important; }
.hdr-anuncio__texto p { margin: 0 !important; color: inherit !important; font: inherit !important; }
.hdr-anuncio__enlace {
  font-family: 'Nunito', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
  white-space: nowrap !important;
}
.hdr-cabecera {
  position: sticky !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 100 !important;
  background-color: #FFF8EC !important;
  border-bottom: 1px solid rgba(196, 94, 0, 0.15) !important;
  box-shadow: 0 2px 12px rgba(123, 63, 0, 0.08) !important;
  transition: box-shadow 0.3s ease !important;
}
.hdr-cabecera--scrolled { box-shadow: 0 4px 20px rgba(123, 63, 0, 0.15) !important; }
.hdr-cabecera__inner {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
  height: {{ hdr.alto_header_movil | default: 60 }}px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
}
.hdr-cabecera__logo { flex-shrink: 0 !important; }
.hdr-cabecera__logo-img { display: block !important; width: auto !important; object-fit: contain !important; }
.hdr-cabecera__logo-texto {
  font-family: 'Playfair Display', serif !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  letter-spacing: -0.02em !important;
}
.hdr-nav { display: none !important; }
.hdr-nav__lista {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}
.hdr-nav__item { position: static !important; }
.hdr-nav__enlace {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 8px 12px !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: {{ hdr.tamano_fuente_nav | default: 14 }}px !important;
  font-weight: 600 !important;
  color: #7B3F00 !important;
  text-decoration: none !important;
  border-radius: 6px !important;
  transition: color 0.2s ease, background-color 0.2s ease !important;
  white-space: nowrap !important;
  letter-spacing: 0.01em !important;
}
.hdr-nav__enlace:hover,
.hdr-nav__item--mega.hdr-nav__item--activo .hdr-nav__enlace {
  color: #C45E00 !important;
  background-color: rgba(245, 197, 24, 0.12) !important;
}
.hdr-nav__emoji { font-size: 15px !important; line-height: 1 !important; }
.hdr-nav__chevron { display: flex !important; align-items: center !important; transition: transform 0.25s ease !important; }
.hdr-nav__item--mega.hdr-nav__item--activo .hdr-nav__chevron { transform: rotate(180deg) !important; }
#hdr-megamenus-portal {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;
  pointer-events: none !important;
}
.hdr-megamenu {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  background-color: #FFF8EC !important;
  border-top: 2px solid #F5C518 !important;
  border-bottom: 1px solid rgba(196, 94, 0, 0.15) !important;
  box-shadow: 0 8px 30px rgba(123, 63, 0, 0.12) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(-6px) !important;
  transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease !important;
  pointer-events: none !important;
}
.hdr-megamenu.hdr-megamenu--visible {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
  pointer-events: all !important;
}
.hdr-megamenu__inner {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 36px 40px !important;
  display: flex !important;
  gap: 48px !important;
  flex-wrap: wrap !important;
}
.hdr-megamenu__columna { min-width: 160px !important; flex: 1 !important; }
.hdr-megamenu__titulo-col {
  font-family: 'Nunito', sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: #C45E00 !important;
  margin: 0 0 16px 0 !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid rgba(196, 94, 0, 0.2) !important;
}
.hdr-megamenu__lista {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
.hdr-megamenu__enlace {
  font-family: 'Nunito', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #7B3F00 !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
  display: block !important;
  transition: color 0.2s ease, padding-left 0.2s ease !important;
}
.hdr-megamenu__enlace:hover { color: #E07B1A !important; padding-left: 6px !important; }
.hdr-iconos {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  flex-shrink: 0 !important;
}
.hdr-iconos__btn {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  background: transparent !important;
  border: none !important;
  border-radius: 8px !important;
  color: #7B3F00 !important;
  cursor: pointer !important;
  transition: color 0.2s ease, background-color 0.2s ease !important;
  text-decoration: none !important;
}
.hdr-iconos__btn:hover { color: #C45E00 !important; background-color: rgba(245, 197, 24, 0.15) !important; }
.hdr-iconos__badge {
  position: absolute !important;
  top: 4px !important;
  right: 4px !important;
  min-width: 16px !important;
  height: 16px !important;
  padding: 0 4px !important;
  background-color: #F5C518 !important;
  color: #7B3F00 !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  border-radius: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}
.hdr-iconos__btn--hamburguesa { display: flex !important; }
.hdr-hamburguesa { display: flex !important; flex-direction: column !important; gap: 5px !important; width: 20px !important; }
.hdr-hamburguesa span {
  display: block !important;
  height: 2px !important;
  background-color: #7B3F00 !important;
  border-radius: 2px !important;
  transition: transform 0.3s ease, opacity 0.3s ease, width 0.3s ease !important;
}
.hdr-hamburguesa span:nth-child(2) { width: 14px !important; }
.hdr-iconos__btn--hamburguesa.hdr--abierto .hdr-hamburguesa span:nth-child(1) { transform: translateY(7px) rotate(45deg) !important; }
.hdr-iconos__btn--hamburguesa.hdr--abierto .hdr-hamburguesa span:nth-child(2) { opacity: 0 !important; width: 0 !important; }
.hdr-iconos__btn--hamburguesa.hdr--abierto .hdr-hamburguesa span:nth-child(3) { transform: translateY(-7px) rotate(-45deg) !important; }
.hdr-busqueda-barra {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1100 !important;
  background-color: #FFF8EC !important;
  border-bottom: 2px solid #F5C518 !important;
  box-shadow: 0 4px 20px rgba(123, 63, 0, 0.15) !important;
  transform: translateY(-100%) !important;
  opacity: 0 !important;
  transition: transform 0.3s ease, opacity 0.3s ease !important;
  pointer-events: none !important;
}
.hdr-busqueda-barra.hdr-busqueda-barra--visible { transform: translateY(0) !important; opacity: 1 !important; pointer-events: all !important; }
.hdr-busqueda-barra__form {
  max-width: 700px !important;
  margin: 0 auto !important;
  padding: 16px 20px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}
.hdr-busqueda-barra__input {
  flex: 1 !important;
  border: none !important;
  background: transparent !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #7B3F00 !important;
  outline: none !important;
}
.hdr-busqueda-barra__input::placeholder { color: rgba(123, 63, 0, 0.45) !important; }
.hdr-busqueda-barra__btn,
.hdr-busqueda-barra__cerrar {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  background: transparent !important;
  border: none !important;
  border-radius: 6px !important;
  color: #7B3F00 !important;
  cursor: pointer !important;
  transition: color 0.2s ease, background-color 0.2s ease !important;
}
.hdr-busqueda-barra__btn:hover,
.hdr-busqueda-barra__cerrar:hover { color: #C45E00 !important; background-color: rgba(245, 197, 24, 0.15) !important; }
.hdr-overlay {
  position: fixed !important;
  inset: 0 !important;
  background-color: rgba(123, 63, 0, 0.25) !important;
  z-index: 98 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 0.3s ease, visibility 0.3s ease !important;
}
.hdr-overlay--visible { opacity: 1 !important; visibility: visible !important; }
.hdr-nav-movil {
  position: fixed !important;
  top: 0 !important;
  left: -100% !important;
  width: 85% !important;
  max-width: 360px !important;
  height: 100dvh !important;
  background-color: #FFF8EC !important;
  z-index: 1050 !important;
  overflow-y: auto !important;
  padding: 0 0 40px 0 !important;
  transition: left 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 4px 0 30px rgba(123, 63, 0, 0.2) !important;
  display: flex !important;
  flex-direction: column !important;
}
.hdr-nav-movil.hdr-nav-movil--abierto { left: 0 !important; }
.hdr-nav-movil__cabecera {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 20px 24px !important;
  border-bottom: 1px solid rgba(196, 94, 0, 0.15) !important;
}
.hdr-nav-movil__titulo { font-family: 'Playfair Display', serif !important; font-size: 18px !important; font-weight: 700 !important; color: #7B3F00 !important; margin: 0 !important; }
.hdr-nav-movil__cerrar { display: flex !important; align-items: center !important; justify-content: center !important; width: 36px !important; height: 36px !important; background: transparent !important; border: none !important; border-radius: 6px !important; color: #7B3F00 !important; cursor: pointer !important; }
.hdr-nav-movil__lista { list-style: none !important; margin: 0 !important; padding: 16px 0 !important; flex: 1 !important; }
.hdr-nav-movil__enlace {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 14px 24px !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #7B3F00 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(196, 94, 0, 0.08) !important;
  transition: color 0.2s ease, background-color 0.2s ease !important;
  width: 100% !important;
  text-align: left !important;
  background: none !important;
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
  cursor: pointer !important;
}
.hdr-nav-movil__enlace:hover,
.hdr-nav-movil__enlace--activo { color: #C45E00 !important; background-color: rgba(245, 197, 24, 0.1) !important; }
.hdr-nav-movil__chevron { transition: transform 0.25s ease !important; flex-shrink: 0 !important; display: flex !important; }
.hdr-nav-movil__enlace--activo .hdr-nav-movil__chevron { transform: rotate(180deg) !important; }
.hdr-nav-movil__submenu { display: none !important; background-color: rgba(245, 197, 24, 0.06) !important; padding: 8px 0 !important; }
.hdr-nav-movil__submenu--visible { display: block !important; }
.hdr-nav-movil__subtitulo { font-family: 'Nunito', sans-serif !important; font-size: 10px !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; color: #C45E00 !important; padding: 12px 32px 6px !important; margin: 0 !important; }
.hdr-nav-movil__subenlace { display: block !important; padding: 10px 32px !important; font-family: 'Nunito', sans-serif !important; font-size: 14px !important; font-weight: 400 !important; color: #7B3F00 !important; text-decoration: none !important; transition: color 0.2s ease !important; }
.hdr-nav-movil__subenlace:hover { color: #E07B1A !important; }
/* Rediseño 2026: barra de anuncio rotativa */
.hdr-anuncio__rotador { display: grid !important; }
.hdr-anuncio__rotador .hdr-anuncio__texto { grid-area: 1 / 1 !important; opacity: 0 !important; transform: translateY(6px) !important; transition: opacity .5s ease, transform .5s ease !important; }
.hdr-anuncio__rotador .hdr-anuncio__texto--on { opacity: 1 !important; transform: none !important; }
/* Elemento destacado del menú (DTF por metros) */
.hdr-nav__enlace.hdr-nav__enlace--destacado {
  background-color: #E07B1A !important;
  color: #fff !important;
  font-weight: 800 !important;
  border-radius: 999px !important;
  padding: 9px 18px !important;
  box-shadow: 0 4px 12px rgba(224, 123, 26, .35) !important;
  margin-right: 6px !important;
}
.hdr-nav__enlace.hdr-nav__enlace--destacado::before { content: "★" !important; color: #F5C518 !important; margin-right: 2px !important; }
.hdr-nav__enlace.hdr-nav__enlace--destacado:hover { background-color: #C45E00 !important; color: #fff !important; }
.hdr-destacado-movil {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  background-color: #E07B1A !important;
  color: #fff !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  box-shadow: 0 4px 12px rgba(224, 123, 26, .35) !important;
  margin-left: auto !important;
}
.hdr-destacado-movil::before { content: "★" !important; color: #F5C518 !important; }
/* Fila de accesos rápidos (solo móvil) */
.hdr-rapido {
  display: flex !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 7px 12px 9px !important;
  border-top: 1px solid rgba(196, 94, 0, 0.12) !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
}
.hdr-rapido::-webkit-scrollbar { display: none !important; }
.hdr-rapido__enlace {
  font-family: 'Nunito', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
  color: #7B3F00 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  padding: 5px 12px !important;
  border-radius: 999px !important;
  background-color: rgba(245, 197, 24, 0.18) !important;
}
.hdr-nav-movil__extra { border-top: 1px solid rgba(196, 94, 0, 0.15) !important; margin-top: 8px !important; padding-top: 8px !important; }
@media (max-width: 989px) {
  .hdr-cabecera__inner { gap: 8px !important; padding: 0 12px !important; }
  .hdr-iconos__btn--busqueda, .hdr-iconos__btn--cuenta { display: none !important; }
}
@media (max-width: 480px) {
  .hdr-cabecera__logo-img { max-height: 38px !important; max-width: 104px !important; }
  .hdr-iconos { gap: 0 !important; }
  .hdr-iconos__btn { width: 36px !important; }
  .hdr-cabecera__logo, .hdr-iconos { min-width: 0 !important; }
}
@media (max-width: 360px) {
  .hdr-destacado-movil { font-size: 12.5px !important; padding: 7px 11px !important; }
  .hdr-cabecera__logo-img { max-width: 84px !important; }
  .hdr-iconos__btn { width: 32px !important; }
  .hdr-rapido__enlace { font-size: 12.5px !important; padding: 5px 9px !important; }
}
@media (min-width: 990px) {
  .hdr-cabecera__inner { height: {{ hdr.alto_header_desktop | default: 72 }}px !important; }
  .hdr-destacado-movil, .hdr-rapido { display: none !important; }
  .hdr-nav { display: flex !important; align-items: center !important; flex: 1 !important; justify-content: center !important; }
  .hdr-iconos__btn--hamburguesa { display: none !important; }
}
/* END_SECTION:calimacrea */

/* START_SECTION:carrusel-banners-calima (INDEX:5) */
.cb-seccion {
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
}

.cb-pista {
  overflow: hidden !important;
  width: 100% !important;
  cursor: grab !important;
  user-select: none !important;
}

.cb-pista:active {
  cursor: grabbing !important;
}

.cb-carril {
  display: flex !important;
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1) !important;
  will-change: transform !important;
}

.cb-slide {
  flex: 0 0 90% !important;
  max-width: 90% !important;
  padding: 0 6px !important;
  box-sizing: border-box !important;
}

.cb-slide__enlace {
  display: block !important;
  position: relative !important;
  overflow: hidden !important;
  border-radius: 14px !important;
  text-decoration: none !important;
  line-height: 0 !important;
}

.cb-slide__enlace:focus-visible {
  outline: 3px solid #F5C518 !important;
  outline-offset: 3px !important;
}

.cb-slide__imagen {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 14px !important;
  transition: transform 0.45s ease !important;
}

.cb-slide__enlace:hover .cb-slide__imagen {
  transform: scale(1.03) !important;
}

.cb-slide__placeholder {
  width: 100% !important;
  height: 220px !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  display: block !important;
}

.cb-slide__placeholder-svg {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}

.cb-slide__etiqueta {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  padding: 5px 10px !important;
  border-radius: 50px !important;
  line-height: 1 !important;
  z-index: 2 !important;
}

.cb-slide__overlay {
  position: absolute !important;
  inset: 0 !important;
  border-radius: 14px !important;
  display: flex !important;
  align-items: flex-end !important;
  z-index: 1 !important;
}

.cb-slide__texto {
  padding: 20px !important;
  width: 100% !important;
}

.cb-slide__subtitulo {
  font-family: 'Nunito', sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  margin: 0 0 4px 0 !important;
  line-height: 1.2 !important;
}

.cb-slide__titulo {
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  margin: 0 0 10px 0 !important;
  line-height: 1.2 !important;
}

.cb-slide__boton {
  display: inline-block !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  padding: 7px 16px !important;
  border-radius: 50px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  transition: opacity 0.2s ease, transform 0.2s ease !important;
}

.cb-slide__enlace:hover .cb-slide__boton {
  opacity: 0.88 !important;
  transform: translateY(-2px) !important;
}

.cb-puntos {
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-top: 18px !important;
}

.cb-puntos__punto {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background-color: rgba(196, 94, 0, 0.25) !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0 !important;
  transition: background-color 0.25s ease, width 0.25s ease, border-radius 0.25s ease !important;
}

.cb-puntos__punto--activo {
  background-color: #C45E00 !important;
  width: 24px !important;
  border-radius: 4px !important;
}

.cb-flecha {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background-color: #FFF8EC !important;
  border: 1px solid rgba(196, 94, 0, 0.2) !important;
  box-shadow: 0 2px 12px rgba(123, 63, 0, 0.15) !important;
  color: #7B3F00 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  z-index: 10 !important;
  transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease !important;
}

.cb-flecha:hover {
  background-color: #F5C518 !important;
  color: #7B3F00 !important;
  box-shadow: 0 4px 16px rgba(123, 63, 0, 0.2) !important;
}

.cb-flecha--prev {
  left: 12px !important;
}

.cb-flecha--next {
  right: 12px !important;
}

@media (min-width: 749px) {
  .cb-slide {
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }

  .cb-slide__imagen,
  .cb-slide__placeholder {
    height: 320px !important;
  }

  .cb-flecha {
    display: flex !important;
  }
}

@media (min-width: 990px) {
  .cb-slide--col-2 { flex: 0 0 50% !important; max-width: 50% !important; }
  .cb-slide--col-3 { flex: 0 0 33.333% !important; max-width: 33.333% !important; }
  .cb-slide--col-4 { flex: 0 0 25% !important; max-width: 25% !important; }

  .cb-slide__imagen,
  .cb-slide__placeholder {
    height: {{ cb.alto_banner_desktop | default: 400 }}px !important;
  }

  .cb-flecha {
    width: 46px !important;
    height: 46px !important;
  }

  .cb-flecha--prev {
    left: 20px !important;
  }

  .cb-flecha--next {
    right: 20px !important;
  }
}
/* END_SECTION:carrusel-banners-calima */

/* START_SECTION:cinematic-antes-despues (INDEX:11) */
.cx-ad {
  background: #FFFFFF !important;
  padding: 72px 24px !important;
}

.cx-ad__cabecera {
  max-width: 720px !important;
  margin: 0 auto 40px !important;
  text-align: center !important;
}

.cx-ad__subtitulo {
  font-family: 'Nunito', sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  color: #C45E00 !important;
  margin: 0 0 8px 0 !important;
}

.cx-ad__titulo {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(28px, 4vw, 44px) !important;
  color: #7B3F00 !important;
  margin: 0 !important;
}

.cx-ad__carrusel {
  max-width: 1200px !important;
  margin: 0 auto !important;
  display: flex !important;
  gap: 24px !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory !important;
  padding-bottom: 8px !important;
  -webkit-overflow-scrolling: touch !important;
}

.cx-ad__item {
  flex: 0 0 min(340px, 82vw) !important;
  scroll-snap-align: start !important;
}

.cx-ad__comparador {
  position: relative !important;
  aspect-ratio: 3 / 4 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #F5EDE0 !important;
  box-shadow: 0 16px 34px rgba(123, 63, 0, 0.15) !important;
  user-select: none !important;
  touch-action: pan-y !important;
}

.cx-ad__capa {
  position: absolute !important;
  inset: 0 !important;
}

.cx-ad__capa img,
.cx-ad__placeholder {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.cx-ad__capa--antes {
  clip-path: inset(0 50% 0 0) !important;
}

.cx-ad__placeholder {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  font-size: 13px !important;
  color: rgba(255, 248, 236, 0.85) !important;
}

.cx-ad__placeholder--antes { background: repeating-linear-gradient(135deg, #C9BBA6, #C9BBA6 10px, #BDAD95 10px, #BDAD95 20px) !important; }
.cx-ad__placeholder--despues { background: linear-gradient(135deg, #E07B1A, #C45E00) !important; }

.cx-ad__etiqueta {
  position: absolute !important;
  top: 12px !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 800 !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  padding: 5px 12px !important;
  border-radius: 20px !important;
  background: rgba(0, 0, 0, 0.55) !important;
  color: #FFF8EC !important;
}

.cx-ad__etiqueta--antes { left: 12px !important; }
.cx-ad__etiqueta--despues { right: 12px !important; }

.cx-ad__manija {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 50% !important;
  width: 3px !important;
  background: #FFF8EC !important;
  transform: translateX(-50%) !important;
  pointer-events: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.cx-ad__manija svg {
  position: absolute !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  background: #FFF8EC !important;
  color: #7B3F00 !important;
  padding: 8px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25) !important;
}

.cx-ad__control {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  opacity: 0 !important;
  cursor: ew-resize !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

.cx-ad__control::-webkit-slider-thumb {
  -webkit-appearance: none !important;
  width: 100% !important;
  height: 100% !important;
}

.cx-ad__nombre {
  margin: 14px 0 0 0 !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  color: #7B3F00 !important;
  text-align: center !important;
}

@media (min-width: 990px) {
  .cx-ad__carrusel { overflow-x: visible !important; flex-wrap: wrap !important; justify-content: center !important; }
  .cx-ad__item { flex: 0 0 300px !important; }
}
/* END_SECTION:cinematic-antes-despues */

/* START_SECTION:cinematic-casos-b2b (INDEX:12) */
.cx-b2b {
  background: #FFF8EC !important;
  padding: 72px 24px !important;
}

.cx-b2b__cabecera {
  max-width: 720px !important;
  margin: 0 auto 40px !important;
  text-align: center !important;
}

.cx-b2b__subtitulo {
  font-family: 'Nunito', sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  color: #C45E00 !important;
  margin: 0 0 8px 0 !important;
}

.cx-b2b__titulo {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(28px, 4vw, 44px) !important;
  color: #7B3F00 !important;
  margin: 0 !important;
}

.cx-b2b__carrusel {
  max-width: 1200px !important;
  margin: 0 auto !important;
  display: flex !important;
  gap: 24px !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory !important;
  padding-bottom: 8px !important;
  -webkit-overflow-scrolling: touch !important;
}

.cx-b2b__tarjeta {
  flex: 0 0 min(340px, 84vw) !important;
  scroll-snap-align: start !important;
  background: #FFFFFF !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 14px 30px rgba(123, 63, 0, 0.12) !important;
}

.cx-b2b__media {
  aspect-ratio: 16 / 10 !important;
}

.cx-b2b__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.cx-b2b__placeholder {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.cx-b2b__logo {
  max-width: 60% !important;
  max-height: 50% !important;
  filter: brightness(0) invert(1) !important;
  opacity: 0.9 !important;
}

.cx-b2b__inicial {
  font-family: 'Playfair Display', serif !important;
  font-size: 54px !important;
  font-weight: 700 !important;
  color: rgba(255, 248, 236, 0.8) !important;
}

.cx-b2b__contenido {
  padding: 22px !important;
}

.cx-b2b__sector {
  display: inline-block !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 800 !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: #C45E00 !important;
  background: #FFF3DC !important;
  padding: 4px 10px !important;
  border-radius: 20px !important;
  margin-bottom: 12px !important;
}

.cx-b2b__cita {
  font-family: 'Playfair Display', serif !important;
  font-style: italic !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  color: #5A4030 !important;
  margin: 0 0 14px 0 !important;
}

.cx-b2b__empresa {
  font-family: 'Nunito', sans-serif !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  color: #7B3F00 !important;
  margin: 0 !important;
}

@media (min-width: 990px) {
  .cx-b2b__carrusel { overflow-x: visible !important; flex-wrap: wrap !important; justify-content: center !important; }
  .cx-b2b__tarjeta { flex: 0 0 340px !important; }
}
/* END_SECTION:cinematic-casos-b2b */

/* START_SECTION:cinematic-creditos-finales (INDEX:13) */
.cx-creditos {
  position: relative !important;
  background: #1E0F00 !important;
  padding: 96px 24px !important;
  overflow: hidden !important;
  text-align: center !important;
}

.cx-creditos__particulas {
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(2px 2px at 20% 30%, rgba(245, 197, 24, 0.4), transparent),
    radial-gradient(2px 2px at 70% 60%, rgba(245, 197, 24, 0.3), transparent),
    radial-gradient(1.5px 1.5px at 40% 80%, rgba(245, 197, 24, 0.35), transparent),
    radial-gradient(1.5px 1.5px at 85% 20%, rgba(245, 197, 24, 0.3), transparent),
    radial-gradient(1.5px 1.5px at 55% 45%, rgba(245, 197, 24, 0.25), transparent) !important;
  opacity: 0.8 !important;
}

.cx-creditos__inner {
  position: relative !important;
  z-index: 1 !important;
  max-width: 640px !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 20px !important;
}

[data-cx-fade] {
  opacity: 0 !important;
  transform: translateY(16px) !important;
  transition: opacity 0.8s ease, transform 0.8s ease !important;
}

.cx-creditos.is-visible [data-cx-fade] {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

.cx-creditos.is-visible [data-cx-fade]:nth-child(1) { transition-delay: 0s !important; }
.cx-creditos.is-visible [data-cx-fade]:nth-child(2) { transition-delay: 0.15s !important; }
.cx-creditos.is-visible [data-cx-fade]:nth-child(3) { transition-delay: 0.3s !important; }
.cx-creditos.is-visible [data-cx-fade]:nth-child(4) { transition-delay: 0.42s !important; }
.cx-creditos.is-visible [data-cx-fade]:nth-child(5) { transition-delay: 0.5s !important; }

.cx-creditos__etiqueta {
  font-family: 'Nunito', sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.2em !important;
  color: #F5C518 !important;
  margin: 0 !important;
}

.cx-creditos__frase {
  font-family: 'Playfair Display', serif !important;
  font-style: italic !important;
  font-size: clamp(24px, 4vw, 38px) !important;
  line-height: 1.35 !important;
  color: #FFF8EC !important;
  margin: 0 !important;
}

.cx-creditos__cta {
  margin-top: 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 14px 30px !important;
  background: #F5C518 !important;
  color: #7B3F00 !important;
  border-radius: 50px !important;
  text-decoration: none !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.cx-creditos__cta:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.4) !important;
}

.cx-creditos__linea {
  width: 48px !important;
  height: 1px !important;
  background: rgba(255, 248, 236, 0.25) !important;
  margin-top: 12px !important;
}

.cx-creditos__firma {
  font-family: 'Nunito', sans-serif !important;
  font-size: 13px !important;
  color: rgba(255, 248, 236, 0.55) !important;
  margin: 0 !important;
}

@media (prefers-reduced-motion: reduce) {
  [data-cx-fade] { transition: opacity 0.3s ease !important; transform: none !important; }
}
/* END_SECTION:cinematic-creditos-finales */

/* START_SECTION:cinematic-detras-camaras (INDEX:14) */
.cx-doc {
  background: #7B3F00 !important;
  padding: 72px 24px !important;
}

.cx-doc__inner {
  max-width: 1100px !important;
  margin: 0 auto !important;
  display: grid !important;
  gap: 36px !important;
}

.cx-doc__subtitulo {
  font-family: 'Nunito', sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  color: #F5C518 !important;
  margin: 0 0 8px 0 !important;
}

.cx-doc__titulo {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(26px, 3.6vw, 40px) !important;
  color: #FFF8EC !important;
  margin: 0 0 12px 0 !important;
}

.cx-doc__descripcion {
  font-family: 'Nunito', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: rgba(255, 248, 236, 0.8) !important;
  margin: 0 !important;
  max-width: 640px !important;
}

.cx-doc__video-wrap {
  position: relative !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 20px 44px rgba(0, 0, 0, 0.35) !important;
}

.cx-doc__video {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  background: #000 !important;
}

.cx-doc__poster {
  position: relative !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  aspect-ratio: 16 / 9 !important;
}

.cx-doc__poster img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.cx-doc__play {
  position: absolute !important;
  inset: 0 !important;
  margin: auto !important;
  width: 64px !important;
  height: 64px !important;
  border-radius: 50% !important;
  background: rgba(245, 197, 24, 0.9) !important;
  color: #7B3F00 !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: not-allowed !important;
}

.cx-doc__secuencia {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 12px !important;
  aspect-ratio: 16 / 9 !important;
}

.cx-doc__frame {
  border-radius: 10px !important;
  overflow: hidden !important;
  position: relative !important;
}

.cx-doc__frame img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

@media (min-width: 850px) {
  .cx-doc__inner { grid-template-columns: 0.9fr 1.1fr !important; align-items: center !important; }
}
/* END_SECTION:cinematic-detras-camaras */

/* START_SECTION:cinematic-hero (INDEX:15) */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Nunito:wght@400;600;800&display=swap');

.cx-hero {
  position: relative !important;
  min-height: 100svh !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  background: linear-gradient(155deg, #7B3F00 0%, #C45E00 55%, #E07B1A 100%) !important;
}

.cx-hero__fondo {
  position: absolute !important;
  inset: 0 !important;
}

.cx-hero__imagen,
.cx-hero__video,
.cx-hero__placeholder {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.cx-hero__placeholder {
  background:
    radial-gradient(circle at 30% 20%, rgba(245, 197, 24, 0.25), transparent 55%),
    linear-gradient(155deg, #7B3F00 0%, #C45E00 55%, #E07B1A 100%) !important;
}

.cx-hero__overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(30, 15, 0, var(--cx-overlay-opacity)) 0%, rgba(30, 15, 0, calc(var(--cx-overlay-opacity) * 1.3)) 100%) !important;
}

.cx-hero__calima {
  position: absolute !important;
  inset: 0 !important;
  overflow: hidden !important;
}

.cx-hero__mota {
  position: absolute !important;
  border-radius: 50% !important;
  background: rgba(245, 197, 24, 0.55) !important;
  box-shadow: 0 0 6px rgba(245, 197, 24, 0.4) !important;
  animation: cx-flotar-mota linear infinite !important;
}

@keyframes cx-flotar-mota {
  0% { transform: translate(0, 0); opacity: 0; }
  10% { opacity: 0.7; }
  90% { opacity: 0.5; }
  100% { transform: translate(-14px, -120px); opacity: 0; }
}

.cx-hero__contenido {
  position: relative !important;
  z-index: 2 !important;
  max-width: 760px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 16px !important;
}

[data-cx-creditos] {
  opacity: 0 !important;
  transform: translateY(18px) !important;
  transition: opacity 0.9s ease, transform 0.9s ease !important;
}

.cx-hero.is-listo [data-cx-creditos] {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

.cx-hero__etiqueta {
  font-family: 'Playfair Display', serif !important;
  font-style: italic !important;
  font-size: clamp(14px, 1.6vw, 18px) !important;
  color: #F5C518 !important;
  letter-spacing: 0.08em !important;
  margin: 0 !important;
}

.cx-hero__titulo {
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  font-size: clamp(36px, 6.5vw, 76px) !important;
  line-height: 1.05 !important;
  color: #FFF8EC !important;
  margin: 0 !important;
}

.cx-hero__subtitulo {
  font-family: 'Nunito', sans-serif !important;
  font-size: clamp(15px, 1.8vw, 19px) !important;
  font-weight: 400 !important;
  color: rgba(255, 248, 236, 0.85) !important;
  max-width: 540px !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

.cx-hero__btn {
  margin-top: 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 14px 32px !important;
  background: #F5C518 !important;
  color: #7B3F00 !important;
  border-radius: 50px !important;
  text-decoration: none !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.cx-hero__btn:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.3) !important;
}

.cx-hero__scroll-hint {
  position: absolute !important;
  bottom: 28px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 2 !important;
  width: 22px !important;
  height: 36px !important;
  border: 2px solid rgba(255, 248, 236, 0.5) !important;
  border-radius: 12px !important;
}

.cx-hero__scroll-hint span {
  position: absolute !important;
  top: 6px !important;
  left: 50% !important;
  width: 4px !important;
  height: 8px !important;
  background: #F5C518 !important;
  border-radius: 2px !important;
  transform: translateX(-50%) !important;
  animation: cx-scroll-hint 1.8s ease-in-out infinite !important;
}

@keyframes cx-scroll-hint {
  0%, 100% { transform: translate(-50%, 0); opacity: 1; }
  60% { transform: translate(-50%, 12px); opacity: 0.2; }
}

@media (prefers-reduced-motion: reduce) {
  [data-cx-creditos] {
    transition: opacity 0.3s ease !important;
    transform: none !important;
  }
  .cx-hero__scroll-hint span { animation: none !important; }
  .cx-hero__mota { animation: none !important; opacity: 0.5 !important; }
}
/* END_SECTION:cinematic-hero */

/* START_SECTION:cinematic-scrollytelling (INDEX:16) */
.cx-scrolly {
  background: #FFF8EC !important;
  padding: 72px 24px !important;
}

.cx-scrolly__cabecera {
  max-width: 720px !important;
  margin: 0 auto 56px !important;
  text-align: center !important;
}

.cx-scrolly__subtitulo {
  font-family: 'Nunito', sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  color: #C45E00 !important;
  margin: 0 0 8px 0 !important;
}

.cx-scrolly__titulo {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(28px, 4vw, 44px) !important;
  color: #7B3F00 !important;
  margin: 0 !important;
}

.cx-scrolly__lista {
  max-width: 1200px !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 96px !important;
}

.cx-escena {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 28px !important;
  align-items: center !important;
  opacity: 0 !important;
  transform: translateY(40px) !important;
  transition: opacity 0.9s ease, transform 0.9s ease !important;
}

.cx-escena.is-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

.cx-escena:nth-child(even) {
  direction: rtl !important;
}

.cx-escena:nth-child(even) > * {
  direction: ltr !important;
}

.cx-escena__media {
  position: relative !important;
  aspect-ratio: 4 / 3 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 20px 44px rgba(123, 63, 0, 0.18) !important;
}

.cx-escena__img,
.cx-escena__placeholder {
  position: absolute !important;
  inset: -8% !important;
  width: 116% !important;
  height: 116% !important;
  object-fit: cover !important;
  will-change: transform !important;
}

.cx-escena__placeholder {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.cx-escena__placeholder-numero {
  font-family: 'Playfair Display', serif !important;
  font-size: 96px !important;
  font-weight: 700 !important;
  color: rgba(255, 248, 236, 0.35) !important;
}

.cx-escena__texto {
  padding: 0 8px !important;
}

.cx-escena__numero {
  display: inline-block !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 900 !important;
  font-size: 13px !important;
  color: #F5C518 !important;
  background: #7B3F00 !important;
  padding: 4px 10px !important;
  border-radius: 20px !important;
  margin-bottom: 14px !important;
}

.cx-escena__titulo {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(22px, 2.6vw, 30px) !important;
  color: #7B3F00 !important;
  margin: 0 0 10px 0 !important;
}

.cx-escena__descripcion {
  font-family: 'Nunito', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: #5A4030 !important;
  margin: 0 !important;
  max-width: 480px !important;
}

@media (min-width: 850px) {
  .cx-escena { grid-template-columns: 1.1fr 1fr !important; gap: 56px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .cx-escena {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .cx-escena__img, .cx-escena__placeholder { transform: none !important; }
}
/* END_SECTION:cinematic-scrollytelling */

/* START_SECTION:empresas-strip-calima (INDEX:35) */
.es-strip{width:100%!important;box-sizing:border-box!important}
.es-contenedor{max-width:1200px!important;margin:0 auto!important;padding:0 24px!important;display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;gap:28px!important}
.es-etiqueta{font-family:'Nunito',sans-serif!important;font-size:11px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:0.15em!important;color:rgba(255,248,236,0.7)!important;margin:0!important}
.es-titulo{font-family:'Playfair Display',serif!important;font-size:clamp(22px,3vw,36px)!important;font-weight:700!important;color:#FFF8EC!important;margin:0!important;line-height:1.2!important}
.es-subtitulo{font-family:'Nunito',sans-serif!important;font-size:15px!important;color:rgba(255,248,236,0.75)!important;margin:0!important;line-height:1.6!important;max-width:540px!important}
.es-texto{display:flex!important;flex-direction:column!important;gap:10px!important}
.es-acciones{display:flex!important;flex-wrap:wrap!important;gap:12px!important;justify-content:center!important}
.es-btn{display:inline-flex!important;align-items:center!important;padding:13px 28px!important;border-radius:50px!important;font-family:'Nunito',sans-serif!important;font-size:13px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:0.08em!important;text-decoration:none!important;transition:all 0.2s ease!important}
.es-btn--primario{background:#FFF8EC!important;color:#C45E00!important}
.es-btn--primario:hover{background:#F5C518!important;color:#7B3F00!important;transform:translateY(-2px)!important}
.es-btn--secundario{background:transparent!important;color:#FFF8EC!important;border:2px solid rgba(255,248,236,0.5)!important}
.es-btn--secundario:hover{border-color:#FFF8EC!important;background:rgba(255,248,236,0.1)!important;transform:translateY(-2px)!important}
@media(min-width:990px){.es-contenedor{flex-direction:row!important;text-align:left!important;justify-content:space-between!important}.es-acciones{justify-content:flex-end!important}}
/* END_SECTION:empresas-strip-calima */

/* START_SECTION:footer-calima (INDEX:40) */
.ft-footer {
  width: 100% !important;
  box-sizing: border-box !important;
}

.ft-footer__inner {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 56px 32px 48px !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 40px !important;
}

.ft-columna__titulo {
  font-family: 'Playfair Display', serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 0 20px 0 !important;
  line-height: 1.2 !important;
}

.ft-marca__nombre {
  font-family: 'Playfair Display', serif !important;
  font-size: 26px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  display: block !important;
  margin-bottom: 20px !important;
  letter-spacing: -0.02em !important;
}

.ft-marca__logo {
  display: block !important;
  width: auto !important;
  object-fit: contain !important;
  margin-bottom: 20px !important;
}

.ft-marca__logo-enlace {
  display: inline-block !important;
}

.ft-contacto__dato {
  font-family: 'Nunito', sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  margin: 0 0 14px 0 !important;
  opacity: 0.85 !important;
  display: block !important;
  text-decoration: none !important;
}

.ft-contacto__dato--enlace {
  transition: opacity 0.2s ease !important;
}

.ft-contacto__dato--enlace:hover {
  opacity: 1 !important;
  text-decoration: underline !important;
}

.ft-horario__label {
  font-family: 'Nunito', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  margin: 0 0 4px 0 !important;
  opacity: 0.9 !important;
}

.ft-horario__horas {
  font-family: 'Nunito', sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  margin: 0 0 18px 0 !important;
  opacity: 0.75 !important;
}

.ft-horario__extra {
  font-family: 'Nunito', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  margin: 0 !important;
  opacity: 0.55 !important;
  font-style: italic !important;
}

.ft-menu__lista {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.ft-menu__enlace {
  font-family: 'Nunito', sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  opacity: 0.75 !important;
  display: block !important;
  transition: opacity 0.2s ease, padding-left 0.2s ease !important;
}

.ft-menu__enlace:hover {
  opacity: 1 !important;
  padding-left: 6px !important;
}

.ft-redes__grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

.ft-redes__icono {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 12px !important;
  text-decoration: none !important;
  transition: transform 0.2s ease, opacity 0.2s ease, box-shadow 0.2s ease !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.2) !important;
  flex-shrink: 0 !important;
}

.ft-redes__icono:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.3) !important;
  opacity: 0.9 !important;
}

.ft-footer__barra-inferior {
  width: 100% !important;
}

.ft-footer__barra-inner {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 18px 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

.ft-copyright {
  font-family: 'Nunito', sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  margin: 0 !important;
}

.ft-pagos {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
}

.ft-pagos__icono {
  height: 22px !important;
  width: auto !important;
  border-radius: 4px !important;
  opacity: 0.6 !important;
  transition: opacity 0.2s ease !important;
}

.ft-pagos__icono:hover {
  opacity: 1 !important;
}

@media (min-width: 749px) {
  .ft-footer__inner {
    grid-template-columns: 1fr 1fr !important;
    gap: 40px 48px !important;
  }
}

@media (min-width: 990px) {
  .ft-footer__inner {
    grid-template-columns: 1.3fr 1fr repeat(auto-fit, minmax(150px, 1fr)) auto !important;
    gap: 0 56px !important;
    align-items: start !important;
    padding: 64px 40px 56px !important;
  }
}
/* END_SECTION:footer-calima */

/* START_SECTION:hero-calima (INDEX:43) */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Nunito:wght@400;500;700;900&display=swap');

.hr-hero {
  position: relative !important;
  background: linear-gradient(135deg, #7B3F00 0%, #C45E00 50%, #E07B1A 100%) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 18px !important;
  overflow: hidden !important;
  text-align: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.hr-hero__fondo {
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
}

.hr-hero__particula {
  position: absolute !important;
  border-radius: 50% !important;
  background: rgba(245, 197, 24, 0.1) !important;
}

.hr-hero__particula--1 {
  width: 220px !important;
  height: 220px !important;
  top: -70px !important;
  right: -50px !important;
  animation: hr-flotar 9s ease-in-out infinite !important;
}

.hr-hero__particula--2 {
  width: 130px !important;
  height: 130px !important;
  bottom: -40px !important;
  left: 8% !important;
  animation: hr-flotar 12s ease-in-out infinite reverse !important;
}

.hr-hero__particula--3 {
  width: 80px !important;
  height: 80px !important;
  top: 15% !important;
  left: -25px !important;
  animation: hr-flotar 8s ease-in-out infinite !important;
  animation-delay: -4s !important;
}

@keyframes hr-flotar {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-12px) scale(1.06); }
}

.hr-hero__viewport {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  width: 100% !important;
}

.hr-hero__slide {
  grid-area: 1 / 1 / 2 / 2 !important;
  display: flex !important;
  justify-content: center !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(8px) !important;
  transition: opacity 0.55s ease, transform 0.55s ease !important;
  pointer-events: none !important;
}

.hr-hero__slide.is-active {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  pointer-events: auto !important;
}

.hr-hero__contenido {
  position: relative !important;
  z-index: 1 !important;
  max-width: 720px !important;
  padding: 0 24px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 10px !important;
}

.hr-hero__emocional {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(13px, 1.5vw, 16px) !important;
  font-weight: 400 !important;
  font-style: italic !important;
  color: rgba(245, 197, 24, 0.85) !important;
  margin: 0 !important;
  letter-spacing: 0.02em !important;
}

.hr-hero__h1 {
  font-family: 'Nunito', sans-serif !important;
  font-size: clamp(26px, 4.5vw, 52px) !important;
  font-weight: 900 !important;
  color: #FFF8EC !important;
  margin: 0 !important;
  line-height: 1.1 !important;
}

.hr-hero__desc {
  font-family: 'Nunito', sans-serif !important;
  font-size: clamp(13px, 1.6vw, 16px) !important;
  font-weight: 400 !important;
  color: rgba(255, 248, 236, 0.78) !important;
  margin: 0 !important;
  line-height: 1.55 !important;
  max-width: 560px !important;
}

.hr-hero__lista {
  list-style: none !important;
  /* bloque centrado en la página, texto interno alineado a la izquierda */
  margin: 4px auto 0 !important;
  padding: 0 !important;
  width: -moz-fit-content !important;
  width: fit-content !important;
  max-width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 7px !important;
  text-align: left !important;
}

.hr-hero__lista li {
  font-family: 'Nunito', sans-serif !important;
  font-size: clamp(13px, 1.6vw, 16px) !important;
  font-weight: 400 !important;
  color: rgba(255, 248, 236, 0.9) !important;
  line-height: 1.45 !important;
  display: flex !important;
  gap: 9px !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  text-align: left !important;
  padding-left: 0 !important;
}

.hr-hero__lista li::before {
  content: "" !important;
  width: 7px !important;
  height: 7px !important;
  margin-top: 7px !important;
  border-radius: 50% !important;
  background: #F5C518 !important;
  flex: 0 0 auto !important;
}

/* ── Slide "Vuelta al colegio": texto + collage en fila ── */
.hr-hero__contenido--vac {
  max-width: 980px !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 32px !important;
  text-align: left !important;
}

.hr-hero__texto {
  flex: 1 1 55% !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 10px !important;
}

.hr-hero__contenido--vac .hr-hero__lista {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.hr-hero__collage {
  --hr-sticker-h: 90px;
  flex: 1 1 45% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

.hr-hero__sticker {
  display: block !important;
  height: var(--hr-sticker-h) !important;
  width: auto !important;
  max-width: 100% !important;
  border-radius: 8px !important;
  box-shadow: 0 12px 28px rgba(60, 30, 0, 0.35) !important;
  background: transparent !important;
}

.hr-hero__sticker--1 { transform: rotate(-7deg) translateX(-8%) !important; z-index: 1 !important; }
.hr-hero__sticker--2 { transform: rotate(6deg) translateX(10%) !important; z-index: 3 !important; margin: -14px 0 !important; }
.hr-hero__sticker--3 { transform: rotate(-4deg) translateX(-4%) !important; z-index: 2 !important; }

@media (max-width: 749px) {
  .hr-hero__contenido--vac {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 18px !important;
    max-width: 560px !important;
  }
  .hr-hero__texto { align-items: center !important; }
  .hr-hero__contenido--vac .hr-hero__lista {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .hr-hero__collage {
    --hr-sticker-h: 54px;
    flex: 0 0 auto !important;
    width: 100% !important;
  }
  .hr-hero__sticker--2 { margin: -10px 0 !important; }
}

.hr-hero__btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 11px 26px !important;
  background: rgba(255, 248, 236, 0.15) !important;
  border: 1px solid rgba(255, 248, 236, 0.35) !important;
  border-radius: 50px !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  color: #FFF8EC !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  margin-top: 4px !important;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease !important;
  backdrop-filter: blur(4px) !important;
}

.hr-hero__btn:hover {
  background: #F5C518 !important;
  border-color: #F5C518 !important;
  color: #7B3F00 !important;
  transform: translateY(-2px) !important;
}

.hr-hero__dots {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  gap: 9px !important;
  justify-content: center !important;
}

.hr-hero__dot {
  width: 9px !important;
  height: 9px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  border: 1px solid rgba(255, 248, 236, 0.5) !important;
  background: transparent !important;
  cursor: pointer !important;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease !important;
}

.hr-hero__dot.is-active {
  background: #F5C518 !important;
  border-color: #F5C518 !important;
  transform: scale(1.15) !important;
}

/* ── Slide 3: banner Promo Pack de 5 (imagen enlazada al producto) ── */
.hr-hero__banner-link {
  display: block !important;
  width: 100% !important;
  max-width: 1040px !important;
  padding: 0 24px !important;
  text-decoration: none !important;
}
.hr-hero__banner-img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}
.hr-hero__banner-link:hover .hr-hero__banner-img {
  transform: translateY(-3px) !important;
  box-shadow: 0 18px 52px rgba(0, 0, 0, 0.32) !important;
}

@media (prefers-reduced-motion: reduce) {
  .hr-hero__slide {
    transition: opacity 0.01s linear !important;
    transform: none !important;
  }
  .hr-hero__particula { animation: none !important; }
}
/* END_SECTION:hero-calima */

/* START_SECTION:logos-clientes (INDEX:46) */
/* ── Sección ── */
.lc-seccion {
  width: 100% !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* ── Cabecera ── */
.lc-cabecera {
  text-align: center !important;
  margin-bottom: 36px !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 20px !important;
}

.lc-cabecera__etiqueta {
  font-family: 'Nunito', sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.18em !important;
  margin: 0 0 8px !important;
}

.lc-cabecera__titulo {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(24px, 3.5vw, 38px) !important;
  font-weight: 900 !important;
  margin: 0 0 12px !important;
  line-height: 1.15 !important;
}

.lc-cabecera__desc {
  font-family: 'Nunito', sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  margin: 0 auto !important;
  line-height: 1.6 !important;
  max-width: 520px !important;
  opacity: 0.82 !important;
}

/* ── Marquee wrap: máscara de fade en los bordes ── */
.lc-marquee-wrap {
  position: relative !important;
  overflow: hidden !important;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 10%, #000 90%, transparent 100%) !important;
  mask-image: linear-gradient(to right, transparent 0%, #000 10%, #000 90%, transparent 100%) !important;
}

/* ── Marquee: dos pistas que se desplazan en loop ── */
.lc-marquee {
  display: flex !important;
  width: max-content !important;
  animation: lc-scroll var(--lc-velocidad, 35s) linear infinite !important;
}

.lc-marquee:hover {
  animation-play-state: paused !important;
}

.lc-pista {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
}

/* ── Item individual ── */
.lc-item {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px 28px !important;
  flex-shrink: 0 !important;
}

/* Separador sutil entre logos */
.lc-item + .lc-item {
  border-left: 1px solid rgba(123, 63, 0, 0.1) !important;
}

/* ── Logo real ── */
.lc-logo-img {
  display: block !important;
  max-height: 56px !important;
  max-width: 140px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  filter: grayscale(100%) opacity(0.55) !important;
  transition: filter 0.3s ease, transform 0.3s ease !important;
}

.lc-logo-img:hover {
  filter: grayscale(0%) opacity(1) !important;
  transform: scale(1.06) !important;
}

/* ── Placeholder SVG ── */
.lc-placeholder {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  color: rgba(123, 63, 0, 0.3) !important;
  min-width: 120px !important;
  transition: color 0.3s ease !important;
}

.lc-placeholder:hover {
  color: rgba(196, 94, 0, 0.6) !important;
}

.lc-placeholder span {
  font-family: 'Nunito', sans-serif !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  white-space: nowrap !important;
}

/* ── Keyframe del desplazamiento ── */
@keyframes lc-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ── Accesibilidad: respeta preferencia de movimiento reducido ── */
@media (prefers-reduced-motion: reduce) {
  .lc-marquee {
    animation: none !important;
  }
  .lc-marquee-wrap {
    -webkit-mask-image: none !important;
    mask-image: none !important;
    overflow-x: auto !important;
  }
}
/* END_SECTION:logos-clientes */

/* START_SECTION:marcas-proveedores (INDEX:68) */
.mp-seccion {
  width: 100%;
  box-sizing: border-box;
}

.mp-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}

.mp-cabecera {
  text-align: center;
  margin-bottom: 40px;
}

.mp-cabecera__etiqueta {
  font-family: 'Nunito', sans-serif;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  margin: 0 0 8px;
}

.mp-cabecera__titulo {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(22px, 3.5vw, 34px);
  font-weight: 700;
  margin: 0 0 10px;
  line-height: 1.2;
}

.mp-cabecera__subtitulo {
  font-family: 'Nunito', sans-serif;
  font-size: 15px;
  font-weight: 400;
  margin: 0;
  opacity: 0.78;
  line-height: 1.6;
}

.mp-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

@media (min-width: 600px) {
  .mp-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (min-width: 900px) {
  .mp-grid {
    grid-template-columns: repeat(6, 1fr);
    gap: 20px;
  }
}

.mp-logo-item {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  border: 1px solid rgba(196, 94, 0, 0.1);
  background: #fdfbf7;
  padding: 20px 14px;
  min-height: 100px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  text-decoration: none;
  cursor: default;
  box-sizing: border-box;
}

a.mp-logo-item {
  cursor: pointer;
}

.mp-logo-item:hover {
  border-color: rgba(196, 94, 0, 0.3);
  box-shadow: 0 4px 16px rgba(123, 63, 0, 0.08);
  transform: translateY(-2px);
}

.mp-logo-item__img {
  max-width: 100%;
  max-height: 70px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  filter: grayscale(30%);
  transition: filter 0.2s ease;
}

.mp-logo-item:hover .mp-logo-item__img {
  filter: grayscale(0%);
}

.mp-logo-item__placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: rgba(123, 63, 0, 0.25);
  text-align: center;
}

.mp-logo-item__placeholder span {
  font-family: 'Nunito', sans-serif;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  line-height: 1.2;
}
/* END_SECTION:marcas-proveedores */

/* START_SECTION:page-contacto (INDEX:72) */
.ct-pagina {
  font-family: 'Nunito', sans-serif !important;
  overflow-x: hidden !important;
}

.ct-hero {
  position: relative !important;
  background: linear-gradient(135deg, #7B3F00 0%, #C45E00 50%, #E07B1A 100%) !important;
  padding: 72px 24px 80px !important;
  overflow: hidden !important;
  text-align: center !important;
}

.ct-hero__fondo {
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
}

.ct-hero__particula {
  position: absolute !important;
  border-radius: 50% !important;
  background: rgba(245, 197, 24, 0.12) !important;
}

.ct-hero__particula--1 {
  width: 300px !important;
  height: 300px !important;
  top: -100px !important;
  right: -60px !important;
  animation: ct-flotar 8s ease-in-out infinite !important;
}

.ct-hero__particula--2 {
  width: 180px !important;
  height: 180px !important;
  bottom: -60px !important;
  left: 10% !important;
  animation: ct-flotar 11s ease-in-out infinite reverse !important;
}

.ct-hero__particula--3 {
  width: 120px !important;
  height: 120px !important;
  top: 20% !important;
  left: -40px !important;
  animation: ct-flotar 9s ease-in-out infinite !important;
  animation-delay: -3s !important;
}

@keyframes ct-flotar {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-20px) scale(1.05); }
}

.ct-hero__contenido {
  position: relative !important;
  z-index: 1 !important;
  max-width: 640px !important;
  margin: 0 auto !important;
}

.ct-hero__etiqueta {
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.18em !important;
  color: rgba(245, 197, 24, 0.85) !important;
  margin: 0 0 14px !important;
}

.ct-hero__titulo {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(48px, 8vw, 80px) !important;
  font-weight: 900 !important;
  color: #FFF8EC !important;
  margin: 0 0 16px !important;
  line-height: 1.05 !important;
}

.ct-hero__sub {
  font-size: 16px !important;
  color: rgba(255, 248, 236, 0.75) !important;
  margin: 0 !important;
  line-height: 1.6 !important;
}

.ct-layout {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 60px 24px !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 48px !important;
  align-items: start !important;
}

.ct-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 32px !important;
}

.ct-info__bloque {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.ct-info__titulo-bloque {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  color: #C45E00 !important;
  margin: 0 0 4px !important;
}

.ct-metodo {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 14px 16px !important;
  background: #fff !important;
  border: 1px solid rgba(196, 94, 0, 0.15) !important;
  border-radius: 14px !important;
  text-decoration: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
  cursor: pointer !important;
}

.ct-metodo:hover {
  border-color: rgba(196, 94, 0, 0.4) !important;
  box-shadow: 0 4px 20px rgba(123, 63, 0, 0.1) !important;
  transform: translateX(4px) !important;
}

.ct-metodo--whatsapp:hover {
  border-color: #25D366 !important;
  box-shadow: 0 4px 20px rgba(37, 211, 102, 0.2) !important;
}

.ct-metodo--whatsapp:hover .ct-metodo__icono--wa {
  background: #25D366 !important;
  color: #fff !important;
}

.ct-metodo--nodlink {
  cursor: default !important;
}

.ct-metodo--nodlink:hover {
  transform: none !important;
  box-shadow: none !important;
  border-color: rgba(196, 94, 0, 0.15) !important;
}

.ct-metodo__icono {
  width: 44px !important;
  height: 44px !important;
  border-radius: 12px !important;
  background: rgba(245, 197, 24, 0.12) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #C45E00 !important;
  flex-shrink: 0 !important;
  transition: background 0.2s ease, color 0.2s ease !important;
}

.ct-metodo__icono--wa {
  background: rgba(37, 211, 102, 0.12) !important;
  color: #25D366 !important;
}

.ct-metodo__info {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  min-width: 0 !important;
}

.ct-metodo__label {
  font-size: 10px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: rgba(123, 63, 0, 0.45) !important;
}

.ct-metodo__valor {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #7B3F00 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.ct-metodo__hint {
  font-size: 11px !important;
  color: rgba(123, 63, 0, 0.45) !important;
}

.ct-metodo__flecha {
  color: rgba(123, 63, 0, 0.3) !important;
  flex-shrink: 0 !important;
  transition: color 0.2s ease !important;
}

.ct-metodo:hover .ct-metodo__flecha {
  color: #C45E00 !important;
}

.ct-horarios {
  background: rgba(245, 197, 24, 0.06) !important;
  border: 1px solid rgba(245, 197, 24, 0.2) !important;
  border-radius: 14px !important;
  padding: 18px !important;
}

.ct-horarios__lista {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.ct-horario-fila {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

.ct-horario-fila__dia {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #7B3F00 !important;
}

.ct-horario-fila__hora {
  font-size: 13px !important;
  font-weight: 400 !important;
  color: rgba(123, 63, 0, 0.65) !important;
}

.ct-horarios__nota {
  font-size: 11px !important;
  color: rgba(123, 63, 0, 0.5) !important;
  font-style: italic !important;
  margin: 10px 0 0 !important;
  padding-top: 10px !important;
  border-top: 1px solid rgba(196, 94, 0, 0.1) !important;
}

.ct-redes {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.ct-red {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px 14px !important;
  border-radius: 12px !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  border: 1px solid transparent !important;
  transition: all 0.2s ease !important;
  background: #fff !important;
  border-color: rgba(196, 94, 0, 0.12) !important;
  color: #7B3F00 !important;
}

.ct-red:hover { transform: translateX(4px) !important; }
.ct-red--instagram:hover { border-color: #E1306C !important; color: #E1306C !important; background: rgba(225, 48, 108, 0.04) !important; }
.ct-red--facebook:hover { border-color: #1877F2 !important; color: #1877F2 !important; background: rgba(24, 119, 242, 0.04) !important; }
.ct-red--tiktok:hover { border-color: #000 !important; color: #000 !important; background: rgba(0,0,0,0.03) !important; }

.ct-formulario-wrap {
  background: #fff !important;
  border: 1px solid rgba(196, 94, 0, 0.15) !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 40px rgba(123, 63, 0, 0.08) !important;
}

.ct-formulario-cabecera {
  background: linear-gradient(135deg, #FFF8EC, #fff) !important;
  padding: 28px 32px 24px !important;
  border-bottom: 1px solid rgba(196, 94, 0, 0.1) !important;
}

.ct-formulario-cabecera__titulo {
  font-family: 'Playfair Display', serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #7B3F00 !important;
  margin: 0 0 6px !important;
}

.ct-formulario-cabecera__sub {
  font-size: 14px !important;
  color: rgba(123, 63, 0, 0.6) !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}

.ct-form {
  padding: 28px 32px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

.ct-form__fila {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px !important;
}

.ct-form__campo {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

.ct-form__label {
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: rgba(123, 63, 0, 0.6) !important;
}

.ct-form__req {
  color: #C45E00 !important;
}

.ct-form__opcional {
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: rgba(123, 63, 0, 0.4) !important;
  font-size: 11px !important;
}

.ct-form__input,
.ct-form__select,
.ct-form__textarea {
  width: 100% !important;
  padding: 11px 14px !important;
  border: 1px solid rgba(196, 94, 0, 0.2) !important;
  border-radius: 10px !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 14px !important;
  color: #7B3F00 !important;
  background: #fff !important;
  outline: none !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.ct-form__input:focus,
.ct-form__select:focus,
.ct-form__textarea:focus {
  border-color: #C45E00 !important;
  box-shadow: 0 0 0 3px rgba(196, 94, 0, 0.1) !important;
}

.ct-form__input::placeholder,
.ct-form__textarea::placeholder {
  color: rgba(123, 63, 0, 0.35) !important;
}

.ct-form__textarea {
  resize: vertical !important;
  min-height: 120px !important;
}

.ct-form__campo--check {
  margin-top: 4px !important;
}

.ct-form__check-label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  font-size: 13px !important;
  color: rgba(123, 63, 0, 0.65) !important;
  cursor: pointer !important;
  line-height: 1.5 !important;
}

.ct-form__check {
  width: 16px !important;
  height: 16px !important;
  accent-color: #C45E00 !important;
  flex-shrink: 0 !important;
  margin-top: 2px !important;
  cursor: pointer !important;
}

.ct-form__link {
  color: #C45E00 !important;
  font-weight: 700 !important;
}

.ct-form__btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  padding: 14px !important;
  background: linear-gradient(135deg, #F5C518, #E07B1A) !important;
  color: #7B3F00 !important;
  border: none !important;
  border-radius: 50px !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  cursor: pointer !important;
  box-shadow: 0 4px 20px rgba(196, 94, 0, 0.35) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
  margin-top: 4px !important;
}

.ct-form__btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 30px rgba(196, 94, 0, 0.45) !important;
}

.ct-form-ok {
  display: flex !important;
  align-items: flex-start !important;
  gap: 16px !important;
  padding: 28px 32px !important;
  color: #27ae60 !important;
}

.ct-form-ok__titulo {
  font-family: 'Playfair Display', serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #7B3F00 !important;
  margin: 0 0 6px !important;
}

.ct-form-ok__texto {
  font-size: 14px !important;
  color: rgba(123, 63, 0, 0.65) !important;
  margin: 0 !important;
  line-height: 1.6 !important;
}

.ct-promesas {
  background: #7B3F00 !important;
  padding: 40px 24px !important;
}

.ct-promesas__inner {
  max-width: 900px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 20px !important;
  text-align: center !important;
}

.ct-promesa {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  color: #FFF8EC !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

.ct-promesa svg {
  color: #F5C518 !important;
  flex-shrink: 0 !important;
}

@media (min-width: 749px) {
  .ct-form__fila {
    grid-template-columns: 1fr 1fr !important;
  }

  .ct-promesas__inner {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media (min-width: 990px) {
  .ct-layout {
    grid-template-columns: 380px 1fr !important;
    padding: 80px 60px !important;
    gap: 64px !important;
  }
}
/* END_SECTION:page-contacto */

/* START_SECTION:page-empresas (INDEX:73) */
.emp-pagina { font-family: 'Nunito', sans-serif !important; overflow-x: hidden !important; }
.emp-etiqueta { font-size: 11px !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: 0.14em !important; color: #C45E00 !important; margin: 0 0 12px !important; }
.emp-etiqueta--claro { color: rgba(245,197,24,0.85) !important; }
.emp-titulo-seccion { font-family: 'Playfair Display', serif !important; font-size: clamp(26px, 3.5vw, 42px) !important; font-weight: 700 !important; color: #7B3F00 !important; margin: 0 0 20px !important; line-height: 1.15 !important; }
.emp-titulo-seccion--claro { color: #FFF8EC !important; }

.emp-hero { position: relative !important; background: linear-gradient(135deg, #7B3F00 0%, #C45E00 45%, #E07B1A 75%, #F5C518 100%) !important; padding: 80px 24px !important; min-height: 70vh !important; display: flex !important; align-items: center !important; justify-content: center !important; overflow: hidden !important; }
.emp-hero__fondo { position: absolute !important; inset: 0 !important; pointer-events: none !important; }
.emp-particula { position: absolute !important; border-radius: 50% !important; background: rgba(255,248,236,0.07) !important; animation: emp-flotar linear infinite !important; }
.emp-particula--1{width:90px;height:90px;left:3%;top:10%;animation-duration:14s;animation-delay:-2s}
.emp-particula--2{width:160px;height:160px;left:12%;top:65%;animation-duration:19s;animation-delay:-6s}
.emp-particula--3{width:60px;height:60px;left:22%;top:30%;animation-duration:11s;animation-delay:-1s}
.emp-particula--4{width:220px;height:220px;left:72%;top:3%;animation-duration:24s;animation-delay:-9s;opacity:0.04!important}
.emp-particula--5{width:50px;height:50px;left:82%;top:72%;animation-duration:10s;animation-delay:-3s}
.emp-particula--6{width:120px;height:120px;left:88%;top:42%;animation-duration:17s;animation-delay:-7s}
.emp-particula--7{width:70px;height:70px;left:52%;top:82%;animation-duration:13s;animation-delay:-4s}
.emp-particula--8{width:100px;height:100px;left:42%;top:5%;animation-duration:20s;animation-delay:-8s}
.emp-particula--9{width:40px;height:40px;left:62%;top:58%;animation-duration:9s;animation-delay:-1s}
.emp-particula--10{width:180px;height:180px;left:1%;top:82%;animation-duration:22s;animation-delay:-5s;opacity:0.04!important}
.emp-particula--11{width:55px;height:55px;left:87%;top:18%;animation-duration:12s;animation-delay:-2s}
.emp-particula--12{width:130px;height:130px;left:33%;top:48%;animation-duration:18s;animation-delay:-6s;opacity:0.05!important}
.emp-particula--13{width:45px;height:45px;left:58%;top:20%;animation-duration:10s;animation-delay:-3s}
.emp-particula--14{width:75px;height:75px;left:74%;top:55%;animation-duration:15s;animation-delay:-7s}
@keyframes emp-flotar { 0%{transform:translateY(0) scale(1);opacity:0} 15%{opacity:1} 85%{opacity:0.6} 100%{transform:translateY(-90px) translateX(20px) scale(1.2);opacity:0} }
.emp-hero__contenido { position: relative !important; z-index: 1 !important; max-width: 760px !important; text-align: center !important; }
.emp-hero__etiqueta { font-size: 11px !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: 0.18em !important; color: rgba(245,197,24,0.85) !important; margin: 0 0 16px !important; }
.emp-hero__titulo { font-family: 'Playfair Display', serif !important; font-size: clamp(38px, 6vw, 72px) !important; font-weight: 900 !important; color: #FFF8EC !important; margin: 0 0 20px !important; line-height: 1.08 !important; }
.emp-hero__sub { font-size: clamp(15px, 2vw, 18px) !important; color: rgba(255,248,236,0.8) !important; line-height: 1.65 !important; margin: 0 0 36px !important; }
.emp-hero__ctas { display: flex !important; gap: 12px !important; justify-content: center !important; flex-wrap: wrap !important; }
.emp-hero__btn { display: inline-flex !important; align-items: center !important; gap: 9px !important; padding: 14px 26px !important; border-radius: 50px !important; font-family: 'Nunito', sans-serif !important; font-size: 14px !important; font-weight: 800 !important; text-decoration: none !important; text-transform: uppercase !important; letter-spacing: 0.06em !important; transition: transform 0.2s ease, box-shadow 0.2s ease !important; }
.emp-hero__btn--wa { background: #25D366 !important; color: #fff !important; box-shadow: 0 6px 24px rgba(0,0,0,0.2) !important; }
.emp-hero__btn--wa:hover { transform: translateY(-3px) !important; box-shadow: 0 12px 36px rgba(0,0,0,0.3) !important; }
.emp-hero__btn--form { background: rgba(255,248,236,0.15) !important; border: 1px solid rgba(255,248,236,0.35) !important; color: #FFF8EC !important; backdrop-filter: blur(4px) !important; }
.emp-hero__btn--form:hover { background: #F5C518 !important; border-color: #F5C518 !important; color: #7B3F00 !important; transform: translateY(-3px) !important; }

.emp-cifras { background: #7B3F00 !important; padding: 48px 24px !important; }
.emp-cifras__inner { max-width: 1100px !important; margin: 0 auto !important; display: grid !important; grid-template-columns: repeat(2,1fr) !important; gap: 32px !important; text-align: center !important; }
.emp-cifra { display: flex !important; flex-direction: column !important; gap: 6px !important; }
.emp-cifra__num { font-family: 'Playfair Display', serif !important; font-size: clamp(36px,5vw,56px) !important; font-weight: 900 !important; color: #F5C518 !important; line-height: 1 !important; }
.emp-cifra__label { font-size: 12px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; color: rgba(255,248,236,0.6) !important; }

.emp-servicios { padding: 80px 24px !important; background: #fff !important; }
.emp-servicios__inner { max-width: 1200px !important; margin: 0 auto !important; }
.emp-servicios__cabecera { text-align: center !important; margin-bottom: 52px !important; max-width: 680px !important; margin-left: auto !important; margin-right: auto !important; }
.emp-servicios__sub { font-size: 16px !important; color: rgba(123,63,0,0.65) !important; line-height: 1.7 !important; margin: 0 !important; }
.emp-servicios__grid { display: grid !important; grid-template-columns: 1fr !important; gap: 20px !important; }
.emp-servicio-card { border: 1px solid rgba(196,94,0,0.15) !important; border-radius: 16px !important; background: #fff !important; transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important; overflow: hidden !important; display: flex !important; flex-direction: column !important; }
.emp-servicio-card:hover { border-color: rgba(196,94,0,0.35) !important; box-shadow: 0 8px 30px rgba(123,63,0,0.1) !important; transform: translateY(-4px) !important; }
.emp-servicio-card__img-wrap { position: relative !important; aspect-ratio: 16/9 !important; overflow: hidden !important; }
.emp-servicio-card__img { width: 100% !important; height: 100% !important; object-fit: cover !important; transition: transform 0.4s ease !important; display: block !important; }
.emp-servicio-card:hover .emp-servicio-card__img { transform: scale(1.05) !important; }
.emp-servicio-card__img-overlay { position: absolute !important; inset: 0 !important; background: linear-gradient(to bottom, transparent 50%, rgba(123,63,0,0.15) 100%) !important; }
.emp-servicio-card__cuerpo { padding: 24px !important; flex: 1 !important; display: flex !important; flex-direction: column !important; }
.emp-servicio-card__icono { width: 48px !important; height: 48px !important; border-radius: 12px !important; background: rgba(245,197,24,0.12) !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #C45E00 !important; margin-bottom: 14px !important; }
.emp-servicio-card__titulo { font-family: 'Playfair Display', serif !important; font-size: 18px !important; font-weight: 700 !important; color: #7B3F00 !important; margin: 0 0 8px !important; }
.emp-servicio-card__desc { font-size: 14px !important; color: rgba(123,63,0,0.65) !important; line-height: 1.65 !important; margin: 0 0 10px !important; flex: 1 !important; }
.emp-servicio-card__ideal { font-size: 12px !important; font-weight: 700 !important; color: #C45E00 !important; display: flex !important; align-items: center !important; gap: 6px !important; margin: 0 !important; }

.emp-proceso { background: linear-gradient(160deg,#7B3F00 0%,#C45E00 50%,#E07B1A 100%) !important; padding: 80px 24px !important; }
.emp-proceso__inner { max-width: 1100px !important; margin: 0 auto !important; }
.emp-proceso__cabecera { text-align: center !important; margin-bottom: 52px !important; }
.emp-proceso__pasos { display: grid !important; grid-template-columns: 1fr !important; gap: 32px !important; }
.emp-paso { position: relative !important; background: rgba(255,248,236,0.08) !important; border: 1px solid rgba(245,197,24,0.2) !important; border-radius: 16px !important; overflow: hidden !important; display: flex !important; flex-direction: column !important; }
.emp-paso__img-wrap { aspect-ratio: 16/9 !important; overflow: hidden !important; }
.emp-paso__img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; transition: transform 0.4s ease !important; opacity: 0.85 !important; }
.emp-paso:hover .emp-paso__img { transform: scale(1.04) !important; }
.emp-paso__num { width: 36px !important; height: 36px !important; border-radius: 50% !important; background: #F5C518 !important; color: #7B3F00 !important; font-family: 'Playfair Display', serif !important; font-size: 18px !important; font-weight: 900 !important; display: flex !important; align-items: center !important; justify-content: center !important; margin: 20px 20px 12px !important; flex-shrink: 0 !important; }
.emp-paso__titulo { font-family: 'Playfair Display', serif !important; font-size: 17px !important; font-weight: 700 !important; color: #FFF8EC !important; margin: 0 20px 8px !important; }
.emp-paso__texto { font-size: 13px !important; color: rgba(255,248,236,0.7) !important; line-height: 1.65 !important; margin: 0 20px 20px !important; }

.emp-clientes { padding: 80px 24px !important; background: #FFF8EC !important; }
.emp-clientes__inner { max-width: 1000px !important; margin: 0 auto !important; }
.emp-clientes__texto { font-size: 16px !important; line-height: 1.8 !important; color: rgba(123,63,0,0.75) !important; margin: 0 0 48px !important; max-width: 700px !important; }
.emp-clientes__logos { display: flex !important; flex-wrap: wrap !important; gap: 20px !important; align-items: center !important; margin-bottom: 48px !important; }
.emp-cliente-logo { padding: 14px 20px !important; background: #fff !important; border: 1px solid rgba(196,94,0,0.15) !important; border-radius: 10px !important; }
.emp-cliente-logo__img { max-height: 40px !important; width: auto !important; object-fit: contain !important; filter: grayscale(100%) !important; opacity: 0.6 !important; transition: filter 0.2s, opacity 0.2s !important; }
.emp-cliente-logo:hover .emp-cliente-logo__img { filter: none !important; opacity: 1 !important; }
.emp-cliente-logo__texto { font-family: 'Playfair Display', serif !important; font-size: 16px !important; font-weight: 700 !important; color: rgba(123,63,0,0.5) !important; }
.emp-clientes__testimonios { display: grid !important; grid-template-columns: 1fr !important; gap: 20px !important; }
.emp-testimonio { background: #fff !important; border-left: 3px solid #F5C518 !important; border-radius: 0 12px 12px 0 !important; padding: 20px 24px !important; }
.emp-testimonio__texto { font-family: 'Playfair Display', serif !important; font-size: 15px !important; font-style: italic !important; color: #7B3F00 !important; margin: 0 0 16px !important; line-height: 1.6 !important; }
.emp-testimonio__autor { display: flex !important; align-items: center !important; gap: 12px !important; }
.emp-testimonio__avatar { width: 40px !important; height: 40px !important; border-radius: 50% !important; object-fit: cover !important; border: 2px solid #F5C518 !important; flex-shrink: 0 !important; }
.emp-testimonio__nombre { font-size: 13px !important; font-weight: 800 !important; color: #7B3F00 !important; display: block !important; }
.emp-testimonio__cargo { font-size: 11px !important; color: rgba(123,63,0,0.5) !important; display: block !important; }

.emp-descuentos { background: #7B3F00 !important; padding: 80px 24px !important; }
.emp-descuentos__inner { max-width: 1100px !important; margin: 0 auto !important; display: grid !important; grid-template-columns: 1fr !important; gap: 48px !important; align-items: start !important; }
.emp-descuentos__texto p { font-size: 15px !important; color: rgba(255,248,236,0.75) !important; line-height: 1.7 !important; margin: 0 !important; }
.emp-descuentos__tabla { display: flex !important; flex-direction: column !important; gap: 8px !important; }
.emp-descuento-fila { display: grid !important; grid-template-columns: 1fr 1fr 1fr !important; align-items: center !important; padding: 14px 18px !important; background: rgba(255,248,236,0.07) !important; border: 1px solid rgba(245,197,24,0.15) !important; border-radius: 10px !important; gap: 8px !important; }
.emp-descuento-fila__rango { font-size: 14px !important; font-weight: 700 !important; color: #FFF8EC !important; }
.emp-descuento-fila__desc { font-family: 'Playfair Display', serif !important; font-size: 20px !important; font-weight: 700 !important; color: #F5C518 !important; text-align: center !important; }
.emp-descuento-fila__nota { font-size: 12px !important; color: rgba(255,248,236,0.5) !important; text-align: right !important; }
.emp-descuentos__nota-legal { font-size: 11px !important; color: rgba(255,248,236,0.35) !important; margin-top: 8px !important; font-style: italic !important; }

.emp-formulario-wrap { padding: 80px 24px !important; background: #fff !important; }
.emp-formulario__inner { max-width: 1100px !important; margin: 0 auto !important; display: grid !important; grid-template-columns: 1fr !important; gap: 48px !important; align-items: start !important; }
.emp-formulario__texto p { font-size: 15px !important; color: rgba(123,63,0,0.7) !important; line-height: 1.7 !important; margin: 0 0 24px !important; }
.emp-wa-alt { display: inline-flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; font-weight: 700 !important; color: #25D366 !important; text-decoration: none !important; padding: 10px 18px !important; border: 1px solid rgba(37,211,102,0.3) !important; border-radius: 50px !important; transition: background 0.2s !important; }
.emp-wa-alt:hover { background: rgba(37,211,102,0.08) !important; }
.emp-formulario-box { background: #fff !important; border: 1px solid rgba(196,94,0,0.15) !important; border-radius: 20px !important; overflow: hidden !important; box-shadow: 0 8px 40px rgba(123,63,0,0.08) !important; }
.emp-form { padding: 28px !important; display: flex !important; flex-direction: column !important; gap: 16px !important; }
.emp-form__fila { display: grid !important; grid-template-columns: 1fr !important; gap: 16px !important; }
.emp-form__campo { display: flex !important; flex-direction: column !important; gap: 6px !important; }
.emp-form__label { font-size: 11px !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: 0.08em !important; color: rgba(123,63,0,0.55) !important; }
.emp-form__req { color: #C45E00 !important; }
.emp-form__input, .emp-form__select, .emp-form__textarea { width: 100% !important; padding: 10px 13px !important; border: 1px solid rgba(196,94,0,0.2) !important; border-radius: 9px !important; font-family: 'Nunito', sans-serif !important; font-size: 14px !important; color: #7B3F00 !important; background: #fff !important; outline: none !important; box-sizing: border-box !important; transition: border-color 0.2s, box-shadow 0.2s !important; }
.emp-form__input:focus, .emp-form__select:focus, .emp-form__textarea:focus { border-color: #C45E00 !important; box-shadow: 0 0 0 3px rgba(196,94,0,0.08) !important; }
.emp-form__input::placeholder, .emp-form__textarea::placeholder { color: rgba(123,63,0,0.3) !important; }
.emp-form__textarea { resize: vertical !important; min-height: 120px !important; }
.emp-form__campo--check { margin-top: 4px !important; }
.emp-form__check-label { display: flex !important; align-items: flex-start !important; gap: 10px !important; font-size: 13px !important; color: rgba(123,63,0,0.6) !important; cursor: pointer !important; line-height: 1.5 !important; }
.emp-form__check { width: 16px !important; height: 16px !important; accent-color: #C45E00 !important; flex-shrink: 0 !important; margin-top: 2px !important; }
.emp-form__link { color: #C45E00 !important; font-weight: 700 !important; }
.emp-form__btn { display: flex !important; align-items: center !important; justify-content: center !important; gap: 10px !important; width: 100% !important; padding: 15px !important; background: linear-gradient(135deg,#F5C518,#E07B1A) !important; color: #7B3F00 !important; border: none !important; border-radius: 50px !important; font-family: 'Nunito', sans-serif !important; font-size: 15px !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: 0.07em !important; cursor: pointer !important; box-shadow: 0 4px 20px rgba(196,94,0,0.35) !important; transition: transform 0.2s, box-shadow 0.2s !important; margin-top: 4px !important; }
.emp-form__btn:hover { transform: translateY(-2px) !important; box-shadow: 0 8px 30px rgba(196,94,0,0.45) !important; }
.emp-form-ok { display: flex !important; align-items: flex-start !important; gap: 16px !important; padding: 28px !important; color: #27ae60 !important; }
.emp-form-ok__titulo { font-family: 'Playfair Display', serif !important; font-size: 20px !important; font-weight: 700 !important; color: #7B3F00 !important; margin: 0 0 6px !important; }
.emp-form-ok__texto { font-size: 14px !important; color: rgba(123,63,0,0.65) !important; margin: 0 !important; line-height: 1.6 !important; }

@media (min-width: 749px) {
  .emp-cifras__inner { grid-template-columns: repeat(4,1fr) !important; }
  .emp-servicios__grid { grid-template-columns: repeat(2,1fr) !important; }
  .emp-proceso__pasos { grid-template-columns: repeat(2,1fr) !important; }
  .emp-clientes__testimonios { grid-template-columns: repeat(2,1fr) !important; }
  .emp-form__fila { grid-template-columns: 1fr 1fr !important; }
}
@media (min-width: 990px) {
  .emp-servicios__grid { grid-template-columns: repeat(3,1fr) !important; }
  .emp-proceso__pasos { grid-template-columns: repeat(4,1fr) !important; }
  .emp-descuentos__inner { grid-template-columns: 1fr 1fr !important; }
  .emp-formulario__inner { grid-template-columns: 1fr 1.4fr !important; }
  .emp-servicios, .emp-proceso, .emp-clientes, .emp-descuentos, .emp-formulario-wrap { padding: 100px 60px !important; }
}
/* END_SECTION:page-empresas */

/* START_SECTION:personalizador (INDEX:76) */
.pz-seccion {
  background-color: #1e1e2e !important;
  min-height: 100vh !important;
  font-family: 'Nunito', sans-serif !important;
  box-sizing: border-box !important;
}

.pz-layout {
  display: grid !important;
  grid-template-columns: 1fr !important;
  min-height: 100vh !important;
}

.pz-panel-izq {
  background-color: #2a2a3e !important;
  display: flex !important;
  flex-direction: column !important;
  border-right: 1px solid rgba(255,255,255,0.08) !important;
}

.pz-tabs {
  display: flex !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  overflow-x: auto !important;
}

.pz-tab {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 14px 16px !important;
  background: none !important;
  border: none !important;
  color: rgba(255,255,255,0.45) !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: color 0.2s ease, background-color 0.2s ease !important;
  white-space: nowrap !important;
  flex: 1 !important;
  border-bottom: 2px solid transparent !important;
}

.pz-tab:hover {
  color: rgba(255,255,255,0.8) !important;
  background-color: rgba(255,255,255,0.04) !important;
}

.pz-tab--activo {
  color: #F5C518 !important;
  border-bottom-color: #F5C518 !important;
}

.pz-panel-contenido {
  flex: 1 !important;
  overflow-y: auto !important;
}

.pz-panel__tab {
  padding: 20px !important;
}

.pz-panel__tab--oculto {
  display: none !important;
}

.pz-panel__titulo {
  font-family: 'Nunito', sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: rgba(255,255,255,0.4) !important;
  margin: 0 0 16px !important;
}

.pz-upload {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  border: 2px dashed rgba(245,197,24,0.35) !important;
  border-radius: 12px !important;
  padding: 28px 16px !important;
  cursor: pointer !important;
  transition: border-color 0.2s ease, background-color 0.2s ease !important;
  text-align: center !important;
  color: rgba(255,255,255,0.5) !important;
}

.pz-upload:hover {
  border-color: #F5C518 !important;
  background-color: rgba(245,197,24,0.05) !important;
  color: rgba(255,255,255,0.8) !important;
}

.pz-upload p {
  font-size: 13px !important;
  font-weight: 600 !important;
  margin: 0 !important;
}

.pz-upload span {
  font-size: 11px !important;
  opacity: 0.5 !important;
}

.pz-upload__input {
  display: none !important;
}

.pz-miniaturas {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 14px !important;
}

.pz-miniatura {
  width: 60px !important;
  height: 60px !important;
  border-radius: 8px !important;
  object-fit: cover !important;
  cursor: pointer !important;
  border: 2px solid transparent !important;
  transition: border-color 0.2s ease !important;
}

.pz-miniatura:hover,
.pz-miniatura--activa {
  border-color: #F5C518 !important;
}

.pz-campo {
  margin-bottom: 16px !important;
}

.pz-campo--fila {
  display: flex !important;
  gap: 8px !important;
}

.pz-campo__label {
  display: block !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,0.5) !important;
  margin-bottom: 6px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
}

.pz-campo__input,
.pz-campo__select,
.pz-campo__textarea {
  width: 100% !important;
  padding: 10px 12px !important;
  background-color: rgba(255,255,255,0.07) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 8px !important;
  color: #fff !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 14px !important;
  outline: none !important;
  transition: border-color 0.2s ease !important;
  box-sizing: border-box !important;
}

.pz-campo__input:focus,
.pz-campo__select:focus,
.pz-campo__textarea:focus {
  border-color: #F5C518 !important;
}

.pz-campo__select option {
  background-color: #2a2a3e !important;
}

.pz-campo__range {
  width: 100% !important;
  accent-color: #F5C518 !important;
  cursor: pointer !important;
}

.pz-campo__color {
  width: 48px !important;
  height: 36px !important;
  border: none !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  padding: 2px !important;
  background: rgba(255,255,255,0.1) !important;
}

.pz-formato__btn {
  flex: 1 !important;
  padding: 10px !important;
  background-color: rgba(255,255,255,0.07) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 8px !important;
  color: rgba(255,255,255,0.7) !important;
  font-size: 15px !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
}

.pz-formato__btn:hover,
.pz-formato__btn--activo {
  background-color: #F5C518 !important;
  color: #7B3F00 !important;
  border-color: #F5C518 !important;
}

.pz-btn-principal {
  width: 100% !important;
  padding: 12px !important;
  background-color: #F5C518 !important;
  color: #7B3F00 !important;
  border: none !important;
  border-radius: 50px !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease, transform 0.2s ease !important;
  margin-top: 8px !important;
}

.pz-btn-principal:hover {
  background-color: #E07B1A !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

.pz-colores-grid {
  display: grid !important;
  grid-template-columns: repeat(6, 1fr) !important;
  gap: 8px !important;
}

.pz-color-chip {
  width: 100% !important;
  aspect-ratio: 1 !important;
  border-radius: 8px !important;
  border: 2px solid transparent !important;
  cursor: pointer !important;
  transition: transform 0.2s ease, border-color 0.2s ease !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.3) !important;
}

.pz-color-chip:hover {
  transform: scale(1.12) !important;
}

.pz-color-chip--activo {
  border-color: #F5C518 !important;
  transform: scale(1.12) !important;
}

.pz-capas-lista {
  list-style: none !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

.pz-capas__vacia {
  font-size: 13px !important;
  color: rgba(255,255,255,0.3) !important;
  text-align: center !important;
  padding: 24px 0 !important;
}

.pz-capa-item {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 12px !important;
  background-color: rgba(255,255,255,0.05) !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  border: 1px solid transparent !important;
  transition: border-color 0.2s ease, background-color 0.2s ease !important;
  font-size: 13px !important;
  color: rgba(255,255,255,0.7) !important;
}

.pz-capa-item--activa {
  border-color: #F5C518 !important;
  background-color: rgba(245,197,24,0.08) !important;
  color: #fff !important;
}

.pz-capa-item__icono {
  font-size: 16px !important;
  flex-shrink: 0 !important;
}

.pz-capas-acciones {
  display: flex !important;
  gap: 8px !important;
}

.pz-btn-capa {
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  padding: 8px !important;
  background-color: rgba(255,255,255,0.07) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 8px !important;
  color: rgba(255,255,255,0.7) !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
}

.pz-btn-capa:hover {
  background-color: rgba(255,255,255,0.14) !important;
}

.pz-btn-capa--eliminar:hover {
  background-color: rgba(220,50,50,0.3) !important;
  border-color: rgba(220,50,50,0.5) !important;
  color: #ff6b6b !important;
}

.pz-area-central {
  background-color: #1e1e2e !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 24px 16px !important;
  gap: 16px !important;
}

.pz-canvas-wrap {
  position: relative !important;
  width: 100% !important;
  max-width: 560px !important;
  aspect-ratio: 1 !important;
  background-color: #ffffff !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 40px rgba(0,0,0,0.5) !important;
}

#pz-canvas {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  cursor: default !important;
}

.pz-canvas-hint {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 14px !important;
  color: rgba(0,0,0,0.25) !important;
  pointer-events: none !important;
  transition: opacity 0.3s ease !important;
}

.pz-toolbar {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  background-color: rgba(255,255,255,0.05) !important;
  border-radius: 50px !important;
  padding: 6px 12px !important;
}

.pz-toolbar__btn {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 8px 12px !important;
  background: none !important;
  border: none !important;
  border-radius: 50px !important;
  color: rgba(255,255,255,0.6) !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
}

.pz-toolbar__btn:hover {
  background-color: rgba(255,255,255,0.1) !important;
  color: #fff !important;
}

.pz-toolbar__btn--acento {
  background-color: #F5C518 !important;
  color: #7B3F00 !important;
}

.pz-toolbar__btn--acento:hover {
  background-color: #E07B1A !important;
  color: #fff !important;
}

.pz-toolbar__sep {
  width: 1px !important;
  height: 20px !important;
  background-color: rgba(255,255,255,0.12) !important;
  margin: 0 4px !important;
}

.pz-props {
  width: 100% !important;
  max-width: 560px !important;
  background-color: rgba(255,255,255,0.04) !important;
  border-radius: 12px !important;
  padding: 16px !important;
  box-sizing: border-box !important;
}

.pz-props__titulo {
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: rgba(255,255,255,0.4) !important;
  margin: 0 0 14px !important;
}

.pz-props__fila {
  margin-bottom: 12px !important;
}

.pz-panel-der {
  background-color: #2a2a3e !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  border-left: 1px solid rgba(255,255,255,0.08) !important;
}

.pz-preview-wrap {
  padding: 20px !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}

.pz-preview-producto {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 1 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background-color: rgba(255,255,255,0.05) !important;
  margin-bottom: 10px !important;
}

.pz-preview__producto-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
}

.pz-preview__overlay {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none !important;
}

.pz-preview__sin-producto {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: rgba(255,255,255,0.2) !important;
}

.pz-preview__nota {
  font-size: 11px !important;
  color: rgba(255,255,255,0.3) !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}

.pz-acciones-finales {
  padding: 20px !important;
  flex: 1 !important;
}

.pz-precio {
  font-family: 'Playfair Display', serif !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #F5C518 !important;
  margin: 0 0 16px !important;
}

.pz-campo__textarea {
  resize: vertical !important;
  min-height: 72px !important;
}

.pz-btn-carrito {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 15px 20px !important;
  background-color: #F5C518 !important;
  color: #7B3F00 !important;
  border: none !important;
  border-radius: 50px !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease, transform 0.2s ease !important;
  box-shadow: 0 4px 20px rgba(245,197,24,0.35) !important;
}

.pz-btn-carrito:hover:not(:disabled) {
  background-color: #E07B1A !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
}

.pz-btn-carrito:disabled {
  background-color: rgba(255,255,255,0.1) !important;
  color: rgba(255,255,255,0.3) !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
}

@media (min-width: 749px) {
  .pz-layout {
    grid-template-columns: 280px 1fr !important;
    grid-template-rows: auto !important;
  }

  .pz-panel-der {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }
}

@media (min-width: 1100px) {
  .pz-layout {
    grid-template-columns: 280px 1fr 280px !important;
    grid-template-rows: 1fr !important;
    height: 100vh !important;
  }

  .pz-panel-izq {
    overflow-y: auto !important;
  }

  .pz-panel-der {
    grid-column: 3 !important;
    grid-row: 1 !important;
    overflow-y: auto !important;
  }

  .pz-area-central {
    overflow-y: auto !important;
    padding: 32px !important;
  }
}
/* END_SECTION:personalizador */

/* START_SECTION:por-que-calima (INDEX:78) */
.pq-seccion { width: 100%; box-sizing: border-box; }

.pq-inner { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

.pq-cabecera {
  text-align: center;
  margin-bottom: 48px;
}

.pq-cabecera__sub {
  font-family: 'Nunito', sans-serif;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  margin: 0 0 8px;
}

.pq-cabecera__titulo {
  font-family: 'Playfair Display', serif;
  font-size: clamp(26px, 4vw, 40px);
  font-weight: 900;
  margin: 0;
  line-height: 1.15;
}

.pq-tarjetas {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
}

@media (max-width: 989px) {
  .pq-tarjetas { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 599px) {
  .pq-tarjetas { grid-template-columns: repeat(1, 1fr); gap: 16px; }
}

.pq-tarjeta {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 28px 16px;
  border-radius: 16px;
  background: rgba(123, 63, 0, 0.04);
  border: 1px solid rgba(123, 63, 0, 0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.pq-tarjeta:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 28px rgba(123, 63, 0, 0.1);
}

.pq-tarjeta__icono {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
}

.pq-tarjeta__icono svg {
  width: 44px;
  height: 44px;
  stroke: currentColor;
}

.pq-tarjeta__titulo {
  font-family: 'Nunito', sans-serif;
  font-size: 15px;
  font-weight: 800;
  margin: 0 0 6px;
  line-height: 1.3;
}

.pq-tarjeta__desc {
  font-family: 'Nunito', sans-serif;
  font-size: 13px;
  font-weight: 400;
  margin: 0;
  line-height: 1.5;
  opacity: 0.8;
}
/* END_SECTION:por-que-calima */

/* START_SECTION:resenas-calima (INDEX:87) */
.rs-seccion {
  width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.rs-cabecera {
  text-align: center !important;
  max-width: 700px !important;
  margin: 0 auto 40px !important;
  padding: 0 20px !important;
}

.rs-cabecera__subtitulo {
  font-family: 'Nunito', sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  margin: 0 0 10px !important;
}

.rs-cabecera__titulo {
  font-family: 'Playfair Display', serif !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  margin: 0 0 16px !important;
  line-height: 1.25 !important;
}

.rs-resumen {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}

.rs-resumen__estrellas {
  display: flex !important;
  gap: 2px !important;
}

.rs-resumen__nota {
  font-family: 'Playfair Display', serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
}

.rs-resumen__total {
  font-family: 'Nunito', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  opacity: 0.6 !important;
}

.rs-estrella {
  color: rgba(196, 94, 0, 0.2) !important;
  flex-shrink: 0 !important;
}

.rs-estrella--llena {
  color: #F5C518 !important;
}

.rs-contenedor {
  position: relative !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
}

.rs-pista {
  overflow: hidden !important;
  cursor: grab !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  padding: 12px 4px !important;
}

.rs-pista:active {
  cursor: grabbing !important;
}

.rs-carril {
  display: flex !important;
  transition: transform 0.42s cubic-bezier(0.4, 0, 0.2, 1) !important;
  will-change: transform !important;
}

.rs-slide {
  flex: 0 0 90% !important;
  max-width: 90% !important;
  padding: 0 8px !important;
  box-sizing: border-box !important;
}

.rs-tarjeta {
  border-radius: 16px !important;
  border: 1px solid !important;
  padding: 24px !important;
  box-shadow: 0 2px 16px rgba(123, 63, 0, 0.07) !important;
  transition: box-shadow 0.3s ease, transform 0.3s ease !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  height: 100% !important;
  box-sizing: border-box !important;
}

.rs-tarjeta:hover {
  box-shadow: 0 8px 32px rgba(123, 63, 0, 0.13) !important;
  transform: translateY(-3px) !important;
}

.rs-tarjeta__cabecera {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

.rs-tarjeta__autor {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.rs-tarjeta__avatar {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  flex-shrink: 0 !important;
}

.rs-tarjeta__avatar-inicial {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'Playfair Display', serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  flex-shrink: 0 !important;
}

.rs-tarjeta__nombre {
  font-family: 'Nunito', sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}

.rs-tarjeta__fecha {
  font-family: 'Nunito', sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  margin: 3px 0 0 !important;
}

.rs-tarjeta__fuente {
  flex-shrink: 0 !important;
  margin-top: 2px !important;
}

.rs-tarjeta__estrellas {
  display: flex !important;
  align-items: center !important;
  gap: 2px !important;
}

.rs-verificado {
  margin-left: 4px !important;
  flex-shrink: 0 !important;
}

.rs-tarjeta__cuerpo {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  flex: 1 !important;
}

.rs-tarjeta__texto {
  font-family: 'Nunito', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  margin: 0 !important;
  opacity: 0.85 !important;
}

.rs-tarjeta__leer-mas {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  align-self: flex-start !important;
  transition: opacity 0.2s ease !important;
}

.rs-tarjeta__leer-mas:hover {
  opacity: 0.7 !important;
}

.rs-flecha {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  background-color: #FFF8EC !important;
  border: 1px solid rgba(196, 94, 0, 0.25) !important;
  box-shadow: 0 2px 16px rgba(123, 63, 0, 0.14) !important;
  color: #7B3F00 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  z-index: 10 !important;
  transition: background-color 0.2s ease, box-shadow 0.2s ease !important;
}

.rs-flecha:hover:not(:disabled) {
  background-color: #F5C518 !important;
  box-shadow: 0 4px 20px rgba(123, 63, 0, 0.2) !important;
}

.rs-flecha:disabled {
  opacity: 0.35 !important;
  cursor: default !important;
}

.rs-flecha--prev {
  left: -8px !important;
}

.rs-flecha--next {
  right: -8px !important;
}

.rs-puntos {
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-top: 24px !important;
}

.rs-puntos__punto {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background-color: rgba(196, 94, 0, 0.22) !important;
  border: none !important;
  padding: 0 !important;
  cursor: pointer !important;
  transition: background-color 0.25s ease, width 0.25s ease, border-radius 0.25s ease !important;
}

.rs-puntos__punto--activo {
  background-color: #C45E00 !important;
  width: 24px !important;
  border-radius: 4px !important;
}

@media (min-width: 749px) {
  .rs-slide {
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }

  .rs-cabecera__titulo {
    font-size: 34px !important;
  }
}

@media (min-width: 990px) {
  .rs-slide {
    flex: 0 0 33.333% !important;
    max-width: 33.333% !important;
  }

  .rs-flecha {
    display: flex !important;
  }

  .rs-flecha--prev {
    left: -20px !important;
  }

  .rs-flecha--next {
    right: -20px !important;
  }
}
/* END_SECTION:resenas-calima */

/* START_SECTION:slider-productos-calima (INDEX:89) */
.sp-seccion {
  width: 100% !important;
  box-sizing: border-box !important;
}

.sp-cabecera {
  max-width: 1400px !important;
  margin: 0 auto 32px !important;
  padding: 0 20px !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px 20px !important;
}

.sp-cabecera__subtitulo {
  width: 100% !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  color: #C45E00 !important;
  margin: 0 !important;
}

.sp-cabecera__titulo {
  font-family: 'Playfair Display', serif !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  margin: 0 !important;
  line-height: 1.2 !important;
  flex: 1 !important;
}

.sp-cabecera__ver-todos {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #C45E00 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(196, 94, 0, 0.3) !important;
  padding-bottom: 1px !important;
  transition: color 0.2s ease, border-color 0.2s ease !important;
  white-space: nowrap !important;
}

.sp-cabecera__ver-todos:hover {
  color: #E07B1A !important;
  border-color: #E07B1A !important;
}

.sp-contenedor {
  position: relative !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
}

.sp-pista {
  overflow: hidden !important;
  cursor: grab !important;
  user-select: none !important;
  -webkit-user-select: none !important;
}

.sp-pista:active {
  cursor: grabbing !important;
}

.sp-carril {
  display: flex !important;
  transition: transform 0.42s cubic-bezier(0.4, 0, 0.2, 1) !important;
  will-change: transform !important;
}

.sp-slide {
  flex: 0 0 calc(85% - 8px) !important;
  max-width: calc(85% - 8px) !important;
  padding: 0 8px !important;
  box-sizing: border-box !important;
}

.sp-flecha {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background-color: #FFF8EC !important;
  border: 1px solid rgba(196, 94, 0, 0.25) !important;
  box-shadow: 0 2px 16px rgba(123, 63, 0, 0.14) !important;
  color: #7B3F00 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  z-index: 10 !important;
  transition: background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease, box-shadow 0.2s ease !important;
}

.sp-flecha:hover:not(:disabled) {
  background-color: #F5C518 !important;
  box-shadow: 0 4px 20px rgba(123, 63, 0, 0.2) !important;
}

.sp-flecha:disabled {
  opacity: 0.35 !important;
  cursor: default !important;
}

.sp-flecha--prev {
  left: -10px !important;
}

.sp-flecha--next {
  right: -10px !important;
}

.sp-puntos {
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-top: 24px !important;
}

.sp-puntos__punto {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background-color: rgba(196, 94, 0, 0.22) !important;
  border: none !important;
  padding: 0 !important;
  cursor: pointer !important;
  transition: background-color 0.25s ease, width 0.25s ease, border-radius 0.25s ease !important;
}

.sp-puntos__punto--activo {
  background-color: #C45E00 !important;
  width: 24px !important;
  border-radius: 4px !important;
}

.cp-tarjeta {
  background-color: #ffffff !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 12px rgba(123, 63, 0, 0.07) !important;
  transition: box-shadow 0.3s ease, transform 0.3s ease !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

.cp-tarjeta:hover {
  box-shadow: 0 8px 32px rgba(123, 63, 0, 0.14) !important;
  transform: translateY(-3px) !important;
}

.cp-tarjeta__imagen-wrap {
  position: relative !important;
  overflow: hidden !important;
  background-color: rgba(245, 197, 24, 0.08) !important;
  aspect-ratio: 1 / 1 !important;
}

.cp-tarjeta__imagen-enlace {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  text-decoration: none !important;
}

.cp-tarjeta__imagen {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: opacity 0.4s ease, transform 0.5s ease !important;
}

.cp-tarjeta__imagen--secundaria {
  opacity: 0 !important;
}

.cp-tarjeta:hover .cp-tarjeta__imagen--principal {
  opacity: 0 !important;
  transform: scale(1.04) !important;
}

.cp-tarjeta:hover .cp-tarjeta__imagen--secundaria {
  opacity: 1 !important;
  transform: scale(1.04) !important;
}

.cp-tarjeta__sin-imagen {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.cp-tarjeta__placeholder-svg {
  width: 60% !important;
  height: 60% !important;
  opacity: 0.25 !important;
}

.cp-tarjeta__badges {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  z-index: 2 !important;
}

.cp-tarjeta__badge {
  font-family: 'Nunito', sans-serif !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  padding: 4px 10px !important;
  border-radius: 50px !important;
  line-height: 1.2 !important;
}

.cp-tarjeta__badge--agotado {
  background-color: rgba(123, 63, 0, 0.12) !important;
  color: #7B3F00 !important;
}

.cp-tarjeta__badge--oferta {
  background-color: #F5C518 !important;
  color: #7B3F00 !important;
}

.cp-tarjeta__accion-rapida {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 12px !important;
  transform: translateY(100%) !important;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  z-index: 3 !important;
}

.cp-tarjeta:hover .cp-tarjeta__accion-rapida {
  transform: translateY(0) !important;
}

.cp-tarjeta__btn-carrito {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 11px 18px !important;
  background-color: #F5C518 !important;
  color: #7B3F00 !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  border: none !important;
  border-radius: 50px !important;
  cursor: pointer !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-shadow: 0 2px 12px rgba(123, 63, 0, 0.2) !important;
  box-sizing: border-box !important;
}

.cp-tarjeta__btn-carrito:hover {
  background-color: #E07B1A !important;
  color: #FFF8EC !important;
  transform: translateY(-1px) !important;
}

.cp-tarjeta__info {
  padding: 14px 16px 18px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  flex: 1 !important;
}

.cp-tarjeta__vendor {
  font-family: 'Nunito', sans-serif !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: #C45E00 !important;
  margin: 0 !important;
}

.cp-tarjeta__titulo {
  margin: 0 !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

.cp-tarjeta__titulo-enlace {
  color: #7B3F00 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.cp-tarjeta__titulo-enlace:hover {
  color: #C45E00 !important;
}

.cp-tarjeta__valoracion {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
}

.cp-tarjeta__estrellas {
  position: relative !important;
  display: inline-block !important;
  line-height: 1 !important;
}

.cp-tarjeta__estrellas::before {
  content: '★★★★★' !important;
  color: rgba(196, 94, 0, 0.2) !important;
  font-size: 12px !important;
  letter-spacing: 1px !important;
}

.cp-tarjeta__estrellas::after {
  content: '★★★★★' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  color: #F5C518 !important;
  font-size: 12px !important;
  letter-spacing: 1px !important;
  width: calc(var(--cp-rating) / var(--cp-rating-max) * 100% + var(--cp-rating-decimal) * 20%) !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

.cp-tarjeta__valoracion-num {
  font-family: 'Nunito', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #7B3F00 !important;
}

.cp-tarjeta__valoracion-total {
  font-family: 'Nunito', sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  color: rgba(123, 63, 0, 0.5) !important;
}

.cp-tarjeta__precios {
  display: flex !important;
  align-items: baseline !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  margin-top: auto !important;
}

.cp-tarjeta__precio {
  font-family: 'Nunito', sans-serif !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  color: #7B3F00 !important;
}

.cp-tarjeta__precio--oferta {
  color: #C45E00 !important;
}

.cp-tarjeta__precio-antes {
  font-family: 'Nunito', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: rgba(123, 63, 0, 0.45) !important;
  text-decoration: line-through !important;
}

.cp-tarjeta--placeholder .cp-tarjeta__imagen-wrap {
  background-color: rgba(245, 197, 24, 0.1) !important;
}

@media (min-width: 749px) {
  .sp-slide {
    flex: 0 0 calc(50% - 8px) !important;
    max-width: calc(50% - 8px) !important;
  }

  .sp-cabecera__titulo {
    font-size: 32px !important;
  }

  .sp-flecha {
    display: flex !important;
  }

  .sp-flecha--prev {
    left: -22px !important;
  }

  .sp-flecha--next {
    right: -22px !important;
  }
}

@media (min-width: 990px) {
  .sp-slide {
    flex: 0 0 calc(25% - 8px) !important;
    max-width: calc(25% - 8px) !important;
  }

  .sp-cabecera {
    margin-bottom: 40px !important;
  }
}
/* END_SECTION:slider-productos-calima */

/* START_SECTION:sobre-nosotros-calima (INDEX:91) */
.sn-pagina {
  overflow-x: hidden !important;
  font-family: 'Nunito', sans-serif !important;
}

.sn-etiqueta {
  font-family: 'Nunito', sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.14em !important;
  color: #C45E00 !important;
  margin: 0 0 12px !important;
}

.sn-etiqueta--claro {
  color: rgba(245, 197, 24, 0.8) !important;
}

.sn-titulo-seccion {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(28px, 4vw, 46px) !important;
  font-weight: 700 !important;
  color: #7B3F00 !important;
  margin: 0 0 24px !important;
  line-height: 1.15 !important;
}

.sn-titulo-seccion--claro {
  color: #FFF8EC !important;
}

.sn-hero {
  position: relative !important;
  min-height: 90vh !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

.sn-hero__fondo {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(135deg, #7B3F00 0%, #C45E00 40%, #E07B1A 70%, #F5C518 100%) !important;
}

.sn-hero__img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: 0.25 !important;
  mix-blend-mode: luminosity !important;
}

.sn-hero__overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to bottom, rgba(123,63,0,0.3) 0%, rgba(123,63,0,0.6) 100%) !important;
}

.sn-hero__particulas {
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
}

.sn-particula {
  position: absolute !important;
  border-radius: 50% !important;
  background: rgba(245, 197, 24, 0.15) !important;
  animation: sn-flotar linear infinite !important;
}

{%- for i in (1..18) -%}
.sn-particula--{{ i }} {
  width: {{ i | times: 3 | plus: 4 }}px !important;
  height: {{ i | times: 3 | plus: 4 }}px !important;
  left: {{ i | times: 6 | modulo: 100 }}% !important;
  top: {{ i | times: 11 | modulo: 100 }}% !important;
  animation-duration: {{ i | plus: 8 }}s !important;
  animation-delay: -{{ i | times: 2 | modulo: 12 }}s !important;
  opacity: {{ i | modulo: 5 | plus: 2 | times: 0.08 }} !important;
}
{%- endfor -%}

@keyframes sn-flotar {
  0% { transform: translateY(0) translateX(0) scale(1); opacity: 0; }
  20% { opacity: 1; }
  80% { opacity: 0.6; }
  100% { transform: translateY(-120px) translateX(30px) scale(1.3); opacity: 0; }
}

.sn-hero__contenido {
  position: relative !important;
  z-index: 2 !important;
  text-align: center !important;
  padding: 40px 24px !important;
  max-width: 800px !important;
  margin: 0 auto !important;
}

.sn-hero__origen {
  font-family: 'Nunito', sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.2em !important;
  color: rgba(245, 197, 24, 0.8) !important;
  margin: 0 0 24px !important;
}

.sn-hero__titulo {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(42px, 8vw, 88px) !important;
  font-weight: 900 !important;
  color: #FFF8EC !important;
  margin: 0 0 24px !important;
  line-height: 1.05 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

.sn-hero__titulo-linea2 {
  color: #F5C518 !important;
  font-style: italic !important;
}

.sn-hero__lema {
  font-family: 'Nunito', sans-serif !important;
  font-size: clamp(15px, 2vw, 20px) !important;
  font-weight: 400 !important;
  color: rgba(255, 248, 236, 0.8) !important;
  margin: 0 !important;
  font-style: italic !important;
  line-height: 1.6 !important;
}

.sn-hero__scroll {
  position: absolute !important;
  bottom: 32px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 2 !important;
}

.sn-hero__scroll span {
  display: block !important;
  width: 2px !important;
  height: 40px !important;
  background: linear-gradient(to bottom, #F5C518, transparent) !important;
  margin: 0 auto !important;
  animation: sn-scroll 1.8s ease-in-out infinite !important;
}

@keyframes sn-scroll {
  0%, 100% { transform: scaleY(1); opacity: 1; }
  50% { transform: scaleY(0.5); opacity: 0.4; }
}

.sn-calima-seccion {
  background-color: #FFF8EC !important;
  padding: 80px 24px !important;
}

.sn-calima-seccion__inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 60px !important;
  align-items: center !important;
}

.sn-calima-seccion__parrafos {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

.sn-calima-seccion__parrafos p {
  font-size: 16px !important;
  line-height: 1.8 !important;
  color: rgba(123, 63, 0, 0.8) !important;
  margin: 0 !important;
}

.sn-calima-seccion__visual {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 32px !important;
}

.sn-calima-orbe {
  position: relative !important;
  width: 260px !important;
  height: 260px !important;
  flex-shrink: 0 !important;
}

.sn-calima-orbe__anillo {
  position: absolute !important;
  border-radius: 50% !important;
  border: 1px solid rgba(245, 197, 24, 0.3) !important;
  animation: sn-girar linear infinite !important;
}

.sn-calima-orbe__anillo--1 {
  inset: 0 !important;
  animation-duration: 20s !important;
}

.sn-calima-orbe__anillo--2 {
  inset: 20px !important;
  border-color: rgba(196, 94, 0, 0.25) !important;
  animation-duration: 15s !important;
  animation-direction: reverse !important;
}

.sn-calima-orbe__anillo--3 {
  inset: 40px !important;
  border-color: rgba(245, 197, 24, 0.4) !important;
  animation-duration: 25s !important;
}

@keyframes sn-girar {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.sn-calima-orbe__centro {
  position: absolute !important;
  inset: 60px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  background: radial-gradient(circle, #F5C518 0%, #E07B1A 60%, #C45E00 100%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.sn-calima-orbe__img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.sn-calima-orbe__svg {
  width: 80px !important;
  height: 80px !important;
}

.sn-calima-cita {
  background: linear-gradient(135deg, rgba(245,197,24,0.12), rgba(196,94,0,0.08)) !important;
  border-left: 3px solid #F5C518 !important;
  padding: 20px 24px !important;
  border-radius: 0 12px 12px 0 !important;
  margin: 0 !important;
  max-width: 360px !important;
}

.sn-calima-cita p {
  font-family: 'Playfair Display', serif !important;
  font-size: 17px !important;
  font-style: italic !important;
  color: #7B3F00 !important;
  margin: 0 !important;
  line-height: 1.6 !important;
}

.sn-historia {
  background-color: #ffffff !important;
  padding: 80px 24px !important;
}

.sn-historia__inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 60px !important;
  align-items: center !important;
}

.sn-historia__media {
  position: relative !important;
}

.sn-historia__foto-wrap {
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 20px 60px rgba(123, 63, 0, 0.2) !important;
  aspect-ratio: 4/5 !important;
}

.sn-historia__foto {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.6s ease !important;
}

.sn-historia__foto-wrap:hover .sn-historia__foto {
  transform: scale(1.04) !important;
}

.sn-historia__foto-placeholder {
  aspect-ratio: 4/5 !important;
  border-radius: 20px !important;
  background: rgba(245, 197, 24, 0.08) !important;
  border: 2px dashed rgba(196, 94, 0, 0.2) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: rgba(123, 63, 0, 0.3) !important;
  font-size: 14px !important;
}

.sn-historia__ano-badge {
  position: absolute !important;
  bottom: -20px !important;
  right: -10px !important;
  background: linear-gradient(135deg, #F5C518, #E07B1A) !important;
  border-radius: 16px !important;
  padding: 16px 24px !important;
  box-shadow: 0 8px 30px rgba(196, 94, 0, 0.4) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.sn-historia__ano {
  font-family: 'Playfair Display', serif !important;
  font-size: 36px !important;
  font-weight: 900 !important;
  color: #7B3F00 !important;
  line-height: 1 !important;
}

.sn-historia__ano-label {
  font-family: 'Nunito', sans-serif !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: rgba(123, 63, 0, 0.7) !important;
  margin-top: 4px !important;
}

.sn-historia__intro {
  font-family: 'Playfair Display', serif !important;
  font-size: 20px !important;
  font-style: italic !important;
  color: #C45E00 !important;
  margin: 0 0 20px !important;
  line-height: 1.5 !important;
}

.sn-historia__cuerpo {
  font-size: 16px !important;
  line-height: 1.8 !important;
  color: rgba(123, 63, 0, 0.75) !important;
  margin: 0 0 16px !important;
}

.sn-valores {
  background: linear-gradient(160deg, #7B3F00 0%, #C45E00 50%, #E07B1A 100%) !important;
  padding: 80px 24px !important;
}

.sn-valores__inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
}

.sn-valores__cabecera {
  text-align: center !important;
  margin-bottom: 56px !important;
}

.sn-valores__grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 20px !important;
}

.sn-valor-card {
  background: rgba(255, 248, 236, 0.08) !important;
  border: 1px solid rgba(245, 197, 24, 0.2) !important;
  border-radius: 20px !important;
  padding: 32px 28px !important;
  transition: background 0.3s ease, transform 0.3s ease, border-color 0.3s ease !important;
}

.sn-valor-card:hover {
  background: rgba(255, 248, 236, 0.14) !important;
  border-color: rgba(245, 197, 24, 0.5) !important;
  transform: translateY(-4px) !important;
}

.sn-valor-card__icono {
  width: 56px !important;
  height: 56px !important;
  border-radius: 16px !important;
  background: rgba(245, 197, 24, 0.15) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #F5C518 !important;
  margin-bottom: 18px !important;
}

.sn-valor-card__titulo {
  font-family: 'Playfair Display', serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #FFF8EC !important;
  margin: 0 0 10px !important;
}

.sn-valor-card__texto {
  font-size: 14px !important;
  line-height: 1.7 !important;
  color: rgba(255, 248, 236, 0.7) !important;
  margin: 0 !important;
}

.sn-equipo {
  background-color: #FFF8EC !important;
  padding: 80px 24px !important;
}

.sn-equipo__inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 60px !important;
  align-items: center !important;
}

.sn-equipo__texto p {
  font-size: 16px !important;
  line-height: 1.8 !important;
  color: rgba(123, 63, 0, 0.75) !important;
  margin: 0 0 28px !important;
}

.sn-equipo__cta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 14px 28px !important;
  background: #7B3F00 !important;
  color: #F5C518 !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  border-radius: 50px !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  transition: background 0.2s ease, transform 0.2s ease !important;
}

.sn-equipo__cta:hover {
  background: #C45E00 !important;
  transform: translateY(-2px) !important;
}

.sn-equipo__fotos {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
}

.sn-equipo__foto-wrap {
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 30px rgba(123, 63, 0, 0.15) !important;
}

.sn-equipo__foto-wrap--1 {
  aspect-ratio: 3/4 !important;
  margin-top: 0 !important;
}

.sn-equipo__foto-wrap--2 {
  aspect-ratio: 3/4 !important;
  margin-top: 40px !important;
}

.sn-equipo__foto {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.5s ease !important;
}

.sn-equipo__foto-wrap:hover .sn-equipo__foto {
  transform: scale(1.05) !important;
}

.sn-equipo__foto-placeholder {
  border-radius: 16px !important;
  background: rgba(245, 197, 24, 0.08) !important;
  border: 2px dashed rgba(196, 94, 0, 0.2) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: rgba(123, 63, 0, 0.3) !important;
  font-size: 13px !important;
}

.sn-timeline {
  background-color: #3d1e00 !important;
  padding: 72px 24px !important;
}

.sn-timeline__inner {
  max-width: 960px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

.sn-timeline__hitos {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0 !important;
  margin-top: 48px !important;
  position: relative !important;
}

.sn-timeline__hitos::before {
  content: '' !important;
  position: absolute !important;
  top: 28px !important;
  left: 12.5% !important;
  right: 12.5% !important;
  height: 2px !important;
  background: rgba(245, 197, 24, 0.25) !important;
}

@media (max-width: 749px) {
  .sn-timeline__hitos {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 32px 16px !important;
  }
  .sn-timeline__hitos::before { display: none !important; }
}

.sn-hito {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 0 12px !important;
}

.sn-hito__anyo {
  font-family: 'Playfair Display', serif !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  color: #F5C518 !important;
  background: #3d1e00 !important;
  padding: 0 8px !important;
  position: relative !important;
  z-index: 1 !important;
}

.sn-hito__linea {
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background: #F5C518 !important;
  flex-shrink: 0 !important;
}

.sn-hito__texto {
  font-family: 'Nunito', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: rgba(255, 248, 236, 0.75) !important;
  line-height: 1.45 !important;
  text-align: center !important;
}

.sn-cifras {
  background-color: #7B3F00 !important;
  padding: 60px 24px !important;
}

.sn-cifras__inner {
  max-width: 1000px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 40px !important;
  text-align: center !important;
}

.sn-cifra {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

.sn-cifra__num {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(40px, 6vw, 64px) !important;
  font-weight: 900 !important;
  color: #F5C518 !important;
  line-height: 1 !important;
}

.sn-cifra__label {
  font-family: 'Nunito', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: rgba(255, 248, 236, 0.6) !important;
}

.sn-cierre {
  position: relative !important;
  background: #FFF8EC !important;
  padding: 100px 24px !important;
  text-align: center !important;
  overflow: hidden !important;
}

.sn-cierre__deco {
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
}

.sn-cierre__ola {
  position: absolute !important;
  border-radius: 50% !important;
  opacity: 0.06 !important;
}

.sn-cierre__ola--1 {
  width: 600px !important;
  height: 600px !important;
  background: #F5C518 !important;
  top: -200px !important;
  left: -100px !important;
}

.sn-cierre__ola--2 {
  width: 500px !important;
  height: 500px !important;
  background: #C45E00 !important;
  bottom: -150px !important;
  right: -100px !important;
}

.sn-cierre__inner {
  position: relative !important;
  z-index: 1 !important;
  max-width: 720px !important;
  margin: 0 auto !important;
}

.sn-cierre__frase {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(22px, 3.5vw, 36px) !important;
  font-style: italic !important;
  font-weight: 700 !important;
  color: #7B3F00 !important;
  margin: 0 0 20px !important;
  line-height: 1.4 !important;
}

.sn-cierre__firma {
  font-family: 'Nunito', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #C45E00 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  margin: 0 0 40px !important;
}

.sn-cierre__btn {
  display: inline-flex !important;
  align-items: center !important;
  padding: 16px 36px !important;
  background: linear-gradient(135deg, #F5C518, #E07B1A) !important;
  color: #7B3F00 !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  border-radius: 50px !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  box-shadow: 0 8px 30px rgba(196, 94, 0, 0.35) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.sn-cierre__btn:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 14px 40px rgba(196, 94, 0, 0.45) !important;
}

@media (min-width: 749px) {
  .sn-calima-seccion__inner,
  .sn-historia__inner,
  .sn-equipo__inner {
    grid-template-columns: 1fr 1fr !important;
  }

  .sn-valores__grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .sn-cifras__inner {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}

@media (min-width: 990px) {
  .sn-valores__grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }

  .sn-calima-seccion,
  .sn-historia,
  .sn-equipo {
    padding: 100px 60px !important;
  }
}
/* END_SECTION:sobre-nosotros-calima */

/* START_SECTION:taller-calima (INDEX:92) */
.tl-seccion { width: 100%; box-sizing: border-box; }

.tl-inner { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

.tl-cabecera {
  text-align: center;
  margin-bottom: 48px;
}

.tl-cabecera__sub {
  font-family: 'Nunito', sans-serif;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  margin: 0 0 8px;
}

.tl-cabecera__titulo {
  font-family: 'Playfair Display', serif;
  font-size: clamp(26px, 4vw, 40px);
  font-weight: 900;
  margin: 0;
  line-height: 1.15;
}

.tl-pasos {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
}

@media (max-width: 749px) {
  .tl-pasos { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}

@media (max-width: 399px) {
  .tl-pasos { grid-template-columns: 1fr; }
}

.tl-paso {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 12px;
}

.tl-paso__num {
  font-family: 'Playfair Display', serif;
  font-size: 32px;
  font-weight: 900;
  line-height: 1;
  opacity: 0.25;
}

.tl-paso__imagen {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 16px;
  overflow: hidden;
  background: rgba(123, 63, 0, 0.06);
  display: flex;
  align-items: center;
  justify-content: center;
}

.tl-paso__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.tl-paso__placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: rgba(123, 63, 0, 0.3);
}

.tl-paso__placeholder svg {
  width: 56px;
  height: 56px;
}

.tl-paso__caption {
  font-family: 'Nunito', sans-serif;
  font-size: 15px;
  font-weight: 800;
  margin: 0;
}
/* END_SECTION:taller-calima */

/* START_SECTION:tecnicas-calima (INDEX:93) */
.tc-seccion{width:100%!important;box-sizing:border-box!important}.tc-contenedor{max-width:1200px!important;margin:0 auto!important;padding:0 24px!important}.tc-cabecera{text-align:center!important;margin-bottom:48px!important}.tc-cabecera__sub{font-family:'Nunito',sans-serif!important;font-size:11px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:0.15em!important;color:rgba(245,197,24,0.75)!important;margin:0 0 10px!important}.tc-cabecera__titulo{font-family:'Playfair Display',serif!important;font-size:clamp(24px,3vw,36px)!important;font-weight:700!important;color:#FFF8EC!important;margin:0 0 12px!important;line-height:1.2!important}.tc-cabecera__desc{font-family:'Nunito',sans-serif!important;font-size:15px!important;color:rgba(255,248,236,0.65)!important;margin:12px auto 0!important;line-height:1.6!important;max-width:560px!important}.tc-grid{display:grid!important;grid-template-columns:1fr!important;gap:20px!important}.tc-item{background:rgba(255,248,236,0.07)!important;border:1px solid rgba(245,197,24,0.15)!important;border-radius:16px!important;padding:32px 24px!important;text-align:center!important;transition:background 0.3s ease,border-color 0.3s ease,transform 0.3s ease!important}.tc-item:hover{background:rgba(245,197,24,0.12)!important;border-color:rgba(245,197,24,0.35)!important;transform:translateY(-4px)!important}.tc-item__icono{margin-bottom:16px!important;display:flex!important;justify-content:center!important;color:#F5C518!important}.tc-item__icono svg{width:44px!important;height:44px!important}.tc-item__nombre{font-family:'Playfair Display',serif!important;font-size:18px!important;font-weight:700!important;color:#FFF8EC!important;margin:0 0 10px!important}.tc-item__desc{font-family:'Nunito',sans-serif!important;font-size:14px!important;color:rgba(255,248,236,0.65)!important;margin:0!important;line-height:1.6!important}.tc-cta{text-align:center!important;margin-top:40px!important}.tc-cta__btn{display:inline-flex!important;align-items:center!important;padding:13px 32px!important;background:#F5C518!important;color:#7B3F00!important;font-family:'Nunito',sans-serif!important;font-size:13px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:0.08em!important;border-radius:50px!important;text-decoration:none!important;transition:background 0.2s ease,transform 0.2s ease!important}.tc-cta__btn:hover{background:#E07B1A!important;color:#FFF8EC!important;transform:translateY(-2px)!important}@media(min-width:749px){.tc-grid{grid-template-columns:repeat(2,1fr)!important}}@media(min-width:990px){.tc-grid{grid-template-columns:repeat(4,1fr)!important}}
/* END_SECTION:tecnicas-calima */

/* START_SECTION:trabajos-realizados (INDEX:94) */
.tr-seccion {
  width: 100% !important;
  box-sizing: border-box !important;
}

.tr-cabecera {
  text-align: center !important;
  margin-bottom: 40px !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 20px !important;
}

.tr-cabecera__etiqueta {
  font-family: 'Nunito', sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.18em !important;
  margin: 0 0 8px !important;
}

.tr-cabecera__titulo {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(26px, 4vw, 40px) !important;
  font-weight: 900 !important;
  margin: 0 0 12px !important;
  line-height: 1.15 !important;
}

.tr-cabecera__desc {
  font-family: 'Nunito', sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  margin: 0 !important;
  line-height: 1.6 !important;
  max-width: 560px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  opacity: 0.82 !important;
}

.tr-carrusel-wrap {
  position: relative !important;
  overflow: hidden !important;
}

.tr-pista {
  overflow: hidden !important;
  width: 100% !important;
  cursor: grab !important;
  user-select: none !important;
}

.tr-pista:active {
  cursor: grabbing !important;
}

.tr-carril {
  display: flex !important;
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1) !important;
  will-change: transform !important;
}

.tr-slide {
  flex: 0 0 90% !important;
  max-width: 90% !important;
  padding: 0 8px !important;
  box-sizing: border-box !important;
}

.tr-card {
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #FFF8EC !important;
  box-shadow: 0 2px 16px rgba(123, 63, 0, 0.07) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.tr-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 28px rgba(123, 63, 0, 0.12) !important;
}

.tr-card__imagen-wrap {
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
}

.tr-card__imagen {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.4s ease !important;
}

.tr-card:hover .tr-card__imagen {
  transform: scale(1.04) !important;
}

.tr-card__placeholder {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  color: rgba(123, 63, 0, 0.28) !important;
  background: linear-gradient(135deg, rgba(245,197,24,0.06) 0%, rgba(196,94,0,0.06) 100%) !important;
  min-height: 200px !important;
}

.tr-card__placeholder span {
  font-family: 'Nunito', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
}

.tr-card__texto {
  padding: 16px 18px 18px !important;
}

.tr-card__titulo {
  font-family: 'Nunito', sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  margin: 0 0 4px !important;
  line-height: 1.3 !important;
}

.tr-card__desc {
  font-family: 'Nunito', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  margin: 0 !important;
  opacity: 0.75 !important;
  line-height: 1.45 !important;
}

.tr-flecha {
  position: absolute !important;
  top: 40% !important;
  transform: translateY(-50%) !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background-color: #FFF8EC !important;
  border: 1px solid rgba(196, 94, 0, 0.2) !important;
  box-shadow: 0 2px 12px rgba(123, 63, 0, 0.15) !important;
  color: #7B3F00 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  z-index: 10 !important;
  transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease !important;
}

.tr-flecha:hover {
  background-color: #F5C518 !important;
  box-shadow: 0 4px 16px rgba(123, 63, 0, 0.2) !important;
}

.tr-flecha--prev { left: 4px !important; }
.tr-flecha--next { right: 4px !important; }

.tr-puntos {
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-top: 20px !important;
  padding-bottom: 4px !important;
}

.tr-puntos__punto {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background-color: rgba(196, 94, 0, 0.25) !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0 !important;
  transition: background-color 0.25s ease, width 0.25s ease, border-radius 0.25s ease !important;
}

.tr-puntos__punto--activo {
  background-color: #C45E00 !important;
  width: 24px !important;
  border-radius: 4px !important;
}

@media (min-width: 749px) {
  .tr-slide {
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }
  .tr-flecha { display: flex !important; }
}

@media (min-width: 990px) {
  .tr-slide {
    flex: 0 0 33.333% !important;
    max-width: 33.333% !important;
  }
  .tr-flecha {
    width: 46px !important;
    height: 46px !important;
  }
  .tr-flecha--prev { left: 12px !important; }
  .tr-flecha--next { right: 12px !important; }
}
/* END_SECTION:trabajos-realizados */