/* ============================================================
   Mi Actividad ProFondo 2.0 — Sistema de diseño
   Mobile-first · cálido · profesional
   ============================================================ */
:root{
	--mapf-c1:#0e6fc4;          /* primario (azul del logo) */
	--mapf-c1-dark:#0a4f96;
	--mapf-c2:#19a7dd;          /* cian-azul (anillo del logo) */
	--mapf-c3:#fb7185;          /* acento / donación */
	--mapf-green:#5aa832;       /* verde del logo (control / orden) */
	--mapf-green-dark:#498f27;
	--mapf-navy:#0b2a52;        /* azul marino (mano del logo) */
	--mapf-donate:#f43f5e;
	--mapf-donate-2:#fb923c;
	--mapf-wa:#22c35e;
	--mapf-ink:#0f172a;
	--mapf-ink-2:#2f3c50;
	--mapf-muted:#566173;
	--mapf-line:#e6eaf0;
	--mapf-bg:#f5f7fb;
	--mapf-card:#ffffff;
	--mapf-soft:#eef2f7;
	--mapf-ok:#2f9e3f;
	--mapf-warn:#f59e0b;
	--mapf-danger:#dc2626;
	--mapf-r:18px;
	--mapf-r-sm:12px;
	--mapf-shadow:0 10px 30px rgba(15,23,42,.08);
	--mapf-shadow-sm:0 4px 14px rgba(15,23,42,.06);
	--mapf-font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
	--mapf-display:"Plus Jakarta Sans",var(--mapf-font);
}

/* base scope */
.mapf-shell,.mapf-landing-wrap,#mapf-help-root,.mapf-modal{
	font-family:var(--mapf-font);
	color:var(--mapf-ink);
	-webkit-font-smoothing:antialiased;
}
.mapf-shell *,.mapf-landing-wrap *{box-sizing:border-box}
.mapf-shell{max-width:1080px;margin:0 auto;padding:18px 16px 80px}
.mapf-shell h1,.mapf-shell h2,.mapf-shell h3,.mapf-landing-wrap h1,.mapf-landing-wrap h2,.mapf-landing-wrap h3{font-family:var(--mapf-display);font-weight:600;line-height:1.18;margin:0}
a{color:var(--mapf-c1-dark)}

