:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#152338;background:#f5f7fc;color-scheme:light}*{box-sizing:border-box}body{margin:0}a{color:#124979}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ddaa3c;outline-offset:2px}.top{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#122b48;color:white;padding:15px max(16px,calc((100% - 1030px)/2));}.top a{color:white;text-decoration:none}.brand{display:flex;align-items:center;gap:10px;font-weight:850;font-size:1.15rem;letter-spacing:.015em}.brand img{border-radius:13px}.brand small{display:block;color:#f8d899;letter-spacing:.13em;font-size:.66rem;margin-top:4px}.back{font-size:.83rem}main{max-width:1050px;margin:0 auto;padding:20px 15px 44px}.intro{padding:15px 3px 20px}.eyebrow{font-size:.7rem;letter-spacing:.14em;color:#276099;font-weight:800}.intro h1{font-size:clamp(1.6rem,3.6vw,2.5rem);margin:6px 0 9px}.intro p{line-height:1.6;color:#435570;max-width:710px}.notice{border:1px solid #c9d9ed;background:#edf5fd;border-radius:12px;padding:12px 15px;font-size:.93rem;line-height:1.5}.notice.error{background:#fff4f1;border-color:#ecc4ba}.notice.good{background:#ebf7ef;border-color:#b4dfbe}.steps{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0}.steps span{border-radius:100px;background:#e5e9f3;padding:7px 11px;font-size:.74rem;color:#344a63;font-weight:700}.card{background:white;border:1px solid #e0e7f0;box-shadow:0 5px 20px rgba(24,54,92,.04);border-radius:17px;padding:19px;margin-bottom:15px}.card h2{margin:0 0 9px;font-size:1.16rem}.card h3{font-size:1rem}.card p{line-height:1.55;color:#4a5970;margin:7px 0 13px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:15px}.columns .card{margin-bottom:0}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:flex;flex-direction:column;gap:6px;margin:12px 0;color:#1e324e;font-weight:650;font-size:.87rem}input,select{font:inherit;width:100%;padding:12px 10px;border:1px solid #c7d3e0;border-radius:10px;min-height:45px;background:white;color:#192d45}input[type=checkbox],input[type=radio]{width:auto;min-height:auto;accent-color:#1e568a;flex-shrink:0}.check{font-weight:450;flex-direction:row;align-items:flex-start;gap:9px;line-height:1.45}.check input{margin-top:4px}button,.action{appearance:none;background:#164d80;color:white;font:inherit;font-weight:750;border:0;border-radius:11px;padding:13px 17px;display:inline-block;text-align:center;text-decoration:none;cursor:pointer;min-height:44px}button:disabled{background:#74879f;cursor:wait}.secondary{background:#e4edf7;color:#174d7d}.message{margin:12px 0;min-height:1.2em;font-size:.91rem;line-height:1.5;color:#24577e;white-space:pre-line}.message.error{color:#9f3428}.line{border-top:1px solid #e4e7ec;margin:18px 0}.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:13px 0}.plan{border:1px solid #d6e2f0;border-radius:13px;padding:11px;margin:0;display:flex;flex-direction:row;align-items:flex-start;gap:8px;font-size:.84rem}.plan:has(input:checked){border-color:#1e568a;background:#edf5ff}.plan span{display:block}.plan strong,.plan small{display:block}.plan small{margin-top:4px;font-size:.74rem;color:#4d5e74;line-height:1.45}fieldset{padding:10px 13px;border:1px solid #d9e1ec;border-radius:13px;margin:17px 0}legend{font-weight:750;padding:0 7px}.fine{font-size:.85rem;color:#596b7f}#businessLinks{list-style:none;padding:0;margin:0}#businessLinks li{margin:8px 0}#businessLinks a{display:block;border-radius:9px;background:#f2f6fc;padding:11px;text-decoration:none;font-weight:700}footer{text-align:center;font-size:.78rem;color:#63718a;margin-top:24px}[hidden]{display:none!important}@media(max-width:760px){.columns,.two{grid-template-columns:1fr}.plans{grid-template-columns:1fr}.top{padding:13px 15px}.top .back{max-width:95px;text-align:right}.card{padding:15px}}
.recovery-action{margin-top:12px;display:block;width:fit-content;max-width:100%;font-size:.89rem;line-height:1.25}


