/*
 * ALPHA FITNESS — MODALS
 * Bloques extraídos del HTML monolítico (sweep final 2026-06-03).
 * Total: 6 bloques.
 */


/* ────── dropdown menu hover (era HTML líneas 207-212) ────── */
#dropdownMenu div:hover{
  text-shadow:none !important;
  color:#fff !important;
}

/* ────── loader overlay (era HTML líneas 3143-3196) ────── */
#loaderOverlay{
  position:fixed;
  top:0;left:0;
  width:100%;height:100%;
  background:#000;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:9999999;
  opacity:0;
  pointer-events:none;
  transition:opacity 0.25s ease;
}
#loaderOverlay.active{
  opacity:1;
  pointer-events:all;
}
#loaderLogo{
  color:#39ff14;
  font-size:28px;
  font-weight:bold;
  animation:pulse 1s infinite;
}
@keyframes pulse{
  0%{opacity:0.5; transform:scale(0.95);}
  50%{opacity:1; transform:scale(1.05);}
  100%{opacity:0.5; transform:scale(0.95);}
}

/* === FIX HOVER CATEGORIAS Y OBJETIVOS === */
.cat-link:hover,
.menu-item:hover {
  color: #39ff14 !important;
  cursor: pointer;
}


/* NAV ARROW ANIMATION */
.nav-arrow{
  display:inline-block !important;
  margin-left:5px !important;
  margin-right:0 !important;
  transition: transform 0.3s ease !important;
  font-size: 10px !important;
  transform: rotate(180deg) !important;
}

.menu-item:hover .nav-arrow,
.cat-wrapper:hover .nav-arrow{
  transform: rotate(0deg) !important;
}


/* ────── page loader (era HTML líneas 3210-3621) ────── */
#pageLoader{
 position:fixed;
 inset:0;
 background:#000;
 display:flex;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 gap:24px;
 z-index:9999999;
 opacity:0;
 pointer-events:none;
 /* Fade SOLO al REVELAR (quitar .active) → la sección aparece con un suave
    fundido de salida. */
 transition:opacity 0.28s ease;
}
#pageLoader.active{
 opacity:1;
 pointer-events:all;
 /* Cubre AL INSTANTE al activarse (sin fade-in). Antes hacía fade-in de 0.2s y,
    como el onclick inline renderiza la sección ANTES de que el interceptor juegue
    la transición, la sección se veía durante ese fundido → "sección → transición
    → sección". Con transition:none la pantalla se tapa de una: click → transición
    → sección, en el orden correcto. */
 transition:none;
}
.pl-spinner{
 position:relative;
 width:80px; height:80px;
}
.pl-spinner::before,
.pl-spinner::after{
 content:''; position:absolute; inset:0;
 border-radius:50%;
 border:3px solid transparent;
}
.pl-spinner::before{
 border-top-color:#39ff14;
 border-right-color:#39ff14;
 box-shadow:0 0 18px rgba(57,255,20,0.45);
 animation:plSpin 1.1s cubic-bezier(.6,.2,.4,.8) infinite;
}
.pl-spinner::after{
 inset:10px;
 border-bottom-color:#39ff14;
 border-left-color:#2ecc00;
 opacity:0.6;
 animation:plSpin 1.6s cubic-bezier(.6,.2,.4,.8) infinite reverse;
}
.pl-spinner-logo{
 position:absolute; inset:0;
 display:flex; align-items:center; justify-content:center;
 color:#39ff14;
 font-family:'Cormorant Garamond',serif;
 font-size:34px; font-weight:900;
 text-shadow:0 0 12px rgba(57,255,20,0.6);
 animation:plPulse 1.6s ease-in-out infinite;
}
#pageLoader h1{
 color:#39ff14;
 font-family:'Cormorant Garamond',serif;
 font-size:22px; font-weight:600;
 letter-spacing:8px;
 text-shadow:0 0 12px rgba(57,255,20,0.5);
 animation:plPulse 2s ease-in-out infinite;
 margin:0;
}
.pl-sub{
 color:#666; font-family:'Raleway',sans-serif;
 font-size:11px; font-weight:600; letter-spacing:3px;
 text-transform:uppercase;
}
@keyframes plSpin{
 0%{ transform:rotate(0deg); }
 100%{ transform:rotate(360deg); }
}
@keyframes plPulse{
 0%, 100%{ opacity:0.65; transform:scale(0.97); }
 50%{ opacity:1; transform:scale(1.03); }
}
@keyframes pulse{
 0%{opacity:0.5;transform:scale(0.95);}
 50%{opacity:1;transform:scale(1.05);}
 100%{opacity:0.5;transform:scale(0.95);}
}

