/* ACATLÁN VIP — Pantalla inicial: una puerta, con tres recorridos y login en portales reales. */
body[data-vip-view="bienvenida"],
body[data-vip-view="accesoCliente"],
body[data-vip-view="accesoNegocio"]{
 --entry-ink:#231c31; --entry-gold:#d8ac5b;
 background:#f9f7f3;
}
body[data-vip-view="bienvenida"] header,
body[data-vip-view="bienvenida"] .demo-notice,
body[data-vip-view="bienvenida"] .demo-mini-notice,
body[data-vip-view="bienvenida"] .topnav,
body[data-vip-view="bienvenida"] .app-dock,
body[data-vip-view="bienvenida"] .footer,
body[data-vip-view="bienvenida"] #vipQuickCart,
body[data-vip-view="accesoCliente"] .topnav,
body[data-vip-view="accesoNegocio"] .topnav,
body[data-vip-view="accesoCliente"] .app-dock,
body[data-vip-view="accesoNegocio"] .app-dock,
body[data-vip-view="accesoCliente"] #vipQuickCart,
body[data-vip-view="accesoNegocio"] #vipQuickCart,
body[data-vip-view="accesoCliente"] .demo-notice,
body[data-vip-view="accesoNegocio"] .demo-notice,
body[data-vip-view="accesoCliente"] .demo-mini-notice,
body[data-vip-view="accesoNegocio"] .demo-mini-notice{display:none!important}
body[data-vip-view="bienvenida"] main{padding:0!important;max-width:none}
.vip-gateway{position:relative;isolation:isolate;min-height:100dvh;margin:0 auto;
 max-width:600px;padding:clamp(28px,5vh,65px) 22px calc(24px + env(safe-area-inset-bottom))}
