.elementor-30 .elementor-element.elementor-element-3df6b78{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-30 .elementor-element.elementor-element-1103217{width:var( --container-widget-width, 88.679% );max-width:88.679%;--container-widget-width:88.679%;--container-widget-flex-grow:0;}.elementor-30 .elementor-element.elementor-element-1103217.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-30 .elementor-element.elementor-element-1103217 img{max-width:40%;}.elementor-30 .elementor-element.elementor-element-6393343{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-30 .elementor-element.elementor-element-6393343:not(.elementor-motion-effects-element-type-background), .elementor-30 .elementor-element.elementor-element-6393343 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );}.elementor-30 .elementor-element.elementor-element-9bc75ec .elementor-menu-toggle{margin-right:auto;}.elementor-30 .elementor-element.elementor-element-9bc75ec .elementor-nav-menu .elementor-item{font-family:"Quicksand", Sans-serif;font-size:20px;font-weight:500;}.elementor-30 .elementor-element.elementor-element-9bc75ec .elementor-nav-menu--main .elementor-item{color:#000000;fill:#000000;}.elementor-30 .elementor-element.elementor-element-dda993a{--display:flex;--min-height:155px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-30 .elementor-element.elementor-element-eb51098{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-30 .elementor-element.elementor-element-709c2d1{width:var( --container-widget-width, 88.679% );max-width:88.679%;--container-widget-width:88.679%;--container-widget-flex-grow:0;}.elementor-30 .elementor-element.elementor-element-709c2d1.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-30 .elementor-element.elementor-element-709c2d1 img{max-width:75%;}.elementor-30 .elementor-element.elementor-element-3b2fe81{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-30 .elementor-element.elementor-element-29034bb{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-around;}.elementor-30 .elementor-element.elementor-element-29034bb.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-30 .elementor-element.elementor-element-1dbb519 .elementor-menu-toggle{margin-right:auto;}.elementor-30 .elementor-element.elementor-element-1dbb519 .elementor-nav-menu .elementor-item{font-family:"Quicksand", Sans-serif;font-size:20px;font-weight:500;}.elementor-30 .elementor-element.elementor-element-1dbb519 .elementor-nav-menu--main .elementor-item{color:#000000;fill:#000000;}.elementor-30 .elementor-element.elementor-element-15908b8{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-evenly;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-30 .elementor-element.elementor-element-eb51098{--width:25%;}.elementor-30 .elementor-element.elementor-element-3b2fe81{--width:50%;}.elementor-30 .elementor-element.elementor-element-29034bb{--width:100%;}.elementor-30 .elementor-element.elementor-element-15908b8{--width:25%;}}@media(max-width:1024px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}.elementor-30 .elementor-element.elementor-element-1103217 img{max-width:35%;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-accent-font-size );}.elementor-30 .elementor-element.elementor-element-709c2d1 img{max-width:35%;}}@media(max-width:767px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}.elementor-30 .elementor-element.elementor-element-1103217{text-align:center;}.elementor-30 .elementor-element.elementor-element-1103217 img{max-width:65%;}.elementor-30 .elementor-element.elementor-element-6393343{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-accent-font-size );}.elementor-30 .elementor-element.elementor-element-9bc75ec .elementor-nav-menu--main .elementor-item{padding-left:0px;padding-right:0px;padding-top:0px;padding-bottom:0px;}.elementor-30 .elementor-element.elementor-element-9bc75ec{--e-nav-menu-horizontal-menu-item-margin:calc( 0px / 2 );}.elementor-30 .elementor-element.elementor-element-9bc75ec .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:0px;}.elementor-30 .elementor-element.elementor-element-709c2d1{text-align:center;}.elementor-30 .elementor-element.elementor-element-1dbb519 .elementor-nav-menu--main .elementor-item{padding-left:0px;padding-right:0px;padding-top:0px;padding-bottom:0px;}.elementor-30 .elementor-element.elementor-element-1dbb519{--e-nav-menu-horizontal-menu-item-margin:calc( 0px / 2 );}.elementor-30 .elementor-element.elementor-element-1dbb519 .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:0px;}}/* Start custom CSS for html, class: .elementor-element-4bd6a12 *//* Lock scroll cuando el modal está abierto */
html.sa-lock, body.sa-lock { overflow: hidden !important; }

/* Botón flotante (puedes ajustarlo a tu layout) */
.search-floating-btn-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: .8rem !important;
}
.open-search-btn {
  background: #fff !important;
  border: none !important;
  border-radius: 14px !important;
  padding: .53rem !important;
  min-width: 48px !important;
  min-height: 48px !important;
  box-shadow: 0 2px 9px rgba(0,0,0,0.08) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: box-shadow .16s !important;
}
.open-search-btn:hover { box-shadow: 0 6px 18px rgba(0,0,0,0.16) !important; }
.search-icon svg { display: block !important; }

