/*
Theme Name: MajoApp Landing
Theme URI: https://majoapp.com
Author: Majo Publicidad
Author URI: https://majoapp.com
Description: Tema de WordPress para la landing page de MAJOAPP — plataforma todo en uno para restaurantes (menú digital, WhatsApp, reservas, marketplace y estadísticas). Textos, precios, WhatsApp y redes editables desde Personalizar (Apariencia → Personalizar).
Version: 1.1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: majoapp
*/

/* ============================================================
   MAJOAPP LANDING — hoja de estilos
   Para editar TEXTOS (títulos, precios, WhatsApp, redes):
   Apariencia → Personalizar, en el panel de WordPress.
   Para editar colores/tipografías: modifica las variables :root.
   Para editar bloques que no están en el Personalizador
   (tarjetas de beneficios, módulos, marketplace, FAQ):
   edita directamente front-page.php
   ============================================================ */
:root{
  --bg-0:#070d18;
  --bg-1:#0b1526;
  --bg-2:#101d34;
  --card:#0f1c30;
  --card-border:rgba(255,255,255,.07);
  --line:rgba(255,255,255,.08);
  --text:#eaf0fa;
  --muted:#93a1b8;
  --muted-2:#66748c;

  --blue:#3ea0ff;
  --blue-deep:#1f6fe0;
  --orange:#ff7a1a;
  --green:#38d67a;
  --violet:#7c6bff;

  --grad-logo: conic-gradient(from 210deg, var(--blue) 0deg, var(--green) 100deg, var(--orange) 200deg, var(--violet) 300deg, var(--blue) 360deg);

  --font-display:'Sora', 'Inter', sans-serif;
  --font-body:'Inter', sans-serif;

  --radius-lg:22px;
  --radius-md:16px;
  --radius-sm:10px;
  --shadow-soft: 0 20px 60px -20px rgba(0,0,0,.55);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg-0);
  color:var(--text);
  font-family:var(--font-body);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{font-family:var(--font-display); margin:0; letter-spacing:-.02em;}
p{margin:0;}
button{font-family:inherit;}
ul{margin:0;}

.wrap{max-width:1180px; margin:0 auto; padding:0 28px;}