/* === FIX HOVER CATEGORIAS Y OBJETIVOS === */
.cat-link:hover,
.menu-item:hover {
  color: #39ff14 !important;
  cursor: pointer;
}


/* NAV ARROW ANIMATION */
.nav-arrow{
  display:inline-block !important;
  margin-left:5px !important;
  margin-right:0 !important;
  transition: transform 0.3s ease !important;
  font-size: 10px !important;
  transform: rotate(180deg) !important;
}

.menu-item:hover .nav-arrow,
.cat-wrapper:hover .nav-arrow{
  transform: rotate(0deg) !important;
}


/* === FORCE CATEGORIAS EXACT MATCH WITH NAV LINKS === */
.cat-link{
  display:inline-flex !important;
  align-items:center !important;
  height:auto !important;
  padding:4px 12px !important;
  font-size:13px !important;
  font-family: inherit !important;
  font-weight: normal !important;
}

/* icon alignment */
.cat-link span:not(.nav-arrow){
  font-size:14px !important;
  margin-right:6px !important;
  display:inline-flex !important;
  align-items:center !important;
}

/* MICRO AJUSTE CATEGORIAS (un poco más grande) */
.cat-link{
  font-size:13px !important;
}

/* ICONO CATEGORIAS (☰) — excluir flechita .nav-arrow */
.cat-link span:not(.nav-arrow){
  font-size:16px !important;
  transform: translateY(-0.8px) translateX(2px) scale(1.012) !important;
}

/* ULTRA MICRO AJUSTE FINAL */
.cat-link span:not(.nav-arrow){
  transform: translateY(-1px) translateX(2px) scale(1.012) !important;
}

/* ===== MOBILE OPTIMIZATION FINAL ===== */
@media (max-width:768px){

  /* HEADER */
  header div:first-child{
    flex-direction:column !important;
    gap:10px !important;
  }

  #buscador{
    width:100% !important;
  }

  /* NAV SCROLL */
  header > div:nth-child(2){
    overflow-x:auto !important;
    white-space:nowrap !important;
  }

  /* HERO */
  .hero{
    padding-top:120px !important;
    height:auto !important;
  }

  .hero h1{
    font-size:2rem !important;
  }

  .hero .subtitle{
    font-size:1rem !important;
  }

  /* PRODUCTS GRID */
  .products-grid{
    grid-template-columns: 1fr !important;
    gap:15px !important;
  }

  .product-card{
    width:100% !important;
  }

  .product-image{
    height:180px !important;
  }

  .product-image img{
    max-width:85% !important;
    max-height:85% !important;
  }

  /* BUTTONS */
  .btn{
    width:100% !important;
    text-align:center !important;
  }

  /* BRAND CARDS */
  .brand-card{
    width:100% !important;
  }

  /* FOOTER */
  .footer-links{
    flex-direction:column !important;
    text-align:center !important;
  }
}

/* ============================================================
   CARRUSEL — RÉPLICA EXACTA DE alpha_fitness_pro_1.html
   ============================================================ */

.carousel {
  position: relative !important;
  max-width: 1300px !important;
  margin: auto !important;
  overflow: visible !important;
}

.track {
  display: flex !important;
  gap: 22px !important;
  overflow-x: auto !important;
  scroll-behavior: smooth !important;
  padding-bottom: 10px !important;
  -ms-overflow-style: none !important;
  scrollbar-width: none !important;
}
.track::-webkit-scrollbar { display: none !important; }

