/* Fiestú Packs — front. No depende de ninguna clase de Elementor ni del tema. */

.fstu{box-sizing:border-box}
.fstu *,.fstu *::before,.fstu *::after{box-sizing:inherit}
.fstu-gap{height:56px}

/* La variable --fstu-dark llega del inline style de Assets */

/* ---------- Botones ---------- */
.fstu-btn{display:inline-block;border-radius:40px;font-size:15px;font-weight:700;line-height:1.2;padding:13px 26px;text-decoration:none;border:2px solid transparent;cursor:pointer;font-family:inherit;transition:transform .15s ease,border-color .15s ease}
.fstu-btn:hover{transform:translateY(-2px);text-decoration:none}
.fstu-btn--solid,.fstu-btn--solid:hover,.fstu-btn--solid:focus{background:var(--fstu-accent,#FF0083);color:#fff}
.fstu-btn--ghost,.fstu-btn--ghost:hover,.fstu-btn--ghost:focus{border-color:var(--fstu-line,#E8D3E0);color:var(--fstu-ink,#63636A);background:transparent}
.fstu-btn--ghost:hover{border-color:var(--fstu-soft,#E070A0)}

.fstu-badge{display:inline-block;background:var(--fstu-accent,#FF0083);color:#fff;font-size:13px;font-weight:700;padding:5px 15px;border-radius:40px;line-height:1.3}

/* ---------- Banner ---------- */
.fstu-banner{background:var(--fstu-bg,#F3E4EE);padding:44px 5vw}
.fstu-banner__inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
.fstu-banner__title{font-size:clamp(30px,4vw,46px);font-weight:800;line-height:1.05;letter-spacing:-.01em;color:var(--fstu-ink,#63636A);margin:14px 0 0;text-transform:uppercase}
.fstu-banner__title em{font-style:normal;color:var(--fstu-soft,#E070A0)}
.fstu-banner__text{font-size:16px;line-height:1.6;color:var(--fstu-body,#5D5D5D);margin:12px 0 0;max-width:44ch}
.fstu-banner__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}

.fstu-banner__list{display:flex;flex-direction:column;gap:8px}
.fstu-acc{--fstu-pk:var(--fstu-soft,#E070A0)}
.fstu-mini{display:flex;align-items:center;gap:10px;width:100%;background:var(--fstu-card,#fff);border:2px solid transparent;border-radius:40px;padding:10px 14px 10px 20px;cursor:pointer;font-family:inherit;text-align:left;transition:border-color .15s ease}
.fstu-mini:hover{border-color:var(--fstu-pk)}
.fstu-mini.is-top{border-color:var(--fstu-accent,#FF0083)}
.fstu-mini[aria-expanded="true"]{border-color:var(--fstu-pk);border-radius:22px 22px 8px 8px}
.fstu-mini__name{font-size:14px;font-weight:800;letter-spacing:.05em;color:var(--fstu-ink,#63636A);text-transform:uppercase;flex:0 0 auto;display:flex;align-items:baseline;gap:6px}
.fstu-mini__flag{font-size:9px;font-weight:800;letter-spacing:.08em;color:var(--fstu-accent,#FF0083)}
.fstu-mini__icons{flex:1;display:flex;align-items:center;gap:4px;flex-wrap:wrap;min-width:0}
.fstu-ic{width:26px;height:26px;border-radius:50%;background:var(--fstu-bg,#F3E4EE);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:#99164F}
.fstu-ic svg{width:14px;height:14px}
.fstu-ic--gift{background:#FFE3EF;color:var(--fstu-accent,#FF0083)}
.fstu-ic-o{font-size:10px;font-weight:700;color:#A29AA0}
.fstu-mini__price{font-size:19px;font-weight:800;color:var(--fstu-pk);white-space:nowrap;flex:0 0 auto}
.fstu-mini__chev{width:8px;height:8px;border-right:2px solid #A29AA0;border-bottom:2px solid #A29AA0;transform:rotate(45deg);margin:-3px 4px 0 0;flex:0 0 auto;transition:transform .2s ease}
.fstu-mini[aria-expanded="true"] .fstu-mini__chev{transform:rotate(-135deg);margin-top:3px}
.fstu-bp{background:var(--fstu-card,#fff);border-radius:8px 8px 18px 18px;margin-top:2px;padding:11px 18px 14px;border-top:1px solid var(--fstu-line,#E8D3E0)}
.fstu-bp__li{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.45;margin:0;padding:3px 0}
.fstu-bp__li svg{width:14px;height:14px;flex:0 0 auto;margin-top:3px}
.fstu-bp__li.is-in{color:#4A444A}
.fstu-bp__li.is-in svg{color:var(--fstu-accent,#FF0083)}
.fstu-bp__li.is-out{color:#A8A0A6}
.fstu-bp__li.is-out svg{color:#C9C1C6}
.fstu-bp__wa{display:inline-flex;align-items:center;gap:7px;background:var(--fstu-pk);color:#fff;font-size:12.5px;font-weight:700;padding:9px 17px;border-radius:40px;margin-top:9px;text-decoration:none}
.fstu-bp__wa:hover,.fstu-bp__wa:focus{color:#fff;text-decoration:none;filter:brightness(1.08)}
.fstu-bp__wa svg{width:14px;height:14px}
.fstu-legend{display:flex;flex-wrap:wrap;gap:4px 13px;margin-top:10px;padding:0 8px;font-size:11px;color:#8A8189}
.fstu-legend__it{display:inline-flex;align-items:center;gap:4px}
.fstu-legend__it svg{width:12px;height:12px;color:#99164F}
.fstu-legend__it.is-gift svg{color:var(--fstu-accent,#FF0083)}

/* ---------- Tarjetas ---------- */
.fstu-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:1080px;margin:0 auto}
.fstu-card{--fstu-pk:var(--fstu-soft,#E070A0);background:var(--fstu-card,#fff);border:2px solid var(--fstu-line,#E8D3E0);border-radius:18px;padding:24px 16px;position:relative;text-align:center;display:flex;flex-direction:column;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}
.fstu-card:hover{border-color:var(--fstu-pk)}
.fstu-card.is-sel{border-color:var(--fstu-pk);box-shadow:0 8px 22px rgba(255,0,131,.10)}
.fstu-card__flag{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--fstu-accent,#FF0083);color:#fff;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:4px 12px;border-radius:40px;white-space:nowrap}
.fstu-card__name{font-size:15px;font-weight:800;letter-spacing:.06em;color:#8E8E96;margin:0;text-transform:uppercase}
.fstu-card__price{font-size:30px;font-weight:800;color:var(--fstu-pk);margin:4px 0 10px}
.fstu-card__icons{display:flex;justify-content:center;gap:4px;flex-wrap:wrap;margin-bottom:12px}
.fstu-card__icons .fstu-ic{width:24px;height:24px}
.fstu-card__icons .fstu-ic svg{width:13px;height:13px}
.fstu-card__list{text-align:left;flex:1}
.fstu-card__li{display:flex;align-items:flex-start;gap:7px;font-size:13px;line-height:1.4;margin:0;padding:3px 0}
.fstu-card__li svg{width:13px;height:13px;flex:0 0 auto;margin-top:3px}
.fstu-card__li.is-in{color:#4A444A}
.fstu-card__li.is-in svg{color:var(--fstu-accent,#FF0083)}
.fstu-card__li.is-out{color:#A8A0A6}
.fstu-card__li.is-out svg{color:#C9C1C6}
.fstu-card__wa{display:block;background:#25D366;color:#fff;font-size:13px;font-weight:700;padding:10px 12px;border-radius:40px;margin-top:12px;text-decoration:none}
.fstu-card__wa:hover,.fstu-card__wa:focus{color:#fff;text-decoration:none;filter:brightness(1.06)}
.fstu-cdots{display:none;justify-content:center;gap:7px;margin-top:12px}
.fstu-cdots button{width:8px;height:8px;border-radius:50%;background:var(--fstu-line,#E8D3E0);border:none;padding:0;cursor:pointer}
.fstu-cdots button.is-on{background:var(--fstu-accent,#FF0083)}
.fstu-trust{text-align:center;font-size:13.5px;color:#99164F;font-weight:600;margin-top:18px}
.fstu-note{text-align:center;font-size:14px;color:var(--fstu-body,#5D5D5D);opacity:.8;margin-top:18px}

/* ---------- Página completa ---------- */
.fstu-page{overflow:hidden}
.fstu-wrap{max-width:1100px;margin:0 auto;padding:0 5vw}
.fstu-psec{padding:52px 0}
.fstu-psec--hero{background:var(--fstu-bg,#F3E4EE);text-align:center;padding:64px 0 110px}
.fstu-page__title{font-size:clamp(30px,4.2vw,48px);font-weight:800;line-height:1.05;letter-spacing:-.01em;color:var(--fstu-ink,#63636A);margin:0;text-transform:uppercase}
.fstu-page__title em{font-style:normal;color:var(--fstu-soft,#E070A0)}
.fstu-page__text{font-size:16px;color:var(--fstu-body,#5D5D5D);margin:14px auto 0;max-width:52ch;line-height:1.6}
.fstu-psec--cards{padding-top:0;margin-top:-72px}
.fstu-psec--fold{padding:20px 0 44px}
.fstu-fold__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--fstu-dark,#1C1720);border-radius:18px;padding:18px 24px}
.fstu-fold__q{font-size:15px;font-weight:600;color:#fff}
.fstu-fold__b{font-size:13px;padding:10px 20px}
.fstu-fold [hidden]{display:none}
.fstu-fold > div:not(.fstu-fold__bar){margin-top:18px}
.fstu-psec--wiz{background:var(--fstu-bg,#F3E4EE);text-align:center}
.fstu-page__h2{font-size:clamp(20px,2.6vw,28px);font-weight:800;color:var(--fstu-ink,#63636A);text-transform:uppercase;margin:0 0 22px}
.fstu-psec--wiz .fstu-wizard{text-align:left}

/* ---------- Tabla comparativa ---------- */
.fstu-table{max-width:1080px;margin:0 auto;background:var(--fstu-card,#fff);border:1px solid var(--fstu-line,#E8D3E0);border-radius:18px;overflow:hidden}
.fstu-table__head,.fstu-table__rh{display:grid;grid-template-columns:1.55fr repeat(var(--fstu-cols,4),1fr);align-items:center;width:100%}
.fstu-table__head{border-bottom:2px solid var(--fstu-line,#E8D3E0)}
.fstu-table__head .fstu-table__col{flex-direction:column;padding:14px 8px}
.fstu-table__pn{display:block;font-size:14px;font-weight:800;letter-spacing:.06em;color:var(--fstu-ink,#63636A);text-transform:uppercase}
.fstu-table__pp{display:block;font-size:13px;color:var(--fstu-body,#5D5D5D);margin-top:2px}
.fstu-table__rh{border:none;background:none;font-family:inherit;cursor:pointer;padding:0;border-bottom:1px solid var(--fstu-line,#E8D3E0);text-align:left}
.fstu-table__rh:hover{background:rgba(255,0,131,.03)}
.fstu-table__rh[aria-expanded="true"]{background:var(--fstu-bg,#F3E4EE);border-bottom-color:transparent}
.fstu-table__lb{display:flex;align-items:center;gap:10px;padding:15px 18px}
.fstu-table__nm{font-size:14.5px;font-weight:600;color:var(--fstu-ink,#63636A);line-height:1.35}
.fstu-table__chev{width:9px;height:9px;border-right:2px solid #A29AA0;border-bottom:2px solid #A29AA0;transform:rotate(45deg);margin-top:-4px;flex:0 0 auto;transition:transform .2s ease}
.fstu-table__rh[aria-expanded="true"] .fstu-table__chev{transform:rotate(-135deg);margin-top:2px}
.fstu-table__col{display:flex;align-items:center;justify-content:center;padding:15px 8px;text-align:center}
.fstu-table__txt{font-size:11.5px;color:#8A8189}
.fstu-table__col.is-si .fstu-table__txt,.fstu-table__col.is-no .fstu-table__txt{display:none}
.fstu-table__col.is-si .fstu-table__mark{width:15px;height:9px;border-left:2.5px solid var(--fstu-accent,#FF0083);border-bottom:2.5px solid var(--fstu-accent,#FF0083);transform:rotate(-45deg);margin-top:-4px}
.fstu-table__col.is-no .fstu-table__mark{width:13px;height:2px;background:#DDD4D9}
.fstu-table__bd{background:var(--fstu-bg,#F3E4EE);border-bottom:1px solid var(--fstu-line,#E8D3E0);padding:2px 20px 20px}
.fstu-table__sub{font-size:12.5px;font-weight:800;letter-spacing:.05em;color:var(--fstu-accent,#FF0083);margin:14px 0 2px;text-transform:uppercase}
.fstu-li{font-size:13.5px;color:var(--fstu-body,#5D5D5D);line-height:1.5;padding:4px 0 4px 20px;position:relative;margin:0}
.fstu-li::before{content:"";position:absolute;left:0;top:11px;width:10px;height:6px;border-left:2px solid var(--fstu-accent,#FF0083);border-bottom:2px solid var(--fstu-accent,#FF0083);transform:rotate(-45deg)}

.fstu-table__chips{display:none}
.fstu-chip{border:2px solid var(--fstu-line,#E8D3E0);border-radius:12px;padding:9px 4px;background:var(--fstu-card,#fff);cursor:pointer;font-family:inherit;text-align:center;line-height:1.25}
.fstu-chip.is-on{border-color:var(--fstu-accent,#FF0083);background:var(--fstu-bg,#F3E4EE)}
.fstu-chip__n{display:block;font-size:12px;font-weight:800;letter-spacing:.04em;color:var(--fstu-ink,#63636A)}
.fstu-chip__p{display:block;font-size:11px;color:var(--fstu-body,#5D5D5D);margin-top:2px}
.fstu-chip.is-on .fstu-chip__p{color:var(--fstu-accent,#FF0083);font-weight:700}

/* ---------- Configurador ---------- */
.fstu-wizard{max-width:720px;margin:0 auto;background:var(--fstu-card,#fff);border:1px solid var(--fstu-line,#E8D3E0);border-radius:20px;padding:28px 26px}
.fstu-steps{display:flex;align-items:center;gap:10px;margin-bottom:24px}
.fstu-steps__line{flex:1;height:2px;background:var(--fstu-line,#E8D3E0)}
.fstu-steps__line.is-on{background:var(--fstu-accent,#FF0083)}
.fstu-step{display:flex;align-items:center;gap:8px}
.fstu-step__dot{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;background:var(--fstu-line,#E8D3E0);color:#8A8189;flex:0 0 auto}
.fstu-step.is-on .fstu-step__dot{background:var(--fstu-accent,#FF0083);color:#fff}
.fstu-step__label{font-size:13px;color:#A29AA0}
.fstu-step.is-on .fstu-step__label{color:var(--fstu-ink,#63636A)}
.fstu-q{font-size:16px;font-weight:600;color:var(--fstu-ink,#63636A);margin:0 0 14px}
.fstu-chips{display:flex;flex-wrap:wrap;gap:10px}
.fstu-q--sub{margin-top:20px}
.fstu-date{border:2px solid var(--fstu-line,#E8D3E0);border-radius:14px;padding:12px 16px;font-size:15px;font-family:inherit;color:var(--fstu-ink,#63636A);background:var(--fstu-card,#fff);width:100%;max-width:260px}
.fstu-date:focus{outline:none;border-color:var(--fstu-accent,#FF0083)}
.fstu-pill{border:2px solid var(--fstu-line,#E8D3E0);border-radius:40px;padding:10px 18px;font-size:14px;background:var(--fstu-card,#fff);color:var(--fstu-ink,#63636A);cursor:pointer;font-family:inherit}
.fstu-pill:hover{border-color:var(--fstu-soft,#E070A0)}
.fstu-pill.is-on{border-color:var(--fstu-accent,#FF0083);background:var(--fstu-bg,#F3E4EE);font-weight:700}
.fstu-opts{display:flex;flex-direction:column;gap:10px}
.fstu-opt{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;text-align:left;border:2px solid var(--fstu-line,#E8D3E0);border-radius:14px;padding:15px 18px;background:var(--fstu-card,#fff);cursor:pointer;font-family:inherit}
.fstu-opt:hover{border-color:var(--fstu-soft,#E070A0)}
.fstu-opt.is-on{border-color:var(--fstu-accent,#FF0083);background:var(--fstu-bg,#F3E4EE)}
.fstu-opt__name{display:block;font-size:16px;font-weight:800;letter-spacing:.05em;color:var(--fstu-ink,#63636A);text-transform:uppercase}
.fstu-opt__desc{display:block;font-size:13px;color:var(--fstu-body,#5D5D5D);margin-top:3px;line-height:1.4}
.fstu-opt__desc--lead{font-size:15px;color:var(--fstu-ink,#63636A);margin-top:0}
.fstu-opt__price{font-size:20px;font-weight:800;color:var(--fstu-accent,#FF0083);white-space:nowrap}
.fstu-gift{background:var(--fstu-bg,#F3E4EE);border-radius:14px;padding:14px 18px;font-size:14px;color:var(--fstu-accent,#FF0083);line-height:1.5;margin:0}
.fstu-sum{background:var(--fstu-bg,#F3E4EE);border-radius:16px;padding:20px}
.fstu-sum__meta{font-size:12px;color:var(--fstu-body,#5D5D5D);letter-spacing:.1em;text-transform:uppercase;margin:0}
.fstu-sum__total{border-top:1px solid var(--fstu-line,#E8D3E0);padding-top:14px;display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:14px}
.fstu-sum__total span{font-size:14px;color:var(--fstu-body,#5D5D5D)}
.fstu-sum__total strong{font-size:32px;font-weight:800;color:var(--fstu-accent,#FF0083)}
.fstu-nav{margin-top:22px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.fstu-nav--end{justify-content:flex-end}
.fstu-btn--link{background:none;border:none;color:#8A8189;padding-left:0;font-weight:500}
.fstu-err{font-size:14px;color:#C0203F;margin:12px 0 0}
.fstu-actions{margin-top:18px;display:flex;flex-wrap:wrap;gap:12px}
.fstu-form{margin-top:24px;border-top:1px solid var(--fstu-line,#E8D3E0);padding-top:22px}
.fstu-form .fstu-hidden-field{display:none}

/* ---------- Responsive ---------- */
@media(max-width:900px){
	.fstu-banner__inner{grid-template-columns:1fr;gap:26px}
	.fstu-banner__text{max-width:none}
}
@media(max-width:900px){
	.fstu-cards{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:767px){
	.fstu-banner{padding:34px 20px}
	.fstu.fstu-cards{display:flex!important;grid-template-columns:none!important;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:10px;padding:14px 4px 8px;margin:0 -4px;scrollbar-width:none}
	.fstu.fstu-cards::-webkit-scrollbar{display:none}
	.fstu-cards .fstu-card{flex:0 0 76%!important;width:76%;max-width:76%;scroll-snap-align:center}
	.fstu-cdots{display:flex}
	.fstu-psec{padding:36px 0}
	.fstu-psec--hero{padding:44px 0 88px}
	.fstu-psec--cards{margin-top:-64px;padding-top:0}
	.fstu-fold__bar{padding:14px 16px}
	.fstu-psec--fold{padding:16px 0 32px}
	.fstu-wizard{padding:20px 16px}
	.fstu-gap{height:36px}
	.fstu-step__label{display:none}
	.fstu-steps{gap:6px}
	.fstu-actions .fstu-btn{flex:1;text-align:center}

	.fstu-table__chips{display:grid;grid-template-columns:repeat(var(--fstu-cols,4),1fr);gap:6px;padding:14px 14px 4px}
	.fstu-table__chips[hidden]{display:none}
	.fstu-table__head{display:none}
	.fstu-table__rh{grid-template-columns:1fr auto}
	.fstu-table__lb{padding:14px 16px}
	.fstu-table__col{justify-content:flex-end;padding:14px 16px 14px 0}
	.fstu-table__col.is-si .fstu-table__txt,.fstu-table__col.is-no .fstu-table__txt{display:inline;font-size:11px;font-weight:700;letter-spacing:.04em;padding:3px 9px;border-radius:40px}
	.fstu-table__col.is-si .fstu-table__txt{background:var(--fstu-bg,#F3E4EE);color:var(--fstu-accent,#FF0083)}
	.fstu-table__col.is-elige .fstu-table__txt{background:#E1F5EE;color:#0F6E56;font-size:11px;font-weight:700;padding:3px 9px;border-radius:40px}
	.fstu-table__col.is-no .fstu-table__txt{background:#F1EFE8;color:#6B6A66}
	.fstu-table__mark{display:none}
	.fstu-table[data-sel="lite"] .fstu-table__col:not([data-pack="lite"]),
	.fstu-table[data-sel="m"] .fstu-table__col:not([data-pack="m"]),
	.fstu-table[data-sel="l"] .fstu-table__col:not([data-pack="l"]),
	.fstu-table[data-sel="xl"] .fstu-table__col:not([data-pack="xl"]){display:none}
}
