/* Cartas-QR — estilos de las páginas de presentación (inicio, restaurantes, catálogos). */
:root{
  --ink:#141920; --ink-2:#1c242c; --ink-3:#2a343f; --soft:#5b6472; --faint:#8b93a1;
  --bg:#ffffff; --bg-2:#f5f6f8; --line:#e5e8ee;
  --brand:#fe6c0d; --brand-deep:#c8500a; --brand-soft:#fff1e7;
  --ok:#16a34a; --radius:20px;
  --shadow:0 24px 60px -28px rgba(20,25,32,.35);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; background:var(--bg); color:var(--ink); font-family:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:"Lexend",system-ui,sans-serif; line-height:1.15; margin:0; letter-spacing:-.01em;}
p{margin:0;}
a{color:inherit;}
img{max-width:100%; display:block;}
.wrap{width:min(1160px, 100% - 32px); margin-inline:auto;}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:0 22px; border-radius:14px; font-weight:700; text-decoration:none; border:1.5px solid transparent; cursor:pointer; font:inherit; font-weight:700; transition:transform .12s ease, background .15s ease, box-shadow .15s ease;}
.btn:active{transform:scale(.98);}
.btn-primary{background:var(--brand); color:#fff; box-shadow:0 14px 30px -14px rgba(254,108,13,.8);}
.btn-primary:hover{background:var(--brand-deep);}
.btn-ghost{background:#fff; color:var(--ink); border-color:var(--line);}
.btn-ghost:hover{border-color:var(--ink);}
.btn-dark{background:var(--ink-2); color:#fff;}
.btn svg{width:20px; height:20px; flex:none;}
.eyebrow{display:inline-flex; align-items:center; gap:8px; font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--brand-deep); background:var(--brand-soft); padding:6px 12px; border-radius:999px;}
:focus-visible{outline:3px solid var(--brand); outline-offset:3px;}

/* ---- Encabezado ---- */
.top{position:sticky; top:0; z-index:50; background:rgba(255,255,255,.88); backdrop-filter:saturate(1.6) blur(12px); border-bottom:1px solid transparent; transition:border-color .2s;}
.top.is-scrolled{border-color:var(--line);}
.top .wrap{display:flex; align-items:center; justify-content:space-between; gap:16px; height:68px;}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none; font-family:"Lexend",sans-serif; font-weight:700; font-size:1.15rem; white-space:nowrap;}
.btn{white-space:nowrap;}
.brand img{width:34px; height:34px; object-fit:contain;}
.brand span b{color:var(--brand);}
.nav{display:flex; align-items:center; gap:26px; font-weight:600; font-size:.94rem;}
.nav a{text-decoration:none; color:var(--soft);}
.nav a:hover{color:var(--ink);}
.top-actions{display:flex; gap:10px; align-items:center;}
.top-actions .btn{min-height:42px; padding:0 16px; font-size:.92rem;}
.menu-btn{display:none; width:42px; height:42px; border-radius:12px; border:1px solid var(--line); background:#fff; font-size:1.2rem; cursor:pointer;}
@media (max-width:920px){
  .nav{display:none; position:absolute; top:68px; left:0; right:0; flex-direction:column; align-items:stretch; gap:0; background:#fff; border-bottom:1px solid var(--line); padding:8px 16px 16px;}
  .nav.is-open{display:flex;}
  .nav a{padding:12px 4px; border-bottom:1px solid var(--line);}
  .menu-btn{display:grid; place-items:center;}
  .top-actions .btn-ghost{display:none;}
}

/* ---- Hero ---- */
.hero{position:relative; overflow:hidden; padding:64px 0 84px; background:radial-gradient(900px 480px at 85% 10%, #fff1e7 0%, rgba(255,241,231,0) 70%), radial-gradient(700px 400px at 0% 100%, #eef2f7 0%, rgba(238,242,247,0) 70%);}
.hero .wrap{display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center;}
.hero h1{font-size:clamp(2.1rem, 4.6vw, 3.5rem); margin:18px 0 18px;}
.hero h1 em{font-style:normal; color:var(--brand);}
.hero .lead{font-size:1.12rem; color:var(--soft); max-width:560px;}
.hero-ctas{display:flex; flex-wrap:wrap; gap:12px; margin-top:28px;}
.hero-points{display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:28px; font-size:.92rem; color:var(--soft); font-weight:600;}
.hero-points span{display:inline-flex; align-items:center; gap:8px;}
.hero-points svg{width:18px; height:18px; color:var(--ok);}
@media (max-width:920px){ .hero .wrap{grid-template-columns:1fr;} .hero{padding:40px 0 56px;} }

/* Teléfono de muestra */
.phone{position:relative; width:min(330px, 100%); margin-inline:auto; aspect-ratio:9/18.5; border-radius:44px; background:#0e1116; padding:12px; box-shadow:0 40px 80px -30px rgba(20,25,32,.55), inset 0 0 0 2px #2b3440;}
.phone::before{content:""; position:absolute; top:20px; left:50%; transform:translateX(-50%); width:90px; height:22px; border-radius:999px; background:#0e1116; z-index:3;}
.screen{height:100%; border-radius:34px; overflow:hidden; background:#14171d; color:#f3f4f6; display:flex; flex-direction:column;}
.screen > *{flex-shrink:0;}
.s-head{display:flex; align-items:center; gap:10px; padding:44px 14px 10px;}
.s-logo{width:36px; height:36px; border-radius:12px; background:linear-gradient(135deg,#ff8a3d,#fe6c0d); display:grid; place-items:center; font-size:1.1rem;}
.s-head b{display:block; font-family:"Lexend",sans-serif; font-size:.9rem;}
.s-head small{font-size:.66rem; color:#34d399; font-weight:700;}
.s-ico{margin-left:auto; display:flex; gap:6px;}
.s-ico i{width:28px; height:28px; border-radius:9px; background:#232833; display:block;}
.s-ico i:last-child{background:var(--brand);}
.s-chips{display:flex; gap:6px; padding:4px 14px 10px; overflow:hidden;}
.s-chips span{flex:none; font-size:.66rem; font-weight:700; padding:6px 10px; border-radius:999px; background:#232833; color:#cbd2dc;}
.s-chips span:first-child{background:var(--brand); color:#fff;}
.s-banner{margin:0 14px; padding:14px; border-radius:16px; background:linear-gradient(135deg,#fe6c0d,#c8500a); font-family:"Lexend",sans-serif; font-weight:700; font-size:.92rem; line-height:1.25;}
.s-banner small{display:block; font-family:"Public Sans",sans-serif; font-weight:600; font-size:.66rem; opacity:.9; margin-top:4px;}
.s-grid{display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:12px 14px;}
.s-card{border-radius:14px; background:#1d2129; overflow:hidden;}
.s-card .art{aspect-ratio:4/3; display:grid; place-items:center; font-size:2.1rem; background:linear-gradient(155deg,#2a303c,#1f242d); position:relative;}
.s-card .art i{position:absolute; right:6px; bottom:6px; width:22px; height:22px; border-radius:7px; background:var(--brand); color:#fff; font-style:normal; font-size:.9rem; font-weight:800; display:grid; place-items:center;}
.s-card div{padding:7px 9px 9px;}
.s-card b{display:block; font-size:.68rem;}
.s-card em{font-style:normal; font-size:.68rem; color:#ff9a57; font-weight:800;}
.s-bar{margin:auto 14px 14px; padding:12px 14px; border-radius:16px; background:var(--brand); display:flex; justify-content:space-between; font-size:.74rem; font-weight:800;}
.floating{position:absolute; z-index:4; background:#fff; color:var(--ink); border-radius:16px; box-shadow:var(--shadow); padding:12px 14px; font-size:.8rem; font-weight:600; display:flex; gap:10px; align-items:center;}
.floating b{display:block; font-family:"Lexend",sans-serif; font-size:.9rem;}
.floating .dot{width:34px; height:34px; border-radius:11px; display:grid; place-items:center; font-size:1.1rem; flex:none;}
.f1{left:-8%; top:46%;} .f1 .dot{background:#dcfce7;}
.f2{right:-8%; bottom:14%;} .f2 .dot{background:var(--brand-soft);}
.hero-visual{position:relative;}
@media (max-width:520px){ .f1{left:0;} .f2{right:0;} }
@media (max-width:420px){
  .brand{font-size:.98rem; gap:8px;} .brand img{width:28px; height:28px;}
  .top-actions .btn-primary{padding:0 12px; font-size:.84rem;}
  .hero-ctas .btn{width:100%;}
}

/* ---- Barra de confianza ---- */
.trust{border-block:1px solid var(--line); background:var(--bg-2);}
.trust .wrap{display:flex; flex-wrap:wrap; justify-content:center; gap:14px 40px; padding:20px 0; font-weight:700; color:var(--soft); font-size:.92rem;}
.trust span{display:inline-flex; align-items:center; gap:8px;}

/* ---- Secciones ---- */
section{scroll-margin-top:76px;}
.sec{padding:88px 0;}
.sec-head{max-width:720px; margin:0 auto 48px; text-align:center;}
.sec-head h2{font-size:clamp(1.7rem, 3.4vw, 2.5rem); margin-top:14px;}
.sec-head p{color:var(--soft); margin-top:14px; font-size:1.05rem;}

/* Para quién */
.split{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
@media (max-width:860px){ .split{grid-template-columns:1fr;} }
.aud{border-radius:var(--radius); padding:34px; border:1px solid var(--line); background:#fff; display:flex; flex-direction:column; gap:16px;}
.aud.is-dark{background:var(--ink-2); color:#fff; border-color:var(--ink-2);}
.aud-icon{width:56px; height:56px; border-radius:16px; display:grid; place-items:center; font-size:1.7rem; background:var(--brand-soft);}
.aud.is-dark .aud-icon{background:rgba(255,255,255,.08);}
.aud h3{font-size:1.5rem;}
.aud p{color:var(--soft);}
.aud.is-dark p{color:#c3cad4;}
.aud ul{list-style:none; padding:0; margin:4px 0 0; display:grid; gap:10px;}
.aud li{display:flex; gap:10px; align-items:flex-start; font-weight:600; font-size:.95rem;}
.aud li::before{content:""; flex:none; width:20px; height:20px; margin-top:2px; border-radius:6px; background:var(--brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center/13px no-repeat;}

/* Funciones */
.features{display:grid; grid-template-columns:repeat(3, 1fr); gap:18px;}
@media (max-width:960px){ .features{grid-template-columns:1fr 1fr;} }
@media (max-width:600px){ .features{grid-template-columns:1fr;} }
.feat{padding:26px; border-radius:var(--radius); border:1px solid var(--line); background:#fff; transition:transform .18s ease, box-shadow .18s ease, border-color .18s;}
.feat:hover{transform:translateY(-3px); box-shadow:var(--shadow); border-color:transparent;}
.feat-ico{width:46px; height:46px; border-radius:14px; display:grid; place-items:center; background:var(--brand-soft); color:var(--brand-deep); margin-bottom:16px;}
.feat-ico svg{width:24px; height:24px;}
.feat h3{font-size:1.08rem;}
.feat p{color:var(--soft); font-size:.93rem; margin-top:8px;}
.tag{display:inline-block; margin-left:6px; font-family:"Public Sans",sans-serif; font-size:.66rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; padding:3px 8px; border-radius:999px; background:#eef2f7; color:var(--soft); vertical-align:middle;}
.tag.is-delux{background:var(--ink-2); color:#fff;}
.tag.is-pro{background:#e0f2fe; color:#0369a1;}

/* Mesa: flujo */
.flow-sec{background:var(--ink-2); color:#fff;}
.flow-sec .sec-head p{color:#c3cad4;}
.flow-sec .eyebrow{background:rgba(254,108,13,.16); color:#ffb07a;}
.flow{display:grid; grid-template-columns:repeat(4, 1fr); gap:16px; counter-reset:step;}
@media (max-width:900px){ .flow{grid-template-columns:1fr 1fr;} }
@media (max-width:520px){ .flow{grid-template-columns:1fr;} }
.step{position:relative; padding:26px 22px; border-radius:var(--radius); background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1);}
.step::before{counter-increment:step; content:counter(step); position:absolute; top:-14px; left:22px; width:30px; height:30px; border-radius:10px; background:var(--brand); display:grid; place-items:center; font-family:"Lexend",sans-serif; font-weight:800; font-size:.9rem;}
.step .big{font-size:1.9rem; margin:6px 0 10px;}
.step h3{font-size:1.05rem;}
.step p{color:#c3cad4; font-size:.92rem; margin-top:8px;}

/* Cómo empezar */
.start{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
@media (max-width:820px){ .start{grid-template-columns:1fr;} }
.start-item{display:flex; gap:16px; align-items:flex-start;}
.start-num{flex:none; width:44px; height:44px; border-radius:14px; display:grid; place-items:center; background:var(--ink-2); color:#fff; font-family:"Lexend",sans-serif; font-weight:800;}
.start-item h3{font-size:1.08rem;}
.start-item p{color:var(--soft); font-size:.94rem; margin-top:6px;}

/* Planes */
.plans-sec{background:var(--bg-2);}
.plans{display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; align-items:stretch;}
@media (max-width:960px){ .plans{grid-template-columns:1fr; max-width:520px; margin-inline:auto;} }
.plan{position:relative; display:flex; flex-direction:column; gap:18px; padding:30px; border-radius:24px; background:#fff; border:1px solid var(--line);}
.plan.is-featured{border:2px solid var(--brand); box-shadow:var(--shadow);}
.plan-flag{position:absolute; top:-13px; left:50%; transform:translateX(-50%); font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; padding:5px 12px; border-radius:999px; background:var(--brand); color:#fff; white-space:nowrap;}
.plan h3{font-size:1.3rem;}
.plan .for{color:var(--soft); font-size:.92rem; margin-top:4px;}
.price{display:flex; align-items:baseline; gap:6px; font-family:"Lexend",sans-serif;}
.price b{font-size:2.6rem; font-weight:800; letter-spacing:-.02em;}
.price span{color:var(--soft); font-weight:600; font-size:.95rem;}
.plan ul{list-style:none; padding:0; margin:0; display:grid; gap:10px; flex:1; align-content:start;}
.plan li{display:flex; gap:10px; font-size:.93rem;}
.plan li::before{content:"✓"; flex:none; width:20px; height:20px; border-radius:50%; background:#dcfce7; color:var(--ok); font-weight:800; font-size:.72rem; display:grid; place-items:center; margin-top:2px;}
.plan li.is-plus{font-weight:700;}
.plans-note{text-align:center; color:var(--soft); margin-top:24px; font-size:.92rem;}

/* FAQ */
.faq{max-width:820px; margin-inline:auto; display:grid; gap:12px;}
.faq details{border:1px solid var(--line); border-radius:16px; background:#fff; padding:0 22px;}
.faq summary{cursor:pointer; list-style:none; padding:18px 0; font-weight:700; display:flex; justify-content:space-between; gap:16px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+"; font-size:1.4rem; line-height:1; color:var(--brand); transition:transform .2s;}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq details p{padding:0 0 18px; color:var(--soft);}

/* CTA final y pie */
.cta{padding:0 0 88px;}
.cta-box{border-radius:28px; padding:56px 40px; text-align:center; color:#fff; background:radial-gradient(600px 300px at 90% 0%, rgba(254,108,13,.45), rgba(254,108,13,0) 70%), var(--ink-2);}
.cta-box h2{font-size:clamp(1.7rem, 3.4vw, 2.4rem);}
.cta-box p{color:#c3cad4; margin:14px auto 28px; max-width:560px;}
.cta-box .hero-ctas{justify-content:center; margin-top:0;}
.cta-box .btn-ghost{background:transparent; color:#fff; border-color:rgba(255,255,255,.35);}
footer{border-top:1px solid var(--line); padding:32px 0;}
footer .wrap{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:16px; color:var(--soft); font-size:.9rem;}
footer nav{display:flex; gap:20px;}
footer a{text-decoration:none;}
footer a:hover{color:var(--ink);}

.wa-float{position:fixed; right:18px; bottom:18px; z-index:60; width:58px; height:58px; border-radius:50%; background:#25d366; color:#fff; display:grid; place-items:center; box-shadow:0 14px 30px -10px rgba(37,211,102,.8);}
.wa-float svg{width:30px; height:30px;}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} .feat, .btn{transition:none;} }

/* ======================= v7.3 ======================= */
.nav a.nav-switch{color:var(--brand-deep); font-weight:700;}
.plan-qty{display:inline-flex; align-items:baseline; gap:6px; align-self:flex-start; padding:8px 14px; border-radius:12px; background:var(--brand-soft); color:var(--brand-deep); font-family:"Lexend",sans-serif; font-weight:700; font-size:.92rem;}
.plan-qty b{font-size:1.5rem; font-weight:800;}
.plan.is-featured .plan-qty{background:var(--brand); color:#fff;}
.rubros{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px;}
@media (max-width:860px){ .rubros{grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px;} .rubro{padding:12px 14px; font-size:.88rem; gap:6px; flex-direction:column; align-items:flex-start; hyphens:auto;} .rubro span{font-size:1.4rem;} }
.rubro{min-width:0; line-height:1.25; display:flex; align-items:center; gap:12px; padding:16px 18px; border-radius:16px; border:1px solid var(--line); background:#fff; font-weight:700; font-size:.95rem;}
.rubro span{font-size:1.6rem;}

/* Teléfono de tienda (catálogo) */
.p-photo{position:relative; margin:4px 14px 0; aspect-ratio:1/1; border-radius:18px; overflow:hidden; background:#1d2129;}
.p-slides{display:flex; width:300%; height:100%; animation:pSlide 9s ease-in-out infinite;}
.p-slides div{flex:1; display:grid; place-items:center; font-size:5.2rem;}
.p-slides div:nth-child(1){background:linear-gradient(155deg,#7c3aed33,#1f242d);}
.p-slides div:nth-child(2){background:linear-gradient(155deg,#ec489933,#1f242d);}
.p-slides div:nth-child(3){background:linear-gradient(155deg,#0ea5e933,#1f242d);}
@keyframes pSlide{0%,28%{transform:translateX(0);}33%,61%{transform:translateX(-33.333%);}66%,94%{transform:translateX(-66.666%);}100%{transform:translateX(0);}}
.p-dots{position:absolute; bottom:10px; left:0; right:0; display:flex; justify-content:center; gap:5px;}
.p-dots i{width:6px; height:6px; border-radius:99px; background:rgba(255,255,255,.45);}
.p-dots i:first-child{background:#fff; width:16px;}
.p-info{padding:12px 14px 0;}
.p-info b{display:block; font-family:"Lexend",sans-serif; font-size:.95rem;}
.p-info .p-price{font-size:.9rem; font-weight:800; color:#c4b5fd;}
.p-info .p-price s{color:#7b8494; font-weight:600; margin-left:6px; font-size:.75rem;}
.p-sizes{display:flex; gap:6px; padding:10px 14px 0;}
.p-sizes span{width:34px; height:30px; border-radius:9px; border:1px solid #333a46; display:grid; place-items:center; font-size:.7rem; font-weight:800; color:#cbd2dc;}
.p-sizes span.on{background:#7c3aed; border-color:#7c3aed; color:#fff; animation:pPick 4.5s ease-in-out infinite;}
@keyframes pPick{0%,40%{transform:scale(1);}45%{transform:scale(1.15);}50%,100%{transform:scale(1);}}
.p-wa{margin:auto 14px 14px; padding:12px 14px; border-radius:14px; background:#25d366; color:#06240f; display:flex; justify-content:center; gap:8px; font-size:.78rem; font-weight:800;}
.is-shop .s-logo{background:linear-gradient(135deg,#a78bfa,#7c3aed);}

/* ======================= Página de inicio (dos caminos) ======================= */
.home-hero{padding:56px 0 28px; text-align:center; background:radial-gradient(900px 420px at 50% -10%, #fff1e7 0%, rgba(255,241,231,0) 70%);}
.home-hero h1{font-size:clamp(2rem, 4.4vw, 3.2rem); margin:16px auto 14px; max-width:860px;}
.home-hero h1 em{font-style:normal; color:var(--brand);}
.home-hero p{color:var(--soft); font-size:1.08rem; max-width:680px; margin-inline:auto;}
.paths{display:grid; grid-template-columns:1fr 1fr; gap:22px; padding:28px 0 64px;}
@media (max-width:900px){ .paths{grid-template-columns:1fr;} }
.path{position:relative; overflow:hidden; border-radius:28px; padding:34px 34px 30px; display:grid; grid-template-rows:auto auto 1fr auto; gap:14px; min-height:560px; text-decoration:none; color:inherit; transition:transform .2s ease, box-shadow .2s ease;}
.path:hover{transform:translateY(-4px); box-shadow:0 34px 70px -34px rgba(20,25,32,.55);}
.path-rest{background:radial-gradient(520px 300px at 100% 0%, rgba(254,108,13,.35), rgba(254,108,13,0) 70%), var(--ink-2); color:#fff;}
.path-shop{background:radial-gradient(520px 300px at 0% 0%, rgba(124,58,237,.16), rgba(124,58,237,0) 70%), #f6f3ff; border:1px solid #e7e0fb;}
.path .eyebrow{justify-self:start;}
.path-rest .eyebrow{background:rgba(254,108,13,.18); color:#ffb07a;}
.path-shop .eyebrow{background:#ede9fe; color:#6d28d9;}
.path h2{font-size:clamp(1.6rem, 2.8vw, 2.2rem);}
.path p{font-size:1rem;}
.path-rest p{color:#c3cad4;}
.path-shop p{color:var(--soft);}
.path ul{list-style:none; padding:0; margin:4px 0 0; display:grid; gap:8px; font-weight:600; font-size:.94rem;}
.path li{display:flex; gap:10px; align-items:center;}
.path li::before{content:"✓"; flex:none; width:20px; height:20px; border-radius:6px; display:grid; place-items:center; font-size:.72rem; font-weight:900;}
.path-rest li::before{background:var(--brand); color:#fff;}
.path-shop li::before{background:#7c3aed; color:#fff;}
.path .btn{justify-self:start; margin-top:6px;}
.btn-violet{background:#7c3aed; color:#fff; box-shadow:0 14px 30px -14px rgba(124,58,237,.8);}
.btn-violet:hover{background:#6d28d9;}
.path-scene{position:relative; height:190px; margin:4px 0 2px;}

/* Escena restaurante: platos que llegan a la mesa + aviso al mozo */
.scene-card{position:absolute; border-radius:16px; padding:10px 12px; display:flex; align-items:center; gap:10px; font-size:.82rem; font-weight:700; box-shadow:0 18px 40px -20px rgba(0,0,0,.6);}
.scene-card b{display:block; font-family:"Lexend",sans-serif; font-size:.9rem;}
.scene-card small{display:block; font-weight:600; opacity:.75;}
.scene-card .ic{width:38px; height:38px; border-radius:12px; display:grid; place-items:center; font-size:1.25rem; flex:none;}
.path-rest .scene-card{background:#fff; color:var(--ink);}
.r1{left:0; top:10px; animation:floatA 6s ease-in-out infinite;}
.r1 .ic{background:var(--brand-soft);}
.r2{right:0; top:66px; animation:floatB 6s ease-in-out infinite;}
.r2 .ic{background:#fee2e2; animation:ring 1.2s ease-in-out infinite; transform-origin:50% 15%;}
.r3{left:12%; bottom:0; animation:floatA 7s ease-in-out infinite reverse;}
.r3 .ic{background:#dcfce7;}
.dish{position:absolute; font-size:2.2rem; animation:dish 6s linear infinite; opacity:0;}
.dish.d1{left:56%; top:0; animation-delay:0s;} .dish.d2{left:72%; top:120px; animation-delay:2s;} .dish.d3{left:40%; top:96px; animation-delay:4s;}
/* Escena tienda: productos con fotos que cambian + pedido por WhatsApp */
.path-shop .scene-card{background:#fff; color:var(--ink);}
.k1{left:0; top:4px; width:150px; flex-direction:column; align-items:stretch; padding:8px; animation:floatA 6.5s ease-in-out infinite;}
.k1 .ph{height:96px; border-radius:12px; overflow:hidden; position:relative; background:#ede9fe;}
.k1 .ph span{position:absolute; inset:0; display:grid; place-items:center; font-size:3rem; opacity:0; animation:swap 9s infinite;}
.k1 .ph span:nth-child(2){animation-delay:3s;} .k1 .ph span:nth-child(3){animation-delay:6s;}
.k1 em{font-style:normal; color:#6d28d9;}
.k2{right:0; top:30px; animation:floatB 6s ease-in-out infinite;}
.k2 .ic{background:#dcfce7;}
.k3{right:8%; bottom:4px; animation:floatA 7s ease-in-out infinite reverse;}
.k3 .ic{background:#ede9fe;}
.k3 .sz{display:flex; gap:4px; margin-top:4px;}
.k3 .sz i{font-style:normal; font-size:.66rem; width:24px; height:20px; border-radius:6px; border:1px solid var(--line); display:grid; place-items:center;}
.k3 .sz i.on{background:#7c3aed; color:#fff; border-color:#7c3aed;}
@keyframes floatA{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
@keyframes floatB{0%,100%{transform:translateY(-6px);}50%{transform:translateY(6px);}}
@keyframes ring{0%,100%{transform:rotate(0);}20%{transform:rotate(14deg);}40%{transform:rotate(-12deg);}60%{transform:rotate(8deg);}80%{transform:rotate(-4deg);}}
@keyframes dish{0%{opacity:0; transform:translateY(10px) scale(.8);}15%{opacity:1; transform:translateY(0) scale(1);}60%{opacity:1;}80%,100%{opacity:0; transform:translateY(-24px) scale(.9);}}
@keyframes swap{0%{opacity:0;}5%,30%{opacity:1;}36%,100%{opacity:0;}}
.home-what{padding:64px 0; background:var(--bg-2); border-top:1px solid var(--line);}
.what{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
@media (max-width:900px){ .what{grid-template-columns:1fr 1fr;} }
@media (max-width:520px){ .what{grid-template-columns:1fr;} .path{padding:26px 22px; min-height:0;} }
.what > div{padding:22px; border-radius:18px; background:#fff; border:1px solid var(--line);}
.what .big{font-size:1.7rem;}
.what h3{font-size:1.02rem; margin-top:10px;}
.what p{color:var(--soft); font-size:.92rem; margin-top:6px;}
@media (prefers-reduced-motion:reduce){
  .r1,.r2,.r3,.r2 .ic,.k1,.k2,.k3,.p-slides,.p-sizes span.on,.path{animation:none !important; transition:none;}
  .dish{animation:none; opacity:1;} .k1 .ph span{animation:none;} .k1 .ph span:first-child{opacity:1;}
}

/* ======================= v7.4: formulario de solicitud ======================= */
.req-main{background:radial-gradient(900px 420px at 50% -10%, #fff1e7 0%, rgba(255,241,231,0) 70%), var(--bg-2); padding:40px 0 72px;}
.req-wrap{max-width:860px;}
.req-intro{text-align:center; margin-bottom:24px;}
.req-intro h1{font-size:clamp(1.8rem, 4vw, 2.6rem); margin:14px 0 10px;}
.req-intro h1 em{font-style:normal; color:var(--brand);}
.req-intro p{color:var(--soft); max-width:600px; margin-inline:auto;}
.req-card{background:#fff; border:1px solid var(--line); border-radius:24px; padding:30px; box-shadow:var(--shadow); display:grid; gap:26px;}
.req-step{border:0; padding:0; margin:0; min-width:0;}
.req-step legend{display:flex; align-items:center; gap:10px; font-family:"Lexend",sans-serif; font-weight:700; font-size:1.1rem; margin-bottom:14px; padding:0;}
.req-step legend span{width:28px; height:28px; border-radius:9px; background:var(--ink-2); color:#fff; display:grid; place-items:center; font-size:.85rem;}
.req-types{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.req-type input,.req-plan input{position:absolute; opacity:0; pointer-events:none;}
.req-type span{display:block; border:1.5px solid var(--line); border-radius:16px; padding:16px 18px; cursor:pointer; transition:border-color .15s, background .15s;}
.req-type b{display:block; font-size:1.02rem;}
.req-type small{color:var(--soft);}
.req-type input:checked + span{border-color:var(--brand); background:var(--brand-soft);}
.req-type input:focus-visible + span,.req-plan input:focus-visible + span{outline:3px solid var(--brand); outline-offset:2px;}
.req-plans{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px;}
.req-plan{position:relative;}
.req-plan > span{display:flex; flex-direction:column; gap:6px; height:100%; border:1.5px solid var(--line); border-radius:16px; padding:16px; cursor:pointer; transition:border-color .15s, background .15s;}
.req-plan b{font-family:"Lexend",sans-serif; font-size:1.05rem;}
.req-plan em{font-style:normal; font-family:"Lexend",sans-serif; font-weight:800; font-size:1.4rem;}
.req-plan em small{font-size:.8rem; color:var(--soft); font-weight:600; margin-left:3px;}
.req-plan ul{list-style:none; padding:0; margin:4px 0 0; display:grid; gap:4px; font-size:.85rem; color:var(--soft);}
.req-plan li::before{content:"✓ "; color:var(--ok); font-weight:800;}
.req-plan input:checked + span{border-color:var(--brand); background:var(--brand-soft); box-shadow:0 0 0 1px var(--brand) inset;}
.req-plan.is-featured > span::after{content:"Más completo"; position:absolute; top:-10px; right:12px; font-size:.66rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; background:var(--brand); color:#fff; padding:3px 8px; border-radius:99px;}
.req-period{display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; margin-top:14px;}
.req-period label{font-weight:700; font-size:.92rem;}
.req-period select,.req-field input,.req-field textarea{font:inherit; border:1.5px solid var(--line); border-radius:12px; padding:11px 13px; background:#fff; color:var(--ink); width:100%;}
.req-period select{width:auto;}
.req-period select:focus,.req-field input:focus,.req-field textarea:focus{outline:none; border-color:var(--brand);}
.req-total{color:var(--soft); font-size:.92rem;}
.req-total b{color:var(--ink);}
.req-fields{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.req-field{display:flex; flex-direction:column; gap:6px; font-weight:700; font-size:.88rem;}
.req-field small{color:var(--soft); font-weight:600;}
.req-wide{grid-column:1/-1;}
.req-hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
.req-consent{display:flex; gap:10px; align-items:flex-start; margin-top:14px; font-size:.9rem; color:var(--soft);}
.req-consent input{width:18px; height:18px; margin-top:2px; accent-color:var(--brand); flex:none;}
.req-error{color:#c2410c; font-weight:700; min-height:1.2em; margin:-10px 0 -12px;}
.req-submit{width:100%; min-height:54px; font-size:1.05rem;}
.req-small{text-align:center; color:var(--soft); font-size:.85rem; margin-top:-14px;}
.req-done{background:#fff; border:1px solid var(--line); border-radius:24px; padding:44px 28px; text-align:center; box-shadow:var(--shadow); display:grid; gap:14px; justify-items:center;}
.req-done-ico{width:72px; height:72px; border-radius:50%; background:#dcfce7; color:var(--ok); display:grid; place-items:center; font-size:2.2rem; font-weight:900;}
.req-done p{color:var(--soft); max-width:520px;}
@media (max-width:720px){
  .req-card{padding:20px 16px; border-radius:20px;}
  .req-plans{grid-template-columns:1fr;}
  .req-fields{grid-template-columns:1fr;}
  .req-period select{width:100%;}
}