/* -------- fondo ambiental -------- */
.bg-fx{position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden;}
.bg-fx::before{
  content:'';
  position:absolute; top:-20%; left:-10%; width:60vw; height:60vw;
  background:radial-gradient(circle, rgba(62,160,255,.16), transparent 65%);
  filter:blur(10px);
}
.bg-fx::after{
  content:'';
  position:absolute; bottom:-25%; right:-10%; width:55vw; height:55vw;
  background:radial-gradient(circle, rgba(255,122,26,.13), transparent 65%);
}
.grain{position:fixed; inset:0; z-index:1; pointer-events:none; opacity:.035; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ================= NAV ================= */
header.nav{
  position:sticky; top:0; z-index:50;
  background:rgba(7,13,24,.72);
  backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid var(--line);
  transition:box-shadow .3s ease;
}
header.nav.scrolled{box-shadow:0 10px 30px -18px rgba(0,0,0,.7);}
.nav-inner{display:flex; align-items:center; justify-content:space-between; padding:14px 28px; max-width:1180px; margin:0 auto;}
.logo{display:flex; align-items:center; gap:10px; font-family:var(--font-display); font-weight:800; font-size:20px;}
.logo .dot{
  width:30px; height:30px; border-radius:50%;
  background:var(--grad-logo);
  animation:spin 9s linear infinite;
  box-shadow:0 0 18px rgba(62,160,255,.35);
  flex:none;
}
@keyframes spin{to{transform:rotate(360deg);}}
.logo .sub{font-size:9px; letter-spacing:.32em; color:var(--muted); font-weight:600; display:block; margin-top:-4px;}
.logo-text{display:flex; flex-direction:column; line-height:1;}
.logo-text b{background:linear-gradient(90deg,#fff,#bcd4ff); -webkit-background-clip:text; background-clip:text; color:transparent;}

nav.links{display:flex; gap:30px; font-size:14.5px; color:var(--muted);}
nav.links ul{list-style:none; display:flex; gap:30px; padding:0; margin:0;}
nav.links a{position:relative; padding:6px 0; transition:color .2s; display:inline-block;}
nav.links a::after{content:'';position:absolute; left:0; bottom:0; width:0; height:2px; background:linear-gradient(90deg,var(--blue),var(--green)); transition:width .25s ease;}
nav.links a:hover{color:var(--text);}
nav.links a:hover::after{width:100%;}

.btn{
  display:inline-flex; align-items:center; gap:8px; justify-content:center;
  padding:12px 22px; border-radius:999px; font-weight:600; font-size:14.5px;
  cursor:pointer; border:1px solid transparent; white-space:nowrap;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease;
}
.btn:active{transform:scale(.97);}
.btn-primary{background:linear-gradient(135deg,var(--blue),var(--blue-deep)); color:#fff; box-shadow:0 10px 26px -10px rgba(62,160,255,.6);}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 16px 34px -10px rgba(62,160,255,.75); color:#fff;}
.btn-outline{background:transparent; border-color:rgba(255,255,255,.18); color:var(--text);}
.btn-outline:hover{border-color:var(--green); color:var(--green); transform:translateY(-2px);}
.btn-whatsapp{background:linear-gradient(135deg,#22c55e,#15803d); color:#fff; box-shadow:0 10px 26px -10px rgba(34,197,94,.6);}
.btn-whatsapp:hover{transform:translateY(-2px); color:#fff;}
.btn-block{width:100%;}
.btn-sm{padding:9px 16px; font-size:13px;}

.nav-cta{display:flex; align-items:center; gap:14px;}
.burger{display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; padding:6px;}
.burger span{width:22px; height:2px; background:var(--text); border-radius:2px;}

/* ================= HERO ================= */
.hero{
  position:relative; z-index:2;
  padding:84px 0 60px;
  display:grid; grid-template-columns:1fr 1.05fr; gap:40px; align-items:center;
}
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:12.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--green); background:rgba(56,214,122,.1); border:1px solid rgba(56,214,122,.25);
  padding:6px 14px; border-radius:999px; margin-bottom:22px;
}
.eyebrow .pulse{width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 0 0 rgba(56,214,122,.6); animation:pulse 1.8s infinite;}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(56,214,122,.55);}
  70%{box-shadow:0 0 0 9px rgba(56,214,122,0);}
  100%{box-shadow:0 0 0 0 rgba(56,214,122,0);}
}

.hero h1{
  font-size:clamp(34px,4.6vw,54px); font-weight:800; line-height:1.07; margin-bottom:20px;
}
.hero h1 .l2{color:var(--blue);}
.hero h1 .l3{color:var(--orange);}
.hero h1 .l4{color:var(--green);}

.hero p.lead{color:var(--muted); font-size:17px; line-height:1.65; max-width:490px; margin-bottom:30px;}
.hero-cta{display:flex; gap:14px; margin-bottom:40px; flex-wrap:wrap;}

.hero-stats{display:flex; gap:10px; flex-wrap:wrap;}
.hstat{display:flex; align-items:center; gap:10px; padding:10px 6px; min-width:120px;}
.hstat .ic{
  width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.04); border:1px solid var(--line); flex:none;
}
.hstat .ic svg{width:20px; height:20px;}
.hstat b{display:block; font-size:13.5px; font-weight:600;}
.hstat span{font-size:12px; color:var(--muted-2);}

/* --- mockup visual --- */
.hero-visual{position:relative; height:520px; display:flex; align-items:center; justify-content:center;}
.floaty{position:absolute; border-radius:16px; background:var(--card); border:1px solid var(--card-border); box-shadow:var(--shadow-soft); padding:12px 14px; display:flex; align-items:center; gap:10px; font-size:13px; font-weight:600; z-index:5; animation:float 5s ease-in-out infinite;}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}

.laptop{
  position:relative; width:400px; border-radius:18px 18px 4px 4px; background:linear-gradient(160deg,#0d1830,#0a1220);
  border:1px solid var(--card-border); box-shadow:var(--shadow-soft); padding:14px; z-index:2;
  animation:driftA 7s ease-in-out infinite;
}
@keyframes driftA{0%,100%{transform:translateY(0) rotate(0deg);}50%{transform:translateY(-8px) rotate(-.4deg);}}
.laptop .screen{background:var(--bg-1); border-radius:10px; overflow:hidden; border:1px solid var(--line);}
.laptop .topbar{display:flex; align-items:center; gap:6px; padding:9px 12px; background:var(--bg-2); font-size:11px; color:var(--muted);}
.laptop .topbar .dotrow{display:flex; gap:5px;}
.laptop .topbar .dotrow span{width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.15);}
.laptop .content{padding:16px;}
.laptop .shopname{display:flex; align-items:center; gap:8px; margin-bottom:12px;}
.laptop .shopname .logo-mini{width:28px; height:28px; border-radius:8px; background:linear-gradient(135deg,var(--orange),#d94f00); display:flex; align-items:center; justify-content:center; font-size:14px;}
.laptop .shopname b{font-size:13.5px;}
.laptop .shopname small{display:block; color:var(--muted-2); font-size:10.5px;}
.laptop .banner{height:120px; border-radius:10px; background:
  linear-gradient(0deg, rgba(7,13,24,.75), rgba(7,13,24,.15)),
  repeating-linear-gradient(135deg, #1a2740 0 18px, #16223a 18px 36px);
  margin-bottom:12px; position:relative; overflow:hidden;
}
.laptop .banner .tag{position:absolute; top:8px; left:8px; background:#e0393f; color:#fff; font-size:9px; font-weight:700; padding:3px 8px; border-radius:5px;}
.laptop .banner .cap{position:absolute; bottom:10px; left:12px; font-size:14px; font-weight:700; max-width:200px;}
.laptop .row-line{display:flex; align-items:center; justify-content:space-between; font-size:11px; color:var(--muted); padding:6px 0; border-top:1px solid var(--line);}

.phone{
  position:relative; width:180px; height:370px; border-radius:30px; background:#050a14;
  border:6px solid #0d1626; box-shadow:var(--shadow-soft); overflow:hidden; z-index:4;
  margin-left:-70px; margin-top:120px;
  animation:driftB 6s ease-in-out infinite;
}
@keyframes driftB{0%,100%{transform:translateY(0);}50%{transform:translateY(-14px);}}
.phone .notch{position:absolute; top:6px; left:50%; transform:translateX(-50%); width:56px; height:14px; background:#050a14; border-radius:10px; z-index:3;}
.phone .pscreen{background:var(--bg-1); height:100%; padding-top:20px; font-size:10px;}
.phone .ptop{display:flex; align-items:center; gap:6px; padding:6px 10px 8px;}
.phone .ptop .logo-mini{width:20px; height:20px; border-radius:6px; background:linear-gradient(135deg,var(--orange),#d94f00);}
.phone .ptop b{font-size:10px;}
.phone .chips{display:flex; gap:5px; padding:0 10px 8px; overflow:hidden;}
.phone .chips span{background:rgba(255,255,255,.05); border:1px solid var(--line); padding:4px 8px; border-radius:999px; font-size:8px; color:var(--muted); white-space:nowrap;}
.phone .chips span.on{background:var(--orange); color:#fff; border-color:transparent;}
.phone .grid2{display:grid; grid-template-columns:1fr 1fr; gap:6px; padding:0 10px;}
.phone .card{background:var(--card); border:1px solid var(--card-border); border-radius:10px; overflow:hidden;}
.phone .card .ph{height:44px; background:repeating-linear-gradient(135deg,#1c2b48 0 8px,#182541 8px 16px);}
.phone .card .pd{padding:6px;}
.phone .card b{font-size:8px; display:block; margin-bottom:2px;}
.phone .card .price{font-size:8px; color:var(--green); font-weight:700;}

.wa-bubble{
  position:absolute; right:-6px; bottom:78px; z-index:6;
  background:#1fa855; color:#fff; width:40px; height:40px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; box-shadow:0 10px 22px -6px rgba(31,168,85,.7);
  animation:float 3.4s ease-in-out infinite;
}
.wa-bubble svg{width:20px;height:20px;}

.chip-order{top:12%; left:-4%;}
.chip-review{bottom:6%; left:2%;}
.chip-review .stars{color:#ffb020; font-size:12px; letter-spacing:1px;}

/* ================= SECTION BASICS ================= */
section{position:relative; z-index:2; padding:88px 0;}
.section-head{text-align:center; max-width:640px; margin:0 auto 48px;}
.section-tag{font-size:12.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--blue); margin-bottom:10px;}
.section-head h2{font-size:clamp(26px,3.4vw,38px); font-weight:800; margin-bottom:12px;}
.section-head p{color:var(--muted); font-size:16px; line-height:1.6;}

.reveal{opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1; transform:translateY(0);}
.reveal-stagger > *{opacity:0; transform:translateY(24px); transition:opacity .6s ease, transform .6s ease;}
.reveal-stagger.in > *{opacity:1; transform:translateY(0);}

/* ================= FEATURES ================= */
.feat-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.feat-card{
  background:var(--card); border:1px solid var(--card-border); border-radius:var(--radius-md);
  padding:26px 24px; transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.feat-card:hover{transform:translateY(-6px); border-color:rgba(255,255,255,.18); box-shadow:var(--shadow-soft);}
.feat-icon{
  width:48px; height:48px; border-radius:14px; display:flex; align-items:center; justify-content:center; margin-bottom:16px;
}
.feat-icon svg{width:24px; height:24px;}
.feat-icon.blue{background:rgba(62,160,255,.14); color:var(--blue);}
.feat-icon.green{background:rgba(56,214,122,.14); color:var(--green);}
.feat-icon.orange{background:rgba(255,122,26,.14); color:var(--orange);}
.feat-icon.violet{background:rgba(124,107,255,.14); color:var(--violet);}
.feat-card h3{font-size:17px; margin-bottom:8px; font-weight:700;}
.feat-card p{color:var(--muted); font-size:14.5px; line-height:1.55;}

/* ================= STEPS ================= */
.steps-section{background:linear-gradient(180deg, var(--bg-1), var(--bg-0)); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.steps{display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative;}
.steps::before{
  content:''; position:absolute; top:26px; left:12.5%; right:12.5%; height:2px;
  background:repeating-linear-gradient(90deg, rgba(255,255,255,.18) 0 8px, transparent 8px 16px);
}
.step{text-align:center; padding:0 14px; position:relative;}
.step-num{
  width:52px; height:52px; border-radius:50%; margin:0 auto 18px; position:relative; z-index:2;
  display:flex; align-items:center; justify-content:center; font-weight:800; font-size:18px;
  background:var(--bg-0); border:2px solid var(--blue); color:var(--blue);
  transition:background .3s, color .3s, transform .3s;
}
.step:hover .step-num{background:var(--blue); color:#fff; transform:scale(1.08);}
.step h4{font-size:15.5px; margin-bottom:8px;}
.step p{color:var(--muted); font-size:13.5px; line-height:1.5;}

/* ================= MODULES (scroll strip) ================= */
.modules-scroll{display:flex; gap:16px; overflow-x:auto; padding:8px 4px 20px; scroll-snap-type:x proximity;}
.modules-scroll::-webkit-scrollbar{height:6px;}
.modules-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15); border-radius:10px;}
.mod-card{
  flex:0 0 220px; scroll-snap-align:start; background:var(--card); border:1px solid var(--card-border);
  border-radius:var(--radius-md); overflow:hidden; transition:transform .3s, border-color .3s;
}
.mod-card:hover{transform:translateY(-6px); border-color:rgba(62,160,255,.4);}
.mod-thumb{height:120px; background:repeating-linear-gradient(135deg,#152238 0 14px,#101b2e 14px 28px); position:relative;}
.mod-thumb .mtag{position:absolute; top:8px; left:8px; font-size:10px; font-weight:700; color:var(--blue); background:rgba(62,160,255,.15); padding:3px 8px; border-radius:6px;}
.mod-body{padding:14px 16px 18px;}
.mod-body b{font-size:14px; display:block; margin-bottom:6px;}
.mod-body p{font-size:12.5px; color:var(--muted); line-height:1.5;}

/* ================= PRICING ================= */
.pricing-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:stretch;}
.plan{
  background:var(--card); border:1px solid var(--card-border); border-radius:var(--radius-lg);
  padding:32px 28px; display:flex; flex-direction:column; position:relative; transition:transform .35s ease, box-shadow .35s ease;
}
.plan:hover{transform:translateY(-8px);}
.plan.featured{
  border:1px solid rgba(255,122,26,.5);
  background:linear-gradient(180deg, rgba(255,122,26,.08), var(--card) 40%);
  box-shadow:0 25px 60px -22px rgba(255,122,26,.35);
}
.plan-badge{position:absolute; top:-13px; left:50%; transform:translateX(-50%); background:linear-gradient(90deg,var(--orange),#ff9a4d); color:#fff; font-size:11px; font-weight:800; padding:6px 16px; border-radius:999px; letter-spacing:.04em; white-space:nowrap;}
.plan-name{font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin-bottom:6px;}
.plan-desc{font-size:13.5px; color:var(--muted-2); margin-bottom:20px; min-height:34px;}
.plan-price{display:flex; align-items:baseline; gap:6px; margin-bottom:24px;}
.plan-price .amt{font-size:34px; font-weight:800; font-family:var(--font-display);}
.plan-price .cur{font-size:14px; color:var(--muted);}
.plan-list{list-style:none; padding:0; margin:0 0 26px; display:flex; flex-direction:column; gap:12px;}
.plan-list li{display:flex; align-items:flex-start; gap:10px; font-size:14px; color:var(--text);}
.plan-list li svg{width:16px; height:16px; flex:none; margin-top:2px; color:var(--green);}
.plan.featured .plan-list li svg{color:var(--orange);}
.plan-cta{margin-top:auto;}
.plan-cta .btn-featured{background:linear-gradient(135deg,var(--orange),#d94f00); box-shadow:0 10px 26px -10px rgba(255,122,26,.6); color:#fff;}

/* ================= MARKETPLACE ================= */
.marketplace{display:grid; grid-template-columns:.85fr 1.15fr; gap:44px; align-items:center;}
.mk-copy .section-tag{margin-bottom:8px;}
.mk-copy h2{font-size:clamp(24px,3vw,32px); margin-bottom:14px; font-weight:800;}
.mk-copy p{color:var(--muted); font-size:15.5px; line-height:1.6; margin-bottom:20px;}
.mk-list{list-style:none; padding:0; margin:0 0 26px; display:flex; flex-direction:column; gap:12px;}
.mk-list li{display:flex; gap:10px; font-size:14.5px; align-items:flex-start;}
.mk-list li svg{width:17px; height:17px; color:var(--green); flex:none; margin-top:2px;}

.mk-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.mk-card{
  background:var(--card); border:1px solid var(--card-border); border-radius:var(--radius-md); overflow:hidden;
  transition:transform .3s ease, border-color .3s;
}
.mk-card:hover{transform:translateY(-6px); border-color:rgba(56,214,122,.4);}
.mk-thumb{height:96px; display:flex; align-items:center; justify-content:center; font-size:26px;
  background:repeating-linear-gradient(135deg,#152238 0 14px,#101b2e 14px 28px);}
.mk-body{padding:14px 16px 18px;}
.mk-body b{font-size:14.5px; display:block; margin-bottom:4px;}
.mk-body span{font-size:12px; color:var(--muted-2); display:block; margin-bottom:10px; line-height:1.4;}
.mk-body a{font-size:12.5px; font-weight:700; color:var(--green);}

/* ================= FAQ ================= */
.faq-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px 28px;}
.faq-item{border-bottom:1px solid var(--line); padding:18px 2px; cursor:pointer;}
.faq-q{display:flex; align-items:center; justify-content:space-between; gap:14px; font-weight:600; font-size:15px;}
.faq-q svg{width:16px; height:16px; flex:none; transition:transform .3s ease; color:var(--muted);}
.faq-item.open .faq-q svg{transform:rotate(45deg); color:var(--orange);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .35s ease, opacity .3s ease, margin-top .3s ease; opacity:0; font-size:14px; color:var(--muted); line-height:1.6;}
.faq-item.open .faq-a{max-height:200px; opacity:1; margin-top:12px;}

/* ================= CTA BANNER ================= */
.cta-banner{
  border-radius:24px; padding:48px 46px; position:relative; overflow:hidden;
  background:linear-gradient(120deg,#0e2a52,#122154 45%,#1a1440);
  display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap;
  border:1px solid rgba(255,255,255,.08);
}
.cta-banner::before{
  content:''; position:absolute; inset:0; opacity:.5;
  background:radial-gradient(circle at 85% 20%, rgba(255,122,26,.28), transparent 55%), radial-gradient(circle at 10% 90%, rgba(56,214,122,.22), transparent 55%);
}
.cta-banner h2{font-size:clamp(22px,2.8vw,30px); font-weight:800; max-width:480px; position:relative; z-index:2;}
.cta-actions{display:flex; gap:14px; position:relative; z-index:2; flex-wrap:wrap;}

/* ================= FOOTER ================= */
footer{border-top:1px solid var(--line); padding:56px 0 26px; position:relative; z-index:2;}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:30px; margin-bottom:40px;}
.foot-brand p{color:var(--muted); font-size:13.5px; line-height:1.6; margin-top:14px; max-width:260px;}
.foot-col h5{font-size:13px; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); margin-bottom:16px;}
.foot-col a, .foot-col span{display:block; font-size:14px; color:var(--text); margin-bottom:10px; opacity:.85;}
.foot-col a:hover{color:var(--blue); opacity:1;}
.foot-social{display:flex; gap:10px; margin-top:14px;}
.foot-social a{width:34px; height:34px; border-radius:10px; background:rgba(255,255,255,.05); border:1px solid var(--line); display:flex; align-items:center; justify-content:center;}
.foot-social a:hover{background:rgba(62,160,255,.15); border-color:var(--blue);}
.foot-social svg{width:16px; height:16px;}
.foot-bottom{border-top:1px solid var(--line); padding-top:22px; display:flex; justify-content:space-between; font-size:12.5px; color:var(--muted-2); flex-wrap:wrap; gap:10px;}

/* ================= Imágenes editables (Personalizador) ================= */
.laptop .banner{position:relative;}
.laptop .banner img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;}
.laptop .banner .tag, .laptop .banner .cap{position:relative; z-index:1;}
.phone .card .ph{position:relative; overflow:hidden;}
.phone .card .ph img{width:100%; height:100%; object-fit:cover; display:block;}
.mod-thumb{position:relative; overflow:hidden;}
.mod-thumb img{width:100%; height:100%; object-fit:cover; display:block; position:absolute; inset:0; z-index:0;}
.mod-thumb .mtag{position:relative; z-index:1;}
.mk-thumb img{width:100%; height:100%; object-fit:cover; display:block;}

/* ================= WP defaults / editor helpers ================= */
.screen-reader-text{position:absolute; left:-9999px;}
.alignwide{max-width:1180px; margin-left:auto; margin-right:auto;}

/* ================= Compatibilidad visual con ELEMENTOR ================= */
/* Si construyes una página con Elementor, hereda automáticamente estos
   estilos globales del tema (fondo oscuro, tipografías, botones). */
.elementor-widget-heading .elementor-heading-title{font-family:var(--font-display);}
.elementor-button{
  border-radius:999px !important;
  font-weight:600 !important;
}
.elementor-section{position:relative; z-index:2;}

/* ================= RESPONSIVE ================= */
@media (max-width:980px){
  nav.links{display:none;}
  .burger{display:flex;}
  .hero{grid-template-columns:1fr; padding-top:40px;}
  .hero-visual{height:420px; margin-top:20px;}
  .feat-grid{grid-template-columns:repeat(2,1fr);}
  .steps{grid-template-columns:repeat(2,1fr); row-gap:36px;}
  .steps::before{display:none;}
  .pricing-grid{grid-template-columns:1fr;}
  .marketplace{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .faq-grid{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .feat-grid{grid-template-columns:1fr;}
  .steps{grid-template-columns:1fr;}
  .hero-cta{flex-direction:column; align-items:stretch;}
  .hero-cta .btn{width:100%;}
  .foot-grid{grid-template-columns:1fr;}
  .cta-banner{padding:34px 24px;}
  .laptop{width:300px;}
  .phone{margin-left:-40px; width:150px; height:310px;}
}

@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important;}
}
