/* ==========================================================================
   GLAMCITY — Capa de branding y "vida"
   Fucsia #E6007E · Dorado #D4AF37 · Negro #0D0D0D · Rosa palo #FBE7F1
   Sobreescribe la plantilla base (Corre mi tierra / Elementor)
   ========================================================================== */

:root{
  --glam-fucsia:#E6007E;
  --glam-fucsia-2:#FF3FA4;
  --glam-oro:#D4AF37;
  --glam-oro-2:#F4D35E;
  --glam-negro:#0D0D0D;
  --glam-rosa:#FBE7F1;
  --glam-grad:linear-gradient(135deg,#E6007E 0%,#FF3FA4 45%,#D4AF37 100%);
  --glam-grad-oro:linear-gradient(135deg,#D4AF37 0%,#F4D35E 100%);

  /* refuerza las variables globales de Elementor */
  --e-global-color-primary:#E6007E;
  --e-global-color-secondary:#FF3FA4;
  --e-global-color-accent:#D4AF37;
  --e-global-color-text:#0D0D0D;
}

/* ---------- LOGO en el encabezado (proporción correcta) ---------- */
header img[src*="glamcity-logo"],
.elementor-location-header img[src*="glamcity-logo"]{
  height:60px !important;
  width:auto !important;
  max-width:none !important;
  transition:transform .35s ease, filter .35s ease;
}
header img[src*="glamcity-logo"]:hover{
  transform:scale(1.06) rotate(-1deg);
  filter:drop-shadow(0 4px 14px rgba(230,0,126,.45));
}

/* ---------- Selección de texto y scrollbar ---------- */
::selection{background:var(--glam-fucsia);color:#fff;}
::-webkit-scrollbar{width:11px;}
::-webkit-scrollbar-thumb{background:var(--glam-grad);border-radius:10px;}
::-webkit-scrollbar-track{background:#1a0d14;}

/* ---------- BOTONES: degradado glam + hover con vida ---------- */
.elementor-button,
.elementor-button-link,
a.button, button.button, .wp-element-button,
.woocommerce a.button, .woocommerce button.button, .woocommerce .button{
  background-image:var(--glam-grad) !important;
  background-color:var(--glam-fucsia) !important;
  border:none !important;
  color:#fff !important;
  border-radius:50px !important;
  letter-spacing:.4px;
  box-shadow:0 6px 18px rgba(230,0,126,.28);
  transition:transform .28s cubic-bezier(.2,.7,.3,1.4), box-shadow .28s ease, filter .28s ease !important;
  position:relative;
  overflow:hidden;
}
.elementor-button:hover,
.elementor-button-link:hover,
a.button:hover, button.button:hover, .wp-element-button:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover{
  transform:translateY(-3px) scale(1.03);
  box-shadow:0 12px 30px rgba(212,175,55,.45);
  filter:brightness(1.05);
}
/* brillo que cruza el botón */
.elementor-button::after,
a.button::after{
  content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.55),transparent);
  transform:skewX(-20deg);transition:left .6s ease;
}
.elementor-button:hover::after,
a.button:hover::after{left:130%;}

/* ---------- Links con acento dorado ---------- */
a{transition:color .2s ease;}
.elementor a:not(.elementor-button):hover{color:var(--glam-oro) !important;}

/* ---------- Títulos con degradado glam ---------- */
.elementor-widget-heading h1.elementor-heading-title,
.elementor-widget-heading h2.elementor-heading-title{
  background:var(--glam-grad);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
}
/* excepción: títulos sobre fondos de color se mantienen sólidos */
[style*="background-color:#E6007E"] .elementor-heading-title,
[style*="background-color:#0D0D0D"] .elementor-heading-title,
.glam-solid-title .elementor-heading-title{
  -webkit-text-fill-color:#fff !important;color:#fff !important;background:none !important;
}

/* ---------- Imágenes: zoom suave y borde glam al pasar ---------- */
.elementor-widget-image img,
.woocommerce ul.products li.product img{
  transition:transform .5s ease, box-shadow .5s ease, filter .5s ease;
  border-radius:14px;
}
.elementor-widget-image:hover img,
.woocommerce ul.products li.product:hover img{
  transform:scale(1.04);
  box-shadow:0 18px 40px rgba(230,0,126,.30);
}

/* ---------- Tarjetas de producto ---------- */
.woocommerce ul.products li.product{
  border-radius:18px;transition:transform .35s ease, box-shadow .35s ease;
  padding:10px;
}
.woocommerce ul.products li.product:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 45px rgba(13,13,13,.12);
}
.woocommerce ul.products li.product .price{color:var(--glam-fucsia) !important;font-weight:700;}

/* ---------- Íconos sociales / listas ---------- */
.elementor-social-icon{
  background:var(--glam-grad) !important;
  transition:transform .3s ease, box-shadow .3s ease;
}
.elementor-social-icon:hover{transform:translateY(-4px) rotate(6deg);box-shadow:0 8px 20px rgba(230,0,126,.4);}

/* ---------- Divisores / detalles en dorado ---------- */
.elementor-divider-separator{border-top-color:var(--glam-oro) !important;}

/* ==========================================================================
   ANIMACIONES DE ENTRADA (revelado al hacer scroll)  → activadas por JS
   ========================================================================== */
[data-glam-reveal]{opacity:0;transform:translateY(28px);}
[data-glam-reveal].glam-in{
  opacity:1;transform:none;
  transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.3,1);
}

