.hero{
  position:relative;
  isolation:isolate;
  background:#08080b;
  color:#fff;
  margin-top:-92px;
  min-height:100vh;
  display:flex;
  align-items:center;
  padding:110px 0 40px;
  overflow:hidden;
}
.hero-vanta{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  overflow:hidden;
}
.hero-vanta canvas{
  display:block;
  width:100%!important;
  height:100%!important;
}
.hero .container{
  width:100%;
  position:relative;
  z-index:2;
  display:flex;
  justify-content:center;
  pointer-events:none;
}
.hero .container a,
.hero .container button{
  pointer-events:auto;
}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
  background:
    radial-gradient(ellipse 75% 55% at 50% 42%, rgba(8,8,11,0) 0%, rgba(8,8,11,.55) 72%, rgba(8,8,11,.82) 100%),
    radial-gradient(ellipse 45% 35% at 18% 22%, rgba(255,162,0,.12) 0%, transparent 55%),
    radial-gradient(ellipse 40% 32% at 82% 28%, rgba(34,211,238,.08) 0%, transparent 52%);
}
@media (prefers-reduced-motion:reduce){
  .hero::after{
    background:
      radial-gradient(ellipse 75% 55% at 50% 42%, rgba(8,8,11,0) 0%, rgba(8,8,11,.5) 70%, rgba(8,8,11,.85) 100%),
      linear-gradient(165deg, #121218 0%, #0a0a0d 50%, #0f1016 100%);
  }
}
.hero-inner{
  width:100%;
  max-width:min(75rem,94vw);
  margin:0 auto;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:clamp(16px,2.8vw,28px);
  position:relative;
  z-index:3;
}
.hero-title{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.08em;
  width:100%;
  margin:0;
  font-size:clamp(3.25rem,9.2vw,7.25rem);
  line-height:.98;
  text-transform:uppercase;
  letter-spacing:-.02em;
}
.hero-title-row{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.04em;
  width:100%;
}
.hero-title-line{display:block;max-width:100%;}
.hero-title-line--lead{
  color:rgba(248,248,250,.94);
  font-size:1.12em;
  font-weight:400;
  letter-spacing:.035em;
}
.hero-title-line--rainbow,
.hero-title-line.text-rainbow{
  margin-top:.02em;
  font-size:1em;
  font-weight:400;
  filter:drop-shadow(0 8px 28px rgba(255,138,0,.25));
}
.hero-title-huella{text-transform:lowercase;}
@media (min-width:821px){
  .hero-title-row{
    flex-direction:row;
    flex-wrap:nowrap;
    justify-content:center;
    align-items:baseline;
    gap:.42em;
    width:100%;
    max-width:min(75rem,92vw);
    margin-inline:auto;
    white-space:nowrap;
  }
  .hero-title-row .hero-title-line--lead{
    display:inline;
    white-space:nowrap;
  }
  .hero-title-line--rainbow,
  .hero-title-line.text-rainbow{
    display:block;
    width:100%;
    max-width:min(75rem,92vw);
    margin-inline:auto;
    font-size:clamp(4.5rem,9.4vw,11.75rem);
    letter-spacing:.01em;
    line-height:.94;
    white-space:nowrap;
  }
}
.text-rainbow{background:linear-gradient(90deg,#ff004c,#ff8a00,#ffe600,#25d366,#00c3ff,#7a5cff,#ff00c8,#ff004c);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:rainbow-move 5s linear infinite;}
@keyframes rainbow-move{to{background-position:200% center;}}
.hero-lead{
  margin:0;
  color:rgba(226,226,232,.88);
  font-size:clamp(1.05rem,1.85vw,1.32rem);
  line-height:1.55;
  max-width:38ch;
}
.hero-lead strong{color:#fff;font-weight:700;}
.hero-cta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:22px 32px;
  margin-top:clamp(4px,1vw,12px);
}
.hero-cta .btn-hero-cta,
.hero-cta .btn-hero-secondary{
  width:auto;
  min-width:min(100%,240px);
  text-align:center;
  box-sizing:border-box;
  -webkit-tap-highlight-color:transparent;
  text-decoration:none;
}
.hero-cta .btn-hero-cta,
.hero-cta .btn-hero-cta--purple{
  border:none;
  outline:none;
  background-clip:padding-box;
}
.btn-hero-secondary{
  display:inline-flex;align-items:center;justify-content:center;
  padding:16px 28px;border-radius:999px;
  border:2px solid rgba(255,255,255,.22);
  color:#fff;font-weight:700;font-size:.95rem;
  background:rgba(255,255,255,.04);
  transition:border-color .2s,background .2s,transform .15s;
}
.btn-hero-secondary:hover{border-color:rgba(255,162,0,.55);background:rgba(255,162,0,.08);transform:translateY(-1px);}
.section-lead{max-width:640px;margin:12px auto 0;color:rgba(255,255,255,.55);font-size:.95rem;line-height:1.5;}
.btn-hero-cta{
  position:relative;
  padding:18px 42px;
  font-size:1.05rem;
  letter-spacing:.06em;
  border-radius:14px;
  overflow:hidden;
  isolation:isolate;
  background:linear-gradient(135deg, #ffd24d 0%, #ffa200 45%, #f86842 100%);
  color:#1a1a1a;
  border:none;
  box-shadow:
    0 2px 10px rgba(0,0,0,.28),
    0 4px 0 #b84a2a,
    inset 0 0 0 1px rgba(0,0,0,.12);
  animation:none;
  transition:transform .22s ease, background .22s ease, box-shadow .22s ease;
  transform-origin:center center;
  z-index:1;
}
.btn-hero-cta::before{
  content:"";
  position:absolute;
  inset:-4px;
  border-radius:17px;
  z-index:-1;
  pointer-events:none;
  opacity:0;
  box-shadow:0 0 22px rgba(255,162,0,.42);
  transition:opacity .28s ease;
}
.btn-hero-cta::after{
  content:"";
  position:absolute;
  top:-20%;
  left:0;
  width:55%;
  height:140%;
  border-radius:inherit;
  pointer-events:none;
  z-index:0;
  background:linear-gradient(
    105deg,
    transparent 0%,
    rgba(255,255,255,.08) 42%,
    rgba(255,255,255,.42) 50%,
    rgba(255,255,255,.08) 58%,
    transparent 100%
  );
  transform:translateX(-160%) skewX(-18deg);
  opacity:0;
}
.btn-cta.btn-hero-cta:focus-visible,
.btn-cta.btn-hero-cta--purple:focus-visible{
  outline:2px solid rgba(255,162,0,.55);
  outline-offset:3px;
}
.btn-cta.btn-hero-cta--purple:focus-visible{
  outline-color:rgba(168,85,247,.65);
}
.btn-cta.btn-hero-cta:hover,
.btn-cta.btn-hero-cta:focus-visible,
.btn-cta.btn-hero-cta--purple:hover,
.btn-cta.btn-hero-cta--purple:focus-visible{
  color:#1a1a1a;
}
.btn-cta.btn-hero-cta:hover,
.btn-cta.btn-hero-cta:focus-visible{
  background:linear-gradient(135deg, #ffe08a 0%, #ffb020 40%, #ff7a4a 100%);
  transform:translateY(-2px);
  box-shadow:
    0 4px 14px rgba(0,0,0,.32),
    0 5px 0 #b84a2a,
    inset 0 0 0 1px rgba(0,0,0,.14),
    0 0 24px rgba(255,162,0,.38);
}
.btn-cta.btn-hero-cta:hover::before,
.btn-cta.btn-hero-cta:focus-visible::before{
  opacity:1;
}
.btn-cta.btn-hero-cta:hover::after,
.btn-cta.btn-hero-cta:focus-visible::after{
  opacity:1;
  animation:hero-cta-shine .85s ease;
}
/* Catálogo artistas: mismo CTA que personalizar, en morado */
.btn-hero-cta--purple{
  border-radius:14px;
  overflow:hidden;
  background:linear-gradient(135deg, #e9d5ff 0%, #c084fc 46%, #a855f7 100%);
  color:#1a1a1a;
  border:none;
  box-shadow:
    0 2px 10px rgba(0,0,0,.28),
    0 4px 0 #6d28d9,
    inset 0 0 0 1px rgba(0,0,0,.14);
  animation:none;
}
.btn-hero-cta--purple::before{
  box-shadow:0 0 22px rgba(168,85,247,.45);
}
.btn-cta.btn-hero-cta--purple:hover,
.btn-cta.btn-hero-cta--purple:focus-visible{
  animation:none;
  background:linear-gradient(135deg, #f3e8ff 0%, #d8b4fe 42%, #b57aff 100%);
  transform:translateY(-2px);
  box-shadow:
    0 4px 14px rgba(0,0,0,.32),
    0 5px 0 #6d28d9,
    inset 0 0 0 1px rgba(0,0,0,.16),
    0 0 24px rgba(124,58,237,.42);
}
.btn-cta.btn-hero-cta--purple:hover::before,
.btn-cta.btn-hero-cta--purple:focus-visible::before{
  opacity:1;
}
.btn-cta.btn-hero-cta--purple:hover::after,
.btn-cta.btn-hero-cta--purple:focus-visible::after{
  opacity:1;
  animation:hero-cta-shine .85s ease;
}
@keyframes hero-cta-shine{
  from{transform:translateX(-160%) skewX(-18deg);}
  to{transform:translateX(280%) skewX(-18deg);}
}
@media (prefers-reduced-motion:reduce){
  .btn-hero-cta,
  .btn-hero-cta::before,
  .btn-hero-cta::after{animation:none;}
  .btn-hero-cta--purple,
  .btn-hero-cta--purple::before,
  .btn-hero-cta--purple::after{animation:none;}
  .btn-cta.btn-hero-cta:hover::after,
  .btn-cta.btn-hero-cta:focus-visible::after,
  .btn-cta.btn-hero-cta--purple:hover::after,
  .btn-cta.btn-hero-cta--purple:focus-visible::after{
    opacity:0;
  }
}
.btn-ghost{border:2px solid #fff;color:#fff;padding:14px 30px;border-radius:50px;font-weight:500;transition:background .25s ease,color .25s ease;}
.btn-ghost:hover{background:#fff;color:#25252b;}

.hero-destacados-sep{
  position:relative;
  z-index:2;
  padding:28px 0;
  background:linear-gradient(180deg,#08080b 0%,#0a0a0d 100%);
}
.hero-destacados-sep__bar{
  width:min(720px,88%);
  height:5px;
  margin:0 auto;
  border-radius:999px;
  background:linear-gradient(
    90deg,
    #f86842,
    #ffa200,
    #ffc851,
    #00c3ff,
    #7a5cff,
    #ff00c8,
    #ffa200,
    #f86842
  );
  background-size:300% 100%;
  animation:hero-sep-gradient 5s linear infinite;
  box-shadow:
    0 0 18px rgba(255,162,0,.45),
    0 0 42px rgba(255,162,0,.2);
}
@keyframes hero-sep-gradient{
  0%{background-position:0% 50%;}
  100%{background-position:300% 50%;}
}

@media (prefers-reduced-motion:reduce){
  .hero-destacados-sep__bar{animation:none;background-size:100% 100%;}
}

/* ENTREGA Y PAGO (INDEX) */
.home-order-info{
  padding:56px 0 64px;
  background:linear-gradient(180deg,#0a0a0d 0%,#111116 100%);
}
.home-order-info .container{position:relative;z-index:1;}
.home-order-info .section-title h2{color:#fff;}
.home-order-info .section-title span{color:var(--orange);}
.home-order-info__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
  margin-top:36px;
}
.home-order-info__heading{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 18px;
  font-size:1rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#fff;
}
.home-order-info__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border-radius:12px;
  background:rgba(255,162,0,.12);
  color:var(--orange);
  flex-shrink:0;
}
.home-order-info__list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.home-order-info__card{
  padding:18px 20px;
  border-radius:16px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 10px 24px rgba(0,0,0,.22);
}
.home-order-info__card.is-soon{
  opacity:.78;
  border-style:dashed;
}
.home-order-info__card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:6px;
}
.home-order-info__card-head strong{
  color:#fff;
  font-size:1.02rem;
  line-height:1.35;
}
.home-order-info__badge{
  flex-shrink:0;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(255,162,0,.14);
  color:var(--yellow);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.home-order-info__hint{
  margin:0 0 8px;
  color:var(--orange);
  font-size:.88rem;
  font-weight:700;
}
.home-order-info__meta{
  margin:0 0 8px;
  color:rgba(255,255,255,.72);
  font-size:.86rem;
  font-weight:600;
}
.home-order-info__detail{
  margin:0;
  color:rgba(255,255,255,.62);
  font-size:.9rem;
  line-height:1.55;
}
.home-order-info__schedule{
  margin:10px 0 0;
  color:#86efac;
  font-size:.86rem;
  font-weight:600;
  line-height:1.55;
}
.home-order-info__note{
  margin:28px 0 0;
  text-align:center;
  color:rgba(255,255,255,.58);
  font-size:.92rem;
}
.home-order-info__note strong{color:#fff;}
.home-order-info__note--open{
  color:#86efac;
  font-weight:600;
}
.home-order-info__note--closed{color:#ffb4b4;}

@media (max-width:820px){
  .home-order-info{padding:44px 0 52px;}
  .home-order-info__grid{grid-template-columns:1fr;gap:32px;}
}

/* DESTACADOS */
.destacados{
  padding:72px 0 96px;
}
.destacados .container{position:relative;z-index:1;}
.destacados .section-title h2{color:#fff;}
.destacados .section-title span{color:var(--orange);}
.destacados .producto-card{
  box-shadow:0 14px 32px rgba(0,0,0,.38),0 0 0 1px rgba(255,255,255,.05);
}
.destacados .producto-card .pimg{
  aspect-ratio:1 / 1;
  width:100%;
}
.destacados .producto-card .pimg img{
  width:100%;
  height:100%;
  aspect-ratio:1 / 1;
  object-fit:cover;
  object-position:center;
  display:block;
}
.destacados .producto-card .badge-edogo,
.destacados .producto-card .badge-artist{
  display:none;
}
.destacados .producto-card .pbody-top{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0;
  width:100%;
}
.destacados .producto-card .pbody-meta{
  display:contents;
}
.destacados .producto-card .pcat{
  order:1;
  margin:0 0 6px;
  font-size:.68rem;
  letter-spacing:.1em;
}
.destacados .producto-card h3{
  order:2;
  margin:0 0 8px;
  font-size:1rem;
  line-height:1.2;
  text-transform:none;
  color:#f2f2f2;
}
.destacados .producto-card .pdesc{
  order:3;
  margin:0 0 10px;
  font-size:.82rem;
  line-height:1.35;
  color:rgba(255,255,255,.52);
  max-width:100%;
}
.destacados .producto-card .catalog-creator-label,
.destacados .producto-card .p-artist{
  order:4;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin:4px 0 0;
  padding:0;
  border:none;
  background:none;
  color:var(--yellow);
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.destacados .producto-card .p-artist{
  color:rgba(255,210,77,.92);
}
.destacados .producto-card .p-artist-avatar{
  width:18px;
  height:18px;
}
.destacados .producto-card .pbody-foot{
  margin-top:8px;
  padding-top:10px;
}
.destacados .producto-card .price{
  font-size:1.2rem;
}
.destacados .producto-card:hover{
  box-shadow:0 22px 44px rgba(0,0,0,.48),0 0 0 1px rgba(255,162,0,.22);
}
.title-bar{width:60px;height:4px;background:var(--orange);border-radius:4px;margin:14px auto 0;}

.destacados-cta{text-align:center;margin-top:40px;}

/* CONVOCATORIA ARTISTAS (dentro de CTA final) */
.cta-final .home-convocatorias{
  max-width:680px;
  margin:0 auto 52px;
  text-align:center;
}
.cta-final .home-convocatorias__card{
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:32px 28px 30px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(8,8,12,.42);
  box-shadow:0 18px 50px rgba(0,0,0,.22);
  backdrop-filter:blur(8px);
}
.home-convocatorias__badge{
  width:68px;
  height:68px;
  display:grid;
  place-items:center;
  margin-bottom:16px;
  border-radius:20px;
  background:rgba(255,255,255,.08);
  color:#7efcff;
  border:1px solid rgba(126,252,255,.28);
}
.home-convocatorias__badge svg{width:32px;height:32px;}
.home-convocatorias__kicker{
  display:inline-block;
  margin-bottom:8px;
  color:#b8f8ff;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.home-convocatorias__title{
  margin:0 0 10px;
  color:#fff;
  font-size:clamp(1.35rem,3vw,1.9rem);
  line-height:1.15;
  text-transform:uppercase;
}
.home-convocatorias__text{
  margin:0 0 8px;
  color:rgba(255,255,255,.82);
  font-size:.96rem;
  line-height:1.65;
  max-width:520px;
}
.home-convocatorias__hint{
  margin:0 0 20px;
  color:rgba(255,255,255,.58);
  font-size:.82rem;
  line-height:1.5;
  max-width:480px;
}
.home-convocatorias__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:15px 24px;
  border-radius:14px;
  background:linear-gradient(135deg,#ffd35c,#ffa200);
  color:#141414;
  font-weight:900;
  font-size:.92rem;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-decoration:none;
  box-shadow:0 5px 0 #b87400,0 10px 22px rgba(0,0,0,.28);
  transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;
}
.home-convocatorias__cta-icon{flex:none;}
.home-convocatorias__cta-arrow{
  font-size:1.1rem;
  line-height:1;
  transition:transform .2s ease;
}
.home-convocatorias__cta:hover,
.home-convocatorias__cta:focus-visible{
  filter:brightness(1.05);
  transform:translateY(-2px);
  box-shadow:0 7px 0 #b87400,0 14px 26px rgba(0,0,0,.32);
}
.home-convocatorias__cta:hover .home-convocatorias__cta-arrow,
.home-convocatorias__cta:focus-visible .home-convocatorias__cta-arrow{
  transform:translateX(3px);
}
@media(max-width:720px){
  .cta-final .home-convocatorias{margin-bottom:40px;}
  .cta-final .home-convocatorias__card{padding:26px 20px 24px;}
}

.btn-catalog-all{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  overflow:hidden;
  isolation:isolate;
  padding:18px 42px;
  border-radius:999px;
  background:linear-gradient(135deg,#0a0a0d 0%,#1a1a1f 55%,#111 100%);
  color:var(--yellow);
  font-weight:900;
  font-size:.95rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  border:2px solid rgba(255,200,81,.55);
  box-shadow:
    0 0 0 1px rgba(0,0,0,.8),
    0 14px 34px rgba(0,0,0,.28),
    0 0 28px rgba(255,162,0,.18);
  transition:transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s ease, border-color .3s ease, color .3s ease;
  animation:btn-catalog-pulse 2.8s ease-in-out infinite;
}
.btn-catalog-all::before{
  content:"";
  position:absolute;
  inset:-50% -30%;
  background:linear-gradient(105deg,transparent 40%,rgba(255,200,81,.22) 50%,transparent 60%);
  transform:translateX(-120%) rotate(8deg);
  animation:btn-catalog-shine 5s ease-in-out infinite;
  pointer-events:none;
  z-index:0;
}
.btn-catalog-all span{
  display:inline-block;
  font-size:1.15rem;
  line-height:1;
  transition:transform .25s ease;
}
.btn-catalog-all:hover,
.btn-catalog-all:focus-visible{
  color:#fff;
  border-color:var(--yellow);
  transform:translateY(-4px) scale(1.04);
  box-shadow:
    0 0 0 1px rgba(255,200,81,.35),
    0 20px 44px rgba(0,0,0,.34),
    0 0 36px rgba(255,162,0,.35);
}
.btn-catalog-all:hover span,
.btn-catalog-all:focus-visible span{
  transform:translateX(6px);
}
@keyframes btn-catalog-pulse{
  0%,100%{box-shadow:0 0 0 1px rgba(0,0,0,.8),0 14px 34px rgba(0,0,0,.28),0 0 22px rgba(255,162,0,.14);}
  50%{box-shadow:0 0 0 1px rgba(255,200,81,.25),0 16px 38px rgba(0,0,0,.3),0 0 34px rgba(255,162,0,.32);}
}
@keyframes btn-catalog-shine{
  0%,70%{transform:translateX(-120%) rotate(8deg);}
  100%{transform:translateX(120%) rotate(8deg);}
}

@media (prefers-reduced-motion:reduce){
  .btn-catalog-all{animation:none;}
  .btn-catalog-all::before{animation:none;}
  .btn-catalog-all:hover,.btn-catalog-all:focus-visible{transform:none;}
}

/* GALERÍA INDEX */
.home-gallery{
  padding:72px 0 80px;
}
.home-gallery .container{position:relative;z-index:1;}
.home-gallery .section-title h2{color:#fff;}
.home-gallery .section-title span{color:var(--orange);}
.home-gallery .section-lead{color:rgba(255,255,255,.62);}

.home-gallery__grid{
  display:grid;
  gap:14px;
  margin-top:36px;
}
.home-gallery__item{
  margin:0;
  border-radius:18px;
  overflow:hidden;
  background:#141418;
  box-shadow:0 14px 32px rgba(0,0,0,.38),0 0 0 1px rgba(255,255,255,.05);
  transition:transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease;
}
.home-gallery__item img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  aspect-ratio:1;
}
.home-gallery__item:hover,
.home-gallery__item:focus-within{
  transform:translateY(-4px) scale(1.01);
  box-shadow:0 22px 44px rgba(0,0,0,.48),0 0 0 1px rgba(255,162,0,.22);
}

.home-gallery__grid--n5{
  grid-template-columns:repeat(6,1fr);
  grid-template-rows:repeat(2,minmax(140px,1fr));
}
.home-gallery__grid--n5 .home-gallery__item:nth-child(1){grid-column:1/span 3;grid-row:1/span 2;}
.home-gallery__grid--n5 .home-gallery__item:nth-child(2){grid-column:4/span 3;}
.home-gallery__grid--n5 .home-gallery__item:nth-child(3){grid-column:4/span 3;}
.home-gallery__grid--n5 .home-gallery__item:nth-child(4){grid-column:1/span 3;}
.home-gallery__grid--n5 .home-gallery__item:nth-child(5){grid-column:4/span 3;}

.home-gallery__grid--n6{grid-template-columns:repeat(3,1fr);}
.home-gallery__grid--n7{
  grid-template-columns:repeat(12,1fr);
  grid-auto-rows:minmax(130px,1fr);
}
.home-gallery__grid--n7 .home-gallery__item:nth-child(1){grid-column:1/span 6;grid-row:1/span 2;}
.home-gallery__grid--n7 .home-gallery__item:nth-child(2){grid-column:7/span 3;}
.home-gallery__grid--n7 .home-gallery__item:nth-child(3){grid-column:10/span 3;}
.home-gallery__grid--n7 .home-gallery__item:nth-child(4){grid-column:7/span 3;}
.home-gallery__grid--n7 .home-gallery__item:nth-child(5){grid-column:10/span 3;}
.home-gallery__grid--n7 .home-gallery__item:nth-child(6){grid-column:1/span 4;}
.home-gallery__grid--n7 .home-gallery__item:nth-child(7){grid-column:5/span 8;}

.home-gallery__grid--n8{grid-template-columns:repeat(4,1fr);}
.home-gallery__grid--n9{grid-template-columns:repeat(3,1fr);}
.home-gallery__grid--n10{grid-template-columns:repeat(5,1fr);}

@media (max-width:900px){
  .home-gallery{padding:56px 0 64px;}
  .home-gallery__grid--n5,
  .home-gallery__grid--n7{
    grid-template-columns:repeat(2,1fr);
    grid-template-rows:none;
  }
  .home-gallery__grid--n5 .home-gallery__item,
  .home-gallery__grid--n7 .home-gallery__item{
    grid-column:auto !important;
    grid-row:auto !important;
  }
  .home-gallery__grid--n6,
  .home-gallery__grid--n8,
  .home-gallery__grid--n9,
  .home-gallery__grid--n10{
    grid-template-columns:repeat(2,1fr);
  }
}
@media (max-width:520px){
  .home-gallery__grid{gap:10px;}
  .home-gallery__grid--n6,
  .home-gallery__grid--n8,
  .home-gallery__grid--n9,
  .home-gallery__grid--n10{
    grid-template-columns:1fr;
  }
}

/* Mantenimiento del sitio */
.is-site-maintenance .edogo-nav .nav-links,
.is-site-maintenance .edogo-nav .nav-actions .cart-hover-wrap,
.is-site-maintenance .edogo-nav .nav-hamburger,
.is-site-maintenance .mobile-bottom-nav{display:none;}
.is-site-maintenance .page-main{padding:0;}
.is-site-maintenance .edogo-footer{margin-top:0;opacity:.85;}

.site-maintenance{
  position:relative;
  isolation:isolate;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:48px 0 64px;
  overflow:hidden;
  background:#08080b;
}
.site-maintenance__bg{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
}
.site-maintenance__grid{
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size:48px 48px;
  mask-image:radial-gradient(ellipse 80% 70% at 50% 45%, #000 20%, transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 45%, #000 20%, transparent 75%);
}
.site-maintenance__orb{
  position:absolute;
  border-radius:50%;
  filter:blur(80px);
  opacity:.55;
  animation:site-maint-orb 14s ease-in-out infinite alternate;
}
.site-maintenance__orb--1{
  width:320px;
  height:320px;
  top:8%;
  left:-8%;
  background:rgba(255,162,0,.28);
}
.site-maintenance__orb--2{
  width:280px;
  height:280px;
  right:-6%;
  bottom:10%;
  background:rgba(0,219,222,.18);
  animation-delay:-4s;
}
.site-maintenance__orb--3{
  width:200px;
  height:200px;
  top:42%;
  left:50%;
  transform:translateX(-50%);
  background:rgba(248,104,66,.16);
  animation-delay:-8s;
}
@keyframes site-maint-orb{
  0%{transform:translate3d(0,0,0) scale(1);}
  100%{transform:translate3d(2%,-3%,0) scale(1.08);}
}
.site-maintenance__wrap{
  position:relative;
  z-index:1;
  width:100%;
}
.site-maintenance__card{
  position:relative;
  max-width:560px;
  margin:0 auto;
  padding:40px 36px 36px;
  text-align:center;
  border-radius:28px;
  border:1px solid rgba(255,162,0,.22);
  background:
    linear-gradient(165deg, rgba(255,255,255,.07) 0%, rgba(255,255,255,.02) 38%, rgba(0,0,0,.2) 100%);
  box-shadow:
    0 24px 60px rgba(0,0,0,.45),
    0 0 0 1px rgba(255,255,255,.04) inset,
    0 0 80px rgba(255,162,0,.08);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.site-maintenance__card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(145deg, rgba(255,200,81,.45), rgba(255,162,0,.08) 40%, rgba(0,219,222,.12));
  -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
}
.site-maintenance__icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:72px;
  height:72px;
  margin:0 auto 20px;
  border-radius:22px;
  color:var(--yellow);
  background:linear-gradient(145deg, rgba(255,162,0,.18), rgba(255,104,66,.1));
  border:1px solid rgba(255,162,0,.28);
  box-shadow:0 12px 28px rgba(255,162,0,.12);
}
.site-maintenance__icon svg{width:40px;height:40px;}
.site-maintenance__badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 16px 7px 12px;
  border-radius:999px;
  background:rgba(255,162,0,.12);
  border:1px solid rgba(255,162,0,.35);
  color:var(--yellow);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-bottom:18px;
}
.site-maintenance__badge-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--orange);
  box-shadow:0 0 12px rgba(255,162,0,.9);
  animation:site-maint-pulse 2s ease-in-out infinite;
}
@keyframes site-maint-pulse{
  0%,100%{opacity:1;transform:scale(1);}
  50%{opacity:.55;transform:scale(.88);}
}
.site-maintenance h1{
  font-size:clamp(2.5rem,9vw,3.6rem);
  line-height:.92;
  text-transform:uppercase;
  margin:0 0 16px;
  color:#fff;
}
.site-maintenance__divider{
  width:72px;
  height:3px;
  margin:0 auto 20px;
  border-radius:999px;
  background:linear-gradient(90deg, transparent, var(--orange), transparent);
}
.site-maintenance__message{
  color:#ececec;
  font-size:clamp(1.02rem,2.2vw,1.18rem);
  line-height:1.6;
  margin:0 0 12px;
}
.site-maintenance__hint{
  color:rgba(255,255,255,.5);
  font-size:.9rem;
  line-height:1.5;
  margin:0 0 24px;
}
.site-maintenance__notes{
  list-style:none;
  margin:0 0 28px;
  padding:16px 18px;
  border-radius:16px;
  background:rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.06);
  text-align:left;
}
.site-maintenance__notes li{
  position:relative;
  padding:6px 0 6px 22px;
  color:rgba(255,255,255,.62);
  font-size:.84rem;
  line-height:1.4;
}
.site-maintenance__notes li::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:8px;
  height:8px;
  border-radius:50%;
  transform:translateY(-50%);
  background:var(--orange);
  box-shadow:0 0 10px rgba(255,162,0,.5);
}
.site-maintenance__admin-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:14px 22px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.82);
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  transition:border-color .2s ease, background .2s ease, color .2s ease, transform .2s ease;
}
.site-maintenance__admin-link:hover{
  border-color:rgba(255,162,0,.45);
  background:rgba(255,162,0,.1);
  color:#fff;
  transform:translateY(-2px);
}
.site-maintenance__admin-link svg{transition:transform .2s ease;}
.site-maintenance__admin-link:hover svg{transform:translateX(3px);}

@media(max-width:560px){
  .site-maintenance{padding:32px 0 48px;}
  .site-maintenance__card{padding:32px 22px 28px;border-radius:22px;}
  .site-maintenance__notes{padding:14px 14px;}
}

@media (prefers-reduced-motion:reduce){
  .site-maintenance__orb,
  .site-maintenance__badge-dot{animation:none;}
}

.index-admin-preview-banner{
  position:relative;
  z-index:30;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:10px 16px;
  padding:12px 18px;
  background:linear-gradient(90deg,rgba(255,162,0,.18),rgba(255,104,66,.16));
  border-bottom:1px solid rgba(255,162,0,.35);
  color:#fff;
  font-size:.88rem;
  text-align:center;
}
.index-admin-preview-banner a{
  color:var(--yellow);
  font-weight:700;
  text-decoration:underline;
}

.index-maintenance-notice{
  position:relative;
  z-index:20;
  padding:14px 0;
  background:linear-gradient(90deg,rgba(255,162,0,.16),rgba(255,104,66,.14));
  border-bottom:1px solid rgba(255,162,0,.32);
  color:#fff;
}
.index-maintenance-notice__inner{
  display:flex;
  align-items:flex-start;
  gap:14px;
}
.index-maintenance-notice__icon{
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:12px;
  background:rgba(255,162,0,.18);
  color:var(--yellow);
}
.index-maintenance-notice__icon svg{width:22px;height:22px;}
.index-maintenance-notice__copy{min-width:0;}
.index-maintenance-notice__title{
  display:block;
  font-size:.92rem;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin-bottom:4px;
}
.index-maintenance-notice__message,
.index-maintenance-notice__schedule{
  margin:0;
  font-size:.9rem;
  line-height:1.5;
}
.index-maintenance-notice__schedule{
  margin-top:4px;
  font-weight:700;
  color:var(--yellow);
}
@media(max-width:560px){
  .index-maintenance-notice{padding:12px 0;}
  .index-maintenance-notice__inner{gap:10px;}
  .index-maintenance-notice__icon{width:36px;height:36px;border-radius:10px;}
}

.cta-final{background:linear-gradient(135deg,#1f1c2c 0%,#928dab 100%);color:#fff;text-align:center;padding:80px 0;}
.cta-final h2{font-size:2.6rem;text-transform:uppercase;margin-bottom:12px;}
.cta-final p{opacity:.9;margin-bottom:32px;max-width:520px;margin-left:auto;margin-right:auto;}
.cta-final-actions{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;align-items:center;}
.btn-cta-final{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:16px 34px;
  border-radius:999px;
  font-weight:800;
  font-size:.88rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
}
.btn-cta-final span{font-size:1.1rem;line-height:1;transition:transform .25s ease;}
.btn-cta-final:hover span,.btn-cta-final:focus-visible span{transform:translateX(5px);}
.btn-cta-final--personalizar{
  background:var(--yellow);
  color:#1a1a1a;
  border:2px solid rgba(255,255,255,.25);
  box-shadow:0 12px 28px rgba(0,0,0,.22);
}
.btn-cta-final--personalizar:hover,.btn-cta-final--personalizar:focus-visible{
  background:#fff;
  transform:translateY(-3px);
  box-shadow:0 16px 34px rgba(0,0,0,.28);
}
.btn-cta-final--productos{
  background:rgba(0,0,0,.35);
  color:#fff;
  border:2px solid rgba(255,255,255,.75);
  box-shadow:0 12px 28px rgba(0,0,0,.18);
}
.btn-cta-final--productos:hover,.btn-cta-final--productos:focus-visible{
  background:#fff;
  color:#1a1a1a;
  border-color:#fff;
  transform:translateY(-3px);
  box-shadow:0 16px 34px rgba(0,0,0,.28);
}

@media(max-width:820px){
  .hero{
    min-height:100dvh;
    min-height:100svh;
    padding:
      max(72px, calc(env(safe-area-inset-top, 0px) + 64px))
      max(10px, env(safe-area-inset-right, 0px))
      calc(var(--mobile-bottom-nav-h) + env(safe-area-inset-bottom, 0px) + 20px)
      max(10px, env(safe-area-inset-left, 0px));
    justify-content:center;
    box-sizing:border-box;
    overflow-x:clip;
  }
  .hero .container{
    width:100%;
    max-width:100%;
    padding-left:max(16px, env(safe-area-inset-left, 0px));
    padding-right:max(16px, env(safe-area-inset-right, 0px));
    box-sizing:border-box;
  }
  .hero-inner{
    gap:18px;
    max-width:100%;
  }
  .hero-title{
    font-size:clamp(2.85rem, 13.5vw, 5.1rem);
    line-height:1;
    letter-spacing:-.01em;
  }
  .hero-title-row{
    flex-direction:column;
    gap:.04em;
    max-width:100%;
    white-space:normal;
  }
  .hero-title-line--rainbow,
  .hero-title-line.text-rainbow{
    max-width:100%;
    font-size:1em;
    white-space:normal;
  }
  .hero-title-line--lead{font-size:1.1em;letter-spacing:.03em;}
  .hero-lead{
    max-width:min(100%, 36ch);
    font-size:clamp(1.02rem, 4vw, 1.18rem);
    line-height:1.5;
    padding:0 4px;
    box-sizing:border-box;
  }
  .hero-cta{
    width:100%;
    max-width:min(100%, 400px);
    flex-direction:column;
    align-items:stretch;
    padding:0 4px;
    box-sizing:border-box;
  }
  .hero-cta .btn-hero-cta,
  .hero-cta .btn-hero-secondary,
  .hero-cta .btn-hero-cta--purple{
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
  }
  .cta-final h2{font-size:2rem;}
  .cta-final-actions{flex-direction:column;width:100%;max-width:340px;margin:0 auto;}
  .btn-cta-final{width:100%;}
}

@media(max-width:420px){
  .hero{
    padding-left:max(8px, env(safe-area-inset-left, 0px));
    padding-right:max(8px, env(safe-area-inset-right, 0px));
  }
  .hero-title{font-size:clamp(2.65rem, 13.6vw, 4.2rem);}
  .hero-lead{max-width:100%;}
}
