@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap");
:root {
  --color-primary: #7c3aed;
  --bg-image: none;
}

body {
  font-family: Lato, sans-serif;
  background: #06001a;
}


.site {
  position: relative;
  z-index: 1;
}

.header-brand {
  display: flex;
  align-items: center;
  gap: 16px;
}

.header-brand .site-title {
  margin: 0;
  flex-shrink: 0;
}

.brand-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.brand-name {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.5px;
}

.brand-crystal {
  color: #fff;
}

.brand-mc {
  color: #FF55FF;
  -webkit-text-fill-color: #FF55FF;
}

.brand-tagline {
  font-size: 14px;
  color: #8866aa;
  line-height: 1.2;
  letter-spacing: 0.3px;
}

@media (max-width: 960px) {
  .brand-text {
    display: none;
  }
}

@media (width > 960px) {
  .site-header-inner {
    height: auto !important;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    padding: 20px 0 !important;
    position: relative;
  }
  .site-header-inner .actions {
    display: none !important;
  }
  .site-header-inner .site-title {
    position: static !important;
    inset: auto !important;
    margin: 0 !important;
    width: auto !important;
    height: auto !important;
    line-height: 1 !important;
    font-size: inherit !important;
  }
  .site-header-inner .site-title img {
    max-height: 80px !important;
  }
  .site-header-inner .log-in,
  .site-header-inner .user-actions {
    position: static !important;
    top: auto !important;
    right: auto !important;
  }
  .site-header-inner .info {
    display: none !important;
  }
  .header-brand {
    display: flex;
    align-items: center;
    gap: 16px;
  }
  body.is-navigation-horizontal .site-header-inner {
    height: auto !important;
  }
}

@keyframes shimmerNav {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

@keyframes ambientPulse1 {
  0%, 100% { opacity: 0.15; transform: scale(1); }
  50% { opacity: 0.35; transform: scale(1.08); }
}

@keyframes ambientPulse2 {
  0%, 100% { opacity: 0.1; transform: scale(1); }
  50% { opacity: 0.25; transform: scale(1.05); }
}

.site::before {
  content: "";
  position: fixed;
  top: -60px;
  left: 5%;
  width: 350px;
  height: 350px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(124, 58, 237, 0.12), transparent 70%);
  animation: ambientPulse1 8s ease infinite;
  pointer-events: none;
  z-index: -1;
}

.site::after {
  content: "";
  position: fixed;
  bottom: -30px;
  right: 5%;
  width: 300px;
  height: 250px;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(100, 50, 180, 0.08), transparent 70%);
  animation: ambientPulse2 11s ease infinite;
  pointer-events: none;
  z-index: -1;
}

.btn-primary,
.btn-secondary,
.btn-tertiary {
  border-radius: 6px;
}

.btn-primary:hover, .btn-primary:focus,
.btn-secondary:hover,
.btn-secondary:focus {
  box-shadow: 0 0 16px rgba(124, 58, 237, 0.4), 0 0 4px rgba(255, 85, 255, 0.2);
}

.quantity-field {
  border-radius: 5px;
}

.site-header-inner .info .image {
  border-radius: 5px;
}

.site-sale-banner {
  border-radius: 5px;
}

.site-home-categories .category {
  border-radius: 12px;
  padding: 20px var(--widget-padding);
  background: rgba(14, 0, 40, 0.8);
  border: 1px solid rgba(120, 80, 200, 0.15);
  transition: transform 0.3s, border-color 0.4s, box-shadow 0.4s;
  position: relative;
  overflow: hidden;
}
.site-home-categories .category::after {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(ellipse at center, rgba(255,255,255,0.03), transparent 60%);
  opacity: 0;
  transition: opacity 0.5s;
  pointer-events: none;
}
.site-home-categories .category:hover {
  color: #e0d0ff;
  transform: translateY(-4px);
  border-color: rgba(160, 120, 255, 0.5);
  box-shadow: 0 8px 32px rgba(124, 58, 237, 0.15), 0 0 0 1px rgba(255, 85, 255, 0.08);
}
.site-home-categories .category:hover::after {
  opacity: 1;
}