@keyframes glamFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes glamPulse{0%,100%{box-shadow:0 0 0 0 rgba(230,0,126,.45)}70%{box-shadow:0 0 0 18px rgba(230,0,126,0)}}
@keyframes glamShine{0%{background-position:0% 50%}100%{background-position:200% 50%}}

/* ==========================================================================
   SECCIÓN EVENTOS (videos) — GlamCity
   ========================================================================== */
.glam-eventos{
  background:radial-gradient(120% 120% at 50% 0%, #1a0d14 0%, #0D0D0D 60%);
  color:#fff;padding:70px 18px 80px;text-align:center;position:relative;overflow:hidden;
}
.glam-eventos::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(40% 40% at 15% 20%, rgba(230,0,126,.25), transparent 70%),
    radial-gradient(40% 40% at 85% 80%, rgba(212,175,55,.18), transparent 70%);
  pointer-events:none;
}
.glam-eventos__kicker{
  display:inline-block;letter-spacing:3px;font-size:13px;font-weight:700;
  color:var(--glam-oro);text-transform:uppercase;margin-bottom:8px;
}
.glam-eventos__title{
  font-size:clamp(30px,5vw,52px);font-weight:800;margin:0 0 10px;line-height:1.05;
  background:linear-gradient(90deg,#E6007E,#FF3FA4,#D4AF37,#E6007E);
  background-size:200% auto;-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;animation:glamShine 6s linear infinite;
}
.glam-eventos__sub{color:#e9d9e3;max-width:640px;margin:0 auto 40px;font-size:17px;}
.glam-eventos__grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:26px;max-width:960px;margin:0 auto;position:relative;z-index:1;
}
.glam-video{
  position:relative;border-radius:22px;overflow:hidden;
  aspect-ratio:9/16;background:#161016;
  border:2px solid transparent;background-clip:padding-box;
  box-shadow:0 20px 50px rgba(0,0,0,.5);
  transition:transform .4s ease, box-shadow .4s ease;
}
.glam-video::before{
  content:"";position:absolute;inset:-2px;z-index:-1;border-radius:22px;
  background:var(--glam-grad);
}
.glam-video:hover{transform:translateY(-8px) scale(1.015);box-shadow:0 28px 60px rgba(230,0,126,.4);}
.glam-video video{width:100%;height:100%;object-fit:cover;display:block;}
/* Placeholder cuando aún no hay .mp4 */
.glam-video__ph{
  position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:14px;
  background:linear-gradient(160deg,#2a0f1f,#0D0D0D);color:#fff;text-align:center;padding:24px;
}
.glam-video__play{
  width:74px;height:74px;border-radius:50%;background:var(--glam-grad);
  display:flex;align-items:center;justify-content:center;
  animation:glamPulse 2.2s infinite;
}
.glam-video__play::after{content:"";border-left:22px solid #fff;border-top:14px solid transparent;border-bottom:14px solid transparent;margin-left:6px;}
.glam-video__ph small{color:#caa;letter-spacing:.5px;}
.glam-video__badge{
  position:absolute;top:12px;left:12px;z-index:2;background:var(--glam-fucsia);
  color:#fff;font-size:12px;font-weight:700;padding:5px 12px;border-radius:30px;
  box-shadow:0 4px 12px rgba(0,0,0,.3);
}
.glam-eventos__cta{
  display:inline-block;margin-top:42px;padding:15px 40px;border-radius:50px;
  background:var(--glam-grad);color:#fff !important;font-weight:700;text-decoration:none;
  letter-spacing:.5px;box-shadow:0 10px 30px rgba(230,0,126,.4);
  transition:transform .3s ease, box-shadow .3s ease;
}
.glam-eventos__cta:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 16px 40px rgba(212,175,55,.5);color:#fff !important;}

/* ---------- HERO: overlay glam sobre la foto (suaviza el azul original) ---------- */
/* Nota: la foto del hero es de un evento original; para reemplazarla por
   contenido real de GlamCity se necesitan sus fotos (ver README-GLAMCITY.txt). */

@media (max-width:600px){
  header img[src*="glamcity-logo"]{height:46px !important;}
}
