/* FlowFitt Studio · Tienda. Prefijo .fsx- para que ningún tema lo pise. Colores: morado #4C0587, amarillo #FFCC00 */
.fsx{--fsx-purple:#4C0587;--fsx-yellow:#FFCC00;--fsx-ink:#1f2937;--fsx-muted:#6b7280;--fsx-line:#e5e7eb;max-width:1100px;margin:0 auto;box-sizing:border-box;color:var(--fsx-ink);font-size:16px;line-height:1.45}
.fsx *,.fsx *::before,.fsx *::after{box-sizing:border-box}

/* Planes */
.fsx-plans{display:grid;grid-template-columns:repeat(var(--fsx-cols,3),1fr);gap:18px}
.fsx-plan{position:relative;background:#fff;border:1px solid var(--fsx-line);border-radius:16px;padding:22px 20px;display:flex;flex-direction:column;gap:8px;box-shadow:0 2px 10px rgba(76,5,135,.07)}
.fsx-plan-tag{position:absolute;top:12px;right:12px;background:var(--fsx-yellow);color:var(--fsx-purple);font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px}
.fsx .fsx-plan-name{margin:0;color:var(--fsx-purple);font-size:1.15rem;line-height:1.25;padding-right:60px}
.fsx-plan-price{font-size:1.8rem;font-weight:800;color:var(--fsx-ink)}
.fsx-plan-meta{color:var(--fsx-muted);font-size:.92rem}
.fsx-plan-more{font-size:.92rem;color:var(--fsx-muted)}
.fsx-plan-more summary{cursor:pointer;color:var(--fsx-purple);font-weight:600}
.fsx-plan-more p{margin:8px 0 0}
.fsx-plan .fsx-add{margin-top:auto}
.fsx-hint{color:var(--fsx-muted);font-size:.9rem}

/* Botones */
.fsx .fsx-btn,a.fsx-btn{display:inline-block;border:0;border-radius:12px;padding:13px 20px;font-size:1rem;font-weight:700;cursor:pointer;text-align:center;text-decoration:none;line-height:1.2}
.fsx .fsx-btn-primary,a.fsx-btn-primary{background:var(--fsx-purple);color:#fff}
.fsx .fsx-btn-primary:hover{background:#3a0466;color:#fff}
.fsx .fsx-btn[disabled]{opacity:.6;cursor:not-allowed}
.fsx .fsx-btn-block{display:block;width:100%;margin-top:16px}
.fsx .fsx-link{display:block;text-align:center;margin-top:12px;color:var(--fsx-purple);font-size:.92rem}

/* Cajas, carrito, checkout */
.fsx-box{background:#fff;border:1px solid var(--fsx-line);border-radius:16px;padding:22px;box-shadow:0 2px 10px rgba(76,5,135,.06)}
.fsx .fsx-box h2{margin:0 0 14px;color:var(--fsx-purple);font-size:1.3rem}
.fsx .fsx-box .fsx-h2{margin-top:24px}
.fsx-empty,.fsx-thanks{text-align:center;padding:36px 20px}
.fsx-thanks-ico{font-size:3rem}
.fsx-line{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--fsx-line)}
.fsx-line-info{display:flex;flex-direction:column;gap:2px}
.fsx-line-info span{color:var(--fsx-muted);font-size:.85rem}
.fsx-qty{display:flex;align-items:center;gap:10px}
.fsx-qty-btn{width:34px;height:34px;border-radius:50%;border:1px solid var(--fsx-line);background:#fff;font-size:1.2rem;cursor:pointer;color:var(--fsx-purple);line-height:1}
.fsx-line-total{font-weight:700;min-width:90px;text-align:right}
.fsx-remove{background:none;border:0;font-size:1.2rem;cursor:pointer}
.fsx-total{display:flex;justify-content:space-between;align-items:center;font-size:1.25rem;padding-top:16px}
.fsx-total strong{color:var(--fsx-purple);font-size:1.5rem}
.fsx-note{background:#fff8e1;border-left:4px solid var(--fsx-yellow);padding:10px 12px;border-radius:8px;font-size:.92rem}

.fsx-checkout-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;align-items:start}
.fsx-summary{position:sticky;top:16px}
.fsx-sum-line{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--fsx-line);font-size:.95rem}
.fsx form label{display:block;margin:12px 0 4px;font-weight:600;font-size:.92rem}
.fsx form input[type=text],.fsx form input[type=email],.fsx form input[type=tel],.fsx form input[type=password],.fsx .fsx-login input{width:100%!important;max-width:100%!important;padding:12px 14px;border:1px solid #cbd5e1;border-radius:10px;font-size:1rem;background:#fff;color:var(--fsx-ink);height:auto}
.fsx .fsx-check{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:.85rem;color:var(--fsx-muted);margin-top:12px}
.fsx .fsx-check input{margin-top:3px;flex:0 0 auto;width:18px;height:18px}
.fsx .fsx-gw{display:flex;align-items:center;gap:10px;border:1px solid var(--fsx-line);border-radius:12px;padding:12px 14px;cursor:pointer;margin:8px 0;font-weight:600}
.fsx .fsx-gw input{width:18px;height:18px}
.fsx .fsx-gw:has(input:checked){border-color:var(--fsx-purple);background:#f6efff}
.fsx-as{margin:0 0 6px}
.fsx-req{color:#dc2626}
.fsx-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.fsx-msg{border-radius:10px;padding:12px 14px;margin-bottom:12px;font-size:.95rem}
.fsx-msg-err{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.fsx-msg-ok{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}
.fsx-login{display:grid;gap:8px;margin-top:10px}
.fsx-bank{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;padding:14px;white-space:pre-wrap;font-family:inherit}

/* Ícono del carrito */
.fsx-cart-icon{position:relative;display:inline-flex;align-items:center;text-decoration:none;font-size:1.4rem;line-height:1;padding:4px}
.fsx-cart-count{position:absolute;top:-6px;right:-8px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#FFCC00;color:#4C0587;font-size:.72rem;font-weight:800;align-items:center;justify-content:center}

/* Aviso flotante */
.fsx-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,30px);background:#4C0587;color:#fff;padding:12px 18px;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.25);opacity:0;pointer-events:none;transition:.25s;z-index:99999;max-width:92vw;font-size:.95rem}
.fsx-toast.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.fsx-toast a{color:#FFCC00;font-weight:700}

/* Plan dentro del panel del cliente */
.fs-dashboard .fsx-plans{margin-bottom:8px}

@media (max-width:820px){
	.fsx-plans{grid-template-columns:repeat(2,1fr)}
	.fsx-checkout-grid{grid-template-columns:1fr}
	.fsx-summary{position:static;order:-1}
}
@media (max-width:560px){
	.fsx-plans{grid-template-columns:1fr}
	.fsx-line{grid-template-columns:1fr auto;grid-template-areas:"info remove" "qty total"}
	.fsx-line-info{grid-area:info}.fsx-remove{grid-area:remove}.fsx-qty{grid-area:qty}.fsx-line-total{grid-area:total}
}

/* Promoción y beneficios (1.5.0) */
.fsx-plan-off{background:#ff5d73;color:#fff}
.fsx-plan-old{color:var(--fsx-muted);font-size:.9rem;margin-bottom:-6px}
.fsx-plan-benefits{list-style:none;padding:0;margin:4px 0;display:grid;gap:4px;font-size:.92rem}
.fsx-plan-benefits li{padding-left:20px;position:relative}
.fsx-plan-benefits li::before{content:"✓";position:absolute;left:0;color:var(--fsx-purple);font-weight:800}