/* Modal */
.search-modal {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(44,44,44,0.25) !important;
  z-index: 10002 !important;
  display: none !important;
  justify-content: center !important;
  align-items: flex-start !important;
  transition: background 0.18s !important;
}
.search-modal.active { display: flex !important; }

.search-modal-content {
  background: #fff !important;
  margin: 5vh auto 0 !important;
  border-radius: 18px !important;
  box-shadow: 0 2px 20px rgba(0,0,0,0.12) !important;
  width: 98% !important;
  max-width: 420px !important;
  padding: 1.6rem 1.3rem 1.2rem 1.3rem !important;
  position: relative !important;
}

/* Cierre */
.close-search-btn {
  position: absolute !important;
  top: .9rem !important; right: .9rem !important;
  background: #fff !important;
  color: #666 !important;
  border: 2px solid #bbb !important;
  border-radius: 10px !important;
  width: 32px !important; height: 32px !important;
  font-size: 1.2rem !important; line-height: 1 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  cursor: pointer !important;
}
.close-search-btn:hover { color: #333 !important; }

/* Input */
.search-input {
  width: 100% !important;
  padding: 0.8rem 1rem !important;
  border: 1.7px solid #eee !important;
  border-radius: 10px !important;
  font-size: 1.05rem !important;
  margin: 0 0 1rem 0 !important;
  background: #fafafa !important;
  outline: none !important;
}
.search-input:focus { border-color: #22b8c4 !important; background: #fff !important; }

/* Resultados */
.search-results {
  margin-top: 0.2rem !important;
  max-height: 260px !important;
  overflow-y: auto !important;
}
.result-item {
  display: flex !important;
  align-items: center !important;
  gap: 0.7rem !important;
  padding: 0.63rem 0 !important;
  text-decoration: none !important;
  color: #222 !important;
  border-bottom: 1px solid #eee !important;
  font-size: 1.02rem !important;
  transition: background .12s !important;
}
.result-item:hover { background: #f5fcfc !important; }
.result-item img {
  width: 38px !important; height: 38px !important;
  border-radius: 7px !important; object-fit: cover !important; background: #eee !important;
}
.no-results, .search-loading {
  padding: 1rem 0 0 0 !important;
  color: #888 !important;
  font-size: 1.02rem !important;
  text-align: center !important;
}

/* Responsive */
@media (max-width: 768px){
  .search-modal-content { margin-top: 4vh !important; max-width: 92% !important; }
  .result-item img { width: 34px !important; height: 34px !important; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0f72bf4 *//* ===== SANSART · Carrito lateral ===== */

/* Header por encima para que el menú móvil reciba clic */
.site-header, .elementor-location-header, header.site-header {
  position: relative !important;
  z-index: 10000 !important;
}

/* Lock de scroll cuando hay un carrito abierto */
html.sa-lock, body.sa-lock { overflow: hidden !important; }

/* Overlay */
.sa-cart__overlay.cart-overlay {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(34,34,34,0.37) !important;
  z-index: 9000 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .25s !important;
}
.sa-cart__overlay.active { opacity: 1 !important; pointer-events: auto !important; }

/* Sidebar */
.sa-cart__sidebar.cart-sidebar {
  position: fixed !important;
  top: 0 !important;
  right: -100% !important;
  width: 100% !important;
  max-width: 400px !important;
  height: 100vh !important;
  background: #fff !important;
  z-index: 9999 !important;
  box-shadow: -4px 0 20px rgba(0,0,0,0.17) !important;
  transition: right .3s cubic-bezier(.77,0,.18,1) !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 1.2rem 1rem 1rem 1.3rem !important;
}
.sa-cart__sidebar.active { right: 0 !important; }

/* Header del carrito */
.cart-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  border-bottom: 1.5px solid #f2f2f2 !important;
  padding-bottom: .8rem !important;
}
.close-cart-btn {
  background: transparent !important;
  border: none !important;
  font-size: 1.2rem !important;
  cursor: pointer !important;
  line-height: 1 !important;
  color: #000 !important;
}

/* Contenido */
.cart-items { flex: 1 !important; overflow-y: auto !important; padding: 1.2rem 0 !important; }
.cart-item  { display: flex !important; gap: 1rem !important; margin-bottom: 1.1rem !important; align-items: center !important; }
.cart-info p { margin: 0 0 4px !important; font-size: 1.05rem !important; color: #222 !important; font-weight: 400 !important; }
.cart-info p:last-child { margin-bottom: 0 !important; }

/* ====== THUMBS: normaliza JPG/PNG y BASE64 ====== */
.cart-thumb,
.cart-thumb img,
.cart-thumb > img {
  display: block !important;
}
.cart-thumb img,
.cart-thumb > img,
.cart-thumb img[src^="data:image"] {
  width: 80px !important;
  height: 80px !important;
  max-width: 80px !important;
  max-height: 80px !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 18px !important;
  background: #fafafa !important;
  border: 2.5px solid #ededed !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.03) !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Responsive thumbs */
@media (max-width: 768px) {
  .cart-thumb img,
  .cart-thumb > img,
  .cart-thumb img[src^="data:image"] {
    width: 56px !important;
    height: 56px !important;
    max-width: 56px !important;
    max-height: 56px !important;
    border-radius: 12px !important;
  }
}

/* Footer */
.cart-footer {
  border-top: 1.5px solid #f2f2f2 !important;
  padding-top: 1.1rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .7rem !important;
}
.view-cart-btn, .checkout-btn {
  background: #22b8c4 !important;
  color: #fff !important;
  text-align: center !important;
  padding: 0.9rem !important;
  border-radius: 7px !important;
  text-decoration: none !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.03) !important;
  transition: filter .2s !important;
}
.view-cart-btn:hover, .checkout-btn:hover { filter: brightness(0.88) !important; }

/* Botón flotante */
.cart-floating-btn-wrapper {
  position: static !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.sa-cart__open.open-cart-btn {
  background: #22b8c4 !important;
  color: #fff !important;
  border: none !important;
  min-width: 50px !important;
  min-height: 50px !important;
  border-radius: 22px !important;
  font-size: 1.05rem !important;
  box-shadow: 0 2px 9px rgba(0,0,0,0.11) !important;
  position: relative !important; /* para posicionar el badge */
  padding: 0.5rem 1rem !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: box-shadow .18s !important;
  pointer-events: auto !important;
}

/* Badge SIEMPRE en DOM; lo ocultamos con escala cuando es 0 para que no “desaparezca” por CSS externos */
.sa-cart__count.cart-count {
  position: absolute !important;
  top: -8px !important;
  right: -8px !important;
  min-width: 20px !important;
  height: 20px !important;
  padding: 0 4px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  background: #555 !important;
  border-radius: 999px !important;
  border: 2.5px solid #fff !important;
  box-shadow: 0 1px 2px rgba(0,0,0,0.10) !important;
  transform: scale(1) !important;
  transform-origin: top right !important;
  transition: transform .15s ease !important;
  z-index: 1 !important;
}
/* Cuando el contador es 0 */
.sa-cart__open.is-zero .sa-cart__count { transform: scale(0) !important; }

/* Hover */
.sa-cart__open:hover { box-shadow: 0 4px 18px rgba(34,184,196,0.25) !important; }

.cart-icon { font-size: 1.05rem !important; }

/* Responsive botón + badge */
@media (max-width: 768px) {
  .sa-cart__open.open-cart-btn { min-width: 39px !important; min-height: 39px !important; font-size: 1rem !important; padding: .28rem .46rem !important; border-radius: 11px !important; }
  .cart-icon { font-size: 1rem !important; }
  .sa-cart__count.cart-count {
    min-width: 14px !important;
    height: 14px !important;
    font-size: .79rem !important;
    top: -5px !important;
    right: -5px !important;
    border-width: 1.5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3d7d187 */.user-floating-btn-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: .8rem !important;
}

.open-user-btn {
  background: #fff !important;
  border: none !important;
  border-radius: 14px !important;
  padding: .53rem !important;
  min-width: 48px !important;
  min-height: 48px !important;
  box-shadow: 0 2px 9px rgba(0,0,0,0.08) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: box-shadow .16s !important;
  text-decoration: none !important;
}
.open-user-btn:hover {
  box-shadow: 0 6px 18px rgba(0,0,0,0.16) !important;
  background: #f8f8f8 !important;
}
.user-icon svg {
  display: block !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b10c23b *//* Lock scroll cuando el modal está abierto */
html.sa-lock, body.sa-lock { overflow: hidden !important; }

/* Botón flotante (puedes ajustarlo a tu layout) */
.search-floating-btn-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: .8rem !important;
}
.open-search-btn {
  background: #fff !important;
  border: none !important;
  border-radius: 14px !important;
  padding: .53rem !important;
  min-width: 48px !important;
  min-height: 48px !important;
  box-shadow: 0 2px 9px rgba(0,0,0,0.08) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: box-shadow .16s !important;
}
.open-search-btn:hover { box-shadow: 0 6px 18px rgba(0,0,0,0.16) !important; }
.search-icon svg { display: block !important; }

/* Modal */
.search-modal {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(44,44,44,0.25) !important;
  z-index: 10002 !important;
  display: none !important;
  justify-content: center !important;
  align-items: flex-start !important;
  transition: background 0.18s !important;
}
.search-modal.active { display: flex !important; }

.search-modal-content {
  background: #fff !important;
  margin: 5vh auto 0 !important;
  border-radius: 18px !important;
  box-shadow: 0 2px 20px rgba(0,0,0,0.12) !important;
  width: 98% !important;
  max-width: 420px !important;
  padding: 1.6rem 1.3rem 1.2rem 1.3rem !important;
  position: relative !important;
}

/* Cierre */
.close-search-btn {
  position: absolute !important;
  top: .9rem !important; right: .9rem !important;
  background: #fff !important;
  color: #666 !important;
  border: 2px solid #bbb !important;
  border-radius: 10px !important;
  width: 32px !important; height: 32px !important;
  font-size: 1.2rem !important; line-height: 1 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  cursor: pointer !important;
}
.close-search-btn:hover { color: #333 !important; }

/* Input */
.search-input {
  width: 100% !important;
  padding: 0.8rem 1rem !important;
  border: 1.7px solid #eee !important;
  border-radius: 10px !important;
  font-size: 1.05rem !important;
  margin: 0 0 1rem 0 !important;
  background: #fafafa !important;
  outline: none !important;
}
.search-input:focus { border-color: #22b8c4 !important; background: #fff !important; }

/* Resultados */
.search-results {
  margin-top: 0.2rem !important;
  max-height: 260px !important;
  overflow-y: auto !important;
}
.result-item {
  display: flex !important;
  align-items: center !important;
  gap: 0.7rem !important;
  padding: 0.63rem 0 !important;
  text-decoration: none !important;
  color: #222 !important;
  border-bottom: 1px solid #eee !important;
  font-size: 1.02rem !important;
  transition: background .12s !important;
}
.result-item:hover { background: #f5fcfc !important; }
.result-item img {
  width: 38px !important; height: 38px !important;
  border-radius: 7px !important; object-fit: cover !important; background: #eee !important;
}
.no-results, .search-loading {
  padding: 1rem 0 0 0 !important;
  color: #888 !important;
  font-size: 1.02rem !important;
  text-align: center !important;
}

/* Responsive */
@media (max-width: 768px){
  .search-modal-content { margin-top: 4vh !important; max-width: 92% !important; }
  .result-item img { width: 34px !important; height: 34px !important; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d0944ee *//* ===== SANSART · Carrito lateral ===== */

/* Header por encima para que el menú móvil reciba clic */
.site-header, .elementor-location-header, header.site-header {
  position: relative !important;
  z-index: 10000 !important;
}

/* Lock de scroll cuando hay un carrito abierto */
html.sa-lock, body.sa-lock { overflow: hidden !important; }

/* Overlay */
.sa-cart__overlay.cart-overlay {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(34,34,34,0.37) !important;
  z-index: 9000 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .25s !important;
}
.sa-cart__overlay.active { opacity: 1 !important; pointer-events: auto !important; }

/* Sidebar */
.sa-cart__sidebar.cart-sidebar {
  position: fixed !important;
  top: 0 !important;
  right: -100% !important;
  width: 100% !important;
  max-width: 400px !important;
  height: 100vh !important;
  background: #fff !important;
  z-index: 9999 !important;
  box-shadow: -4px 0 20px rgba(0,0,0,0.17) !important;
  transition: right .3s cubic-bezier(.77,0,.18,1) !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 1.2rem 1rem 1rem 1.3rem !important;
}
.sa-cart__sidebar.active { right: 0 !important; }

/* Header del carrito */
.cart-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  border-bottom: 1.5px solid #f2f2f2 !important;
  padding-bottom: .8rem !important;
}
.close-cart-btn {
  background: transparent !important;
  border: none !important;
  font-size: 1.2rem !important;
  cursor: pointer !important;
  line-height: 1 !important;
  color: #000 !important; 
}

/* Contenido */
.cart-items { flex: 1 !important; overflow-y: auto !important; padding: 1.2rem 0 !important; }
.cart-item  { display: flex !important; gap: 1rem !important; margin-bottom: 1.1rem !important; align-items: center !important; }
.cart-info p { margin: 0 0 4px !important; font-size: 1.05rem !important; color: #222 !important; font-weight: 400 !important; }
.cart-info p:last-child { margin-bottom: 0 !important; }

/* ====== THUMBS: normaliza JPG/PNG y BASE64 ====== */
.cart-thumb,
.cart-thumb img,
.cart-thumb > img {
  display: block !important;
}
.cart-thumb img,
.cart-thumb > img,
.cart-thumb img[src^="data:image"] {
  width: 80px !important;
  height: 80px !important;
  max-width: 80px !important;
  max-height: 80px !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 18px !important;
  background: #fafafa !important;
  border: 2.5px solid #ededed !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.03) !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Responsive thumbs */
@media (max-width: 768px) {
  .cart-thumb img,
  .cart-thumb > img,
  .cart-thumb img[src^="data:image"] {
    width: 56px !important;
    height: 56px !important;
    max-width: 56px !important;
    max-height: 56px !important;
    border-radius: 12px !important;
  }
}

/* Footer */
.cart-footer {
  border-top: 1.5px solid #f2f2f2 !important;
  padding-top: 1.1rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .7rem !important;
}
.view-cart-btn, .checkout-btn {
  background: #22b8c4 !important;
  color: #fff !important;
  text-align: center !important;
  padding: 0.9rem !important;
  border-radius: 7px !important;
  text-decoration: none !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.03) !important;
  transition: filter .2s !important;
}
.view-cart-btn:hover, .checkout-btn:hover { filter: brightness(0.88) !important; }

/* Botón flotante */
.cart-floating-btn-wrapper {
  position: static !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.sa-cart__open.open-cart-btn {
  background: #22b8c4 !important;
  color: #fff !important;
  border: none !important;
  min-width: 50px !important;
  min-height: 50px !important;
  border-radius: 22px !important;
  font-size: 1.05rem !important;
  box-shadow: 0 2px 9px rgba(0,0,0,0.11) !important;
  position: relative !important; /* para posicionar el badge */
  padding: 0.5rem 1rem !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: box-shadow .18s !important;
  pointer-events: auto !important;
}

/* Badge SIEMPRE en DOM; lo ocultamos con escala cuando es 0 para que no “desaparezca” por CSS externos */
.sa-cart__count.cart-count {
  position: absolute !important;
  top: -8px !important;
  right: -8px !important;
  min-width: 20px !important;
  height: 20px !important;
  padding: 0 4px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  background: #555 !important;
  border-radius: 999px !important;
  border: 2.5px solid #fff !important;
  box-shadow: 0 1px 2px rgba(0,0,0,0.10) !important;
  transform: scale(1) !important;
  transform-origin: top right !important;
  transition: transform .15s ease !important;
  z-index: 1 !important;
}
/* Cuando el contador es 0 */
.sa-cart__open.is-zero .sa-cart__count { transform: scale(0) !important; }

/* Hover */
.sa-cart__open:hover { box-shadow: 0 4px 18px rgba(34,184,196,0.25) !important; }

.cart-icon { font-size: 1.05rem !important; }

/* Responsive botón + badge */
@media (max-width: 768px) {
  .sa-cart__open.open-cart-btn { min-width: 39px !important; min-height: 39px !important; font-size: 1rem !important; padding: .28rem .46rem !important; border-radius: 11px !important; }
  .cart-icon { font-size: 1rem !important; }
  .sa-cart__count.cart-count {
    min-width: 14px !important;
    height: 14px !important;
    font-size: .79rem !important;
    top: -5px !important;
    right: -5px !important;
    border-width: 1.5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2cadfb9 */.user-floating-btn-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: .8rem !important;
}

.open-user-btn {
  background: #fff !important;
  border: none !important;
  border-radius: 14px !important;
  padding: .53rem !important;
  min-width: 48px !important;
  min-height: 48px !important;
  box-shadow: 0 2px 9px rgba(0,0,0,0.08) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: box-shadow .16s !important;
  text-decoration: none !important;
}
.open-user-btn:hover {
  box-shadow: 0 6px 18px rgba(0,0,0,0.16) !important;
  background: #f8f8f8 !important;
}
.user-icon svg {
  display: block !important;
}/* End custom CSS */