/* ARROWS */
.carousel .arrow {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background: rgba(57,255,20,0.08) !important;
  border: 1.5px solid rgba(57,255,20,0.3) !important;
  color: #39ff14 !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 22px !important;
  cursor: pointer !important;
  z-index: 20 !important;
  transition: all 0.35s cubic-bezier(0.4,0,0.2,1) !important;
  text-shadow: none !important;
  padding: 0 !important;
}
.carousel .arrow:hover {
  background: #39ff14 !important;
  color: #000 !important;
  border-color: #39ff14 !important;
  box-shadow: 0 0 20px rgba(57,255,20,0.35) !important;
  transform: translateY(-50%) scale(1.1) !important;
}
.carousel .arrow.left  { left: -56px !important; }
.carousel .arrow.right { right: -56px !important; }

/* ====== PRODUCT CARD — PREMIUM FINAL ====== */
.product-card {
  min-width: 270px !important;
  width: 270px !important;
  background: linear-gradient(165deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.015) 100%) !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  transition: transform 0.4s cubic-bezier(0.22,1,0.36,1), box-shadow 0.4s ease, border-color 0.3s ease !important;
  position: relative !important;
  cursor: default !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.3) !important;
}
.product-card:hover {
  transform: translateY(-10px) !important;
  border-color: rgba(57,255,20,0.25) !important;
  box-shadow:
    0 24px 60px rgba(0,0,0,0.5),
    0 0 50px rgba(57,255,20,0.05),
    inset 0 1px 0 rgba(255,255,255,0.05) !important;
}

/* PRODUCT IMAGE — dark cinematic backdrop */
.product-image,
#black-skull .product-image,
#growth .product-card:nth-child(3) .product-image {
  background: linear-gradient(180deg, #080808 0%, #0f0f0f 50%, #080808 100%) !important;
  background-image: linear-gradient(180deg, #080808 0%, #0f0f0f 50%, #080808 100%) !important;
  height: 240px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  position: relative !important;
  border-bottom: none !important;
}
/* Subtle glow halo behind product */
.product-image::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: radial-gradient(ellipse at 50% 60%, rgba(57,255,20,0.035) 0%, transparent 65%) !important;
  pointer-events: none !important;
}
.product-image::before { content: none !important; }
/* Bottom separator line */
.product-card .product-image {
  border-bottom: 1px solid rgba(57,255,20,0.08) !important;
}
/* Image hover zoom */
.product-image img {
  transition: transform 0.5s cubic-bezier(0.22,1,0.36,1) !important;
}
.product-card:hover .product-image img {
  transform: scale(1.07) !important;
}

.product-image img,
#black-skull .product-image img,
#black-skull .product-card:nth-child(1) .product-image img,
#black-skull .product-card:nth-child(3) .product-image img,
#growth .product-card:nth-child(3) .product-image img {
  max-width: 82% !important;
  max-height: 82% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  transition: transform 0.35s cubic-bezier(0.4,0,0.2,1) !important;
  position: relative !important;
  z-index: 1 !important;
  transform: none !important;
  filter: drop-shadow(0 8px 20px rgba(0,0,0,0.5)) !important;
}
.product-card:hover .product-image img {
  transform: scale(1.07) translateY(-4px) !important;
}

