/* ===== Battle Pass v1.2.0 — layout rifatto (namespace .sbp-v2 / .sbp2-*) ===== */
.sbp-container.sbp-v2{width:100%!important;max-width:1300px!important;margin:0 auto 40px!important;transform:none!important;left:auto!important;padding:0 16px;box-sizing:border-box;font-family:Poppins,Sans-serif;color:#212121;overflow:visible}
.sbp-container.sbp-v2 *,.sbp-container.sbp-v2 *::before,.sbp-container.sbp-v2 *::after{box-sizing:border-box}
.sbp-v2 .sbp2-notice{display:flex;gap:12px;align-items:flex-start;border-radius:12px;padding:14px 18px;margin:0 0 18px;font-size:14.5px;line-height:1.55;border:1px solid}
.sbp-v2 .sbp2-notice--ok{background:#E8F6EE;border-color:#BBE3CC;color:#0F5F34}
.sbp-v2 .sbp2-notice--warn{background:#FFF4E5;border-color:#FAD9A8;color:#7A4B07}
.sbp-v2 .sbp2-notice b{font-weight:700}
/* hero */
.sbp-v2 .sbp2-hero{position:relative;overflow:hidden;background:#212121;color:#fff;border-radius:16px;padding:34px 34px 30px;margin:0 0 22px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;min-height:200px;background-size:cover;background-position:center}
.sbp-v2 .sbp2-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 260px at 18% 50%,rgba(241,177,67,.22),transparent 68%);pointer-events:none}
.sbp-v2 .sbp2-hero--cover::before{background:linear-gradient(90deg,rgba(33,33,33,.92) 0%,rgba(33,33,33,.78) 55%,rgba(33,33,33,.55) 100%)}
.sbp-v2 .sbp2-hero>*{position:relative}
.sbp-v2 .sbp2-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(241,177,67,.14);border:1px solid rgba(241,177,67,.32);color:#FFD08A;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 14px;border-radius:25px;line-height:1.2}
.sbp-v2 .sbp2-title{font-size:clamp(24px,2.6vw,36px);line-height:1.15;font-weight:800;margin:14px 0 8px;letter-spacing:-.015em;color:#fff}
.sbp-v2 .sbp2-sub{margin:0;color:#C9C9C9;font-size:14.5px;line-height:1.6}
.sbp-v2 .sbp2-sub b{color:#FFD08A;font-weight:700}
.sbp-v2 .sbp2-stats{display:grid;grid-template-columns:repeat(3,minmax(110px,auto));gap:10px}
.sbp-v2 .sbp2-stat{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px 16px;min-width:120px}
.sbp-v2 .sbp2-stat small{display:block;font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#B0B0B0;margin-bottom:4px}
.sbp-v2 .sbp2-stat strong{display:block;font-size:22px;font-weight:800;line-height:1.1;color:#fff}
.sbp-v2 .sbp2-stat strong em{font-style:normal;font-size:13px;font-weight:600;color:#FFD08A}
/* progresso */
.sbp-v2 .sbp2-progress{background:#fff;border:1px solid #E6E6E6;border-radius:14px;padding:18px 20px;margin:0 0 22px}
.sbp-v2 .sbp2-progress-row{display:flex;justify-content:space-between;gap:12px;font-size:13px;font-weight:600;color:#3A3A3A;margin-bottom:10px;flex-wrap:wrap}
.sbp-v2 .sbp2-progress-row span:last-child{color:#6E6E6E;font-weight:500}
.sbp-v2 .sbp2-bar{height:14px;background:#EFEFEF;border-radius:25px;overflow:hidden;position:relative}
.sbp-v2 .sbp2-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#F1B143,#FFD08A);border-radius:25px;transition:width .6s ease}
.sbp-v2 .sbp2-progress-hint{margin:10px 0 0;font-size:14px;color:#212121}
.sbp-v2 .sbp2-progress-hint b{color:#B87A0E}
/* carica XP (riuso ids/classi del plugin) */
.sbp-v2 .sbp-load-section-container{margin:0 0 22px}
.sbp-v2 .sbp-load-section{background:#FFF8E9;border:1px solid #F6DCA5;border-radius:14px;padding:18px 20px;text-align:center;margin:0!important}
.sbp-v2 .sbp-pending-badge{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:#212121;margin-bottom:12px}
.sbp-v2 .sbp-load-hint{font-size:12.5px;color:#6E6E6E;margin:10px 0 0}
/* livelli */
.sbp-v2 .sbp2-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:0 0 12px;flex-wrap:wrap}
.sbp-v2 .sbp2-section-head h2{font-size:21px;font-weight:800;margin:0;letter-spacing:-.01em}
.sbp-v2 .sbp2-section-head p{margin:2px 0 0;font-size:13px;color:#6E6E6E}
.sbp-v2 .sbp2-nav{display:flex;gap:6px}
.sbp-v2 .sbp2-nav button{width:36px;height:36px;border-radius:50%;border:1px solid #DDD;background:#fff;cursor:pointer;font-size:16px;line-height:1;display:grid;place-items:center;color:#212121}
.sbp-v2 .sbp2-nav button:hover{background:#212121;color:#fff;border-color:#212121}
.sbp-v2 .sbp2-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:#6E6E6E;margin:0 0 10px}
.sbp-v2 .sbp2-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:middle}
.sbp-v2 .sbp2-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 14px;margin:0 -2px;scrollbar-width:thin;scrollbar-color:#CFCFCF transparent;-webkit-overflow-scrolling:touch;list-style:none}
.sbp-v2 .sbp2-track::-webkit-scrollbar{height:8px}.sbp-v2 .sbp2-track::-webkit-scrollbar-thumb{background:#CFCFCF;border-radius:8px}
.sbp-v2 .sbp2-card{flex:0 0 228px;scroll-snap-align:start;background:#fff;border:1px solid #E6E6E6;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px;position:relative;min-height:352px;margin:0}
.sbp-v2 .sbp2-card--current{border-color:#F1B143;box-shadow:0 0 0 3px rgba(241,177,67,.28),0 10px 26px rgba(0,0,0,.08)}
.sbp-v2 .sbp2-card--locked{background:#FAFAFA;border-color:#E9E9E9}
.sbp-v2 .sbp2-card--claimed{border-color:#BBE3CC}
.sbp-v2 .sbp2-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.sbp-v2 .sbp2-tier{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#6E6E6E}
.sbp-v2 .sbp2-card--current .sbp2-tier{color:#B87A0E}
.sbp-v2 .sbp2-pill{font-size:11px;font-weight:700;padding:4px 10px;border-radius:25px;white-space:nowrap}
.sbp-v2 .sbp2-pill--locked{background:#EFEFEF;color:#6E6E6E}
.sbp-v2 .sbp2-pill--open{background:#FFF1D6;color:#B87A0E}
.sbp-v2 .sbp2-pill--claimed{background:#E8F6EE;color:#137A41}
.sbp-v2 .sbp2-img{position:relative;aspect-ratio:1/1;border-radius:10px;background:#fff;border:1px solid #EEE;display:grid;place-items:center;overflow:hidden}
.sbp-v2 .sbp2-img img{width:82%;height:82%;object-fit:contain;display:block}
.sbp-v2 .sbp2-card--locked .sbp2-img img{filter:grayscale(.85);opacity:.9}
.sbp-v2 .sbp2-lock{position:absolute;right:8px;bottom:8px;display:grid;place-items:center}
.sbp-v2 .sbp2-lock span{width:32px;height:32px;border-radius:50%;background:#212121;color:#fff;display:grid;place-items:center;font-size:14px;box-shadow:0 4px 12px rgba(0,0,0,.25)}
.sbp-v2 .sbp2-name{font-size:13.5px;font-weight:600;line-height:1.35;color:#212121;min-height:36px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sbp-v2 .sbp2-card--locked .sbp2-name{color:#6E6E6E}
.sbp-v2 .sbp2-meta{font-size:12.5px;color:#6E6E6E;margin:0}
.sbp-v2 .sbp2-meta b{color:#212121}
.sbp-v2 .sbp2-card--current .sbp2-meta b{color:#B87A0E}
.sbp-v2 .sbp2-foot{margin-top:auto}
.sbp-v2 .sbp-claim-button-container{margin:0}
.sbp-v2 .sbp-claim-button.sbp2-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;background:#F1B143;color:#212121;border:0;border-radius:25px;padding:12px 16px;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 6px 16px rgba(241,177,67,.28);transition:background .15s,transform .15s}
.sbp-v2 .sbp-claim-button.sbp2-btn:hover{background:#FFD08A;transform:translateY(-1px)}
.sbp-v2 .sbp-claim-button.sbp2-btn img{width:10px;height:10px;transition:transform .3s}
.sbp-v2 .sbp2-ghost{display:inline-flex;align-items:center;justify-content:center;width:100%;border:1px solid #D9D9D9;background:#fff;color:#212121;border-radius:25px;padding:10px 14px;font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;font-family:inherit}
.sbp-v2 .sbp2-ghost:hover{border-color:#212121}
.sbp-v2 .sbp2-state{font-size:12.5px;color:#137A41;font-weight:600;margin:0 0 8px;line-height:1.4}
.sbp-v2 .sbp2-state--muted{color:#6E6E6E;font-weight:500}
/* accordion del plugin dentro la card */
.sbp-v2 .sbp-reward-accordion{margin-top:10px;border-top:1px solid #EEE;padding-top:10px}
.sbp-v2 .sbp-reward-radio{display:flex;align-items:center;gap:10px;padding:8px;border-radius:10px;cursor:pointer;border:1px solid #EEE;margin-bottom:6px;background:#fff}
.sbp-v2 .sbp-reward-radio:hover,.sbp-v2 .sbp-reward-radio.selected{border-color:#F1B143;background:#FFF8E9}
.sbp-v2 .sbp-reward-radio-image{width:44px;height:44px;object-fit:contain;border-radius:6px;background:#F5F5F5}
.sbp-v2 .sbp-reward-radio-label{font-size:12.5px;font-weight:600;line-height:1.3}
.sbp-v2 .sbp-reward-radio-circle{width:14px;height:14px;border-radius:50%;border:2px solid #C9C9C9;flex:0 0 14px}
.sbp-v2 .sbp-reward-radio.selected .sbp-reward-radio-circle{border-color:#F1B143;background:#F1B143}
.sbp-v2 .sbp-reward-separator{text-align:center;font-size:11px;font-weight:700;color:#9A9A9A;margin:6px 0}
.sbp-v2 .sbp-accordion-close{text-align:center;padding:6px;cursor:pointer;opacity:.6}
/* come funziona */
.sbp-v2 .sbp2-how{background:#fff;border:1px solid #E6E6E6;border-radius:16px;padding:26px 24px;margin:26px 0 0}
.sbp-v2 .sbp2-how h2{font-size:21px;font-weight:800;margin:0 0 4px;letter-spacing:-.01em}
.sbp-v2 .sbp2-how>p{margin:0 0 18px;font-size:14px;color:#6E6E6E}
.sbp-v2 .sbp2-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none;margin:0;padding:0}
.sbp-v2 .sbp2-step{display:flex;gap:14px;align-items:flex-start;margin:0}
.sbp-v2 .sbp2-step-ico{width:56px;height:56px;flex:0 0 56px;border-radius:50%;background:#FFF1D6;border:1px solid #F6DCA5;display:grid;place-items:center;font-size:24px;line-height:1}
.sbp-v2 .sbp2-step b{display:block;font-size:14.5px;font-weight:700;margin-bottom:3px}
.sbp-v2 .sbp2-step span{font-size:13px;line-height:1.5;color:#3A3A3A}
/* coupon dashboard del plugin: solo un po' di respiro */
.sbp-v2 .sbp-coupons-dashboard{margin-top:22px}
/* gate ospiti e "nessun pass" */
.sbp-v2 .sbp-login-gate{max-width:560px;margin:40px auto;padding:38px 30px;border-radius:16px;background:#fff;border:1px solid #E6E6E6;box-shadow:0 10px 30px rgba(0,0,0,.06);text-align:center}
.sbp-v2 .sbp-login-gate-title{font-size:24px;font-weight:800;color:#212121;margin:8px 0 10px;letter-spacing:-.01em}
.sbp-v2 .sbp-login-gate-text{font-size:15px;color:#3A3A3A;line-height:1.65;margin:0 0 22px}
.sbp-v2 .sbp-login-gate-buttons{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.sbp-v2 .sbp-login-gate-btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 26px;border-radius:25px;font-size:14.5px;font-weight:700;text-decoration:none;transition:transform .15s}
.sbp-v2 .sbp-login-gate-btn-primary{background:#F1B143;color:#212121!important;box-shadow:0 6px 16px rgba(241,177,67,.3)}
.sbp-v2 .sbp-login-gate-btn-secondary{background:#212121;color:#fff!important;border:0}
.sbp-v2 .sbp-login-gate-btn:hover{transform:translateY(-1px)}
.sbp-v2 .sbp-login-gate-more{display:block;margin-top:16px;font-size:13px;color:#6E6E6E;text-decoration:underline}
/* responsive */
@media (max-width:1024px){.sbp-v2 .sbp2-hero{padding:28px 26px 26px}.sbp-v2 .sbp2-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.sbp-v2 .sbp2-stat{min-width:0;padding:10px 12px}.sbp-v2 .sbp2-stat strong{font-size:19px}}
@media (max-width:820px){.sbp-v2 .sbp2-hero{grid-template-columns:1fr;gap:18px}.sbp-v2 .sbp2-steps{grid-template-columns:1fr}.sbp-v2 .sbp2-card{flex-basis:200px;min-height:330px}}
@media (max-width:560px){.sbp-container.sbp-v2{padding:0 10px}.sbp-v2 .sbp2-hero{padding:22px 18px 20px;border-radius:12px}.sbp-v2 .sbp2-title{font-size:22px}.sbp-v2 .sbp2-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.sbp-v2 .sbp2-stat{padding:9px 8px;border-radius:9px}.sbp-v2 .sbp2-stat small{font-size:9px;letter-spacing:.05em}.sbp-v2 .sbp2-stat strong{font-size:16px}.sbp-v2 .sbp2-stat strong em{font-size:11px}.sbp-v2 .sbp2-progress{padding:14px}.sbp-v2 .sbp2-card{flex-basis:172px;min-height:318px;padding:11px}.sbp-v2 .sbp2-name{font-size:12.5px;-webkit-line-clamp:3;min-height:51px}.sbp-v2 .sbp2-how{padding:20px 16px}.sbp-v2 .sbp2-step-ico{width:46px;height:46px;flex-basis:46px;font-size:20px}.sbp-v2 .sbp-login-gate{padding:28px 18px;margin:20px auto}.sbp-v2 .sbp-login-gate-btn{width:100%}}
@media (prefers-reduced-motion:reduce){.sbp-v2 *{transition:none!important}}