.category-description {
  border-radius: 12px;
  background: rgba(14, 0, 40, 0.8);
  border: 1px solid rgba(120, 80, 200, 0.1);
}

.store-text {
  border-radius: 12px;
  background: rgba(14, 0, 40, 0.8);
  border: 1px solid rgba(120, 80, 200, 0.1);
}
.store-text h1,
.store-text h2,
.store-text h3,
.store-text h4,
.store-text h5,
.store-text h6 {
  text-align: center;
  color: #e0d0ff;
}

.store-products-list .store-product,
.store-products-images .store-product {
  border-radius: 12px;
  background: rgba(14, 0, 40, 0.8);
  border: 1px solid rgba(120, 80, 200, 0.15);
  transition: transform 0.3s, border-color 0.4s, box-shadow 0.4s;
}
.store-products-list .store-product:hover,
.store-products-images .store-product:hover {
  transform: translateY(-4px);
  border-color: rgba(160, 120, 255, 0.5);
  box-shadow: 0 8px 32px rgba(124, 58, 237, 0.15), 0 0 0 1px rgba(255, 85, 255, 0.08);
}

.store-products-images .store-product {
  text-align: center;
}

.widget-title {
  text-align: center;
  color: #e0d0ff;
}

.widget .store-product {
  text-align: center;
}

.no-products {
  color: var(--color-text-secondary);
  background: rgba(14, 0, 40, 0.8);
  border-radius: 12px;
}

.store-product-full {
  border-radius: 12px;
  background: rgba(14, 0, 40, 0.8);
  border: 1px solid rgba(120, 80, 200, 0.1);
}

.store-product .quantity-field {
  border-radius: 5px;
  background: rgba(14, 0, 40, 0.6);
}
.store-product .quantity-field input[type=number] {
  border: none;
}

@media (width > 960px) {
  .navigation-horizontal > ul {
    border-radius: 25px;
    background: rgba(14, 0, 40, 0.6);
    position: relative;
    display: flex !important;
    flex-wrap: nowrap !important;
  }
  .navigation-horizontal > ul::before {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: 25px;
    padding: 1.5px;
    background: linear-gradient(90deg, rgba(75, 0, 130, 0.9), rgba(255, 255, 255, 0.6), rgba(124, 58, 237, 0.8), rgba(255, 255, 255, 0.5), rgba(75, 0, 130, 0.9));
    background-size: 300% 100%;
    animation: shimmerNav 6s ease infinite;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
  }
  .navigation-horizontal > ul > li {
    flex: 1 1 0%;
    text-align: center;
  }
  .navigation-horizontal > ul > li > a {
    display: block;
    width: 100%;
    text-align: center;
    transition: color 0.3s;
  }
  .navigation-horizontal > ul > li > a.link-active {
    background: linear-gradient(90deg, #7c3aed, #FF55FF, #b388ff);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-weight: 700;
  }
  .navigation-horizontal .close-navigation {
    display: none;
  }
}

.site-footer {
  border-top: 1px solid rgba(120, 80, 200, 0.1);
  position: relative;
}
.site-footer::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 10%;
  right: 10%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(124, 58, 237, 0.3), rgba(255, 85, 255, 0.2), rgba(124, 58, 237, 0.3), transparent);
}
.site-footer .copyright {
  color: #554080;
}
.navigation-horizontal .has-children > ul {
  border-radius: 8px;
  background: rgba(14, 0, 40, 0.95);
  border: 1px solid rgba(120, 80, 200, 0.2);
}

.widget {
  border-radius: 12px;
  background: rgba(14, 0, 40, 0.8);
  border: 1px solid rgba(120, 80, 200, 0.1);
  transition: border-color 0.3s;
}
.widget:hover {
  border-color: rgba(120, 80, 200, 0.25);
}
@media (width <= 960px) {
  .widget.site-navigation {
    border-radius: 0;
    background: transparent;
    border: none;
  }
}

.widget-gift-card .gift-card-input {
  border-radius: 6px;
}

.widget-top-donator .avatar {
  border-radius: 50%;
}