/* ---------- Botones ---------- */
.mapf-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:8px;
	font-family:var(--mapf-display);font-weight:600;font-size:15px;line-height:1;
	padding:13px 20px;border-radius:999px;border:0;cursor:pointer;text-decoration:none;
	transition:transform .12s ease,box-shadow .18s ease,background .15s ease,opacity .15s ease,filter .15s ease;
	white-space:nowrap;position:relative;
	touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;
}
.mapf-btn:hover{transform:translateY(-1px)}
.mapf-btn:active{transform:translateY(1px) scale(.98)}
.mapf-btn:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(14,111,196,.30)}
/* estado ocupado: spinner sin perder el ancho del botón */
.mapf-btn.is-busy{pointer-events:none;color:transparent!important}
.mapf-btn.is-busy::after{
	content:"";position:absolute;left:50%;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;
	border:2.5px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;
	animation:mapf-spin .7s linear infinite;
}
.mapf-btn-soft.is-busy::after,.mapf-btn-ghost.is-busy::after,.mapf-btn-danger.is-busy::after{
	border-color:rgba(15,23,42,.25);border-top-color:var(--mapf-ink-2);
}
@keyframes mapf-spin{to{transform:rotate(360deg)}}
.mapf-copy.is-copied{background:var(--mapf-ok)!important;color:#fff!important}
.mapf-btn-primary{background:linear-gradient(135deg,var(--mapf-c1),var(--mapf-c1-dark));color:#fff;box-shadow:0 8px 20px rgba(14,111,196,.28)}
.mapf-btn-primary:hover{box-shadow:0 10px 26px rgba(14,111,196,.38);color:#fff}
.mapf-btn-donate{background:linear-gradient(135deg,var(--mapf-donate),var(--mapf-donate-2));color:#fff;box-shadow:0 8px 20px rgba(244,63,94,.28)}
.mapf-btn-donate:hover{color:#fff;box-shadow:0 10px 26px rgba(244,63,94,.4)}
.mapf-btn-wa{background:var(--mapf-wa);color:#fff}
.mapf-btn-wa:hover{color:#fff;filter:brightness(.96)}
.mapf-btn-soft{background:var(--mapf-soft);color:var(--mapf-ink-2)}
.mapf-btn-soft:hover{background:#e2e8f0}
.mapf-btn-ghost{background:transparent;color:var(--mapf-ink-2);border:1.5px solid var(--mapf-line)}
.mapf-btn-ghost:hover{border-color:#cbd5e1}
.mapf-btn-danger{background:#fee2e2;color:var(--mapf-danger)}
.mapf-btn-block{display:flex;width:100%}
.mapf-btn-lg{padding:16px 24px;font-size:16px}
.mapf-btn-sm{padding:9px 14px;font-size:13.5px}
.mapf-btn[disabled]{opacity:.55;cursor:not-allowed}
.mapf-btn-row{display:flex;flex-wrap:wrap;gap:10px}

/* ---------- Cards ---------- */
.mapf-card{background:var(--mapf-card);border:1px solid var(--mapf-line);border-radius:var(--mapf-r);box-shadow:var(--mapf-shadow-sm);padding:20px}
.mapf-card+.mapf-card{margin-top:16px}
.mapf-card-pad{padding:22px}
.mapf-card-title{font-size:17px;font-weight:600;display:flex;align-items:center;gap:8px;margin-bottom:14px}
.mapf-section-title{font-family:var(--mapf-display);font-weight:600;font-size:20px;margin:26px 0 12px;display:flex;align-items:center;gap:9px}

/* ---------- Badges / pills ---------- */
.mapf-badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--mapf-soft);color:var(--mapf-ink-2);line-height:1.4}
.mapf-badge-dot::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block}
.mapf-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#fff;border:1px solid var(--mapf-line);font-size:13px;color:var(--mapf-ink-2)}

/* ---------- Forms ---------- */
.mapf-field{margin-bottom:14px}
.mapf-label{display:block;font-weight:600;font-size:14px;margin-bottom:6px;color:var(--mapf-ink-2)}
.mapf-hint{font-size:12.5px;color:var(--mapf-muted);margin-top:5px}
.mapf-input,.mapf-select,.mapf-textarea{
	width:100%;font-family:var(--mapf-font);font-size:15px;color:var(--mapf-ink);
	padding:12px 14px;border:1.5px solid var(--mapf-line);border-radius:var(--mapf-r-sm);background:#fff;
	transition:border-color .15s ease,box-shadow .15s ease;
}
.mapf-input:focus,.mapf-select:focus,.mapf-textarea:focus{outline:none;border-color:var(--mapf-c1);box-shadow:0 0 0 4px rgba(14,111,196,.12)}
.mapf-textarea{min-height:96px;resize:vertical}
.mapf-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mapf-input-group{display:flex;align-items:stretch}
.mapf-input-group .mapf-prefix{display:flex;align-items:center;padding:0 12px;background:var(--mapf-soft);border:1.5px solid var(--mapf-line);border-right:0;border-radius:var(--mapf-r-sm) 0 0 var(--mapf-r-sm);font-weight:600;color:var(--mapf-muted)}
.mapf-input-group .mapf-input{border-radius:0 var(--mapf-r-sm) var(--mapf-r-sm) 0}

/* toggle */
.mapf-toggle{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1.5px solid var(--mapf-line);border-radius:var(--mapf-r-sm);cursor:pointer;background:#fff}
.mapf-toggle input{display:none}
.mapf-toggle .mapf-switch{width:42px;height:24px;border-radius:999px;background:#cbd5e1;position:relative;flex:none;transition:background .15s}
.mapf-toggle .mapf-switch::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.mapf-toggle input:checked+.mapf-switch{background:var(--mapf-c1)}
.mapf-toggle input:checked+.mapf-switch::after{transform:translateX(18px)}
.mapf-toggle .mapf-toggle-txt{font-size:14px}
.mapf-toggle .mapf-toggle-txt small{display:block;color:var(--mapf-muted);font-weight:400;font-size:12px;margin-top:2px}

/* ---------- Alerts ---------- */
.mapf-alert{padding:13px 16px;border-radius:var(--mapf-r-sm);font-size:14px;margin-bottom:16px;border:1px solid transparent;display:flex;gap:10px;align-items:flex-start}
.mapf-alert-ok{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}
.mapf-alert-error{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.mapf-alert-info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}
.mapf-alert-warn{background:#fffbeb;border-color:#fde68a;color:#92400e}

/* ---------- Toast ---------- */
#mapf-toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);z-index:99999;display:flex;flex-direction:column;gap:8px;align-items:center;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none}
#mapf-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
#mapf-toast .mapf-toast-item{background:var(--mapf-ink);color:#fff;padding:12px 18px;border-radius:999px;font-size:14px;box-shadow:0 8px 24px rgba(0,0,0,.25);max-width:90vw}
#mapf-toast .mapf-toast-ok{background:#15803d}
#mapf-toast .mapf-toast-err{background:#b91c1c}

/* ---------- Stat cards ---------- */
.mapf-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.mapf-stat{background:var(--mapf-card);border:1px solid var(--mapf-line);border-radius:var(--mapf-r);padding:16px;box-shadow:var(--mapf-shadow-sm)}
.mapf-stat .mapf-stat-n{font-family:var(--mapf-display);font-size:24px;font-weight:600;line-height:1.1}
.mapf-stat .mapf-stat-l{font-size:12.5px;color:var(--mapf-muted);margin-top:4px}
.mapf-stat .mapf-stat-ico{font-size:18px}
.mapf-stat-accent{background:linear-gradient(135deg,var(--mapf-c1),var(--mapf-c1-dark));color:#fff;border:0}
.mapf-stat-accent .mapf-stat-l{color:rgba(255,255,255,.85)}

/* ---------- Progress ---------- */
.mapf-progress{height:14px;border-radius:999px;background:var(--mapf-soft);overflow:hidden;position:relative}
.mapf-progress > span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--mapf-c2),var(--mapf-c1));transition:width .6s cubic-bezier(.2,.8,.2,1)}
.mapf-progress-meta{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.mapf-progress-meta .a{font-family:var(--mapf-display);font-weight:600;font-size:20px}
.mapf-progress-meta .b{font-size:13px;color:var(--mapf-muted)}

/* ---------- Tabs ---------- */
.mapf-tabs{display:flex;gap:6px;overflow-x:auto;border-bottom:1px solid var(--mapf-line);margin-bottom:18px;-webkit-overflow-scrolling:touch}
.mapf-tab{flex:none;background:none;border:0;border-bottom:3px solid transparent;padding:11px 14px;font-family:var(--mapf-display);font-weight:600;font-size:14.5px;color:var(--mapf-muted);cursor:pointer;white-space:nowrap}
.mapf-tab.is-active{color:var(--mapf-c1-dark);border-bottom-color:var(--mapf-c1)}
.mapf-tabpane{display:none}
.mapf-tabpane.is-active{display:block;animation:mapf-fade .25s ease}
@keyframes mapf-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ---------- Tables (responsive) ---------- */
.mapf-table{width:100%;border-collapse:collapse;font-size:14px}
.mapf-table th{text-align:left;font-weight:600;color:var(--mapf-muted);font-size:12.5px;padding:10px 12px;border-bottom:2px solid var(--mapf-line);text-transform:uppercase;letter-spacing:.02em}
.mapf-table td{padding:13px 12px;border-bottom:1px solid var(--mapf-line);vertical-align:middle}
.mapf-table tr:last-child td{border-bottom:0}
.mapf-table-wrap{overflow-x:auto;border-radius:var(--mapf-r);border:1px solid var(--mapf-line);background:#fff}

/* ---------- Modal ---------- */
.mapf-modal{position:fixed;inset:0;z-index:100000;display:none;align-items:flex-end;justify-content:center;background:rgba(15,23,42,.55);backdrop-filter:blur(2px);padding:0}
.mapf-modal.is-open{display:flex;animation:mapf-fade .2s ease}
.mapf-modal-card{background:#fff;width:100%;max-width:520px;max-height:92vh;overflow-y:auto;border-radius:22px 22px 0 0;padding:22px;box-shadow:0 -10px 40px rgba(0,0,0,.2);animation:mapf-slideup .28s cubic-bezier(.2,.8,.2,1)}
@keyframes mapf-slideup{from{transform:translateY(40px);opacity:.6}to{transform:none;opacity:1}}
.mapf-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.mapf-modal-head h3{font-size:19px}
.mapf-modal-close{background:var(--mapf-soft);border:0;width:34px;height:34px;border-radius:50%;font-size:20px;cursor:pointer;color:var(--mapf-ink-2);line-height:1}
.mapf-modal-foot{margin-top:18px}

/* ---------- Wizard ---------- */
.mapf-wizard-bar{display:flex;align-items:center;gap:6px;margin-bottom:22px;overflow-x:auto;padding-bottom:4px}
.mapf-step-dot{display:flex;align-items:center;gap:8px;flex:none}
.mapf-step-dot .n{width:30px;height:30px;border-radius:50%;background:var(--mapf-soft);color:var(--mapf-muted);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex:none;font-family:var(--mapf-display)}
.mapf-step-dot .lbl{font-size:13px;color:var(--mapf-muted);font-weight:600;white-space:nowrap}
.mapf-step-dot.is-active .n{background:var(--mapf-c1);color:#fff}
.mapf-step-dot.is-done .n{background:var(--mapf-ok);color:#fff}
.mapf-step-dot.is-active .lbl{color:var(--mapf-ink)}
.mapf-step-sep{flex:1;min-width:14px;height:2px;background:var(--mapf-line);border-radius:2px}
.mapf-wizard-step{display:none}
.mapf-wizard-step.is-active{display:block;animation:mapf-fade .25s ease}
.mapf-wizard-nav{display:flex;justify-content:space-between;gap:10px;margin-top:24px}

/* choices / selectable cards */
.mapf-choices{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.mapf-choice{border:1.5px solid var(--mapf-line);border-radius:var(--mapf-r-sm);padding:14px;cursor:pointer;background:#fff;transition:border-color .12s,box-shadow .12s,background .12s;text-align:left}
.mapf-choice .e{font-size:24px}
.mapf-choice .t{font-weight:700;font-size:14.5px;margin-top:6px}
.mapf-choice .d{font-size:12px;color:var(--mapf-muted);margin-top:3px;line-height:1.4}
.mapf-choice.is-active{border-color:var(--mapf-c1);background:#eef6ff;box-shadow:0 0 0 3px rgba(14,111,196,.12)}

/* plantilla swatches */
.mapf-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px}
.mapf-swatch{border:2px solid var(--mapf-line);border-radius:var(--mapf-r-sm);padding:8px;cursor:pointer;text-align:center;font-size:12px;font-weight:600;background:#fff}
.mapf-swatch .bar{height:26px;border-radius:7px;margin-bottom:6px}
.mapf-swatch.is-active{border-color:var(--mapf-ink)}

/* product rows in wizard */
.mapf-prod-row{display:grid;grid-template-columns:1fr 110px 40px;gap:8px;align-items:start;margin-bottom:10px;padding:12px;border:1px dashed var(--mapf-line);border-radius:var(--mapf-r-sm)}
.mapf-prod-row .mapf-prod-del{background:#fee2e2;color:#dc2626;border:0;border-radius:8px;cursor:pointer;height:44px}

/* payment options (landing modal) */
.mapf-payopts{display:flex;flex-direction:column;gap:8px;margin:6px 0}
.mapf-payopt{display:flex;gap:10px;align-items:flex-start;border:1.5px solid var(--mapf-line);border-radius:var(--mapf-r-sm);padding:12px;cursor:pointer}
.mapf-payopt.is-active{border-color:var(--mapf-c1);background:#eef6ff}
.mapf-payopt input{margin-top:3px}
.mapf-payopt .t{font-weight:600;font-size:14px}
.mapf-payopt .d{font-size:12px;color:var(--mapf-muted)}
.mapf-voucher-field{background:#eef6ff;border:1.5px dashed var(--mapf-c1);border-radius:var(--mapf-r-sm);padding:14px;margin-top:6px}
.mapf-voucher-field .mapf-label{color:var(--mapf-c1-dark)}
.mapf-voucher-field input[type=file]{background:#fff}

/* ---------- QR ---------- */
.mapf-qr-wrap{display:flex;flex-direction:column;align-items:center;gap:10px}
.mapf-qr{padding:10px;background:#fff;border-radius:12px;border:1px solid var(--mapf-line);display:inline-block;line-height:0}
.mapf-qr img,.mapf-qr canvas{display:block}

/* ---------- empty / login ---------- */
.mapf-empty{text-align:center;color:var(--mapf-muted);padding:34px 16px;font-size:14.5px}
.mapf-empty .e{font-size:40px;display:block;margin-bottom:8px}
.mapf-aviso-login{max-width:440px;margin:48px auto;text-align:center}
.mapf-aviso-emoji{font-size:46px;margin-bottom:6px}
.mapf-aviso-login h2{font-size:21px;margin-bottom:6px}
.mapf-aviso-login p{color:var(--mapf-muted);margin:0 0 18px}
.mapf-aviso-login .mapf-btn-row{justify-content:center}

/* =========================================================
   PANEL / DASHBOARD
   ========================================================= */
.mapf-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.mapf-topbar .mapf-hi{font-family:var(--mapf-display);font-weight:600;font-size:22px}
.mapf-topbar .mapf-hi small{display:block;font-size:13px;color:var(--mapf-muted);font-weight:400}
.mapf-saldo-pill{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;padding:10px 16px;border-radius:999px;font-weight:600;font-size:14px}
.mapf-saldo-pill .v{font-family:var(--mapf-display);font-size:16px}
.mapf-saldo-pill.low{background:linear-gradient(135deg,#b45309,#92400e)}

.mapf-act-card{display:flex;gap:14px;align-items:center;padding:16px;border:1px solid var(--mapf-line);border-radius:var(--mapf-r);background:#fff;box-shadow:var(--mapf-shadow-sm);margin-bottom:12px}
.mapf-act-thumb{width:64px;height:64px;border-radius:14px;background:var(--mapf-soft);background-size:cover;background-position:center;flex:none;display:flex;align-items:center;justify-content:center;font-size:26px}
.mapf-act-info{flex:1;min-width:0}
.mapf-act-info h3{font-size:16px;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mapf-act-meta{font-size:12.5px;color:var(--mapf-muted);display:flex;gap:10px;flex-wrap:wrap}

.mapf-state{font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px}
.mapf-state-publicada{background:#dcfce7;color:#15803d}
.mapf-state-borrador{background:#f1f5f9;color:#475569}
.mapf-state-pausada{background:#fef3c7;color:#92400e}
.mapf-state-finalizada{background:#e0e7ff;color:#3730a3}

/* sticky action bar */
.mapf-stickybar{position:sticky;bottom:0;left:0;right:0;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-top:1px solid var(--mapf-line);padding:12px 16px;margin:18px -16px -80px;display:flex;gap:10px;z-index:50}

/* mini list */
.mapf-list-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--mapf-line)}
.mapf-list-item:last-child{border-bottom:0}
.mapf-list-item .av{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--mapf-c2),var(--mapf-c1));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex:none;font-family:var(--mapf-display)}
.mapf-list-item .gr{flex:1;min-width:0}
.mapf-list-item .gr .n{font-weight:600;font-size:14.5px}
.mapf-list-item .gr .s{font-size:12.5px;color:var(--mapf-muted)}

/* rank */
.mapf-rank-num{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;background:var(--mapf-soft);color:var(--mapf-ink-2);font-family:var(--mapf-display)}
.mapf-rank-1{background:#fde68a;color:#92400e}
.mapf-rank-2{background:#e2e8f0;color:#475569}
.mapf-rank-3{background:#fed7aa;color:#9a3412}

/* copy field */
.mapf-copy-field{display:flex;gap:8px;align-items:center}
.mapf-copy-field input{flex:1;font-size:13px;padding:10px 12px;border:1.5px solid var(--mapf-line);border-radius:var(--mapf-r-sm);background:var(--mapf-soft);color:var(--mapf-ink-2)}

/* =========================================================
   HOME (marketing)
   ========================================================= */
.mapf-home-hero{text-align:center;padding:40px 16px 28px}
.mapf-home-hero .e{font-size:54px}
.mapf-home-hero h1{font-size:30px;margin:10px 0 8px;letter-spacing:-.02em}
.mapf-home-hero p{color:var(--mapf-muted);font-size:16px;max-width:560px;margin:0 auto 22px;line-height:1.5}
.mapf-home-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:8px}
.mapf-feature{background:#fff;border:1px solid var(--mapf-line);border-radius:var(--mapf-r);padding:20px;box-shadow:var(--mapf-shadow-sm)}
.mapf-feature .e{font-size:28px}
.mapf-feature h3{font-size:16.5px;margin:10px 0 5px}
.mapf-feature p{font-size:13.5px;color:var(--mapf-muted);margin:0;line-height:1.5}
.mapf-steps-home{display:grid;grid-template-columns:1fr;gap:12px;counter-reset:s}
.mapf-step-home{display:flex;gap:14px;align-items:flex-start}
.mapf-step-home .num{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--mapf-c1),var(--mapf-c1-dark));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex:none;font-family:var(--mapf-display)}
.mapf-step-home h4{font-size:15.5px;margin:4px 0 3px}
.mapf-step-home p{font-size:13.5px;color:var(--mapf-muted);margin:0;line-height:1.5}
.mapf-tipos-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.mapf-tipo-pill{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--mapf-line);border-radius:999px;padding:9px 14px;font-size:13.5px;font-weight:600}

/* =========================================================
   AUTH
   ========================================================= */
.mapf-auth{max-width:430px;margin:30px auto}
.mapf-auth-card{background:#fff;border:1px solid var(--mapf-line);border-radius:22px;box-shadow:var(--mapf-shadow);padding:28px}
.mapf-auth-logo{text-align:center;font-size:40px;margin-bottom:6px}
.mapf-auth h1{text-align:center;font-size:23px;margin-bottom:4px}
.mapf-auth-sub{text-align:center;color:var(--mapf-muted);font-size:14px;margin-bottom:22px}
.mapf-auth-switch{text-align:center;margin-top:16px;font-size:14px;color:var(--mapf-muted)}

/* =========================================================
   LANDING (página pública de la actividad)
   ========================================================= */
.mapf-landing-wrap{--c1:#0e6fc4;--c2:#19a7dd;--c3:#fb7185;background:var(--mapf-bg);min-height:100vh;padding-bottom:96px;width:100%;margin:0 auto;overflow-x:clip}
.mapf-landing-inner{width:100%;max-width:720px;margin:0 auto;padding:0 14px}
.mapf-hero{position:relative;border-radius:0 0 26px 26px;overflow:hidden;color:#fff;width:100%;max-width:1040px;margin:0 auto;background:transparent}
/* Foto de portada: contenedor horizontal de proporción fija. La imagen subida se
   adapta SIEMPRE a este espacio con object-fit:cover (sin deformarse ni dejar huecos). */
.mapf-hero-photo{width:100%;aspect-ratio:16/9;background:#0b1220;line-height:0;overflow:hidden}
.mapf-hero-photo img{width:100%;height:100%;object-fit:cover;display:block}
/* Bloque de texto: SIEMPRE fuera de la imagen, sobre el degradado de la actividad. Alto contraste. */
.mapf-hero-content{position:relative;z-index:1;text-align:center;padding:26px 22px 30px;background:linear-gradient(135deg,var(--c1),var(--c2));border-radius:0 0 26px 26px}
/* Cuando NO hay imagen, el bloque de texto redondea también arriba. */
.mapf-hero:not(.has-img) .mapf-hero-content{border-radius:0 0 26px 26px;padding-top:36px}
.mapf-hero .mapf-type-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.20);border:1px solid rgba(255,255,255,.55);padding:6px 14px;border-radius:999px;font-size:12.5px;font-weight:700;margin-bottom:13px;backdrop-filter:blur(4px);color:#fff}
.mapf-hero .mapf-type-badge-vend{background:#fff;color:var(--mapf-ink)}
.mapf-hero h1{font-size:28px;line-height:1.18;margin-bottom:8px;color:#fff;font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.22)}
.mapf-hero .mapf-hero-motivo{font-size:15.5px;color:#fff;margin-bottom:4px;font-weight:500}
.mapf-hero .mapf-hero-info{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;font-size:13.5px;color:#fff;margin-top:14px}
.mapf-hero .mapf-hero-info span{display:inline-flex;align-items:center;gap:5px;background:rgba(255,255,255,.20);border:1px solid rgba(255,255,255,.30);padding:6px 13px;border-radius:999px;font-weight:500}

.mapf-landing-card{background:#fff;border:1px solid var(--mapf-line);border-radius:var(--mapf-r);box-shadow:var(--mapf-shadow-sm);padding:20px;margin-top:16px}
.mapf-landing-card h2{font-size:18px;margin-bottom:12px;display:flex;align-items:center;gap:8px}

/* progress on landing uses activity colors */
.mapf-landing-wrap .mapf-progress > span{background:linear-gradient(90deg,var(--c2),var(--c1))}
.mapf-landing-wrap .mapf-progress-meta .a{color:var(--c1)}

/* products */
#mapf-pedir{scroll-margin-top:90px}
.mapf-prod-list{display:flex;flex-direction:column;gap:12px;width:100%}
.mapf-prod{display:flex;gap:14px;align-items:center;border:1px solid var(--mapf-line);border-radius:var(--mapf-r-sm);padding:14px;transition:border-color .12s,box-shadow .12s,transform .12s;width:100%;min-width:0;background:#fff}
.mapf-prod:hover{border-color:var(--c1);box-shadow:var(--mapf-shadow-sm);transform:translateY(-1px)}
.mapf-prod-emoji{width:54px;height:54px;border-radius:12px;background:var(--mapf-soft);display:flex;align-items:center;justify-content:center;font-size:26px;flex:none;background-size:cover;background-position:center}
.mapf-prod-body{flex:1;min-width:0}
.mapf-prod-body .n{font-weight:700;font-size:15.5px}
.mapf-prod-body .d{font-size:13px;color:var(--mapf-muted);margin-top:2px}
.mapf-prod-price{font-family:var(--mapf-display);font-weight:700;color:var(--c1);font-size:16px;white-space:nowrap}
.mapf-prod .mapf-btn-primary{background:linear-gradient(135deg,var(--c1),var(--c2));box-shadow:none}

/* DONATION block — prominent */
.mapf-donate-block{position:relative;overflow:hidden;border:0;border-radius:var(--mapf-r);padding:24px 20px;margin-top:16px;background:linear-gradient(135deg,#fff1f2,#fff7ed);box-shadow:var(--mapf-shadow-sm)}
.mapf-donate-block::before{content:"❤";position:absolute;right:-10px;top:-18px;font-size:120px;color:rgba(244,63,94,.08);transform:rotate(8deg)}
.mapf-donate-block h2{font-size:20px;color:#9f1239;display:flex;align-items:center;gap:8px}
.mapf-donate-block p{font-size:14px;color:#9f1239;opacity:.9;margin:6px 0 16px;position:relative}
.mapf-donate-amounts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;position:relative}
.mapf-donate-amt{border:1.5px solid #fecdd3;background:#fff;color:var(--mapf-donate);font-weight:700;font-family:var(--mapf-display);padding:11px 18px;border-radius:999px;cursor:pointer;font-size:15px;transition:.12s}
.mapf-donate-amt:hover,.mapf-donate-amt.is-active{background:var(--mapf-donate);color:#fff;border-color:var(--mapf-donate)}

/* payment info */
.mapf-pay-grid{display:grid;grid-template-columns:1fr;gap:10px}
.mapf-pay-method{display:flex;gap:12px;align-items:center;border:1px solid var(--mapf-line);border-radius:var(--mapf-r-sm);padding:14px}
.mapf-pay-method .ico{width:46px;height:46px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px;flex:none;color:#fff}
.mapf-pay-yape{background:#6c2bd9}.mapf-pay-plin{background:#0aa5a5}.mapf-pay-banco{background:#1e3a8a}.mapf-pay-efectivo{background:#15803d}
.mapf-pay-method .gr{flex:1;min-width:0}
.mapf-pay-method .gr .t{font-weight:700;font-size:14.5px}
.mapf-pay-method .gr .v{font-size:14px;color:var(--mapf-ink-2);font-family:var(--mapf-display);font-weight:600}
.mapf-pay-method .gr .s{font-size:12px;color:var(--mapf-muted)}
.mapf-pay-qr{max-width:130px;border-radius:10px;border:1px solid var(--mapf-line)}

/* supporters wall */
.mapf-supporters{display:flex;flex-direction:column;gap:2px}
.mapf-supporter{display:flex;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--mapf-line)}
.mapf-supporter:last-child{border-bottom:0}
.mapf-supporter .av{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;flex:none;font-size:14px;font-family:var(--mapf-display);background:linear-gradient(135deg,var(--c2),var(--c1))}
.mapf-supporter.don .av{background:linear-gradient(135deg,var(--mapf-donate),var(--mapf-donate-2))}
.mapf-supporter .gr{flex:1;min-width:0}
.mapf-supporter .gr .n{font-weight:600;font-size:14px}
.mapf-supporter .gr .m{font-size:12.5px;color:var(--mapf-muted)}
.mapf-supporter .amt{font-weight:700;font-family:var(--mapf-display);color:var(--c1);font-size:14px}
.mapf-supporter.don .amt{color:var(--mapf-donate)}

/* share row */
.mapf-share-row{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.mapf-share-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border-radius:var(--mapf-r-sm);border:1.5px solid var(--mapf-line);background:#fff;font-weight:600;font-size:14px;cursor:pointer;text-decoration:none;color:var(--mapf-ink-2)}
.mapf-share-btn:hover{border-color:var(--c1)}

/* legal */
.mapf-legal{font-size:12px;color:var(--mapf-muted);background:#fff;border:1px solid var(--mapf-line);border-radius:var(--mapf-r-sm);padding:14px;margin-top:16px;line-height:1.55}
.mapf-powered{text-align:center;font-size:12px;color:var(--mapf-muted);padding:22px 0}

/* landing sticky CTA */
.mapf-landing-cta{
	position:fixed;bottom:0;left:50%;transform:translateX(-50%);
	width:100%;max-width:720px;
	background:rgba(255,255,255,.94);backdrop-filter:blur(10px);
	border-top:1px solid var(--mapf-line);border-radius:18px 18px 0 0;
	padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px));
	display:flex;gap:10px;z-index:60;box-shadow:0 -8px 28px rgba(15,23,42,.10);
}
.mapf-landing-cta .mapf-btn{flex:1;min-width:0}
.mapf-landing-cta .mapf-btn-primary{background:linear-gradient(135deg,var(--c1),var(--c2))}

/* finalized / paused notice */
.mapf-state-banner{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;padding:13px 16px;border-radius:var(--mapf-r-sm);font-size:14px;text-align:center;margin-top:16px}

/* =========================================================
   Help FAB (asistente)
   ========================================================= */
#mapf-help-root .mapf-help-fab{position:fixed;right:18px;bottom:18px;width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,var(--mapf-c1),var(--mapf-c1-dark));color:#fff;border:0;font-size:24px;font-weight:700;cursor:pointer;box-shadow:0 8px 24px rgba(14,111,196,.4);z-index:90;display:flex;align-items:center;justify-content:center}
#mapf-help-root .mapf-help-panel{position:fixed;right:18px;bottom:82px;width:340px;max-width:calc(100vw - 36px);max-height:70vh;background:#fff;border-radius:18px;box-shadow:0 20px 50px rgba(0,0,0,.25);z-index:91;overflow:hidden;display:flex;flex-direction:column;animation:mapf-slideup .25s ease}
#mapf-help-root .mapf-help-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:linear-gradient(135deg,var(--mapf-c1),var(--mapf-c1-dark));color:#fff;font-family:var(--mapf-display);font-weight:700}
#mapf-help-root .mapf-help-x{background:transparent;border:0;color:#fff;font-size:22px;cursor:pointer}
#mapf-help-root .mapf-help-tabs{display:flex;border-bottom:1px solid var(--mapf-line)}
#mapf-help-root .mapf-help-tabs button{flex:1;background:none;border:0;padding:11px;font-weight:600;font-size:13.5px;color:var(--mapf-muted);cursor:pointer;font-family:var(--mapf-display)}
#mapf-help-root .mapf-help-tabs button.on{color:var(--mapf-c1-dark);box-shadow:inset 0 -2px 0 var(--mapf-c1)}
#mapf-help-root .mapf-help-body{padding:14px 16px;overflow-y:auto}
#mapf-help-root .mapf-help-steps{list-style:none;margin:0;padding:0;counter-reset:hs}
#mapf-help-root .mapf-help-steps li{position:relative;padding:0 0 14px 0}
#mapf-help-root .mapf-help-steps li strong{display:block;font-size:14px;color:var(--mapf-ink)}
#mapf-help-root .mapf-help-steps li span{display:block;font-size:13px;color:var(--mapf-muted);margin-top:2px;line-height:1.45}
#mapf-help-root .mapf-help-faq details{border-bottom:1px solid var(--mapf-line);padding:8px 0}
#mapf-help-root .mapf-help-faq summary{cursor:pointer;font-weight:600;font-size:13.5px;color:var(--mapf-ink)}
#mapf-help-root .mapf-help-faq p{font-size:13px;color:var(--mapf-muted);margin:7px 0 0;line-height:1.45}
#mapf-help-root .mapf-help-wa{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;background:var(--mapf-wa);color:#fff;padding:11px;border-radius:10px;text-decoration:none;font-weight:600;font-size:14px}

/* =========================================================
   Responsive (tablet/desktop)
   ========================================================= */
@media(min-width:640px){
	.mapf-stats{grid-template-columns:repeat(4,1fr)}
	.mapf-home-grid{grid-template-columns:repeat(3,1fr)}
	.mapf-steps-home{grid-template-columns:repeat(2,1fr)}
	.mapf-pay-grid{grid-template-columns:1fr 1fr}
	.mapf-modal{align-items:center}
	.mapf-modal-card{border-radius:22px}
	.mapf-choices{grid-template-columns:repeat(3,1fr)}
}
@media(min-width:880px){
	.mapf-panel-cols{display:grid;grid-template-columns:1fr 320px;gap:18px;align-items:start}
	/* Landing en desktop: hero contenido con esquinas redondeadas y sombra */
	.mapf-hero{border-radius:26px;margin-top:22px;box-shadow:var(--mapf-shadow)}
}
/* Landing desktop/tablet: la tienda se muestra en 2 columnas, llena el ancho y queda centrada */
@media(min-width:760px){
	.mapf-landing-inner{max-width:760px}
	.mapf-prod-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}
	.mapf-landing-cta{max-width:760px}
}
/* Móvil: el botón de cerrar sesión muestra solo el ícono para no saturar la barra */
@media(max-width:480px){
	.mapf-logout .mapf-logout-txt{display:none}
	.mapf-logout{padding:9px 12px}
}

/* =========================================================
   Carrito de pedido (multi-producto)  — v2.1
   ========================================================= */
.mapf-cart-help{font-size:13.5px;color:var(--mapf-muted);margin:0 0 14px;line-height:1.5}
.mapf-cart{display:flex;flex-direction:column;gap:10px}
.mapf-cart-item{display:flex;gap:12px;align-items:center;border:1.5px solid var(--mapf-line);border-radius:var(--mapf-r-sm);padding:12px;transition:border-color .12s,background .12s}
.mapf-cart-item.is-on{border-color:var(--c1,var(--mapf-c1));background:#eef6ff}
.mapf-cart-emoji{width:50px;height:50px;border-radius:11px;background:var(--mapf-soft);display:flex;align-items:center;justify-content:center;font-size:24px;flex:none;background-size:cover;background-position:center}
.mapf-cart-info{flex:1;min-width:0}
.mapf-cart-info .n{font-weight:700;font-size:15.5px;line-height:1.25}
.mapf-cart-info .d{font-size:12.5px;color:var(--mapf-muted);margin-top:2px;line-height:1.35}
.mapf-cart-info .p{font-family:var(--mapf-display);font-weight:700;color:var(--c1,var(--mapf-c1-dark));font-size:15px;margin-top:3px}
.mapf-cart-libre{display:flex;align-items:center;gap:6px;margin-top:8px;max-width:200px}
.mapf-cart-libre .mapf-prefix{font-weight:700;color:var(--mapf-muted);font-size:15px}
.mapf-cart-amount{width:100%;height:46px;border:1.5px solid var(--mapf-line);border-radius:10px;padding:0 12px;font-size:16px;font-weight:600;color:var(--mapf-ink);background:#fff;-moz-appearance:textfield}
.mapf-cart-amount::-webkit-outer-spin-button,.mapf-cart-amount::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.mapf-cart-amount:focus{outline:none;border-color:var(--c1,var(--mapf-c1));box-shadow:0 0 0 3px rgba(14,111,196,.15)}
/* stepper +/- */
.mapf-stepper{display:flex;align-items:center;flex:none;border:1.5px solid var(--mapf-line);border-radius:999px;overflow:hidden;background:#fff}
.mapf-step-btn{width:44px;height:44px;border:0;background:#fff;color:var(--c1,var(--mapf-c1-dark));font-size:22px;font-weight:700;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}
.mapf-step-btn:active{background:var(--mapf-soft)}
.mapf-step-val{width:42px;height:44px;border:0;border-left:1.5px solid var(--mapf-line);border-right:1.5px solid var(--mapf-line);text-align:center;font-size:16px;font-weight:700;color:var(--mapf-ink);background:#fff;-moz-appearance:textfield}
.mapf-step-val::-webkit-outer-spin-button,.mapf-step-val::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.mapf-step-val:focus{outline:none;background:#eef6ff}
/* estado vacío + total */
.mapf-cart-empty{margin-top:12px;text-align:center;font-size:14px;color:var(--mapf-muted);background:var(--mapf-soft);border-radius:var(--mapf-r-sm);padding:16px;line-height:1.5}
.mapf-modal-foot{margin-top:18px;position:sticky;bottom:-22px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 22%);padding-top:6px}
.mapf-cart-total{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px;padding-top:14px;border-top:1.5px dashed var(--mapf-line)}
.mapf-cart-total .lbl{font-size:14px;color:var(--mapf-muted);font-weight:600}
.mapf-cart-total .val{font-family:var(--mapf-display);font-weight:700;font-size:24px;color:var(--c1,var(--mapf-c1-dark))}

/* botón deshabilitado (página en pausa por saldo) */
.mapf-btn.is-disabled,.mapf-btn[disabled]{opacity:.55;cursor:not-allowed;box-shadow:none;filter:grayscale(.15)}

/* banner público de pausa (sin saldo) */
.mapf-state-banner.mapf-state-paused{background:#f1f5f9;border-color:#cbd5e1;color:#334155}
/* bloque de donación en pausa */
.mapf-donate-block.is-paused{filter:grayscale(.18);opacity:.95}
.mapf-donate-block.is-paused .mapf-hint{color:#9f1239;position:relative}

/* =========================================================
   Home v2.1 — lead, badges, tarjeta de precio
   ========================================================= */
.mapf-home-lead{color:var(--mapf-muted);font-size:16.5px;max-width:580px;margin:0 auto 22px;line-height:1.55}
.mapf-home-badges{display:flex;flex-wrap:wrap;gap:8px 10px;justify-content:center;margin-top:16px}
.mapf-home-badges span{background:#fff;border:1px solid var(--mapf-line);border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;color:var(--mapf-ink-2);box-shadow:var(--mapf-shadow-sm)}
.mapf-price-card{display:flex;gap:16px;align-items:flex-start;background:linear-gradient(135deg,#ecfeff,#eef6ff);border:1px solid #99f6e4;border-radius:var(--mapf-r);padding:20px;margin-top:18px;box-shadow:var(--mapf-shadow-sm)}
.mapf-price-emoji{font-size:34px;flex:none;line-height:1}
.mapf-price-body h3{font-size:18px;margin:0 0 6px;color:var(--mapf-c1-dark)}
.mapf-price-body p{font-size:14.5px;color:var(--mapf-ink-2);margin:0;line-height:1.55}
.mapf-price-examples{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.mapf-price-examples span{background:#fff;border:1px solid #99f6e4;border-radius:999px;padding:6px 13px;font-size:13px;color:var(--mapf-ink-2)}
.mapf-price-examples strong{color:var(--mapf-c1-dark)}
.mapf-home-cta p{font-size:15px}

/* responsive carrito / precio */
@media(min-width:640px){
	.mapf-cart-emoji{width:54px;height:54px;font-size:26px}
	.mapf-price-emoji{font-size:40px}
}

/* =========================================================
   v2.2 — Fluidez de interacción y pulido visual
   ========================================================= */
/* contenedores siempre centrados y sin desbordes laterales */
.mapf-shell{width:100%}
.mapf-shell,.mapf-landing-wrap{overflow-wrap:anywhere}
.mapf-btn,.mapf-share-btn,.mapf-tab,.mapf-donate-amt,.mapf-step-btn,.mapf-choice,.mapf-swatch{touch-action:manipulation;-webkit-tap-highlight-color:transparent}

/* steppers + / − del carrito */
.mapf-step-btn{transition:background .12s ease,transform .1s ease}
.mapf-step-btn:active{transform:scale(.9)}

/* montos sugeridos de donación */
.mapf-donate-amt{transition:background .12s ease,color .12s ease,border-color .12s ease,transform .1s ease}
.mapf-donate-amt:active{transform:scale(.95)}

/* botones de compartir */
.mapf-share-btn{transition:border-color .15s ease,box-shadow .15s ease,transform .12s ease}
.mapf-share-btn:hover{box-shadow:var(--mapf-shadow-sm);transform:translateY(-1px)}
.mapf-share-btn:active{transform:scale(.98)}
.mapf-share-btn:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(14,111,196,.25)}

/* tabs del panel */
.mapf-tab{transition:color .15s ease,border-color .15s ease}
.mapf-tab:hover{color:var(--mapf-ink-2)}

/* tarjetas seleccionables del asistente */
.mapf-choice:active,.mapf-swatch:active{transform:scale(.985)}

/* botón cerrar sesión */
.mapf-logout{flex:none}
.mapf-logout:hover{border-color:#fca5a5;color:var(--mapf-danger)}

/* inputs y selects: misma altura visual que botones en filas mixtas */
.mapf-select{appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}

/* accesibilidad: respetar usuarios con movimiento reducido */
@media (prefers-reduced-motion: reduce){
	.mapf-btn,.mapf-share-btn,.mapf-step-btn,.mapf-donate-amt,.mapf-prod,.mapf-choice,.mapf-swatch{transition:none}
	.mapf-btn:hover,.mapf-btn:active,.mapf-share-btn:hover,.mapf-share-btn:active,.mapf-prod:hover{transform:none}
	.mapf-tabpane.is-active,.mapf-wizard-step.is-active,.mapf-modal.is-open,.mapf-modal-card{animation:none}
}

/* =========================================================
   v2.3 — Premios / sorteo + contraste de textos
   ========================================================= */
/* Tarjeta de premios (rifa, bingo, campeonato) */
.mapf-premios-card{background:linear-gradient(135deg,#fffbeb,#fff7ed);border-color:#fde68a}
.mapf-premios-card h2{color:#92400e}
.mapf-premios{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.mapf-premio{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #fde68a;border-radius:var(--mapf-r-sm);padding:12px 14px;font-size:14.5px;color:var(--mapf-ink);font-weight:600}
.mapf-premio .pos{font-size:22px;flex:none}
.mapf-premio .txt{min-width:0}
.mapf-premio.top{border-color:#f59e0b;background:linear-gradient(135deg,#fff,#fffbeb);box-shadow:0 4px 14px rgba(245,158,11,.18);font-size:15.5px}
.mapf-sorteo-info{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:14px;padding-top:12px;border-top:1px dashed #fde68a;font-size:13.5px;color:#92400e;font-weight:600}
.mapf-sorteo-info span{display:inline-flex;align-items:center;gap:6px}

/* Contraste de textos — WCAG AA */
.mapf-input::placeholder,.mapf-textarea::placeholder,.mapf-select:invalid,.mapf-cart-amount::placeholder{color:#7c8699;opacity:1}
.mapf-copy-field input{color:#3d4554}
.mapf-stat-accent .mapf-stat-l{color:rgba(255,255,255,.95)}
.mapf-saldo-pill{text-shadow:0 1px 2px rgba(0,0,0,.25)}
.mapf-landing-cta{background:rgba(255,255,255,.97)}
.mapf-powered,.mapf-powered a{color:var(--mapf-muted)}
.mapf-legal{color:#4b5563}
.mapf-donate-block h2,.mapf-donate-block p{color:#881337}
.mapf-donate-amt{color:#be123c;border-color:#fda4af}
.mapf-state-banner{color:#7c2d12;font-weight:600}
.mapf-empty{color:#5b6779}
/* precio bloqueado cuando el producto es de aporte libre */
.mapf-prod-row input[readonly]{background:var(--mapf-soft);color:var(--mapf-muted);cursor:not-allowed}

/* =========================================================
   v2.4 — Plantillas recomendadas por tipo + pulido del asistente
   ========================================================= */
.mapf-swatches{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}
.mapf-swatch{position:relative;transition:border-color .15s ease,box-shadow .15s ease,transform .12s ease;display:flex;flex-direction:column;gap:2px}
.mapf-swatch:hover{transform:translateY(-2px);box-shadow:var(--mapf-shadow-sm)}
.mapf-swatch .bar{position:relative;height:30px}
.mapf-swatch .bar .dot{position:absolute;right:6px;bottom:6px;width:12px;height:12px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.mapf-swatch .nm{font-size:12px;font-weight:700;color:var(--mapf-ink-2)}
.mapf-swatch .mapf-swatch-reco{display:block;font-size:10.5px;font-weight:700;color:#92400e;background:#fef3c7;border-radius:999px;padding:2px 6px;margin-top:2px;line-height:1.3}
.mapf-swatch.is-active{border-color:var(--mapf-c1);box-shadow:0 0 0 3px rgba(14,111,196,.18)}
.mapf-swatch.is-active .nm{color:var(--mapf-c1-dark)}

/* barra de pasos con etiquetas */
.mapf-step-dot{flex-direction:column;gap:4px;text-align:center}
.mapf-step-dot .n{margin:0 auto}
.mapf-step-dot .lbl{font-size:11.5px}
.mapf-wizard-bar{align-items:flex-start}
.mapf-step-sep{margin-top:14px}

/* =========================================================
   v2.5 — Portada profesional (landing de la plataforma)
   ========================================================= */
.mapf-lp{max-width:1080px;margin:0 auto}
.mapf-lp-hero{position:relative;overflow:hidden;border-radius:28px;margin:6px 0 8px;padding:54px 22px 48px;text-align:center;background:radial-gradient(120% 130% at 12% 0%,#e8f3ff 0%,#f2f9ff 40%,#ffffff 74%);border:1px solid #e3edf8}
.mapf-lp-hero::before{content:"";position:absolute;width:430px;height:430px;left:-130px;top:-170px;background:radial-gradient(circle,rgba(25,167,221,.30),transparent 62%);pointer-events:none}
.mapf-lp-hero::after{content:"";position:absolute;width:380px;height:380px;right:-130px;bottom:-160px;background:radial-gradient(circle,rgba(90,168,50,.24),transparent 62%);pointer-events:none}
.mapf-lp-hero>*{position:relative;z-index:1}
.mapf-lp-logo{display:inline-flex;align-items:center;justify-content:center;width:98px;height:98px;border-radius:26px;background:#fff;box-shadow:0 14px 36px rgba(11,42,82,.16);margin-bottom:18px}
.mapf-lp-logo img{width:72px;height:72px;display:block}
.mapf-lp-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--mapf-c1-dark);background:#e7f1fb;border:1px solid #cfe3f7;padding:6px 14px;border-radius:999px;margin-bottom:16px}
.mapf-lp-hero h1{font-size:clamp(28px,5.6vw,44px);font-weight:700;line-height:1.1;letter-spacing:-.02em;max-width:20ch;margin:0 auto 16px;color:var(--mapf-ink)}
.mapf-lp-hero h1 .hl{background:linear-gradient(120deg,var(--mapf-c1-dark),var(--mapf-c1));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.mapf-lp-lead{font-size:clamp(15px,2.4vw,18px);color:var(--mapf-ink-2);max-width:48ch;margin:0 auto 26px;line-height:1.55}
.mapf-lp-cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.mapf-lp-trust{display:flex;flex-wrap:wrap;gap:9px 20px;justify-content:center;margin-top:24px;font-size:13.5px;color:var(--mapf-muted);font-weight:600}
.mapf-lp-trust span{display:inline-flex;align-items:center;gap:6px}
.mapf-lp-trust .ck{color:var(--mapf-green-dark);font-weight:700}
.mapf-lp-pillars{display:grid;grid-template-columns:1fr;gap:14px;margin:30px 0}
.mapf-lp-pillar{background:#fff;border:1px solid var(--mapf-line);border-radius:20px;padding:24px 22px;box-shadow:var(--mapf-shadow-sm)}
.mapf-lp-pillar .ic{width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:14px;color:#fff}
.mapf-lp-pillar.p1 .ic{background:linear-gradient(135deg,var(--mapf-c1),var(--mapf-c2))}
.mapf-lp-pillar.p2 .ic{background:linear-gradient(135deg,var(--mapf-green),var(--mapf-green-dark))}
.mapf-lp-pillar.p3 .ic{background:linear-gradient(135deg,var(--mapf-navy),#143a6b)}
.mapf-lp-pillar h3{font-size:19px;margin:0 0 7px;font-weight:600}
.mapf-lp-pillar p{font-size:14.5px;color:var(--mapf-ink-2);margin:0;line-height:1.55}
.mapf-lp-sec{margin:36px 0}
.mapf-lp-sec-head{text-align:center;max-width:44ch;margin:0 auto 22px}
.mapf-lp-sec-head h2{font-size:clamp(22px,4vw,30px);font-weight:700;letter-spacing:-.01em;margin:0 0 8px}
.mapf-lp-sec-head p{font-size:15px;color:var(--mapf-muted);margin:0;line-height:1.5}
.mapf-lp-steps{display:grid;grid-template-columns:1fr;gap:14px}
.mapf-lp-step{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--mapf-line);border-radius:16px;padding:18px;box-shadow:var(--mapf-shadow-sm)}
.mapf-lp-step .num{width:38px;height:38px;border-radius:12px;flex:none;display:flex;align-items:center;justify-content:center;font-family:var(--mapf-display);font-weight:700;color:#fff;background:linear-gradient(135deg,var(--mapf-c1),var(--mapf-c1-dark))}
.mapf-lp-step h4{font-size:16px;margin:2px 0 4px;font-weight:600}
.mapf-lp-step p{font-size:14px;color:var(--mapf-muted);margin:0;line-height:1.5}
.mapf-lp-feats{display:grid;grid-template-columns:1fr;gap:14px}
.mapf-lp-feat{background:#fff;border:1px solid var(--mapf-line);border-radius:18px;padding:22px;box-shadow:var(--mapf-shadow-sm);transition:transform .14s ease,box-shadow .18s ease}
.mapf-lp-feat:hover{transform:translateY(-3px);box-shadow:var(--mapf-shadow)}
.mapf-lp-feat .ic{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:12px;background:#eef6ff;color:var(--mapf-c1-dark)}
.mapf-lp-feat.g .ic{background:#eef7e6;color:var(--mapf-green-dark)}
.mapf-lp-feat.n .ic{background:#e9eef6;color:var(--mapf-navy)}
.mapf-lp-feat h3{font-size:16.5px;margin:0 0 6px;font-weight:600}
.mapf-lp-feat p{font-size:14px;color:var(--mapf-muted);margin:0;line-height:1.55}
.mapf-lp-price{background:linear-gradient(135deg,#eef6ff,#f3faff);border:1px solid #cfe3f7;border-radius:22px;padding:28px 24px;text-align:center}
.mapf-lp-price .tag{display:inline-flex;align-items:baseline;gap:7px;font-family:var(--mapf-display);margin:4px 0}
.mapf-lp-price .tag b{font-size:42px;font-weight:700;color:var(--mapf-c1-dark);line-height:1}
.mapf-lp-price .tag span{font-size:15px;color:var(--mapf-muted)}
.mapf-lp-price h3{font-size:21px;margin:0 0 4px;font-weight:600}
.mapf-lp-price p{font-size:14.5px;color:var(--mapf-ink-2);max-width:48ch;margin:6px auto 0;line-height:1.55}
.mapf-lp-price-ex{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:16px}
.mapf-lp-price-ex span{background:#fff;border:1px solid #cfe3f7;border-radius:999px;padding:7px 14px;font-size:13px;color:var(--mapf-ink-2)}
.mapf-lp-price-ex b{color:var(--mapf-c1-dark)}
.mapf-lp-tipos{display:flex;flex-wrap:wrap;gap:9px;justify-content:center}
.mapf-lp-tipo{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--mapf-line);border-radius:999px;padding:9px 15px;font-size:13.5px;font-weight:600;color:var(--mapf-ink-2);box-shadow:var(--mapf-shadow-sm)}
.mapf-lp-final{position:relative;overflow:hidden;border-radius:26px;padding:46px 24px;text-align:center;color:#fff;background:linear-gradient(135deg,var(--mapf-navy),var(--mapf-c1-dark) 58%,var(--mapf-c1));box-shadow:0 18px 44px rgba(11,42,82,.28)}
.mapf-lp-final::after{content:"";position:absolute;width:360px;height:360px;right:-130px;top:-140px;background:radial-gradient(circle,rgba(90,168,50,.42),transparent 60%);pointer-events:none}
.mapf-lp-final>*{position:relative;z-index:1}
.mapf-lp-final h2{color:#fff;font-size:clamp(22px,4.4vw,32px);font-weight:700;margin:0 0 10px}
.mapf-lp-final p{color:rgba(255,255,255,.92);font-size:15.5px;max-width:44ch;margin:0 auto 22px;line-height:1.55}
.mapf-lp-final .mapf-btn{background:#fff;color:var(--mapf-c1-dark);box-shadow:0 8px 22px rgba(0,0,0,.18)}
.mapf-lp-final .mapf-btn:hover{color:var(--mapf-c1-dark);box-shadow:0 12px 28px rgba(0,0,0,.26)}
.mapf-lp-final .ghost{background:transparent;color:#fff;border:1.6px solid rgba(255,255,255,.55);box-shadow:none}
.mapf-lp-final .ghost:hover{background:rgba(255,255,255,.12);color:#fff}
/* Bloque problema -> solución (antes / después) */
.mapf-lp-ba{display:grid;grid-template-columns:1fr;gap:14px}
.mapf-lp-ba-col{border-radius:20px;padding:22px;border:1px solid var(--mapf-line);background:#fff;box-shadow:var(--mapf-shadow-sm)}
.mapf-lp-ba-col.before{background:#fff7f6;border-color:#f6d9d6}
.mapf-lp-ba-col.after{background:#f1faf0;border-color:#cfe9c8}
.mapf-lp-ba-col .hd{display:flex;align-items:center;gap:9px;font-family:var(--mapf-display);font-weight:700;font-size:16px;margin-bottom:12px}
.mapf-lp-ba-col.before .hd{color:#b4453d}
.mapf-lp-ba-col.after .hd{color:var(--mapf-green-dark)}
.mapf-lp-ba-col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.mapf-lp-ba-col li{position:relative;padding-left:26px;font-size:14.5px;color:var(--mapf-ink-2);line-height:1.5}
.mapf-lp-ba-col li::before{position:absolute;left:0;top:0;font-weight:700}
.mapf-lp-ba-col.before li::before{content:"\2717";color:#d9534f}
.mapf-lp-ba-col.after li::before{content:"\2713";color:var(--mapf-green-dark)}

/* Para quién es (audiencias) */
.mapf-lp-who{display:grid;grid-template-columns:1fr;gap:14px}
.mapf-lp-who-card{background:#fff;border:1px solid var(--mapf-line);border-radius:18px;padding:22px;box-shadow:var(--mapf-shadow-sm);transition:transform .14s ease,box-shadow .18s ease}
.mapf-lp-who-card:hover{transform:translateY(-3px);box-shadow:var(--mapf-shadow)}
.mapf-lp-who-card .ic{font-size:30px;line-height:1;margin-bottom:12px}
.mapf-lp-who-card h4{font-size:16.5px;margin:0 0 6px;font-weight:600;color:var(--mapf-ink)}
.mapf-lp-who-card p{font-size:14px;color:var(--mapf-muted);margin:0;line-height:1.55}

/* Precio: badge y bullets */
.mapf-lp-price-badge{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--mapf-green-dark);background:#eaf6e2;border:1px solid #cfe9c8;padding:6px 14px;border-radius:999px;margin-bottom:14px}
.mapf-lp-price-points{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:center;margin-top:18px;font-size:14px;font-weight:600;color:var(--mapf-ink-2)}
.mapf-lp-price-points span{display:inline-flex;align-items:center;gap:7px}
.mapf-lp-price-points .ck{color:var(--mapf-green-dark);font-weight:700}

/* Kicker (eyebrow) de cada sección */
.mapf-lp-kicker{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mapf-c1);background:#eaf2fb;padding:5px 13px;border-radius:999px;margin-bottom:12px}

/* Chips de "diseñada para todo tipo de actividades" */
.mapf-lp-uses{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:880px;margin:0 auto}
.mapf-lp-use{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--mapf-line);border-radius:14px;padding:11px 16px;font-size:14px;font-weight:600;color:var(--mapf-ink-2);box-shadow:var(--mapf-shadow-sm);transition:transform .14s ease,box-shadow .18s ease,border-color .14s ease}
.mapf-lp-use:hover{transform:translateY(-2px);box-shadow:var(--mapf-shadow);border-color:#cfe0f2}

/* Grid de actividades publicadas recientes */
.mapf-lp-acts{display:grid;grid-template-columns:1fr;gap:18px}
.mapf-lp-act{--ac1:#0e6fc4;--ac2:#19a7dd;background:#fff;border:1px solid var(--mapf-line);border-radius:20px;overflow:hidden;box-shadow:var(--mapf-shadow-sm);display:flex;flex-direction:column;transition:transform .16s ease,box-shadow .2s ease}
.mapf-lp-act:hover{transform:translateY(-4px);box-shadow:var(--mapf-shadow)}
.mapf-lp-act-media{position:relative;display:block;aspect-ratio:16/10;background:linear-gradient(135deg,var(--ac1),var(--ac2));overflow:hidden;line-height:0}
.mapf-lp-act-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.mapf-lp-act:hover .mapf-lp-act-media img{transform:scale(1.05)}
.mapf-lp-act-emoji{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:58px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.18))}
.mapf-lp-act-badge{position:absolute;left:12px;top:12px;background:rgba(15,23,42,.62);color:#fff;font-size:12px;font-weight:600;padding:5px 11px;border-radius:999px;backdrop-filter:blur(4px)}
.mapf-lp-act-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:7px;flex:1}
.mapf-lp-act-body h3{font-size:17px;font-weight:600;line-height:1.25;margin:0}
.mapf-lp-act-body h3 a{color:var(--mapf-ink)}
.mapf-lp-act-body h3 a:hover{color:var(--mapf-c1-dark);text-decoration:none}
.mapf-lp-act-motivo{font-size:13.5px;color:var(--mapf-muted);margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mapf-lp-act-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--mapf-ink-2);margin-top:2px}
.mapf-lp-act-meta span{display:inline-flex;align-items:center;gap:5px}
.mapf-lp-act-btn{align-self:flex-start;margin-top:8px}

@media(min-width:760px){
	.mapf-lp-pillars{grid-template-columns:repeat(3,1fr)}
	.mapf-lp-steps{grid-template-columns:repeat(2,1fr)}
	.mapf-lp-feats{grid-template-columns:repeat(3,1fr)}
	.mapf-lp-ba{grid-template-columns:1fr 1fr}
	.mapf-lp-who{grid-template-columns:repeat(3,1fr)}
	.mapf-lp-acts{grid-template-columns:repeat(3,1fr)}
}
@media(min-width:480px) and (max-width:759px){
	.mapf-lp-acts{grid-template-columns:repeat(2,1fr)}
}

/* =========================================================
   v2.5 — Selector de color personalizado (interactor)
   ========================================================= */
.mapf-cp{margin-top:18px;border-top:1px dashed var(--mapf-line);padding-top:16px}
.mapf-cp-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.mapf-cp-head .t{font-weight:600;font-size:14.5px;display:flex;align-items:center;gap:7px;color:var(--mapf-ink-2)}
.mapf-cp-toggle{background:var(--mapf-soft);border:1.5px solid var(--mapf-line);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;color:var(--mapf-ink-2);cursor:pointer;font-family:var(--mapf-display)}
.mapf-cp-toggle.is-on{background:#eef6ff;border-color:#bcd8f5;color:var(--mapf-c1-dark)}
.mapf-cp-body{display:none;margin-top:14px}
.mapf-cp-body.is-open{display:block;animation:mapf-fade .2s ease}
.mapf-cp-preview{height:62px;border-radius:14px;margin-bottom:14px;position:relative;border:1px solid var(--mapf-line);overflow:hidden}
.mapf-cp-preview .dot{position:absolute;right:12px;bottom:10px;width:22px;height:22px;border-radius:50%;border:3px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.mapf-cp-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.mapf-cp-slot{border:1.5px solid var(--mapf-line);border-radius:var(--mapf-r-sm);padding:10px;text-align:center;cursor:pointer;background:#fff;transition:border-color .15s,box-shadow .15s}
.mapf-cp-slot:hover{border-color:#bcd8f5}
.mapf-cp-slot.is-active{border-color:var(--mapf-c1);box-shadow:0 0 0 3px rgba(14,111,196,.16)}
.mapf-cp-slot .sw{height:34px;border-radius:9px;border:1px solid rgba(0,0,0,.08);margin-bottom:8px}
.mapf-cp-slot .lb{font-size:12px;font-weight:600;color:var(--mapf-ink-2);display:block}
.mapf-cp-slot .hx{font-size:11px;color:var(--mapf-muted);font-family:var(--mapf-display);letter-spacing:.03em}
.mapf-cp-pop{margin-top:12px;border:1px solid var(--mapf-line);border-radius:16px;padding:14px;background:#fff;box-shadow:var(--mapf-shadow);display:none}
.mapf-cp-pop.is-open{display:block;animation:mapf-fade .15s ease}
.mapf-cp-sv{position:relative;width:100%;height:160px;border-radius:12px;cursor:crosshair;touch-action:none;border:1px solid rgba(0,0,0,.08)}
.mapf-cp-sv .pt{position:absolute;width:16px;height:16px;border-radius:50%;border:2.5px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.45),inset 0 0 0 1px rgba(0,0,0,.25);transform:translate(-50%,-50%);pointer-events:none}
.mapf-cp-hue{position:relative;height:16px;border-radius:999px;margin-top:14px;cursor:pointer;touch-action:none;background:linear-gradient(90deg,#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00)}
.mapf-cp-hue .pt{position:absolute;top:50%;width:20px;height:20px;border-radius:50%;background:#fff;border:2px solid rgba(0,0,0,.12);box-shadow:0 1px 4px rgba(0,0,0,.3);transform:translate(-50%,-50%);pointer-events:none}
.mapf-cp-foot{display:flex;align-items:center;gap:10px;margin-top:14px}
.mapf-cp-hex{flex:1;display:flex;align-items:center;gap:6px;border:1.5px solid var(--mapf-line);border-radius:10px;padding:9px 11px}
.mapf-cp-hex .h{font-family:var(--mapf-display);font-weight:600;color:var(--mapf-muted)}
.mapf-cp-hex input{border:0;outline:none;width:100%;font-size:14px;font-family:var(--mapf-display);text-transform:uppercase;color:var(--mapf-ink);letter-spacing:.05em;background:none}
.mapf-cp-native{width:44px;height:42px;border:1.5px solid var(--mapf-line);border-radius:10px;padding:2px;cursor:pointer;background:#fff}
.mapf-cp-done{font-size:13px}

/* =========================================================
   v2.5 — Feedback de subida de imágenes
   ========================================================= */
.mapf-upl{margin-top:8px;display:none;align-items:center;gap:12px;border:1px solid var(--mapf-line);border-radius:12px;padding:10px 12px;background:#fff}
.mapf-upl.is-show{display:flex;animation:mapf-fade .18s ease}
.mapf-upl.is-loading{background:#eef6ff;border-color:#bcd8f5}
.mapf-upl.is-ok{background:#edf7e6;border-color:#bfe3a3}
.mapf-upl.is-err{background:#fef2f2;border-color:#fecaca}
.mapf-upl-thumb{width:46px;height:46px;border-radius:10px;flex:none;background:var(--mapf-soft) center/cover no-repeat;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--mapf-muted)}
.mapf-upl-spin{width:20px;height:20px;flex:none;border:2.5px solid rgba(14,111,196,.25);border-top-color:var(--mapf-c1);border-radius:50%;animation:mapf-spin .7s linear infinite}
.mapf-upl-body{flex:1;min-width:0}
.mapf-upl-body .t{font-size:13.5px;font-weight:600;color:var(--mapf-ink-2);line-height:1.3}
.mapf-upl.is-ok .t{color:#2f6e1d}
.mapf-upl.is-err .t{color:#991b1b}
.mapf-upl-body .s{font-size:12px;color:var(--mapf-muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mapf-upl-bar{height:5px;border-radius:999px;background:#dbe9fb;overflow:hidden;margin-top:5px}
.mapf-upl-bar>i{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,var(--mapf-c2),var(--mapf-c1));transition:width .2s ease}
.mapf-upl-x{background:transparent;border:0;color:var(--mapf-muted);font-size:18px;cursor:pointer;flex:none;line-height:1;padding:2px 4px}

/* =========================================================
   v2.6 — Landing premium (VendeTicket.com)
   Rediseño de alto nivel: tipografía Space Grotesk, hero
   dinámico, bento grid, animaciones de scroll y micro-UX.
   ========================================================= */
:root{
	--vt-display:"Space Grotesk","Plus Jakarta Sans",var(--mapf-font);
	--vt-grad:linear-gradient(120deg,#0a4f96 0%,#0e6fc4 45%,#19a7dd 100%);
	--vt-grad-soft:linear-gradient(135deg,#eef6ff,#f4faff);
	--vt-ring:0 0 0 1px rgba(14,111,196,.08);
}

/* La landing premium vive bajo .mapf-lp.vt */
.mapf-lp.vt{max-width:1140px}
.mapf-lp.vt h1,.mapf-lp.vt h2,.mapf-lp.vt h3,.mapf-lp.vt h4{font-family:var(--vt-display);letter-spacing:-.02em}

/* ---------- HERO PREMIUM ---------- */
.vt-hero{position:relative;overflow:hidden;border-radius:32px;margin:8px 0 14px;padding:64px 26px 60px;text-align:center;
	background:
		radial-gradient(60% 70% at 50% -10%,rgba(25,167,221,.16),transparent 60%),
		radial-gradient(40% 50% at 88% 8%,rgba(90,168,50,.12),transparent 60%),
		linear-gradient(180deg,#f7fbff 0%,#ffffff 70%);
	border:1px solid #e6eef8}
.vt-hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(14,111,196,.06) 1px,transparent 1px);background-size:22px 22px;mask-image:radial-gradient(70% 60% at 50% 30%,#000 0%,transparent 75%);-webkit-mask-image:radial-gradient(70% 60% at 50% 30%,#000 0%,transparent 75%);pointer-events:none}
.vt-hero>*{position:relative;z-index:1}
.vt-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--vt-display);font-size:13px;font-weight:600;color:var(--mapf-c1-dark);background:rgba(255,255,255,.8);border:1px solid #d4e6f8;padding:7px 16px;border-radius:999px;margin-bottom:22px;box-shadow:var(--mapf-shadow-sm);backdrop-filter:blur(6px)}
.vt-eyebrow .pulse{width:8px;height:8px;border-radius:50%;background:var(--mapf-green);box-shadow:0 0 0 0 rgba(90,168,50,.55);animation:vt-pulse 2s infinite}
@keyframes vt-pulse{0%{box-shadow:0 0 0 0 rgba(90,168,50,.5)}70%{box-shadow:0 0 0 9px rgba(90,168,50,0)}100%{box-shadow:0 0 0 0 rgba(90,168,50,0)}}
.vt-hero h1{font-size:clamp(34px,6.4vw,60px);font-weight:700;line-height:1.04;letter-spacing:-.035em;max-width:16ch;margin:0 auto 20px;color:var(--mapf-ink)}
.vt-hero h1 .hl{position:relative;background:var(--vt-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;white-space:nowrap}
.vt-hero h1 .hl::after{content:"";position:absolute;left:0;right:0;bottom:.06em;height:.14em;border-radius:999px;background:linear-gradient(90deg,rgba(25,167,221,.0),rgba(25,167,221,.45),rgba(25,167,221,0))}
.vt-lead{font-size:clamp(16px,2.2vw,20px);color:var(--mapf-ink-2);max-width:54ch;margin:0 auto 30px;line-height:1.55}
.vt-cta{display:flex;flex-wrap:wrap;gap:13px;justify-content:center}
.vt-btn-xl{font-size:16.5px!important;padding:16px 30px!important;border-radius:15px!important}
.vt-btn-xl.mapf-btn-primary{background:var(--vt-grad);box-shadow:0 12px 30px rgba(14,111,196,.34),inset 0 1px 0 rgba(255,255,255,.25)}
.vt-btn-xl.mapf-btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(14,111,196,.42)}
.vt-btn-play{display:inline-flex;align-items:center;gap:10px}
.vt-btn-play .pp{width:30px;height:30px;border-radius:50%;background:#fff;border:1.5px solid var(--mapf-line);display:inline-flex;align-items:center;justify-content:center;color:var(--mapf-c1-dark);font-size:11px;box-shadow:var(--mapf-shadow-sm)}
.vt-trust{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:center;margin-top:28px;font-size:14px;color:var(--mapf-muted);font-weight:600;font-family:var(--vt-display)}
.vt-trust span{display:inline-flex;align-items:center;gap:7px}
.vt-trust .ck{display:inline-flex;width:18px;height:18px;border-radius:50%;background:#e7f5dd;color:var(--mapf-green-dark);align-items:center;justify-content:center;font-size:11px;font-weight:700}

/* Mockup del producto en el hero */
.vt-hero-mock{margin:40px auto 0;max-width:760px;position:relative}
.vt-mock-window{background:#fff;border:1px solid #e3edf8;border-radius:20px;box-shadow:0 30px 70px rgba(11,42,82,.16);overflow:hidden;text-align:left}
.vt-mock-bar{display:flex;align-items:center;gap:7px;padding:13px 16px;background:linear-gradient(180deg,#fbfdff,#f3f8fe);border-bottom:1px solid #eef3f9}
.vt-mock-bar .d{width:11px;height:11px;border-radius:50%}
.vt-mock-bar .d.r{background:#ff6159}.vt-mock-bar .d.y{background:#ffbd2e}.vt-mock-bar .d.g{background:#28c840}
.vt-mock-bar .url{margin-left:10px;font-family:var(--vt-display);font-size:12.5px;color:var(--mapf-muted);background:#fff;border:1px solid #e9eef5;border-radius:8px;padding:4px 12px;flex:1;max-width:280px}
.vt-mock-body{padding:20px;display:grid;grid-template-columns:1.3fr 1fr;gap:16px;background:linear-gradient(180deg,#fafcff,#fff)}
.vt-mock-card{background:#fff;border:1px solid #eef3f9;border-radius:14px;padding:16px;box-shadow:var(--mapf-shadow-sm)}
.vt-mock-kpi{display:flex;flex-direction:column;gap:3px}
.vt-mock-kpi .l{font-size:11.5px;color:var(--mapf-muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.vt-mock-kpi .v{font-family:var(--vt-display);font-size:26px;font-weight:700;color:var(--mapf-ink);line-height:1}
.vt-mock-kpi .v.up{color:var(--mapf-green-dark)}
.vt-mock-row{display:flex;align-items:center;gap:11px;padding:9px 0;border-bottom:1px dashed #eef2f7}
.vt-mock-row:last-child{border-bottom:0}
.vt-mock-av{width:32px;height:32px;border-radius:9px;flex:none;background:var(--vt-grad);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--vt-display);font-weight:700;font-size:13px}
.vt-mock-row .nm{flex:1;min-width:0}
.vt-mock-row .nm b{display:block;font-size:13.5px;color:var(--mapf-ink);font-weight:600}
.vt-mock-row .nm s{display:block;font-size:11.5px;color:var(--mapf-muted);text-decoration:none}
.vt-mock-tag{font-size:11px;font-weight:700;padding:4px 9px;border-radius:999px;font-family:var(--vt-display)}
.vt-mock-tag.ok{background:#e7f5dd;color:var(--mapf-green-dark)}
.vt-mock-tag.pe{background:#fff1e6;color:#c2660f}
.vt-mock-bars{display:flex;align-items:flex-end;gap:7px;height:78px;margin-top:6px}
.vt-mock-bars i{flex:1;border-radius:6px 6px 0 0;background:var(--vt-grad);opacity:.85;animation:vt-grow .9s ease both}
.vt-mock-bars i:nth-child(1){height:38%;animation-delay:.05s}
.vt-mock-bars i:nth-child(2){height:58%;animation-delay:.12s}
.vt-mock-bars i:nth-child(3){height:46%;animation-delay:.19s}
.vt-mock-bars i:nth-child(4){height:74%;animation-delay:.26s}
.vt-mock-bars i:nth-child(5){height:62%;animation-delay:.33s}
.vt-mock-bars i:nth-child(6){height:92%;animation-delay:.4s;opacity:1}
@keyframes vt-grow{from{height:0;opacity:0}}
.vt-mock-float{position:absolute;background:#fff;border:1px solid #e9eef5;border-radius:13px;box-shadow:0 16px 38px rgba(11,42,82,.16);padding:11px 14px;display:flex;align-items:center;gap:10px;font-family:var(--vt-display)}
.vt-mock-float .ic{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:17px;color:#fff}
.vt-mock-float .tx b{display:block;font-size:13px;color:var(--mapf-ink);font-weight:700;line-height:1.1}
.vt-mock-float .tx s{display:block;font-size:11px;color:var(--mapf-muted);text-decoration:none}
.vt-mock-float.f1{left:-22px;top:46%;animation:vt-bob 4s ease-in-out infinite}
.vt-mock-float.f1 .ic{background:linear-gradient(135deg,#22c35e,#16a34a)}
.vt-mock-float.f2{right:-18px;top:20%;animation:vt-bob 4.6s ease-in-out infinite .6s}
.vt-mock-float.f2 .ic{background:linear-gradient(135deg,var(--mapf-donate),var(--mapf-donate-2))}
@keyframes vt-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}

/* ---------- BARRA DE STATS ---------- */
.vt-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:14px 0 6px}
.vt-stat{background:#fff;border:1px solid var(--mapf-line);border-radius:18px;padding:22px 18px;text-align:center;box-shadow:var(--mapf-shadow-sm)}
.vt-stat .n{font-family:var(--vt-display);font-size:clamp(26px,4vw,38px);font-weight:700;background:var(--vt-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;line-height:1}
.vt-stat .l{font-size:13px;color:var(--mapf-muted);font-weight:600;margin-top:6px}

/* ---------- SECCIÓN GENÉRICA ---------- */
.vt-sec{margin:60px 0}
.vt-sec-head{text-align:center;max-width:50ch;margin:0 auto 32px}
.vt-kicker{display:inline-block;font-family:var(--vt-display);font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mapf-c1-dark);background:#eaf2fb;border:1px solid #d8e8f8;padding:6px 14px;border-radius:999px;margin-bottom:14px}
.vt-sec-head h2{font-size:clamp(26px,4.4vw,40px);font-weight:700;letter-spacing:-.03em;margin:0 0 10px;color:var(--mapf-ink)}
.vt-sec-head p{font-size:16px;color:var(--mapf-muted);margin:0;line-height:1.55}

/* ---------- BENTO GRID (features) ---------- */
.vt-bento{display:grid;grid-template-columns:1fr;gap:16px}
.vt-bento .card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--mapf-line);border-radius:22px;padding:26px;box-shadow:var(--mapf-shadow-sm);transition:transform .16s ease,box-shadow .2s ease,border-color .16s ease}
.vt-bento .card:hover{transform:translateY(-4px);box-shadow:var(--mapf-shadow);border-color:#d4e2f2}
.vt-bento .card .ic{width:52px;height:52px;border-radius:15px;display:flex;align-items:center;justify-content:center;font-size:25px;margin-bottom:16px;background:var(--vt-grad-soft);color:var(--mapf-c1-dark);box-shadow:var(--vt-ring)}
.vt-bento .card.accent .ic{background:linear-gradient(135deg,#eafbe2,#f1fcec);color:var(--mapf-green-dark)}
.vt-bento .card.dark{background:linear-gradient(140deg,var(--mapf-navy),var(--mapf-c1-dark));border:0;color:#fff}
.vt-bento .card.dark h3,.vt-bento .card.dark p{color:#fff}
.vt-bento .card.dark .ic{background:rgba(255,255,255,.14);color:#fff}
.vt-bento .card.dark::after{content:"";position:absolute;width:240px;height:240px;right:-90px;bottom:-110px;background:radial-gradient(circle,rgba(90,168,50,.4),transparent 60%)}
.vt-bento .card h3{font-size:19px;margin:0 0 8px;font-weight:600;color:var(--mapf-ink)}
.vt-bento .card p{font-size:14.5px;color:var(--mapf-ink-2);margin:0;line-height:1.6}
.vt-bento .card .ic-wm{position:absolute;right:-10px;top:-10px;font-size:120px;opacity:.05;pointer-events:none;line-height:1}

/* ---------- PASOS (timeline horizontal) ---------- */
.vt-steps{display:grid;grid-template-columns:1fr;gap:18px;counter-reset:vt}
.vt-step{position:relative;background:#fff;border:1px solid var(--mapf-line);border-radius:20px;padding:26px 22px;box-shadow:var(--mapf-shadow-sm);transition:transform .16s ease,box-shadow .2s ease}
.vt-step:hover{transform:translateY(-3px);box-shadow:var(--mapf-shadow)}
.vt-step .num{font-family:var(--vt-display);font-weight:700;font-size:15px;color:#fff;width:42px;height:42px;border-radius:13px;background:var(--vt-grad);display:flex;align-items:center;justify-content:center;margin-bottom:16px;box-shadow:0 8px 18px rgba(14,111,196,.3)}
.vt-step h4{font-size:17.5px;margin:0 0 7px;font-weight:600;color:var(--mapf-ink)}
.vt-step p{font-size:14.5px;color:var(--mapf-muted);margin:0;line-height:1.55}
.vt-step .arr{display:none}

/* ---------- COMPARATIVA ---------- */
.vt-ba{display:grid;grid-template-columns:1fr;gap:18px;max-width:920px;margin:0 auto}
.vt-ba-col{border-radius:24px;padding:28px;border:1px solid var(--mapf-line);background:#fff;box-shadow:var(--mapf-shadow-sm)}
.vt-ba-col.before{background:linear-gradient(180deg,#fff8f7,#fff);border-color:#f6dcd8}
.vt-ba-col.after{background:linear-gradient(180deg,#f2fbf0,#fff);border-color:#cfe9c8}
.vt-ba-col .hd{display:flex;align-items:center;gap:10px;font-family:var(--vt-display);font-weight:700;font-size:17px;margin-bottom:16px}
.vt-ba-col.before .hd{color:#b4453d}
.vt-ba-col.after .hd{color:var(--mapf-green-dark)}
.vt-ba-col ul{list-style:none;margin:0;padding:0;display:grid;gap:13px}
.vt-ba-col li{position:relative;padding-left:30px;font-size:14.5px;color:var(--mapf-ink-2);line-height:1.5}
.vt-ba-col li::before{position:absolute;left:0;top:-1px;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}
.vt-ba-col.before li::before{content:"\2717";background:#fde0dd;color:#d9534f}
.vt-ba-col.after li::before{content:"\2713";background:#dcf2d0;color:var(--mapf-green-dark)}

/* ---------- CHIPS (usos / para quién) ---------- */
.vt-chips{display:flex;flex-wrap:wrap;gap:11px;justify-content:center;max-width:920px;margin:0 auto}
.vt-chip{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--mapf-line);border-radius:14px;padding:12px 17px;font-size:14px;font-weight:600;color:var(--mapf-ink-2);box-shadow:var(--mapf-shadow-sm);transition:transform .14s ease,box-shadow .18s ease,border-color .14s ease}
.vt-chip:hover{transform:translateY(-2px);box-shadow:var(--mapf-shadow);border-color:#cfe0f2;color:var(--mapf-c1-dark)}

/* ---------- PRECIO ---------- */
.vt-price{position:relative;overflow:hidden;background:linear-gradient(140deg,#0b2a52,#0a4f96 60%,#0e6fc4);border-radius:28px;padding:48px 28px;text-align:center;color:#fff;box-shadow:0 22px 50px rgba(11,42,82,.3)}
.vt-price::after{content:"";position:absolute;width:340px;height:340px;right:-120px;top:-130px;background:radial-gradient(circle,rgba(25,167,221,.5),transparent 60%);pointer-events:none}
.vt-price::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:20px 20px;mask-image:radial-gradient(80% 80% at 80% 10%,#000,transparent 70%);-webkit-mask-image:radial-gradient(80% 80% at 80% 10%,#000,transparent 70%)}
.vt-price>*{position:relative;z-index:1}
.vt-price .badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--vt-display);font-size:13px;font-weight:600;color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);padding:7px 15px;border-radius:999px;margin-bottom:18px}
.vt-price h3{color:#fff;font-size:24px;margin:0 0 6px;font-weight:600}
.vt-price .tag{display:inline-flex;align-items:baseline;gap:9px;font-family:var(--vt-display);margin:8px 0}
.vt-price .tag b{font-size:clamp(46px,8vw,68px);font-weight:700;color:#fff;line-height:1}
.vt-price .tag span{font-size:16px;color:rgba(255,255,255,.85)}
.vt-price .desc{font-size:15px;color:rgba(255,255,255,.9);max-width:50ch;margin:8px auto 0;line-height:1.6}
.vt-price-points{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:center;margin-top:24px;font-size:14.5px;font-weight:600;color:#fff;font-family:var(--vt-display)}
.vt-price-points span{display:inline-flex;align-items:center;gap:8px}
.vt-price-points .ck{display:inline-flex;width:20px;height:20px;border-radius:50%;background:rgba(255,255,255,.2);align-items:center;justify-content:center;font-size:11px;font-weight:700}
.vt-price .mapf-btn{margin-top:26px;background:#fff;color:var(--mapf-c1-dark);box-shadow:0 10px 26px rgba(0,0,0,.2)}
.vt-price .mapf-btn:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(0,0,0,.28);color:var(--mapf-c1-dark)}

/* ---------- ACTIVIDADES RECIENTES (reusa estilo, encabezado nuevo) ---------- */
.vt-acts{display:grid;grid-template-columns:1fr;gap:18px}

/* ---------- CTA FINAL ---------- */
.vt-final{position:relative;overflow:hidden;border-radius:30px;padding:60px 28px;text-align:center;color:#fff;
	background:linear-gradient(135deg,var(--mapf-navy),var(--mapf-c1-dark) 55%,var(--mapf-c1));box-shadow:0 22px 54px rgba(11,42,82,.32)}
.vt-final::after{content:"";position:absolute;width:400px;height:400px;left:-140px;bottom:-160px;background:radial-gradient(circle,rgba(90,168,50,.42),transparent 60%);pointer-events:none}
.vt-final::before{content:"";position:absolute;width:300px;height:300px;right:-110px;top:-120px;background:radial-gradient(circle,rgba(25,167,221,.5),transparent 60%);pointer-events:none}
.vt-final>*{position:relative;z-index:1}
.vt-final h2{color:#fff;font-size:clamp(28px,5vw,42px);font-weight:700;letter-spacing:-.03em;margin:0 0 12px}
.vt-final p{color:rgba(255,255,255,.92);font-size:16.5px;max-width:48ch;margin:0 auto 26px;line-height:1.55}
.vt-final .mapf-btn{background:#fff;color:var(--mapf-c1-dark);box-shadow:0 10px 26px rgba(0,0,0,.2)}
.vt-final .mapf-btn:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(0,0,0,.3);color:var(--mapf-c1-dark)}
.vt-final .ghost{background:transparent;color:#fff;border:1.6px solid rgba(255,255,255,.5);box-shadow:none}
.vt-final .ghost:hover{background:rgba(255,255,255,.12);color:#fff}

/* ---------- AVISO / FOOTER ---------- */
.vt-legal{max-width:780px;margin:30px auto 0;background:#fff;border:1px solid var(--mapf-line);border-radius:16px;padding:18px 22px;box-shadow:var(--mapf-shadow-sm)}
.vt-legal p{margin:0;font-size:13.5px;color:var(--mapf-muted);line-height:1.6}
.vt-legal strong{color:var(--mapf-ink-2)}
.vt-powered{text-align:center;font-size:13px;color:var(--mapf-muted);margin:26px auto 8px;max-width:60ch;line-height:1.55}

/* ---------- ANIMACIÓN DE SCROLL ---------- */
.vt-reveal{opacity:0;transform:translateY(22px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1)}
.vt-reveal.in{opacity:1;transform:none}
.vt-reveal.d1{transition-delay:.06s}.vt-reveal.d2{transition-delay:.12s}.vt-reveal.d3{transition-delay:.18s}.vt-reveal.d4{transition-delay:.24s}.vt-reveal.d5{transition-delay:.3s}
@media(prefers-reduced-motion:reduce){.vt-reveal{opacity:1;transform:none;transition:none}.vt-mock-bars i,.vt-mock-float,.vt-eyebrow .pulse{animation:none}}

/* ---------- RESPONSIVE ---------- */
@media(min-width:680px){
	.vt-stats{grid-template-columns:repeat(4,1fr)}
	.vt-acts{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:860px){
	.vt-bento{grid-template-columns:repeat(3,1fr)}
	.vt-bento .card.span2{grid-column:span 2}
	.vt-steps{grid-template-columns:repeat(4,1fr)}
	.vt-step .arr{display:block;position:absolute;right:-13px;top:42px;z-index:2;color:#c7d6e8;font-size:20px}
	.vt-acts{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:859px){
	.vt-mock-body{grid-template-columns:1fr}
	.vt-mock-float{display:none}
}

/* =========================================================
   v2.6 — Editor de actividad PREMIUM (wizard)
   Layout denso, profesional y dinámico. Solo estilos:
   no cambia ningún name/atributo del formulario.
   ========================================================= */
.mapf-shell:has(form[data-wizard]){max-width:980px}

/* Cabecera del editor */
.vt-ed-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.vt-ed-head .ti h1{font-family:var(--vt-display);font-size:clamp(22px,3.4vw,28px);font-weight:700;letter-spacing:-.02em;margin:0 0 4px;display:flex;align-items:center;gap:9px}
.vt-ed-head .ti p{color:var(--mapf-muted);margin:0;font-size:14.5px}

/* ---------- BARRA DE PROGRESO (stepper) ---------- */
.vt-stepper{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:0;margin:6px 0 24px;background:#fff;border:1px solid var(--mapf-line);border-radius:16px;padding:14px 10px;box-shadow:var(--mapf-shadow-sm);overflow-x:auto}
.vt-stepper .st{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;min-width:72px;cursor:default;z-index:1}
.vt-stepper .st .ic{width:40px;height:40px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:18px;background:var(--mapf-soft);color:var(--mapf-muted);border:2px solid transparent;transition:all .2s ease;font-family:var(--vt-display);font-weight:700}
.vt-stepper .st .nm{font-size:12.5px;font-weight:600;color:var(--mapf-muted);white-space:nowrap;transition:color .2s}
.vt-stepper .st .ck{display:none}
.vt-stepper .st.is-active .ic{background:var(--vt-grad);color:#fff;border-color:transparent;box-shadow:0 6px 16px rgba(14,111,196,.32);transform:scale(1.06)}
.vt-stepper .st.is-active .nm{color:var(--mapf-ink);font-weight:700}
.vt-stepper .st.is-done .ic{background:#e7f5dd;color:var(--mapf-green-dark);border-color:#cfe9c8}
.vt-stepper .st.is-done .ic .em{display:none}
.vt-stepper .st.is-done .ic .ck{display:block;font-size:17px;font-weight:700}
.vt-stepper .st::before{content:"";position:absolute;top:20px;left:-50%;width:100%;height:3px;background:var(--mapf-line);z-index:-1;transition:background .25s}
.vt-stepper .st:first-child::before{display:none}
.vt-stepper .st.is-done::before,.vt-stepper .st.is-active::before{background:linear-gradient(90deg,#cfe9c8,var(--mapf-c2))}

/* ---------- TARJETAS DEL WIZARD ---------- */
form[data-wizard] .mapf-card{border-radius:20px;padding:24px;border:1px solid var(--mapf-line);box-shadow:var(--mapf-shadow-sm)}
form[data-wizard] .mapf-card+.mapf-card{margin-top:16px}
form[data-wizard] .mapf-card-title{font-family:var(--vt-display);font-size:18px;font-weight:600;letter-spacing:-.01em;margin-bottom:6px}
.vt-card-sub{font-size:13.5px;color:var(--mapf-muted);margin:0 0 18px;line-height:1.5}

/* Secciones internas con subtítulo */
.vt-fieldset{margin-top:20px;padding-top:18px;border-top:1px solid var(--mapf-line)}
.vt-fieldset:first-of-type{margin-top:0;padding-top:0;border-top:0}
.vt-legend{display:flex;align-items:center;gap:8px;font-family:var(--vt-display);font-weight:600;font-size:14px;color:var(--mapf-ink-2);margin-bottom:14px;text-transform:none}
.vt-legend .bdg{font-size:11px;font-weight:600;color:var(--mapf-muted);background:var(--mapf-soft);border-radius:999px;padding:2px 9px;margin-left:auto}

/* ---------- GRID DE CAMPOS ---------- */
.vt-grid{display:grid;grid-template-columns:1fr;gap:14px 16px}
.vt-grid .col-2{grid-column:auto}
form[data-wizard] .mapf-field{margin-bottom:0}
form[data-wizard] .mapf-label{font-size:13px;font-weight:600;margin-bottom:6px;color:var(--mapf-ink-2);display:flex;align-items:center;gap:6px}
form[data-wizard] .mapf-label .req{color:var(--mapf-danger);font-weight:700}
form[data-wizard] .mapf-label .opt{font-size:11px;font-weight:500;color:var(--mapf-muted);background:var(--mapf-soft);border-radius:999px;padding:1px 8px;margin-left:auto}
form[data-wizard] .mapf-input,form[data-wizard] .mapf-select,form[data-wizard] .mapf-textarea{font-size:14.5px;padding:11px 13px;border-radius:11px;border-width:1.5px;transition:border-color .14s,box-shadow .14s,background .14s}
form[data-wizard] .mapf-input:hover,form[data-wizard] .mapf-textarea:hover{border-color:#c9d6e6}
form[data-wizard] .mapf-textarea{min-height:84px}
form[data-wizard] .mapf-hint{font-size:12px;color:var(--mapf-muted);margin-top:5px}
form[data-wizard] .mapf-input-group .mapf-prefix{border-radius:11px 0 0 11px;font-size:14px}
form[data-wizard] .mapf-input-group .mapf-input{border-radius:0 11px 11px 0}

/* Campo con icono interno (decoración) */
.vt-ico-field{position:relative}
.vt-ico-field .vt-ico{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:15px;opacity:.7;pointer-events:none;line-height:1}
.vt-ico-field .mapf-input{padding-left:38px}

/* ---------- SELECTOR DE TIPO (paso 1) ---------- */
form[data-wizard] .mapf-choices{grid-template-columns:repeat(2,1fr);gap:12px}
form[data-wizard] .mapf-choice{border-width:1.5px;border-radius:15px;padding:16px 15px;transition:transform .14s ease,border-color .14s,box-shadow .16s,background .14s;position:relative;overflow:hidden}
form[data-wizard] .mapf-choice:hover{transform:translateY(-3px);box-shadow:var(--mapf-shadow);border-color:#cfe0f2}
form[data-wizard] .mapf-choice .e{font-size:28px;line-height:1}
form[data-wizard] .mapf-choice .t{font-family:var(--vt-display);font-weight:700;font-size:15px;margin-top:9px}
form[data-wizard] .mapf-choice .d{font-size:12px;color:var(--mapf-muted);margin-top:4px;line-height:1.45}
form[data-wizard] .mapf-choice.is-active{border-color:var(--mapf-c1);background:linear-gradient(135deg,#eef6ff,#f4faff);box-shadow:0 0 0 3px rgba(14,111,196,.14)}
form[data-wizard] .mapf-choice.is-active::after{content:"\2713";position:absolute;top:10px;right:12px;width:22px;height:22px;border-radius:50%;background:var(--vt-grad);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}

/* ---------- PRODUCTOS / OFERTA (paso 3) ---------- */
#mapf-prod-list .mapf-prod-row{grid-template-columns:1fr 130px 44px;gap:10px;padding:16px;border:1.5px solid var(--mapf-line);border-radius:15px;background:linear-gradient(180deg,#fbfdff,#fff);margin-bottom:12px;transition:border-color .14s,box-shadow .16s}
#mapf-prod-list .mapf-prod-row:hover{border-color:#cfe0f2;box-shadow:var(--mapf-shadow-sm)}
#mapf-prod-list .mapf-prod-row .mapf-input{margin-bottom:0}
#mapf-prod-list .mapf-prod-row>div:first-child{display:flex;flex-direction:column;gap:8px}
.mapf-prod-del{background:#fee2e2;color:#dc2626;border:0;border-radius:11px;cursor:pointer;height:auto;align-self:stretch;font-size:16px;transition:background .14s}
.mapf-prod-del:hover{background:#fecaca}
.mapf-add-prod{border-style:dashed!important;border:1.5px dashed #b9cce4!important;background:#f4f9ff!important;color:var(--mapf-c1-dark)!important;width:100%;justify-content:center;padding:13px!important;border-radius:13px!important;font-weight:600;margin-top:4px}
.mapf-add-prod:hover{background:#e9f3ff!important;border-color:var(--mapf-c1)!important}

/* ---------- MÉTODOS DE PAGO (paso 4) ---------- */
.vt-pay-grid{display:grid;grid-template-columns:1fr;gap:14px}
.vt-pay-card{border:1.5px solid var(--mapf-line);border-radius:16px;padding:18px;background:#fff;transition:border-color .14s,box-shadow .16s}
.vt-pay-card:hover{border-color:#cfe0f2;box-shadow:var(--mapf-shadow-sm)}
.vt-pay-card .hd{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.vt-pay-card .hd .ico{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:15px;flex:none;font-family:var(--vt-display)}
.vt-pay-card .hd .ico.yape{background:#742284}
.vt-pay-card .hd .ico.plin{background:#00bbd6}
.vt-pay-card .hd .ico.banco{background:linear-gradient(135deg,#0a4f96,#0e6fc4)}
.vt-pay-card .hd .ico.wa{background:#22c35e}
.vt-pay-card .hd .nm{font-family:var(--vt-display);font-weight:700;font-size:15px;color:var(--mapf-ink)}
.vt-pay-card .hd .nm small{display:block;font-weight:500;font-size:12px;color:var(--mapf-muted)}

/* ---------- TOGGLES ---------- */
form[data-wizard] .mapf-toggle{border-width:1.5px;border-radius:14px;padding:13px 15px;transition:border-color .14s,background .14s}
form[data-wizard] .mapf-toggle:hover{border-color:#cfe0f2;background:#fbfdff}
form[data-wizard] .mapf-toggle input:checked~.mapf-toggle-txt{color:var(--mapf-ink)}
.vt-toggle-stack{display:grid;gap:10px}

/* ---------- BANNER DONACIÓN ---------- */
.vt-donate-card{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff5f6,#fff8f0)!important;border:1.5px solid #f8dcd8!important}
.vt-donate-card .mapf-card-title{color:#9f1239}
.vt-donate-card::after{content:"💛";position:absolute;right:-8px;top:-12px;font-size:90px;opacity:.06;pointer-events:none}

/* ---------- NAV DEL WIZARD ---------- */
.mapf-wizard-nav{margin-top:22px;gap:12px}
.mapf-wizard-nav .mapf-btn{padding:13px 22px;border-radius:13px;font-size:15px}
.mapf-wizard-nav .mapf-wizard-next,.mapf-wizard-nav .mapf-btn-primary{background:var(--vt-grad);box-shadow:0 8px 20px rgba(14,111,196,.3)}
.mapf-wizard-nav .mapf-wizard-next:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(14,111,196,.4)}
.mapf-btn-row{display:flex;gap:10px;flex-wrap:wrap}

/* Píldora de ayuda contextual */
.vt-tip{display:flex;gap:10px;align-items:flex-start;background:#eef6ff;border:1px solid #d4e6f8;border-radius:13px;padding:12px 14px;margin:-4px 0 16px;font-size:13px;color:var(--mapf-ink-2);line-height:1.5}
.vt-tip .i{flex:none;font-size:15px;line-height:1.3}

/* ---------- COLOR PICKER (ajuste fino) ---------- */
form[data-wizard] .mapf-swatches{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:12px}
form[data-wizard] .mapf-swatch{border-radius:14px;padding:9px}
form[data-wizard] .mapf-swatch .bar{height:32px;border-radius:9px}

/* ---------- RESPONSIVE EDITOR ---------- */
@media(min-width:640px){
	.vt-grid.cols-2{grid-template-columns:1fr 1fr}
	.vt-grid .span-2{grid-column:1 / -1}
	form[data-wizard] .mapf-choices{grid-template-columns:repeat(3,1fr)}
	.vt-pay-grid.cols-2{grid-template-columns:1fr 1fr}
}
@media(min-width:880px){
	form[data-wizard] .mapf-choices{grid-template-columns:repeat(4,1fr)}
}

/* Stepper: neutralizar estilos viejos cuando coexisten .st + .mapf-step-dot */
.vt-stepper .st.mapf-step-dot{flex-direction:column;flex:initial}
.vt-stepper .st .ic.n,.vt-stepper .st .ic{width:40px;height:40px;border-radius:13px;font-size:18px}
.vt-stepper .st .nm.lbl,.vt-stepper .st .nm{font-size:12.5px}
.vt-stepper .st.is-active .ic{background:var(--vt-grad);color:#fff}
.vt-stepper .st.is-done .ic{background:#e7f5dd;color:var(--mapf-green-dark)}

/* =========================================================
   v2.6 — Página de venta PREMIUM + temas por tipo
   Dinamismo, animaciones y personalidad visual según el
   tipo de actividad. Solo estilos: no cambia la lógica.
   ========================================================= */

/* Animación de aparición */
.mapf-landing-wrap .vt-reveal{opacity:0;transform:translateY(20px);transition:opacity .55s cubic-bezier(.2,.7,.2,1),transform .55s cubic-bezier(.2,.7,.2,1)}
.mapf-landing-wrap .vt-reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.mapf-landing-wrap .vt-reveal{opacity:1;transform:none;transition:none}}

/* Hero: realce general (sombra, patrón sutil, mejor tipografía) */
.vt-land .mapf-hero-content{position:relative;overflow:hidden;box-shadow:0 18px 44px rgba(11,42,82,.18)}
.vt-land .mapf-hero-content::before{content:"";position:absolute;inset:0;opacity:.5;pointer-events:none;
	background-image:radial-gradient(rgba(255,255,255,.16) 1px,transparent 1px);background-size:18px 18px;
	mask-image:radial-gradient(80% 80% at 50% 0%,#000,transparent 75%);-webkit-mask-image:radial-gradient(80% 80% at 50% 0%,#000,transparent 75%)}
.vt-land .mapf-hero h1{font-family:var(--vt-display,"Space Grotesk",sans-serif);letter-spacing:-.02em;font-size:clamp(26px,5vw,38px)}
.vt-land .mapf-hero .mapf-type-badge{font-family:var(--vt-display,"Space Grotesk",sans-serif);letter-spacing:.01em}

/* Tarjetas: títulos con display y mejor ritmo */
.vt-land .mapf-landing-card h2{font-family:var(--vt-display,"Space Grotesk",sans-serif);letter-spacing:-.01em;font-size:19px}

/* Productos: tarjetas más vivas y botón claro para el cliente */
.vt-land .mapf-prod{border-width:1.5px;border-radius:16px;padding:15px;transition:transform .14s ease,box-shadow .16s,border-color .14s}
.vt-land .mapf-prod:hover{transform:translateY(-2px);box-shadow:var(--mapf-shadow)}
.vt-land .mapf-prod-emoji{width:60px;height:60px;border-radius:14px;font-size:30px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.04)}
.vt-land .mapf-prod-price{font-size:17px}
.vt-land .mapf-prod .mapf-btn-primary{background:linear-gradient(135deg,var(--c1),var(--c2));box-shadow:0 6px 16px rgba(14,111,196,.28);font-weight:700}
.vt-land .mapf-prod .mapf-btn-primary:hover{transform:translateY(-1px)}

/* CTA flotante inferior con realce */
.vt-land .mapf-landing-cta{box-shadow:0 -8px 28px rgba(11,42,82,.1)}

/* Botones de donación más atractivos */
.vt-land .mapf-donate-amt{transition:transform .12s ease,box-shadow .14s,border-color .12s}
.vt-land .mapf-donate-amt:hover{transform:translateY(-2px);box-shadow:var(--mapf-shadow-sm)}

/* ====== PATRONES Y PERSONALIDAD POR TIPO ====== */
/* Cada tipo recibe un emoji-patrón sutil en el hero y un acento propio. */
.vt-land .mapf-hero-content::after{content:"";position:absolute;right:-10px;top:-12px;font-size:118px;line-height:1;opacity:.10;pointer-events:none;transform:rotate(-8deg)}

/* Platos / comida */
.vt-tipo-platos .mapf-hero-content::after{content:"🍗"}
/* Donación */
.vt-tipo-donacion .mapf-hero-content::after{content:"💛"}
/* Rifa */
.vt-tipo-rifa .mapf-hero-content::after{content:"🎟️"}
/* Bingo */
.vt-tipo-bingo .mapf-hero-content::after{content:"🔢"}
/* Kermesse */
.vt-tipo-kermesse .mapf-hero-content::after{content:"🎪"}
/* Evento */
.vt-tipo-evento .mapf-hero-content::after{content:"🎫"}
/* Campeonato */
.vt-tipo-campeonato .mapf-hero-content::after{content:"🏆"}
/* Preventa */
.vt-tipo-preventa .mapf-hero-content::after{content:"🛍️"}
/* Cuotas */
.vt-tipo-cuotas .mapf-hero-content::after{content:"👥"}
/* Mixta */
.vt-tipo-mixta .mapf-hero-content::after{content:"✨"}

/* Tipos festivos (rifa, bingo, kermesse, evento, fiesta): hero con confeti diagonal */
.vt-tipo-rifa .mapf-hero-content,.vt-tipo-bingo .mapf-hero-content,.vt-tipo-kermesse .mapf-hero-content,.vt-tipo-evento .mapf-hero-content{
	background-image:
		repeating-linear-gradient(45deg,rgba(255,255,255,.06) 0 12px,transparent 12px 24px),
		linear-gradient(135deg,var(--c1),var(--c2))}

/* Tipos solidarios (donación, cuotas): hero más cálido y sobrio */
.vt-tipo-donacion .mapf-hero-content,.vt-tipo-cuotas .mapf-hero-content{
	background-image:
		radial-gradient(60% 80% at 80% 0%,rgba(255,255,255,.12),transparent 60%),
		linear-gradient(135deg,var(--c1),var(--c2))}

/* Campeonato / deporte: franja dinámica */
.vt-tipo-campeonato .mapf-hero-content{
	background-image:
		repeating-linear-gradient(-60deg,rgba(255,255,255,.05) 0 22px,transparent 22px 44px),
		linear-gradient(135deg,var(--c1),var(--c2))}

/* Evento / fiesta: título un poco más expresivo */
.vt-tipo-evento .mapf-hero h1,.vt-tipo-rifa .mapf-hero h1,.vt-tipo-kermesse .mapf-hero h1{letter-spacing:-.01em}

/* Badge de tipo con un puntito de acento vivo */
.vt-land .mapf-hero .mapf-type-badge::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--c3);margin-right:2px;box-shadow:0 0 0 2px rgba(255,255,255,.4)}

/* Sección "Elige tu pedido": encabezado con micro-acento por tipo */
.vt-land #mapf-pedir h2{position:relative;padding-left:2px}

/* Chips de info del hero con icono coherente */
.vt-land .mapf-hero .mapf-hero-info span{backdrop-filter:blur(4px)}

/* =========================================================
   v2.6 — Optimización MÓVIL de la página de venta
   La mayoría de ventas son desde el celular: cabecera más
   compacta, productos densos y CTA ajustado.
   ========================================================= */
@media(max-width:640px){
	/* Cabecera más compacta y menos gruesa */
	.vt-land .mapf-hero-content{padding:18px 16px 22px;border-radius:0 0 22px 22px}
	.vt-land .mapf-hero:not(.has-img) .mapf-hero-content{padding-top:22px}
	.vt-land .mapf-hero h1{font-size:22px;line-height:1.15;margin-bottom:6px}
	.vt-land .mapf-hero .mapf-type-badge{font-size:11.5px;padding:5px 12px;margin-bottom:10px}
	.vt-land .mapf-hero .mapf-hero-motivo{font-size:13.5px;line-height:1.35}
	.vt-land .mapf-hero .mapf-hero-info{gap:7px;margin-top:11px;font-size:12px}
	.vt-land .mapf-hero .mapf-hero-info span{padding:5px 11px;font-size:12px}
	/* El emoji de marca de agua más discreto en móvil */
	.vt-land .mapf-hero-content::after{font-size:84px;opacity:.08;top:-6px;right:-6px}

	/* Contenido pegado a la cabecera, menos aire */
	.vt-land .mapf-landing-inner{padding:0 12px}
	.vt-land .mapf-landing-card{padding:16px;margin-top:12px;border-radius:16px}
	.vt-land .mapf-landing-card h2{font-size:16.5px;margin-bottom:10px}
	.vt-land .mapf-story{font-size:14px;line-height:1.5}

	/* Tarjeta de producto: layout claro nombre arriba, precio+botón abajo */
	.vt-land .mapf-prod{flex-wrap:wrap;gap:10px;padding:13px;align-items:center}
	.vt-land .mapf-prod-emoji{width:48px;height:48px;font-size:24px;border-radius:12px}
	.vt-land .mapf-prod-body{flex:1 1 calc(100% - 58px);min-width:0}
	.vt-land .mapf-prod-body .n{font-size:14.5px;line-height:1.3}
	.vt-land .mapf-prod-body .d{font-size:12.5px}
	.vt-land .mapf-prod-price{font-size:16px;margin-top:3px}
	/* El botón "Pedir" pasa a ancho completo abajo, fácil de tocar */
	.vt-land .mapf-prod .mapf-btn{flex:1 1 100%;width:100%;justify-content:center;padding:11px;font-size:14.5px;border-radius:11px}

	/* CTA flotante más fino y proporcionado */
	.vt-land .mapf-landing-cta{padding:9px 12px calc(9px + env(safe-area-inset-bottom,0px));gap:8px;border-radius:16px 16px 0 0}
	.vt-land .mapf-landing-cta .mapf-btn{padding:12px 10px;font-size:14.5px;border-radius:12px}

	/* Montos de donación: grilla cómoda para el pulgar */
	.vt-land .mapf-donate-amounts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
	.vt-land .mapf-donate-amt{padding:11px 6px;font-size:14px}

	/* Formas de pago: una columna, tarjetas legibles */
	.vt-land .mapf-pay-grid{grid-template-columns:1fr;gap:10px}

	/* Botones de compartir en 2 columnas parejas */
	.vt-land .mapf-share-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
	.vt-land .mapf-share-btn{justify-content:center}
}

/* Pantallas muy estrechas (≤360px): aún más compacto */
@media(max-width:360px){
	.vt-land .mapf-hero h1{font-size:20px}
	.vt-land .mapf-landing-cta .mapf-btn{padding:11px 8px;font-size:13.5px}
	.vt-land .mapf-donate-amounts{grid-template-columns:repeat(2,1fr)}
}

/* =========================================================
   v2.6 — Dinamismo extra en la página de venta
   Movimiento sutil que hace la página más viva y atractiva,
   sin distraer de la compra.
   ========================================================= */

/* Barra de progreso con brillo que se desliza */
.vt-land .mapf-progress{height:15px;box-shadow:inset 0 1px 3px rgba(0,0,0,.08)}
.vt-land .mapf-progress > span{position:relative;overflow:hidden}
.vt-land .mapf-progress > span::after{content:"";position:absolute;top:0;left:0;height:100%;width:40%;
	background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);
	animation:vt-shine 2.2s ease-in-out infinite}
@keyframes vt-shine{0%{transform:translateX(-120%)}60%,100%{transform:translateX(320%)}}

/* Botón principal del CTA con un pulso de brillo muy sutil */
.vt-land .mapf-landing-cta .mapf-btn-primary{position:relative;overflow:hidden}
.vt-land .mapf-landing-cta .mapf-btn-primary::after{content:"";position:absolute;top:0;left:-60%;width:50%;height:100%;
	background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);
	transform:skewX(-20deg);animation:vt-cta-shine 3.4s ease-in-out infinite}
@keyframes vt-cta-shine{0%,12%{left:-60%}45%,100%{left:140%}}

/* Productos: aparición escalonada y toque vivo */
.vt-land .mapf-prod{animation:vt-prod-in .5s cubic-bezier(.2,.7,.2,1) both}
.vt-land .mapf-prod-list .mapf-prod:nth-child(1){animation-delay:.04s}
.vt-land .mapf-prod-list .mapf-prod:nth-child(2){animation-delay:.10s}
.vt-land .mapf-prod-list .mapf-prod:nth-child(3){animation-delay:.16s}
.vt-land .mapf-prod-list .mapf-prod:nth-child(4){animation-delay:.22s}
.vt-land .mapf-prod-list .mapf-prod:nth-child(5){animation-delay:.28s}
.vt-land .mapf-prod-list .mapf-prod:nth-child(n+6){animation-delay:.32s}
@keyframes vt-prod-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.vt-land .mapf-prod:active{transform:scale(.99)}
.vt-land .mapf-prod .mapf-btn:active{transform:scale(.97)}

/* El emoji del producto reacciona al pasar/tocar */
.vt-land .mapf-prod{transition:transform .14s ease,box-shadow .16s,border-color .14s}
.vt-land .mapf-prod:hover .mapf-prod-emoji{transform:rotate(-6deg) scale(1.06)}
.vt-land .mapf-prod-emoji{transition:transform .2s cubic-bezier(.2,.7,.2,1)}

/* Badge de tipo con leve respiración */
.vt-land .mapf-hero .mapf-type-badge{animation:vt-badge-pop .5s ease both}
@keyframes vt-badge-pop{from{opacity:0;transform:translateY(-6px) scale(.96)}to{opacity:1;transform:none}}

/* Título del hero entra con un leve fade-up */
.vt-land .mapf-hero h1{animation:vt-hero-title .55s ease both .05s}
.vt-land .mapf-hero-motivo{animation:vt-hero-title .55s ease both .12s}
.vt-land .mapf-hero-info{animation:vt-hero-title .55s ease both .18s}
@keyframes vt-hero-title{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* Botones de donación con rebote al tocar */
.vt-land .mapf-donate-amt:active{transform:scale(.94)}
.vt-land .mapf-donate-amt{transition:transform .12s cubic-bezier(.2,.7,.2,1),background .14s,border-color .12s,box-shadow .14s}

/* Botones de compartir: leve elevación al pasar */
.vt-land .mapf-share-btn{transition:transform .14s ease,box-shadow .16s,border-color .14s,background .14s}
.vt-land .mapf-share-btn:hover{transform:translateY(-2px);box-shadow:var(--mapf-shadow-sm);border-color:#cfe0f2}
.vt-land .mapf-share-btn:active{transform:translateY(0) scale(.98)}

/* Muro de aportantes: cada avatar entra suave */
.vt-land .mapf-aportante{transition:transform .14s ease}
.vt-land .mapf-aportante:hover{transform:translateY(-2px)}

/* Respeta a quien prefiere menos movimiento */
@media(prefers-reduced-motion:reduce){
	.vt-land .mapf-progress > span::after,
	.vt-land .mapf-landing-cta .mapf-btn-primary::after{animation:none;display:none}
	.vt-land .mapf-prod,
	.vt-land .mapf-hero h1,
	.vt-land .mapf-hero-motivo,
	.vt-land .mapf-hero-info,
	.vt-land .mapf-hero .mapf-type-badge{animation:none}
}

/* =========================================================
   v2.6 — FIX móvil: fila de producto del editor
   En pantallas estrechas se apila para poder escribir cómodo
   (antes el grid de 3 columnas rompía el texto verticalmente).
   ========================================================= */
@media(max-width:600px){
	/* La fila pasa a una sola columna apilada */
	#mapf-prod-list .mapf-prod-row{
		grid-template-columns:1fr;
		gap:10px;
		padding:14px;
		position:relative;
	}
	/* Bloque de nombre + descripción: ancho completo */
	#mapf-prod-list .mapf-prod-row>div:first-child{gap:9px}
	#mapf-prod-list .mapf-prod-row .mapf-input{width:100%;font-size:15px;padding:11px 13px}
	#mapf-prod-list .mapf-prod-row input[name="prod_desc[]"]{font-size:13.5px}

	/* Fila del precio: el grupo S/ + input ocupa el ancho, alto cómodo */
	#mapf-prod-list .mapf-prod-row>div:nth-child(2){width:100%}
	#mapf-prod-list .mapf-prod-row .mapf-input-group{width:100%}
	#mapf-prod-list .mapf-prod-row .mapf-input-group .mapf-prefix{
		padding:0 14px;font-size:15px;white-space:nowrap;display:flex;align-items:center;min-width:46px;justify-content:center
	}
	#mapf-prod-list .mapf-prod-row .mapf-input-group .mapf-input{flex:1;font-size:15px}

	/* Botón eliminar: arriba a la derecha, compacto (no ocupa toda una fila) */
	#mapf-prod-list .mapf-prod-row .mapf-prod-del{
		position:absolute;top:10px;right:10px;
		width:38px;height:38px;align-self:auto;
		display:flex;align-items:center;justify-content:center;
		border-radius:10px;font-size:16px;z-index:2
	}
	/* Dejamos aire arriba a la derecha del primer campo para que no choque con la papelera */
	#mapf-prod-list .mapf-prod-row>div:first-child input[name="prod_nombre[]"]{padding-right:48px}
}

/* =========================================================
   v2.7 — Adelanto (pago parcial) en el formulario de pedido
   ========================================================= */
.mapf-adelanto-field[hidden]{display:none}
.mapf-adelanto-resumen{margin-top:12px;background:#fff7ed;border:1.5px solid #fed7aa;border-radius:12px;padding:12px 14px}
.mapf-adelanto-resumen[hidden]{display:none}
.mapf-adelanto-resumen .row{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:var(--mapf-ink-2)}
.mapf-adelanto-resumen .row+.row{margin-top:7px;padding-top:7px;border-top:1px dashed #fed7aa}
.mapf-adelanto-resumen .row strong{font-family:var(--vt-display,"Space Grotesk",sans-serif);font-weight:700}
.mapf-adelanto-resumen .row.falta strong{color:#b45309;font-size:16px}
.mapf-adelanto-resumen .row.falta span{color:#9a3412;font-weight:600}

/* Botón "Cobrar saldo" en el panel */
.mapf-completar-pago{background:#fff7ed!important;color:#b45309!important;border:1.5px solid #fed7aa!important;font-weight:600;white-space:nowrap}
.mapf-completar-pago:hover{background:#ffedd5!important;border-color:#fdba74!important}
