/* =========================================================
   MOVIREP HOME HERO (Astra)
   ========================================================= */

/* Full width en Astra solo Home (si quieres que aplique a otras páginas, quita .home) */

/* estilos del header aquí */
.home .site-content { background:#000; }
.home .site-content .ast-container{
  max-width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

.mv-hero-wrap{
  width:100vw;
  margin-left:calc(50% - 50vw);
  background:#000;
  color:#fff;
  font-family:'Rajdhani', system-ui, sans-serif;
  position:relative;
  overflow:hidden;

  --crimson:#D7263D;
  --crimson-dark:#B61F31;
  --crimson-light:#FF5470;
}

/* Overlays */
.mv-hero-wrap .mv-grain{ position:fixed; inset:-50%; width:200%; height:200vh; opacity:.06; pointer-events:none; z-index:80; }
.mv-hero-wrap .mv-vignette{ position:fixed; inset:0; pointer-events:none; z-index:90; }
.mv-hero-wrap .mv-tech-grid{ position:fixed; inset:0; opacity:.4; pointer-events:none; z-index:10; }
.mv-hero-wrap .mv-scanlines{ position:fixed; inset:0; pointer-events:none; z-index:20; }

/* =========================
   HEADER (FIJO)
   ========================= */
.mv-hero-wrap .mv-header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:999999;
}
.admin-bar .mv-hero-wrap .mv-header{ top:32px; }
@media (max-width:782px){
  .admin-bar .mv-hero-wrap .mv-header{ top:46px; }
}

.mv-hero-wrap .mv-glass{
  background:rgba(0,0,0,.55);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(215,38,61,.10);
}

.mv-hero-wrap .mv-header-container{
  max-width:1400px;
  margin:0 auto;
  padding:12px 24px;
}
.mv-hero-wrap .mv-header-content{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

/* Logo */
.mv-hero-wrap .mv-logo-link{ display:flex; align-items:center; gap:12px; text-decoration:none; color:#fff; transition:transform .25s ease; }
.mv-hero-wrap .mv-logo-link:hover{ transform:scale(1.03); }

.mv-hero-wrap .mv-logo-image-container{
  position:relative; width:40px; height:40px;
  display:flex; align-items:center; justify-content:center;
  clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);
}
.mv-hero-wrap .mv-logo-image{ width:100%; height:100%; object-fit:contain; display:block; }
.mv-hero-wrap .mv-logo-glow{ position:absolute; inset:0; background:var(--crimson); filter:blur(40px); opacity:0; transition:opacity .35s ease; }
.mv-hero-wrap .mv-logo-link:hover .mv-logo-glow{ opacity:.6; }

.mv-hero-wrap .mv-logo-text{ font-family:'Orbitron', sans-serif; font-size:24px; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.mv-hero-wrap .mv-white{ color:#fff; }
.mv-hero-wrap .mv-crimson{ color:var(--crimson); }

/* Nav desktop */
.mv-hero-wrap .mv-nav{ display:flex; align-items:center; gap:28px; }
.mv-hero-wrap .mv-nav-link{
  position:relative; color:rgba(255,255,255,.55); text-decoration:none;
  font-size:13px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  transition:color .2s ease;
}
.mv-hero-wrap .mv-nav-link:hover{ color:var(--crimson); }
.mv-hero-wrap .mv-nav-link::after{
  content:""; position:absolute; left:0; bottom:-4px; width:0; height:2px;
  background:linear-gradient(to right, var(--crimson), var(--crimson-light));
  transition:width .2s ease;
}
.mv-hero-wrap .mv-nav-link:hover::after{ width:100%; }

/* CTA */
.mv-hero-wrap .mv-cta-button{
  position:relative; padding:10px 22px; background:var(--crimson); color:#fff; text-decoration:none;
  font-family:'Orbitron', sans-serif; font-size:13px; font-weight:800; letter-spacing:.1em; text-transform:uppercase;
  overflow:hidden; box-shadow:0 4px 16px rgba(215,38,61,.3);
  clip-path:polygon(8% 0%,100% 0%,100% 70%,92% 100%,0% 100%,0% 30%);
  transition:background .2s ease, box-shadow .2s ease;
}
.mv-hero-wrap .mv-cta-button:hover{ background:var(--crimson-dark); box-shadow:0 8px 24px rgba(215,38,61,.4); }
.mv-hero-wrap .mv-cta-text{ position:relative; z-index:2; }
.mv-hero-wrap .mv-shimmer{ position:absolute; inset:0; background:linear-gradient(90deg, transparent, rgba(255,255,255,.2), transparent); animation:mv-shimmer 3s infinite; z-index:1; }
@keyframes mv-shimmer{ 0%{transform:translateX(-100%);} 100%{transform:translateX(100%);} }

/* =========================
   MOBILE MENU
   ========================= */
.mv-hero-wrap .mv-burger{ display:none; }

@media (min-width:900px){
  .mv-hero-wrap .mv-mobile{ display:none !important; }
}

@media (max-width:899px){
  .mv-hero-wrap .mv-nav{ display:none !important; }
  .mv-hero-wrap .mv-burger{ display:inline-flex; }
  .mv-hero-wrap .mv-cta-button{ display:none !important; } /* CTA va en el panel */
  .mv-hero-wrap .mv-header-container{ padding:10px 16px; }
  .mv-hero-wrap .mv-logo-text{ font-size:20px; }
}

.mv-hero-wrap .mv-burger{
  width:44px; height:44px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.35);
  border-radius:14px;
  align-items:center; justify-content:center;
  cursor:pointer;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.mv-hero-wrap .mv-burger-lines,
.mv-hero-wrap .mv-burger-lines::before,
.mv-hero-wrap .mv-burger-lines::after{
  content:""; display:block; width:18px; height:2px;
  background:rgba(255,255,255,.9);
  border-radius:999px;
  position:relative;
  transition:transform .18s ease, top .18s ease;
}
.mv-hero-wrap .mv-burger-lines::before{ position:absolute; top:-6px; left:0; }
.mv-hero-wrap .mv-burger-lines::after{ position:absolute; top:6px; left:0; }

.mv-hero-wrap .mv-burger[aria-expanded="true"] .mv-burger-lines{ background:transparent; }
.mv-hero-wrap .mv-burger[aria-expanded="true"] .mv-burger-lines::before{ top:0; transform:rotate(45deg); }
.mv-hero-wrap .mv-burger[aria-expanded="true"] .mv-burger-lines::after{ top:0; transform:rotate(-45deg); }

.mv-hero-wrap .mv-mobile{
  position:fixed; inset:0; z-index:999999;
  display:block; pointer-events:none;
}
.mv-hero-wrap .mv-mobile[data-open="true"]{ pointer-events:auto; }

.mv-hero-wrap .mv-mobile-backdrop{
  position:absolute; inset:0;
  background:rgba(0,0,0,.55);
  opacity:0; transition:opacity .2s ease;
}
.mv-hero-wrap .mv-mobile[data-open="true"] .mv-mobile-backdrop{ opacity:1; }

.mv-hero-wrap .mv-mobile-panel{
  position:absolute; top:12px; left:12px; right:12px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(10,10,12,.72);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  box-shadow:0 18px 60px rgba(0,0,0,.45);
  transform:translateY(-8px);
  opacity:0;
  transition:transform .22s ease, opacity .22s ease;
  padding:14px;
}
.mv-hero-wrap .mv-mobile[data-open="true"] .mv-mobile-panel{ transform:translateY(0); opacity:1; }

.mv-hero-wrap .mv-mobile-top{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:6px 6px 10px; }
.mv-hero-wrap .mv-mobile-title{ font-family:'Orbitron', sans-serif; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.92); font-size:14px; }

.mv-hero-wrap .mv-mobile-close{
  width:40px; height:40px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.9);
  cursor:pointer;
}

.mv-hero-wrap .mv-mobile-nav{ display:flex; flex-direction:column; gap:8px; padding:8px 6px 12px; }
.mv-hero-wrap .mv-mobile-link{
  display:flex; align-items:center; justify-content:space-between;
  text-decoration:none;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.05);
  color:rgba(255,255,255,.92);
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:12px;
}
.mv-hero-wrap .mv-mobile-cta{
  display:flex; align-items:center; justify-content:center;
  text-decoration:none;
  margin:0 6px 6px;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(215,38,61,.95);
  color:#fff;
  font-family:'Orbitron', sans-serif;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}



/* =========================================================
   MOVIREP HEADER (GLOBAL) - aplica en todas las páginas
   ========================================================= */

.mv-header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:999999;
}
.admin-bar .mv-header{ top:32px; }
@media (max-width:782px){
  .admin-bar .mv-header{ top:46px; }
}