.vip-gateway:before{content:"";position:absolute;inset:0 -100vw -0px;background:
 radial-gradient(ellipse 150px 160px at 14% 4%,#fbdfac78,transparent 100%),
 radial-gradient(ellipse 230px 210px at 90% 33%,#eed8fc6b,transparent 95%);
 z-index:-1;pointer-events:none}
.vip-gateway-brand{display:flex;align-items:center;gap:13px}
.vip-gateway-brand img{display:block;object-fit:contain;border-radius:19px;box-shadow:0 6px 19px #17151b13}
.vip-gateway-brand span{color:#292331;font-size:22px;letter-spacing:.025em;font-weight:900}
.vip-gateway-brand small{display:block;font-size:11px;font-weight:650;letter-spacing:0;color:#756a7a;margin-top:4px}
.vip-gateway-hero{padding:clamp(33px,6vh,55px) 0 20px;max-width:560px}
.vip-gateway-eyebrow{display:inline-block;color:#8c6931;font-weight:850;font-size:11px;letter-spacing:.07em}
.vip-gateway-hero h2{font-size:clamp(29px,7.4vw,43px)!important;letter-spacing:-.045em;
 line-height:1.09;margin:10px 0 13px;color:#231b31;max-width:560px}
.vip-gateway-hero p{font-size:15px;line-height:1.6;margin:0;color:#665f6c;max-width:490px}
.vip-gateway-choices{display:grid;grid-template-columns:1fr;gap:12px;margin:22px 0 11px}
.vip-gateway-choice{display:flex;align-items:center;gap:15px;min-height:105px;padding:19px;
 border:1px solid #e8e0ee;border-radius:19px;box-shadow:0 6px 20px #1813210b;
 background:#fff;text-align:left;color:#2b2440;transition:transform .15s,box-shadow .15s}
.vip-gateway-choice:first-child{border-color:#e8dcbe;background:linear-gradient(110deg,#fff,#fff9ed)}
.vip-gateway-choice:nth-child(2){border-color:#dcd4e9;background:linear-gradient(120deg,#fff,#f9f6ff)}
.vip-gateway-choice:active{transform:scale(.99)}
.vip-entry-illustration{display:grid;place-items:center;flex:none;width:51px;height:51px;
 background:#f5ebd9;border-radius:15px;font-size:26px}
.vip-gateway-choice:nth-child(2) .vip-entry-illustration{background:#ece6f8}
.vip-gateway-choice-body{display:block;min-width:0;flex:1}
.vip-gateway-choice-body strong{display:block;font-size:17px;line-height:1.3;font-weight:850}
.vip-gateway-choice-body small{display:block;margin-top:7px;color:#686270;font-size:12px;line-height:1.45}
.vip-entry-chevron{font-size:22px;color:#997538}
.vip-gateway-guest{display:flex;align-items:center;justify-content:center;gap:10px;
 width:100%;min-height:50px;border:0;background:transparent;color:#523a76;
 font-weight:850;font-size:14px;border-radius:12px;margin-top:10px}
.vip-gateway-disclaimer{font-size:11px;line-height:1.5;color:#7f7883;text-align:center;margin:13px auto 0;max-width:410px}
.vip-entry-access{max-width:610px;margin:0 auto;padding:10px 0 23px}
.vip-entry-access-head{background:linear-gradient(125deg,#242037,#3b3155);
 color:white;padding:25px 23px;border-radius:20px;margin:2px 0 17px}
.vip-entry-access-head>span{display:block;font-size:30px;margin-bottom:11px}
.vip-entry-access-head small{display:block;font-size:11px;letter-spacing:.06em;color:#e5c78f;font-weight:850}
.vip-entry-access-head h2{margin:8px 0 10px;font-size:27px;color:#fff}
.vip-entry-access-head p{font-size:13px;line-height:1.55;color:#eeeaf5;margin:0}
.vip-entry-browse{display:flex;align-items:center;justify-content:space-between;gap:9px;
 width:100%;min-height:55px;padding:12px 17px;background:#ddad60;color:#221b2f;
 border:0;border-radius:14px;font-weight:850;text-align:left;margin:0 0 18px}
.vip-entry-access-panel{background:white;border-radius:18px;padding:19px;
 border:1px solid #e9e2ef;box-shadow:0 5px 19px #1410200b}
.vip-entry-access-panel h3{font-size:18px;margin:0 0 9px;color:#2b2140}
.vip-entry-access-panel p{font-size:12px;line-height:1.6;color:#645c6b}
.vip-entry-access-panel label{margin-top:19px}
.vip-entry-access-panel input{height:51px;text-transform:uppercase;letter-spacing:.02em}
.vip-entry-submit{margin-top:13px;min-height:51px;width:100%;padding:11px;
 background:#33264e;border:0;border-radius:12px;color:#fff;font-weight:800}
.vip-entry-feedback{color:#ac3046!important;min-height:0;font-weight:750;line-height:1.45}
.vip-entry-feedback:empty{display:none}
.vip-entry-hint,.vip-entry-owner-note{font-size:12px;line-height:1.6;color:#665e70;margin:19px 2px}
.vip-entry-owner-note{background:#f9f2df;border:1px solid #e9d8af;padding:14px;border-radius:13px}
.vip-entry-owner-note p{margin:6px 0 0}
.vip-entry-return{min-height:43px;background:transparent;border:0;color:#5a4376;
 font-weight:800;padding:10px 3px;margin:0 0 10px}
.vip-entry-access button:focus-visible,.vip-gateway button:focus-visible{outline:3px solid #b68941;outline-offset:3px}
@media(max-width:760px){
 body[data-vip-view="bienvenida"]{padding-bottom:0}
 body[data-vip-view="bienvenida"] .vip-gateway{padding:calc(25px + env(safe-area-inset-top)) 20px calc(18px + env(safe-area-inset-bottom))}
 .vip-gateway-brand img{width:58px;height:58px}
 .vip-gateway-brand span{font-size:18px}
 .vip-gateway-hero{padding-top:44px;padding-bottom:5px}
 .vip-gateway-hero h2{font-size:31px!important}
 .vip-gateway-hero p{font-size:13px}
 .vip-gateway-choices{margin-top:25px;gap:12px}
 .vip-gateway-choice{min-height:96px;padding:15px}
 .vip-gateway-choice-body strong{font-size:16px}
 .vip-entry-illustration{width:47px;height:47px}
 .vip-entry-access{padding:6px 0 15px}
 .vip-entry-access-head{padding:22px 19px}
 .vip-entry-access-head h2{font-size:23px}
}
@media(prefers-reduced-motion:reduce){.vip-gateway-choice{transition:none}}

/* Puertas independientes: los repartidores usan su propia PWA y OM no expone socios. */
body[data-vip-view="accesoDelivery"]{
 background:#f9f7f3;
}
body[data-vip-view="accesoDelivery"] .topnav,
body[data-vip-view="accesoDelivery"] .app-dock,
body[data-vip-view="accesoDelivery"] #vipQuickCart,
body[data-vip-view="accesoDelivery"] .demo-notice,
body[data-vip-view="accesoDelivery"] .demo-mini-notice{display:none!important}
.vip-gateway-choice:nth-child(3){border-color:#cde4d4;
 background:linear-gradient(115deg,#fff,#f4fcf6)}
.vip-gateway-choice:nth-child(3) .vip-entry-illustration{background:#e4f4e9}
.vip-delivery-open{display:flex;justify-content:center;align-items:center;text-align:center;
 min-height:51px;padding:11px 14px;border-radius:13px;background:#145e47;
 color:#fff!important;font-weight:850;text-decoration:none;margin:14px 0}
.vip-om-info{max-width:700px;margin:0 auto;padding:16px 0 36px}
.vip-om-info-head{display:flex;align-items:center;gap:16px;background:linear-gradient(110deg,#332447,#514070);
 color:#fff;border-radius:19px;padding:20px;margin-bottom:16px}
.vip-om-logo{display:grid;place-items:center;flex:none;background:#ffffff20;border-radius:16px;
 width:64px;height:64px;font-size:32px}
.vip-om-info-head small{display:block;font-size:10px;letter-spacing:.075em;color:#f3d8a0;font-weight:800}
.vip-om-info-head h2{color:#fff;font-size:24px;margin:6px 0}
.vip-om-info-head p{font-size:12px;line-height:1.6;color:#f2eefa;margin:0}
.vip-om-public-card{background:#fff;border:1px solid #e6e0ef;box-shadow:0 7px 22px #261f3410;
 border-radius:17px;padding:20px;margin:12px 0}
.vip-om-public-card h3{font-size:18px;margin:0 0 9px;color:#291d40}
.vip-om-public-card p{font-size:13px;line-height:1.6;color:#62596c;margin:8px 0}
.vip-om-sample-cta{min-height:51px;background:#452d75;color:#fff;border:0;border-radius:12px;
 width:100%;font-size:14px;font-weight:850;margin-top:11px}
.vip-om-sample-cta:disabled{opacity:.65}
.vip-om-trial-status{font-size:12px!important;color:#6a3e24!important}
.vip-om-limit{font-size:11px!important;color:#7a7180!important}
.vip-om-independent{background:#f6f4f9}
.vip-om-info button:focus-visible,.vip-delivery-open:focus-visible{outline:3px solid #bfa270;outline-offset:3px}
@media(max-width:760px){
 .vip-gateway{padding-top:25px}
 .vip-gateway-hero{padding-top:22px}
 .vip-gateway-choices{gap:9px;margin-top:15px}
 .vip-gateway-choice{min-height:79px;padding:11px 13px;gap:12px}
 .vip-gateway-choice-body strong{font-size:15px}
 .vip-gateway-choice-body small{margin-top:3px;font-size:11px}
 .vip-om-info{padding:4px 0 24px}
 .vip-om-info-head{padding:17px 15px}
 .vip-om-info-head h2{font-size:21px}
 .vip-om-public-card{padding:16px}
}

/* Entrada al nuevo registro autónomo de negocios: solo Demo hasta verificación oficial. */
.vip-business-register-link{display:flex;align-items:center;justify-content:center;text-align:center;
 min-height:51px;padding:12px 16px;margin:15px 0 11px;background:#442b69;color:#fff!important;
 border-radius:13px;text-decoration:none;font-weight:850;font-size:14px}
.vip-business-register-link:focus-visible{outline:3px solid #bfa270;outline-offset:3px}
.vip-entry-owner-note small{font-size:11px;line-height:1.55;display:block;color:#6a596f}

/* Login directo empresarial, sin código hasta que se resuelvan organizaciones del usuario. */
#vipBusinessEmailLogin{display:grid;gap:8px;margin:10px 0}
#vipBusinessEmailLogin label{font-size:12px;font-weight:800;margin:2px 0 0}
#vipBusinessEmailLogin input{box-sizing:border-box;width:100%;min-height:45px;padding:10px 12px;border:1px solid #d8cde2;border-radius:11px;background:#fff;color:#251d30}
#vipBusinessEmailLogin input:focus-visible{outline:3px solid #d3ac74;outline-offset:2px}
.vip-authorized-businesses{display:grid;gap:10px;margin-top:14px}
.vip-existing-business-option{width:100%;text-align:center}

/* Accesos claros: la invitación por código queda disponible sin ocupar pantalla. */
.vip-entry-extra{border:1px solid #e5dbea;background:#fff;border-radius:15px;
 margin:15px 0;padding:13px 16px;color:#3d3545}
.vip-entry-extra summary{cursor:pointer;font-weight:800;font-size:13px;line-height:1.5;color:#412e5d;min-height:25px}
.vip-entry-extra[open] summary{margin-bottom:11px}
.vip-entry-extra p{font-size:12px;line-height:1.55;color:#675e6b;margin:9px 0}
.vip-entry-extra label{display:block;margin:12px 0 6px;font-size:12px;font-weight:800}
.vip-entry-extra input{box-sizing:border-box;height:48px;width:100%;border:1px solid #d5cbd9;border-radius:12px;padding:10px 12px}
.vip-entry-register-business{margin:14px 0!important}
.vip-entry-register-business p{margin:7px 0}
.vip-entry-browse{margin-bottom:11px}
.vip-entry-access-panel{margin-bottom:12px}
.vip-entry-extra:focus-within,.vip-entry-extra summary:focus-visible{outline:2px solid #d2ac68;outline-offset:2px}
@media(max-width:560px){
 .vip-entry-access-head{padding:20px 19px;border-radius:17px}
 .vip-entry-access-head h2{font-size:24px}
 .vip-entry-access-panel{padding:17px}
 .vip-entry-browse{font-size:14px;padding:12px 15px}
 .vip-entry-owner-note{padding:15px}
}

/* El campo de correo nunca debe visualizarse en mayúsculas automáticamente. */
#vipBusinessEmailLogin input{text-transform:none;letter-spacing:normal}