.widget-community-goal .progress,
.widget-goal .progress {
  border-radius: 4px;
  background: rgba(75, 0, 130, 0.3);
}
.widget-community-goal .progress-bar,
.widget-goal .progress-bar {
  border-radius: 4px;
  background: linear-gradient(90deg, #7c3aed, #FF55FF, #b388ff);
  background-size: 200% 100%;
  animation: shimmerNav 4s ease infinite;
  box-shadow: 0 0 8px rgba(255, 85, 255, 0.3);
}

.popup-content {
  border-radius: 12px;
  background: rgba(14, 0, 40, 0.95);
  border: 1px solid rgba(120, 80, 200, 0.2);
}

.popup-close {
  border-radius: 0 12px 0 5px;
}

.basket-popup-content,
.basket-popup-content .popup-close {
  border-radius: 0;
}

.basket-items {
  padding: var(--widget-padding) calc(var(--content-padding) - var(--widget-padding));
}

.basket-item {
  border-radius: 8px;
  background: rgba(14, 0, 40, 0.5);
  border: 1px solid rgba(120, 80, 200, 0.1);
}
.basket-item .quantity {
  border-radius: 4px;
}

.toast {
  border-radius: 8px;
}

.toast-close {
  border-radius: 4px;
}

.store-category-tiered {
  border-radius: 12px;
  background: rgba(14, 0, 40, 0.8);
  border: 1px solid rgba(120, 80, 200, 0.1);
}

.store-category-tiered-header h1,
.store-category-tiered-header h2,
.store-category-tiered-header h3,
.store-category-tiered-header h4,
.store-category-tiered-header h5,
.store-category-tiered-header h6 {
  text-align: center;
  color: #e0d0ff;
}

.store-product-tiered {
  border-radius: 8px;
  background: rgba(10, 0, 30, 0.5);
  border: 1px solid rgba(120, 80, 200, 0.1);
}

.media-slider .slider,
.media-slider .thumb {
  border-radius: 8px;
}
.media-slider .open-lightbox {
  border-radius: 4px;
}

.popup.popup-media-slider .thumb {
  border-radius: 8px;
}
.popup.popup-media-slider .popup-close {
  border-radius: 8px;
}

/* === Ya Adquirido button === */
.btn-owned {
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  background: rgba(255, 85, 255, 0.12) !important;
  border: 1px solid rgba(255, 85, 255, 0.35) !important;
  color: #FF55FF !important;
  width: 100% !important;
  box-sizing: border-box;
  text-align: center;
  cursor: default;
  pointer-events: none;
}
.btn-owned:hover, .btn-owned:focus {
  box-shadow: none !important;
  background: rgba(255, 85, 255, 0.12) !important;
}

/* === En el carrito - CSS puro === */
.cumulative-category .quantity-field.with-open-basket .adjust,
.cumulative-category .quantity-field.with-open-basket .quantity {
  display: none !important;
}

.cumulative-category .quantity-field.with-open-basket {
  background: rgba(124, 58, 237, 0.25) !important;
  border: 1px solid rgba(124, 58, 237, 0.5) !important;
  border-radius: 5px !important;
  padding: 0 !important;
}

.cumulative-category .quantity-field.with-open-basket .open-basket {
  width: 100%;
  padding: 10px 20px;
  font-size: 0;
  color: #b388ff;
  cursor: default;
  pointer-events: none;
  text-align: center;
}

.cumulative-category .quantity-field.with-open-basket .open-basket::after {
  content: "En el carrito";
  font-size: 16px;
  font-weight: 600;
}

/* === En el carrito button (popup) === */
.btn-in-cart {
  background: rgba(124, 58, 237, 0.25) !important;
  border: 1px solid rgba(124, 58, 237, 0.5) !important;
  color: #b388ff !important;
  cursor: default;
  pointer-events: none;
}
.btn-in-cart:hover, .btn-in-cart:focus {
  box-shadow: none !important;
  background: rgba(124, 58, 237, 0.25) !important;
}

/* === Limitar tamaño de imagen en popup === */
.store-product-full .image {
  max-width: 256px;
  margin: 0 auto;
}