/* ═══ ALMA IA · PREMIUM MODULE ═══ */
/* 100% aislado - no sobrescribe CSS existente */

.pm-overlay{
  position:fixed;inset:0;z-index:8500;
  background:rgba(5,5,16,0.92);backdrop-filter:blur(12px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity 0.4s ease;
}
.pm-overlay.open{opacity:1;pointer-events:all;}

.pm-box{
  width:90%;max-width:420px;
  background:linear-gradient(180deg,#0d0525 0%,#050510 100%);
  border:1px solid rgba(150,80,255,0.3);
  border-radius:28px;padding:36px 28px;text-align:center;
  box-shadow:0 0 60px rgba(119,0,204,0.4),0 20px 60px rgba(0,0,0,0.6);
  transform:scale(0.9);transition:transform 0.4s cubic-bezier(0.34,1.1,0.64,1);
  position:relative;overflow:hidden;
}
.pm-overlay.open .pm-box{transform:scale(1);}

.pm-box::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 0%,rgba(255,215,0,0.08),transparent 60%);
  pointer-events:none;
}

.pm-close{
  position:absolute;top:12px;right:16px;
  background:rgba(255,255,255,0.06);border:1px solid rgba(150,80,255,0.25);
  color:#8888aa;width:32px;height:32px;border-radius:50%;
  font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:all 0.2s;z-index:2;
}
.pm-close:hover{color:#fff;border-color:#aa44ff;}

.pm-icon{font-size:48px;margin-bottom:16px;position:relative;}
.pm-title{
  font-family:'Cinzel',serif;font-size:20px;color:#ffd700;
  letter-spacing:3px;margin-bottom:8px;position:relative;
}
.pm-subtitle{
  font-size:13px;color:#aa44ff;letter-spacing:2px;
  text-transform:uppercase;margin-bottom:20px;position:relative;
}
.pm-text{
  font-size:14px;line-height:1.8;color:#c8c0e0;
  margin-bottom:24px;position:relative;
}
.pm-text strong{color:#ffd700;}

.pm-price{
  font-family:'Cinzel',serif;font-size:32px;color:#ffd700;
  margin-bottom:6px;position:relative;
  text-shadow:0 0 20px rgba(255,215,0,0.4);
}
.pm-price-sub{
  font-size:11px;color:#8888aa;letter-spacing:2px;
  margin-bottom:24px;position:relative;
}

.pm-btn{
  display:block;width:100%;padding:18px;border:none;border-radius:60px;
  cursor:pointer;font-family:'Montserrat',sans-serif;font-size:15px;
  font-weight:700;letter-spacing:2px;text-transform:uppercase;
  text-decoration:none;color:#1a0833;
  background:linear-gradient(135deg,#ffd700,#ffaa00);
  box-shadow:0 8px 30px rgba(255,215,0,0.4),0 0 60px rgba(255,215,0,0.15);
  transition:transform 0.2s,box-shadow 0.2s;
  position:relative;overflow:hidden;
}
.pm-btn:hover{transform:scale(1.03);box-shadow:0 12px 40px rgba(255,215,0,0.6);}
.pm-btn:active{transform:scale(0.97);}

.pm-btn-secondary{
  display:block;width:100%;padding:12px;margin-top:12px;
  background:transparent;border:1px solid rgba(150,80,255,0.25);
  border-radius:50px;color:#8888aa;font-size:11px;font-weight:600;
  letter-spacing:1px;cursor:pointer;transition:all 0.2s;
  font-family:'Montserrat',sans-serif;
}
.pm-btn-secondary:hover{color:#fff;border-color:#aa44ff;}

.pm-features{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;
  margin-bottom:24px;position:relative;
}
.pm-feature{
  background:rgba(119,0,204,0.1);border:1px solid rgba(119,0,204,0.2);
  border-radius:12px;padding:12px 10px;text-align:center;
}
.pm-feature-icon{font-size:20px;margin-bottom:4px;}
.pm-feature-text{font-size:10px;color:#c8c0e0;letter-spacing:1px;line-height:1.4;}

.pm-badge{
  display:inline-flex;align-items:center;gap:6px;
  background:linear-gradient(135deg,rgba(255,215,0,0.15),rgba(255,170,0,0.1));
  border:1px solid rgba(255,215,0,0.3);border-radius:50px;
  padding:6px 16px;font-size:10px;color:#ffd700;
  letter-spacing:2px;text-transform:uppercase;font-weight:700;
}

.pm-inline-lock{
  background:rgba(15,8,30,0.9);border:1px solid rgba(150,80,255,0.25);
  border-radius:18px;padding:24px;margin:16px 0;text-align:center;
  position:relative;overflow:hidden;
}
.pm-inline-lock::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(119,0,204,0.08),rgba(204,0,153,0.04));
  pointer-events:none;
}
.pm-inline-lock .pm-icon{font-size:32px;margin-bottom:10px;}
.pm-inline-lock .pm-text{font-size:13px;margin-bottom:16px;}
.pm-inline-btn{
  display:inline-block;padding:12px 28px;border:none;border-radius:50px;
  cursor:pointer;font-family:'Montserrat',sans-serif;font-size:12px;
  font-weight:700;letter-spacing:2px;text-transform:uppercase;
  text-decoration:none;color:#1a0833;
  background:linear-gradient(135deg,#ffd700,#ffaa00);
  box-shadow:0 4px 15px rgba(255,215,0,0.3);
  transition:transform 0.2s;
}
.pm-inline-btn:hover{transform:scale(1.05);}

/* Shimmer effect on premium badge */
@keyframes pmShimmer{0%{background-position:-200% center}100%{background-position:200% center}}
.pm-badge{
  background:linear-gradient(90deg,rgba(255,215,0,0.15) 25%,rgba(255,255,255,0.1) 50%,rgba(255,215,0,0.15) 75%);
  background-size:200% auto;animation:pmShimmer 3s linear infinite;
}