/* ACATLÁN VIP · Registro oficial guiado, móvil e independiente. */
:root{color:#252038;background:#f8f6f0}
body{background:linear-gradient(180deg,#f2eadd,#fbfaf6 320px);color:#29223c}
.top{background:#282138;color:#f9edd9;box-shadow:0 4px 22px #1c152334}
.brand small{color:#eed39f}
main{max-width:850px;padding:0 14px 110px}
.intro{background:radial-gradient(circle at 95% 15%,#5e5175 0,transparent 50%),#29203b;color:#fff;margin:0 -14px 0;padding:27px max(16px,calc((100% - 720px)/2)) 49px;border-radius:0 0 23px 23px}
.intro .eyebrow{color:#eed19d}
.intro h1{font-size:clamp(27px,5.5vw,38px);color:#fff;line-height:1.17;letter-spacing:-.025em}
.intro p{color:#e2dce9;max-width:690px}
.heroChips{display:flex;gap:7px;flex-wrap:wrap;margin:17px 0 0}
.heroChips span{font-size:11px;padding:8px 10px;border:1px solid #ffffff44;border-radius:22px;background:#ffffff16}
.steps{position:relative;margin:-19px 0 16px;padding:7px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;border-radius:15px;background:#fff;border:1px solid #e5dacd;box-shadow:0 8px 28px #30203921}
.steps span{display:grid;place-items:center;background:transparent;border-radius:10px;min-height:45px;font-size:11px;text-align:center;padding:7px 2px;color:#756c7d}
.steps span.active{background:#352a49;color:white}
.steps span.completed{background:#e5f2e6;color:#2f583b}
.card{border:1px solid #e7dfd7;box-shadow:0 8px 25px #30213c0e;border-radius:18px}
.card h2{font-size:clamp(20px,3vw,25px)}
.card p{color:#5f5766}
.notice{background:#f5f0e8;border-color:#e6d7c3}
.notice.good{background:#edf7ee;border-color:#bed9c3}
button,.action{background:#322641;color:white;border-radius:12px;min-height:46px;font-weight:800}
button.secondary,.action.secondary,.stepBack{background:#f1edf3;color:#403151;border:1px solid #ddd5e1}
button:disabled{background:#a5a0a9}
input,select{border-color:#bfb9c5;border-radius:11px}
input[type=checkbox],input[type=radio]{accent-color:#57446d}
.wizardPart{display:grid;gap:11px}
.wizardPart h2,.wizardPart p{margin:0}
.wizardPart>button:not(.stepBack){margin-top:8px}
.stepEyebrow{font-size:10px;letter-spacing:.13em;color:#906a3f;font-weight:900}
.stepBack{justify-self:start;min-height:39px;padding:9px 12px;font-size:12px}
.templateCards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;grid-auto-rows:max-content;align-content:start;overflow:visible;max-height:none;padding:3px 0 10px}
.templateCard{min-width:0;min-height:82px;display:flex;text-align:left;gap:11px;align-items:center;background:#fff;border:1px solid #e6dfd6;border-radius:14px;color:#40344a;padding:14px;line-height:1.4;overflow:visible}
.templateCard.selected{background:#fcf8ed;border:2px solid #b28c51;padding:12px}
.templateCard>span:nth-child(2){min-width:0;flex:1}
.templateCard strong,.templateCard small{display:block}
.templateCard strong{font-size:13px;line-height:1.35}
.templateCard small{font-size:11px;line-height:1.5;color:#746c79;margin-top:5px}
.templateIcon{font-size:23px;min-width:38px;height:40px;display:grid;place-items:center;background:#f4eee4;border-radius:12px}
.templateCards .empty{grid-column:1/-1;font-size:13px;padding:12px}
.trialBanner{background:#eff7ef;border:1px solid #c5dec9;border-radius:14px;padding:15px;color:#24523b}
.trialBanner p{color:#365f47;font-size:13px;margin:6px 0 0}
.planRecap{border-radius:12px;padding:13px;background:#faf4e9;border:1px solid #e7dac1;color:#514126;font-weight:750;font-size:13px}
.plans{grid-template-columns:repeat(3,minmax(0,1fr))}
.plan{border-color:#e2d9df;border-radius:14px;background:white}
.plan:has(input:checked){border-color:#b78e4f;background:#fdf8e9}
.helpLauncher{display:flex;align-items:center;gap:9px;position:fixed;z-index:40;bottom:calc(14px + env(safe-area-inset-bottom,0px));right:14px;border:1px solid #e2c08a;border-radius:40px;padding:9px 14px;box-shadow:0 9px 26px #25183655;background:#352944;color:#fff;font-size:13px}
.helpLauncher span{display:grid;place-items:center;border-radius:50%;background:#e6c595;width:32px;height:32px;font-size:22px;color:#2d2238}
.helpLauncher small{font-size:10px;color:#eee0c4;font-weight:500}
.helpDialog{border:0;border-radius:23px;overflow:hidden;width:min(480px,calc(100vw - 20px));padding:0;max-height:min(700px,92dvh);box-shadow:0 26px 100px #1a13246a;color:#2c2541}
.helpDialog::backdrop{background:#161320b5}
.helpHead{display:flex;align-items:center;gap:10px;padding:16px;background:#302440;color:white}
.helpHead>span{background:#f1dfc1;color:#392845;border-radius:12px;width:39px;height:39px;display:grid;place-items:center;font-size:22px}
.helpHead>div{flex:1}
.helpHead small{font-size:10px;font-weight:850;letter-spacing:.12em;color:#edc792}
.helpHead h2{font-size:17px;margin:4px 0 0}
.helpHead button{width:39px;min-width:39px;min-height:39px;background:#ffffff1f;border-radius:50%;padding:3px;font-size:23px}
.helpBody{padding:17px;max-height:55dvh;overflow-y:auto}
.helpBody>p{font-size:13px;color:#645a6c;line-height:1.6}
.helpBody label{font-size:12px}
.helpBody input{font-size:16px}
.helpQuestions{display:grid;gap:8px;margin:14px 0}
.helpQuestions button{min-height:47px;background:#faf8f4;color:#3b304a;border:1px solid #e4dace;font-size:13px;text-align:left}
.helpQuestions button:hover{background:#f6ecdf}
.helpQuestions p{font-size:13px;color:#706376}
.helpAnswer{border-radius:16px;padding:16px;background:#f7f1e9;border:1px solid #e5dbc8;color:#36293e}
.helpAnswer strong{font-size:14px}
.helpAnswer p{font-size:13px;line-height:1.7;color:#4e4356}
.helpFooter{display:flex;gap:9px;justify-content:flex-end;margin:0;padding:13px 16px;border-top:1px solid #e8e1e7}
.helpFooter button{font-size:12px;padding:10px 13px;min-height:44px}
@media(max-width:760px){
 .intro{padding-left:18px;padding-right:18px}
 .templateCards{grid-template-columns:1fr;grid-auto-rows:max-content;max-height:none;overflow:visible}
 .plans{grid-template-columns:1fr}
 .helpDialog{margin:auto auto 0;width:100%;max-width:100%;border-radius:22px 22px 0 0;max-height:91dvh}
 .helpBody{max-height:60dvh}
}

/* Selección móvil única: primero tarjetas de categoría; luego solo subcategorías. */
.vipGiroHeading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:9px}
.vipGiroHeading h3{margin:0;font-size:17px;line-height:1.4;color:#372b45}
.vipGiroHeading button{min-height:40px;flex-shrink:0}
.vipGiroHint{font-size:13px;line-height:1.5;color:#62586c}
.vipGiroSearch{margin:5px 0 0}
.vipGiroSearch input{font-size:16px;min-height:49px}
.templateCard strong{overflow-wrap:anywhere;word-break:normal;font-size:14px;line-height:1.35}
.templateCard small{line-height:1.45}
.templateCard>span:nth-child(2),.vipVariantOption>span:first-child{min-width:0;flex:1}
.templateCard:disabled{background:#f6f4f2;color:#827889;border-color:#e4e0e1;cursor:not-allowed;opacity:.75}
.vipGiroArrow{font-size:22px;font-weight:900;line-height:1;color:#856948;flex-shrink:0;min-width:18px;text-align:center}
.vipVariantOption{min-height:70px}
.vipVariantOption.selected{border-color:#a88754}
.vipGiroSelection{padding:12px;background:#fcf6e8;border:1px solid #dfcda6;border-radius:12px;font-size:13px;line-height:1.5;font-weight:750;overflow-wrap:anywhere}
@media(max-width:760px){
 .vipCategoryOption{min-height:86px}
 .vipVariantOption{min-height:68px}
 .templateCards{gap:11px}
 .helpLauncher small{display:none}
 .helpLauncher{font-size:12px;padding:9px 12px;right:12px}
}

/* Registro oficial: exactamente dos selects; sin tarjetas ni búsqueda redundante. */
#stepGiro>label{display:flex;flex-direction:column;gap:9px;margin:10px 0;font-size:16px;font-weight:750}
#stepGiro select{min-height:58px;width:100%;padding:13px 14px;border:2px solid #c7c1c9;
 border-radius:14px;background:#fff;color:#272238;font-size:16px;line-height:1.4}
#stepGiro select:disabled{background:#f3f1f2;color:#807987;opacity:1;cursor:not-allowed}
#stepGiro select:focus-visible{outline:3px solid #d9a833;outline-offset:3px}
#stepGiro #toPlan{width:100%;margin-top:12px;min-height:52px}
@media(max-width:760px){#stepGiro>label{font-size:16px;gap:10px}#stepGiro select{min-height:58px}}

/* Acceso comercial: iniciar sesión primero, alta opcional y sin otro sistema de identidad. */
#accountPanels{max-width:530px;margin:0 auto;grid-template-columns:minmax(0,1fr)}
#accountPanels #signInPanel{order:0;background:#fff;border:1px solid #dbc595;padding:21px 18px}
#accountPanels #newAccount{order:1}
.vipMerchantLoginBack{display:inline-block;margin-bottom:16px;color:#765018;font-size:13px;
 font-weight:800;text-decoration:none}
.vipMerchantLoginHeader{display:flex;gap:13px;align-items:center;background:linear-gradient(135deg,#171717,#493515);
 color:#fff;padding:17px;border:1px solid #b9954c;border-radius:16px;margin-bottom:16px}
.vipMerchantLoginHeader>span{display:grid;place-items:center;width:58px;height:58px;flex:none;
 border-radius:13px;background:#f5e5c0;font-size:29px}
.vipMerchantLoginHeader small{display:block;color:#f4dba7;font-size:10px;font-weight:800;letter-spacing:.08em}
.vipMerchantLoginHeader h2{font-size:22px;margin:5px 0 0;color:#fff}
#signInPanel form label{margin:15px 0}
#signInPanel input{min-height:49px;border-color:#d2bf99}
.vipMerchantPasswordField{position:relative;display:block}
.vipMerchantPasswordField input{padding-right:95px}
#vipMerchantShowPassword{position:absolute;right:6px;top:50%;transform:translateY(-50%);
 min-height:35px;padding:6px 9px;border:1px solid #c8a56a;background:#f3e5c9;
 border-radius:9px;color:#654714;font-size:12px}
#signInPanel .vipMerchantLoginSubmit{width:100%;min-height:51px;background:#181818;color:#f3d99e;font-size:16px}
#signInPanel .recovery-action{background:transparent!important;color:#725019;
 border:0;padding:7px 0;text-decoration:underline;margin:12px 0}
#signInPanel #signInMessage:not(:empty){background:#fff5e7;padding:11px;border-radius:10px;border:1px solid #e3cda2}
.vipMerchantCreateEntry{margin-top:16px;border-top:1px solid #eadcbe;padding-top:14px}
.vipMerchantCreateEntry p{font-size:13px}
#vipShowMerchantRegister{width:100%;border:1px solid #d1b37b;background:#f7eddc;color:#60451c}
