/* ═══════════════════════════════════════════════════════════════════
   home-services-glass.css — S239 Premium Glassmorphic Cards + Modal
   Cards: target IDs Elementor + .mxv-glass-service futura
   Modal: réplica upsell RSVP S238 (RMR-113) para venta home services
   ═══════════════════════════════════════════════════════════════════ */

/* ─── Card base ─── */
.elementor-element-63117e2e,
.elementor-element-3aa808e8,
.elementor-element-2e27b244,
.elementor-element-51d26e68,
.elementor-element-329869ec,
.mxv-glass-service{
  position:relative;
  border:1px solid #EAA121!important;
  border-radius:24px!important;
  box-shadow:0 20px 50px rgba(0,0,0,.45),0 0 30px rgba(234,161,33,.18);
  transition:transform .35s cubic-bezier(.2,.7,.2,1),
             box-shadow .35s cubic-bezier(.2,.7,.2,1),
             border-color .35s cubic-bezier(.2,.7,.2,1);
  overflow:hidden;
  isolation:isolate;
}
.elementor-element-63117e2e::before,
.elementor-element-3aa808e8::before,
.elementor-element-2e27b244::before,
.elementor-element-51d26e68::before,
.elementor-element-329869ec::before,
.mxv-glass-service::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 70% 50% at 50% 0%,rgba(234,161,33,.15),transparent 70%);
  pointer-events:none;z-index:1;border-radius:inherit;
}
.elementor-element-63117e2e::after,
.elementor-element-3aa808e8::after,
.elementor-element-2e27b244::after,
.elementor-element-51d26e68::after,
.elementor-element-329869ec::after,
.mxv-glass-service::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:55%;
  background:linear-gradient(180deg,transparent 0%,rgba(10,10,46,.55) 50%,rgba(10,10,46,.92) 100%);
  pointer-events:none;z-index:1;border-radius:0 0 24px 24px;
}
.elementor-element-63117e2e:hover,
.elementor-element-3aa808e8:hover,
.elementor-element-2e27b244:hover,
.elementor-element-51d26e68:hover,
.elementor-element-329869ec:hover,
.mxv-glass-service:hover{
  transform:translateY(-6px);
  box-shadow:0 32px 80px rgba(0,0,0,.65),0 0 60px rgba(234,161,33,.4);
  border-color:#FFE9B5!important;
}
.elementor-element-63117e2e .elementor-heading-title,
.elementor-element-3aa808e8 .elementor-heading-title,
.elementor-element-2e27b244 .elementor-heading-title,
.elementor-element-51d26e68 .elementor-heading-title,
.elementor-element-329869ec .elementor-heading-title,
.mxv-glass-service .elementor-heading-title{
  position:relative;z-index:2;
  font-family:'Inter',sans-serif!important;font-weight:800!important;
  color:#fff!important;letter-spacing:.3px!important;
  text-shadow:0 2px 12px rgba(0,0,0,.8),0 0 24px rgba(234,161,33,.3);
}

/* ─── Featured (Invitaciones Animadas) ─── */
.elementor-element-63117e2e{
  border-width:2px!important;
  box-shadow:0 32px 80px rgba(0,0,0,.7),0 0 60px rgba(234,161,33,.5)!important;
}
.elementor-element-63117e2e::before{
  background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(234,161,33,.28),transparent 70%),
             linear-gradient(135deg,rgba(234,161,33,.12),transparent 60%);
}

@media(max-width:768px){
  .elementor-element-63117e2e,
  .elementor-element-3aa808e8,
  .elementor-element-2e27b244,
  .elementor-element-51d26e68,
  .elementor-element-329869ec,
  .mxv-glass-service{border-radius:18px!important}
  .elementor-element-63117e2e::after,
  .elementor-element-3aa808e8::after,
  .elementor-element-2e27b244::after,
  .elementor-element-51d26e68::after,
  .elementor-element-329869ec::after,
  .mxv-glass-service::after{border-radius:0 0 18px 18px}
}

/* ═══════════════════════════════════════════════════════════════════
   MODAL DE VENTA — réplica upsell modal RSVP S238 (RMR-113)
   ═══════════════════════════════════════════════════════════════════ */

#mxv-svc-modal{
  position:fixed;inset:0;z-index:99999;
  display:none;align-items:center;justify-content:center;
  padding:20px;
  font-family:'Inter',sans-serif;
}
#mxv-svc-modal.mxv-svc-open{display:flex;animation:mxvSvcFadeIn .25s ease}
@keyframes mxvSvcFadeIn{from{opacity:0}to{opacity:1}}

.mxv-svc-overlay{
  position:absolute;inset:0;
  background:rgba(5,5,20,.85);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  cursor:pointer;
}