/* PRODUCT INFO — PREMIUM */
.product-info {
  padding: 16px 18px 18px !important;
  text-align: center !important;
  background: transparent !important;
}
.product-info h3 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.8px !important;
  color: #fff !important;
  margin: 0 0 6px !important;
  text-transform: uppercase !important;
}
.product-info p {
  color: #777 !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  margin: 0 0 12px !important;
  font-family: 'Raleway', sans-serif !important;
}
.price {
  display: block !important;
  font-family: 'Raleway', sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 800 !important;
  color: #39ff14 !important;
  margin: 0 0 14px !important;
  text-shadow: 0 0 20px rgba(57,255,20,0.15) !important;
  letter-spacing: 0.5px !important;
}
.product-info .btn {
  width: 100% !important;
  padding: 0 !important;
  font-size: 0.82rem !important;
  border-radius: 8px !important;
  letter-spacing: 2px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 44px !important;
  line-height: 44px !important;
  background: transparent !important;
  color: #39ff14 !important;
  border: 1px solid rgba(57,255,20,0.35) !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  margin-top: 0 !important;
  text-transform: uppercase !important;
  transition: all 0.35s cubic-bezier(0.22,1,0.36,1) !important;
  position: relative !important;
  overflow: hidden !important;
}
.product-info .btn:hover {
  transform: none !important;
  background: linear-gradient(45deg, #39ff14, #22d3ee) !important;
  color: #000 !important;
  border-color: #39ff14 !important;
  box-shadow: 0 0 30px rgba(57,255,20,0.2) !important;
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .carousel .arrow.left  { left: -20px !important; }
  .carousel .arrow.right { right: -20px !important; }
}
@media (max-width: 600px) {
  .carousel .arrow { display: none !important; }
  .track { gap: 16px !important; }
  .product-card { min-width: 220px !important; width: 220px !important; }
}

/* ────── skeleton old loader (era HTML líneas 5865-5906) ────── */
.sk-line, .sk-card, .sk-block, .sk-circle{
  background:linear-gradient(90deg, #0f0f0f 0%, #1a1a1a 50%, #0f0f0f 100%);
  background-size:200% 100%;
  animation:skShimmer 1.4s ease-in-out infinite;
  border-radius:6px;
  border:1px solid #181818;
}
.sk-line{ height:14px; width:100%; }
.sk-line.lg{ height:20px; }
.sk-line.short{ width:60%; }
.sk-line.tiny{ width:30%; height:11px; }
.sk-circle{ border-radius:50%; }
.sk-block{ height:100px; border-radius:10px; }
.sk-card{
  background:#0f0f0f; border:1px solid #1f1f1f; border-radius:12px;
  padding:14px; animation:none;
}
.sk-card .sk-img{
  height:160px; border-radius:8px;
  background:linear-gradient(90deg, #1a1a1a 0%, #222 50%, #1a1a1a 100%);
  background-size:200% 100%;
  animation:skShimmer 1.4s ease-in-out infinite;
  margin-bottom:14px;
}
.sk-card .sk-title{ height:14px; width:80%; margin-bottom:8px; }
.sk-card .sk-sub{ height:11px; width:55%; margin-bottom:14px; }
.sk-card .sk-price{ height:18px; width:40%; }
.sk-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.sk-row{
  display:flex; gap:14px; align-items:center;
  padding:12px 14px; background:#0f0f0f;
  border:1px solid #1f1f1f; border-radius:10px;
  margin-bottom:8px;
}
@keyframes skShimmer{
  0%{ background-position:200% 0; }
  100%{ background-position:-200% 0; }
}
@media (max-width: 1100px){ .sk-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width: 820px){ .sk-grid{ grid-template-columns:repeat(2,1fr); } }

/* ────── notifications modal (era HTML líneas 6075-6204) ────── */
/* ── Notificaciones: DROPDOWN que se despliega del botón campana (estilo
   Mercado Libre). Antes era un modal centrado con fondo oscuro ("cuadro").
   #notificationsModal es ahora una capa transparente a pantalla completa que
   solo sirve para capturar el click-afuera (su onclick cierra el dropdown). ── */
#notificationsModal{
  /* z-index por encima del header del sitio (99999) para que el dropdown no
     quede tapado por la barra de navegación al desplegarse desde la campana. */
  display:none; position:fixed; inset:0; z-index:100010;
  background:transparent;
}
#notificationsModal.open{ display:block; }

.notif-container{
  position:fixed;                 /* JS (_posicionarDropdownNotif) setea top/right */
  top:64px; right:16px;           /* fallback hasta que el JS lo recalcule */
  width:380px; max-width:calc(100vw - 16px);
  max-height:min(72vh, 560px);
  display:flex; flex-direction:column;
  background:var(--bg-darker);
  border:1px solid var(--border-subtle);
  border-radius:14px;
  box-shadow:0 18px 50px rgba(0,0,0,0.7), 0 0 0 1px rgba(57,255,20,0.05);
  overflow:visible;               /* visible para que se vea el caret */
  transform-origin:top right;
  animation: notifDropIn 180ms var(--ease-out, cubic-bezier(.2,.8,.2,1)) both;
}
/* Caret triangular que apunta al botón campana */
.notif-container::before{
  content:''; position:absolute; top:-7px; right:var(--arrow-right, 22px);
  width:13px; height:13px; background:var(--bg-darker);
  border-left:1px solid var(--border-subtle);
  border-top:1px solid var(--border-subtle);
  transform:rotate(45deg); border-top-left-radius:3px;
}
@keyframes notifDropIn{
  from{ opacity:0; transform:translateY(-8px) scale(0.98); }
  to{ opacity:1; transform:translateY(0) scale(1); }
}
.notif-header{
  padding:13px 16px;
  border-bottom:1px solid var(--border-subtle);
  display:flex; justify-content:space-between; align-items:center;
  background:rgba(57,255,20,0.04);
  border-radius:14px 14px 0 0;
  flex-shrink:0;
}
.notif-header h2{
  font-size:16px;
  font-family:var(--font-display);
  color:var(--text-white);
}
/*
  Botón cerrar del modal de notificaciones: badge verde neón con glow.
  La especificidad ".notif-header .close-btn" (0,2,0) domina sobre
  ".close-btn" (0,1,0) sin necesidad de !important — el duplicado de
  .close-btn que causaba conflicto fue eliminado el 2026-06-02.
*/
/* Botón cerrar: sutil (es un dropdown, se cierra clicando afuera). */
.notif-header .close-btn{
  position:static;
  background:transparent;
  border:1px solid var(--border-subtle);
  color:var(--text-light);
  font-size:18px;
  font-weight:700;
  font-family:Arial,Helvetica,sans-serif;
  cursor:pointer;
  width:28px; height:28px; min-width:28px; min-height:28px;
  display:flex; align-items:center; justify-content:center;
  border-radius:50%;
  transition:all .2s;
  padding:0; line-height:1;
  flex-shrink:0;
}
.notif-header .close-btn:hover{
  border-color:var(--primary);
  color:var(--primary);
}
.notif-list{
  flex:1 1 auto;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
.notif-item{
  padding:12px 16px;
  border-bottom:1px solid var(--border-subtle);
  display:flex; gap:12px; align-items:flex-start;
  transition:background var(--trans-fast);
  cursor:pointer;
}
.notif-item:hover{
  background:rgba(255,255,255,0.04);
}
.notif-item.unread{
  background:rgba(57,255,20,0.08);
  border-left:3px solid var(--primary);
  padding-left:13px;
}
.notif-icon{
  width:36px; height:36px;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
  font-size:var(--text-lg);
  background:rgba(57,255,20,0.12);
  color:var(--primary);
}
.notif-content{
  flex:1; min-width:0;
}
.notif-title{
  font-weight:600; color:var(--text-white); font-size:var(--text-base);
  margin-bottom:var(--space-1);
}
.notif-message{
  color:var(--text-light); font-size:var(--text-sm);
  line-height:var(--lh-normal);
  margin-bottom:var(--space-2);
}
.notif-time{
  color:var(--text-muted); font-size:var(--text-xs);
}
.notif-empty{
  padding:var(--space-12);
  text-align:center;
  color:var(--text-muted);
}
.notif-empty i{
  font-size:48px; color:var(--text-muted); opacity:0.4; margin-bottom:var(--space-4); display:block;
}
.notif-footer{
  padding:10px 16px;
  border-top:1px solid var(--border-subtle);
  text-align:center;
  border-radius:0 0 14px 14px;
  flex-shrink:0;
  background:var(--bg-darker);
}
.notif-footer button{
  background:transparent; border:1px solid var(--border-subtle);
  color:var(--text-light);
  padding:var(--space-3) var(--space-6);
  border-radius:8px; cursor:pointer;
  font-size:var(--text-sm); transition:all var(--trans-fast);
}
.notif-footer button:hover{
  border-color:var(--primary); color:var(--primary);
}

/* ────── info modal (era HTML líneas 6382-6475) ────── */
#infoModal{
  display:none; position:fixed; inset:0; z-index:99996;
  background:rgba(0,0,0,0.85); backdrop-filter:blur(8px);
  padding:20px; overflow-y:auto;
}
#infoModal.open{ display:flex; align-items:flex-start; justify-content:center; }
.im-shell{
  background:linear-gradient(135deg,#0a0a0a 0%, #141414 100%);
  border:1.5px solid #39ff14; border-radius:16px;
  width:100%; max-width:720px; margin:30px auto;
  box-shadow:0 20px 60px rgba(57,255,20,0.2);
  overflow:hidden;
}
.im-head{
  display:flex; justify-content:space-between; align-items:center;
  padding:22px 28px; border-bottom:1px solid #1f1f1f;
  background:rgba(57,255,20,0.04);
}
.im-head h2{
  font-family:'Cormorant Garamond',serif; color:#fff;
  font-size:26px; letter-spacing:1px;
}
.im-head h2 span{ color:#39ff14; }
.im-close{
  background:transparent; border:none; color:#888; font-size:24px;
  cursor:pointer; width:36px; height:36px; border-radius:50%;
  transition:background .2s, color .2s;
}
.im-close:hover{ background:#1a1a1a; color:#fff; }
.im-body{ padding:28px 32px; color:#bbb; font-family:'Raleway',sans-serif; }
.im-body p{ margin-bottom:14px; line-height:1.7; font-size:14px; }
.im-body strong{ color:#fff; }
.im-body h3{
  font-family:'Cormorant Garamond',serif; color:#39ff14;
  font-size:18px; margin:22px 0 10px; letter-spacing:0.5px;
}
.im-body h3:first-child{ margin-top:0; }
.im-body ul{ list-style:none; padding:0; margin:0 0 14px; }
.im-body ul li{
  padding:8px 0 8px 24px; position:relative;
  color:#bbb; font-size:14px; line-height:1.5;
}
.im-body ul li::before{
  content:'✓'; position:absolute; left:0; color:#39ff14; font-weight:800;
}
.im-faq-item{
  background:#0f0f0f; border:1px solid #1f1f1f; border-radius:10px;
  margin-bottom:10px; overflow:hidden;
}
.im-faq-q{
  padding:16px 20px; cursor:pointer; display:flex;
  justify-content:space-between; align-items:center;
  color:#fff; font-weight:600; font-size:14px;
}
.im-faq-q i{ color:#39ff14; transition:transform .3s; }
.im-faq-item.open .im-faq-q i{ transform:rotate(45deg); }
.im-faq-a{ max-height:0; overflow:hidden; transition:max-height .3s ease; }
.im-faq-item.open .im-faq-a{ max-height:300px; }
.im-faq-a > div{ padding:0 20px 16px; color:#bbb; font-size:13px; line-height:1.6; }

.im-form{ display:flex; flex-direction:column; gap:14px; }
.im-form label{
  display:block; color:#888; font-size:11px; letter-spacing:2px;
  text-transform:uppercase; font-weight:700; margin-bottom:6px;
}
.im-form input, .im-form textarea, .im-form select{
  width:100%; background:#000; border:1px solid #2a2a2a;
  border-radius:8px; padding:12px 14px; color:#fff;
  font-size:14px; font-family:inherit; outline:none;
}
.im-form input:focus, .im-form textarea:focus, .im-form select:focus{
  border-color:#39ff14;
}
.im-form button{
  margin-top:8px; background:linear-gradient(45deg,#39ff14,#2ecc00); color:#000;
  border:none; padding:14px; font-size:14px; font-weight:800;
  letter-spacing:2px; border-radius:10px; cursor:pointer;
  text-transform:uppercase; font-family:inherit;
}
.im-form button:hover{ box-shadow:0 8px 25px rgba(57,255,20,0.4); }
.im-empty{
  text-align:center; padding:60px 30px;
}
.im-empty i{ font-size:60px; color:#222; margin-bottom:16px; display:block; }
.im-empty h3{ color:#fff; font-family:'Cormorant Garamond',serif; font-size:24px; margin-bottom:10px; }
.im-empty p{ color:#888; margin-bottom:24px; }
.im-empty button{
  background:linear-gradient(45deg,#39ff14,#2ecc00); color:#000;
  border:none; padding:12px 28px; border-radius:8px;
  font-weight:800; cursor:pointer; letter-spacing:1px; text-transform:uppercase;
  font-family:inherit;
}

/* ────── Ajustes del Login modal (4 mini-bloques merged) ────── */
#termsContainer{display:none !important;}

/* 🔧 Ajuste fino inputs login */
#loginModal input{
  margin-bottom: 4px !important;
}

/* ULTRA tight spacing */
#loginModal .contact-content{
  gap:4px !important;
}

/* Separar botón del checkbox en registro */
#loginModal #mainBtn{
  margin-top:16px !important;
}