.mv-glass{
  background:rgba(0,0,0,.55);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(215,38,61,.10);
}

.mv-header-container{
  max-width:1400px;
  margin:0 auto;
  padding:12px 24px;
}
.mv-header-content{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

/* Logo */
.mv-logo-link{ display:flex; align-items:center; gap:12px; text-decoration:none; color:#fff; transition:transform .25s ease; }
.mv-logo-link:hover{ transform:scale(1.03); }

.mv-logo-image-container{
  position:relative; width:40px; height:40px;
  display:flex; align-items:center; justify-content:center;
  clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);
}
.mv-logo-image{ width:100%; height:100%; object-fit:contain; display:block; }
.mv-logo-glow{ position:absolute; inset:0; background:#D7263D; filter:blur(40px); opacity:0; transition:opacity .35s ease; }
.mv-logo-link:hover .mv-logo-glow{ opacity:.6; }

.mv-logo-text{ font-family:'Orbitron', sans-serif; font-size:24px; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.mv-white{ color:#fff; }
.mv-crimson{ color:#D7263D; }

/* Nav desktop */
.mv-nav{ display:flex; align-items:center; gap:28px; }
.mv-nav-link{
  position:relative; color:rgba(255,255,255,.55); text-decoration:none;
  font-size:13px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  transition:color .2s ease;
}
.mv-nav-link:hover{ color:#D7263D; }
.mv-nav-link::after{
  content:""; position:absolute; left:0; bottom:-4px; width:0; height:2px;
  background:linear-gradient(to right, #D7263D, #FF5470);
  transition:width .2s ease;
}
.mv-nav-link:hover::after{ width:100%; }

/* CTA */
.mv-cta-button{
  position:relative; padding:10px 22px; background:#D7263D; color:#fff; text-decoration:none;
  font-family:'Orbitron', sans-serif; font-size:13px; font-weight:800; letter-spacing:.1em; text-transform:uppercase;
  overflow:hidden; box-shadow:0 4px 16px rgba(215,38,61,.3);
  clip-path:polygon(8% 0%,100% 0%,100% 70%,92% 100%,0% 100%,0% 30%);
  transition:background .2s ease, box-shadow .2s ease;
}
.mv-cta-button:hover{ background:#B61F31; box-shadow:0 8px 24px rgba(215,38,61,.4); }
.mv-cta-text{ position:relative; z-index:2; }
.mv-shimmer{ position:absolute; inset:0; background:linear-gradient(90deg, transparent, rgba(255,255,255,.2), transparent); animation:mv-shimmer 3s infinite; z-index:1; }
@keyframes mv-shimmer{ 0%{transform:translateX(-100%);} 100%{transform:translateX(100%);} }

/* Mobile rules */
.mv-burger{ display:none; }

@media (min-width:900px){
  .mv-mobile{ display:none !important; }
}
@media (max-width:899px){
  .mv-nav{ display:none !important; }
  .mv-burger{ display:inline-flex; }
  .mv-cta-button{ display:none !important; }
  .mv-header-container{ padding:10px 16px; }
  .mv-logo-text{ font-size:20px; }
}

.mv-burger{
  width:44px; height:44px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.35);
  border-radius:14px;
  align-items:center; justify-content:center;
  cursor:pointer;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.mv-burger-lines,
.mv-burger-lines::before,
.mv-burger-lines::after{
  content:""; display:block; width:18px; height:2px;
  background:rgba(255,255,255,.9);
  border-radius:999px;
  position:relative;
  transition:transform .18s ease, top .18s ease;
}
.mv-burger-lines::before{ position:absolute; top:-6px; left:0; }
.mv-burger-lines::after{ position:absolute; top:6px; left:0; }

.mv-burger[aria-expanded="true"] .mv-burger-lines{ background:transparent; }
.mv-burger[aria-expanded="true"] .mv-burger-lines::before{ top:0; transform:rotate(45deg); }
.mv-burger[aria-expanded="true"] .mv-burger-lines::after{ top:0; transform:rotate(-45deg); }

.mv-mobile{
  position:fixed; inset:0; z-index:999999;
  display:block; pointer-events:none;
}
.mv-mobile[data-open="true"]{ pointer-events:auto; }

.mv-mobile-backdrop{
  position:absolute; inset:0;
  background:rgba(0,0,0,.55);
  opacity:0; transition:opacity .2s ease;
}
.mv-mobile[data-open="true"] .mv-mobile-backdrop{ opacity:1; }

.mv-mobile-panel{
  position:absolute; top:12px; left:12px; right:12px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(10,10,12,.72);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  box-shadow:0 18px 60px rgba(0,0,0,.45);
  transform:translateY(-8px);
  opacity:0;
  transition:transform .22s ease, opacity .22s ease;
  padding:14px;
}
.mv-mobile[data-open="true"] .mv-mobile-panel{ transform:translateY(0); opacity:1; }

.mv-mobile-top{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:6px 6px 10px; }
.mv-mobile-title{ font-family:'Orbitron', sans-serif; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.92); font-size:14px; }

.mv-mobile-close{
  width:40px; height:40px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.9);
  cursor:pointer;
}

.mv-mobile-nav{ display:flex; flex-direction:column; gap:8px; padding:8px 6px 12px; }
.mv-mobile-link{
  display:flex; align-items:center; justify-content:space-between;
  text-decoration:none;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.05);
  color:rgba(255,255,255,.92);
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:12px;
}
.mv-mobile-cta{
  display:flex; align-items:center; justify-content:center;
  text-decoration:none;
  margin:0 6px 6px;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(215,38,61,.95);
  color:#fff;
  font-family:'Orbitron', sans-serif;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}