.mxv-svc-box{
  position:relative;z-index:1;
  width:100%;max-width:480px;max-height:92vh;overflow-y:auto;
  background:linear-gradient(160deg,#0d1545,#0a0a2e 60%,#1a0a3a);
  border:2px solid #EAA121;
  border-radius:24px;
  box-shadow:0 32px 80px rgba(0,0,0,.7),0 0 60px rgba(234,161,33,.5);
  animation:mxvSvcPop .35s cubic-bezier(.2,.7,.2,1);
}
@keyframes mxvSvcPop{
  from{transform:translateY(20px) scale(.96);opacity:0}
  to{transform:translateY(0) scale(1);opacity:1}
}
.mxv-svc-box::before{
  content:'';position:absolute;inset:-2px;border-radius:inherit;padding:2px;
  background:linear-gradient(135deg,#EAA121,#FFE9B5,#EAA121,#C4880A);
  background-size:300% 300%;
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  animation:mxvShimmer 4s linear infinite;
  pointer-events:none;z-index:0;
}
@keyframes mxvShimmer{0%{background-position:0% 50%}100%{background-position:300% 50%}}

.mxv-svc-close{
  position:absolute;top:12px;right:12px;width:32px;height:32px;
  border-radius:50%;background:rgba(0,0,0,.6);border:1px solid rgba(234,161,33,.4);
  color:#fff;font-size:20px;line-height:1;cursor:pointer;z-index:3;
  display:flex;align-items:center;justify-content:center;
  transition:transform .2s,background .2s;
}
.mxv-svc-close:hover{background:rgba(234,161,33,.3);transform:scale(1.1)}

.mxv-svc-hero{
  position:relative;height:140px;border-radius:22px 22px 0 0;overflow:hidden;
}
.mxv-svc-hero-img{
  position:absolute;inset:0;
  background-color:#1a0a3a;
  background-size:cover;background-position:center;
}
.mxv-svc-hero-glow{
  position:absolute;inset:0;
  background:radial-gradient(ellipse 60% 80% at 50% 50%,rgba(234,161,33,.3),transparent 70%);
  pointer-events:none;
}
.mxv-svc-bf-1,.mxv-svc-bf-2{position:absolute;font-size:18px;animation:butterFly 7s ease-in-out infinite}
.mxv-svc-bf-1{left:15%;top:25%;opacity:.7}
.mxv-svc-bf-2{right:18%;top:55%;opacity:.6;font-size:14px;animation-duration:8s;animation-delay:1s}
@keyframes butterFly{
  0%,100%{transform:translate(0,0) rotate(0)}
  25%{transform:translate(20px,-15px) rotate(15deg)}
  50%{transform:translate(40px,10px) rotate(-10deg)}
  75%{transform:translate(15px,25px) rotate(8deg)}
}

.mxv-svc-body{padding:18px 24px 22px;text-align:center;position:relative;z-index:1}
.mxv-svc-vip-badge{
  display:inline-block;font-size:9px;letter-spacing:3px;
  color:#EAA121;font-weight:700;font-family:'Montserrat',sans-serif;
  margin-bottom:8px;
}
.mxv-svc-title{
  font-size:24px;font-weight:800;color:#fff;
  margin:0 0 6px;letter-spacing:.3px;
  font-family:'Inter',sans-serif;
}
.mxv-svc-sub{
  font-size:13px;color:#9896A8;
  font-family:'Montserrat',sans-serif;line-height:1.5;
  margin:0 0 16px;
}
.mxv-svc-benefits{
  list-style:none;padding:0;margin:0 0 18px;
  display:flex;flex-direction:column;gap:8px;text-align:left;
}
.mxv-svc-benefit{
  font-size:12.5px;color:#E8E6F0;
  font-family:'Montserrat',sans-serif;line-height:1.5;
  padding-left:4px;
}
.mxv-svc-pricing{
  margin-bottom:16px;padding:14px;
  background:linear-gradient(145deg,#0a0a1e,#1a0a3a);
  border:1px solid rgba(234,161,33,.3);
  border-radius:14px;
}
.mxv-svc-price-row{
  display:flex;align-items:baseline;justify-content:center;gap:12px;margin-bottom:4px;
}
.mxv-svc-price-was{
  font-size:16px;color:#6B6980;text-decoration:line-through;font-weight:600;
}
.mxv-svc-price-was:empty{display:none}
.mxv-svc-price-now{
  font-size:34px;font-weight:800;
  background:linear-gradient(180deg,#FFE9B5,#EAA121,#C4880A);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  font-family:'Inter',sans-serif;
}
.mxv-svc-price-note{
  font-size:10.5px;color:#9896A8;
  font-family:'Montserrat',sans-serif;letter-spacing:.3px;
}
.mxv-svc-cta{
  display:block;width:100%;padding:14px 20px;
  border-radius:14px;border:none;
  background:linear-gradient(135deg,#EAA121,#FFE9B5,#C4880A);
  color:#0a0a2e;font-family:'Montserrat',sans-serif;
  font-size:13px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;
  text-decoration:none;text-align:center;cursor:pointer;
  box-shadow:0 8px 24px rgba(234,161,33,.45),inset 0 1px 0 rgba(255,255,255,.3);
  transition:transform .2s,box-shadow .2s;
}
.mxv-svc-cta:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 32px rgba(234,161,33,.6),inset 0 1px 0 rgba(255,255,255,.4);
}
.mxv-svc-cta:active{transform:scale(.97)}
.mxv-svc-secondary{
  display:inline-block;margin-top:14px;
  color:#9896A8;font-size:11px;
  font-family:'Montserrat',sans-serif;
  text-decoration:none;border-bottom:1px dashed transparent;
  transition:color .2s;
}
.mxv-svc-secondary:hover{color:#EAA121;border-bottom-color:#EAA121}

@media(max-width:600px){
  .mxv-svc-box{max-width:96%}
  .mxv-svc-hero{height:110px}
  .mxv-svc-title{font-size:20px}
  .mxv-svc-price-now{font-size:28px}
  .mxv-svc-body{padding:14px 18px 18px}
}
