/* ═══════════════════════════════════════════════════════
   BSB UNIVERSAL COLOR OVERRIDE — DO NOT REMOVE
   All colors derive from CSS variables set by layout.php
   ═══════════════════════════════════════════════════════ */

/* ── Default fallbacks if layout.php vars missing ── */
:root {
    --bsb-bg:       #0f172a;
    --bsb-accent:   #6366f1;
    --bsb-surface:  rgba(255,255,255,0.07);
    --bsb-text:     #ffffff;
    --bsb-muted:    rgba(255,255,255,0.5);
    --bsb-border:   rgba(255,255,255,0.1);
    --bsb-btn-text: #ffffff;
}

/* ── Page body ── */
body {
    background-color: var(--bsb-bg) !important;
    color: var(--bsb-text) !important;
}

/* ── LINK BLOCK ── */
.bsb-link {
    background: var(--bsb-surface) !important;
    border: 1px solid var(--bsb-border) !important;
    color: var(--bsb-text) !important;
}
.bsb-link-title,
.bsb-link .link-title,
.bsb-link span,
.bsb-link p {
    color: var(--bsb-text) !important;
}
.bsb-link-icon,
.bsb-link .link-icon,
.bsb-link i,
.bsb-link svg {
    color: var(--bsb-accent) !important;
}
.bsb-link-arrow,
.bsb-link .link-arrow {
    color: var(--bsb-muted) !important;
}

/* ── SECTION HEADER / DIVIDER ── */
.bsb-section-header,
.bsb-section-text,
.bsb-section-label,
.bsb-section-title,
.section-header,
.section-label {
    color: var(--bsb-muted) !important;
}
.bsb-section-line,
.section-line {
    background: var(--bsb-border) !important;
}

/* ── PRODUCT BLOCK ── */
.bsb-product,
.bsb-product-card {
    background: var(--bsb-surface) !important;
    border: 1px solid var(--bsb-border) !important;
    color: var(--bsb-text) !important;
}
.bsb-product-name,
.bsb-product h3,
.bsb-product h4,
.bsb-product .product-name {
    color: var(--bsb-text) !important;
}
.bsb-product-desc,
.bsb-product p,
.bsb-product .product-desc {
    color: var(--bsb-muted) !important;
}
.bsb-product-price,
.bsb-product .product-price {
    color: var(--bsb-accent) !important;
}
.bsb-product-badge,
.bsb-product .product-badge {
    background: var(--bsb-accent) !important;
    color: var(--bsb-btn-text) !important;
}
/* BUY NOW button */
.bsb-product .buy-btn,
.bsb-product button,
.bsb-product .bsb-btn,
.bsb-product a.btn,
.buy-btn {
    background: var(--bsb-accent) !important;
    color: var(--bsb-btn-text) !important;
    border: none !important;
}

/* ── LEAD CAPTURE / EMAIL FORM ── */
.bsb-lead,
.bsb-lead-capture {
    color: var(--bsb-text) !important;
}
.bsb-lead input,
.bsb-lead-capture input,
.bsb-form-input {
    background: var(--bsb-surface) !important;
    border: 1px solid var(--bsb-border) !important;
    color: var(--bsb-text) !important;
}
.bsb-lead input::placeholder,
.bsb-lead-capture input::placeholder {
    color: var(--bsb-muted) !important;
}
/* Subscribe button */
.bsb-form-btn,
.bsb-lead button,
.bsb-lead-capture button,
.bsb-lead .submit-btn,
.subscribe-btn {
    background: var(--bsb-accent) !important;
    color: var(--bsb-btn-text) !important;
    border: none !important;
}

/* ── WHATSAPP BLOCK ── */
.bsb-whatsapp,
.bsb-wa {
    background: var(--bsb-surface) !important;
    border: 1px solid var(--bsb-border) !important;
    color: var(--bsb-text) !important;
}
.bsb-wa-title,
.bsb-whatsapp .wa-name,
.bsb-whatsapp h3,
.bsb-whatsapp span {
    color: var(--bsb-text) !important;
}
.bsb-wa-input,
.bsb-whatsapp textarea,
.bsb-whatsapp input {
    background: rgba(0,0,0,0.3) !important;
    color: var(--bsb-text) !important;
    border: 1px solid var(--bsb-border) !important;
}
/* Send Message button — keep WhatsApp green */
.bsb-wa-btn,
.bsb-whatsapp .send-btn,
.bsb-whatsapp button {
    background: #25d366 !important;
    color: #ffffff !important;
    border: none !important;
}

/* ── TELEGRAM BLOCK ── */
.bsb-telegram {
    background: var(--bsb-surface) !important;
    border: 1px solid var(--bsb-border) !important;
    color: var(--bsb-text) !important;
}
.bsb-telegram span,
.bsb-telegram .tg-name {
    color: var(--bsb-text) !important;
}

/* ── DONATE BLOCK ── */
.bsb-donate,
.bsb-donate-card {
    background: var(--bsb-surface) !important;
    border: 1px solid var(--bsb-border) !important;
    color: var(--bsb-text) !important;
}
.bsb-donate-title,
.bsb-donate h3,
.bsb-donate span {
    color: var(--bsb-text) !important;
}
/* Support/Donate button */
.bsb-donate button,
.bsb-donate .donate-btn,
.bsb-donate a.btn {
    background: var(--bsb-accent) !important;
    color: var(--bsb-btn-text) !important;
    border: none !important;
}

/* ── AFFILIATE BLOCK ── */
.bsb-affiliate {
    background: var(--bsb-surface) !important;
    border: 1px solid var(--bsb-border) !important;
    color: var(--bsb-text) !important;
}
.bsb-affiliate-name,
.bsb-affiliate h3,
.bsb-affiliate span:not(.bsb-badge) {
    color: var(--bsb-text) !important;
}
.bsb-affiliate-badge,
.bsb-affiliate .recommended-badge {
    background: var(--bsb-accent) !important;
    color: var(--bsb-btn-text) !important;
}
/* Shop Now button */
.bsb-affiliate .shop-btn,
.bsb-affiliate button,
.bsb-affiliate a.btn {
    background: var(--bsb-accent) !important;
    color: var(--bsb-btn-text) !important;
    border: none !important;
}

/* ── CALENDAR BLOCK ── */
.bsb-calendar {
    background: var(--bsb-surface) !important;
    border: 1px solid var(--bsb-border) !important;
    color: var(--bsb-text) !important;
}
.bsb-calendar-name,
.bsb-calendar h3,
.bsb-calendar span {
    color: var(--bsb-text) !important;
}
/* Book a Time button — outline style, keep accent */
.bsb-cal-btn,
.bsb-calendar .cal-btn,
.bsb-calendar button,
.bsb-calendar a.btn {
    background: transparent !important;
    color: var(--bsb-accent) !important;
    border: 1px solid var(--bsb-accent) !important;
}

/* ── DOWNLOAD BLOCK ── */
.bsb-download {
    background: var(--bsb-surface) !important;
    border: 1px solid var(--bsb-border) !important;
    color: var(--bsb-text) !important;
}
.bsb-download-name,
.bsb-download span,
.bsb-download h3 {
    color: var(--bsb-text) !important;
}
/* Download button */
.bsb-dl-btn,
.bsb-download .dl-btn,
.bsb-download button,
.bsb-download a.btn {
    background: var(--bsb-accent) !important;
    color: var(--bsb-btn-text) !important;
    border: none !important;
}

/* ── LOCATION BLOCK ── */
.bsb-location {
    background: var(--bsb-surface) !important;
    border: 1px solid var(--bsb-border) !important;
    color: var(--bsb-text) !important;
}
.bsb-location span,
.bsb-location p,
.bsb-location h3 {
    color: var(--bsb-text) !important;
}

/* ── COUNTDOWN BLOCK ── */
.bsb-countdown {
    color: var(--bsb-text) !important;
}
.bsb-countdown-label,
.bsb-cd-label {
    color: var(--bsb-muted) !important;
}
.bsb-cd-num,
.bsb-countdown .cd-num {
    color: var(--bsb-text) !important;
    background: var(--bsb-surface) !important;
}
.bsb-cd-separator,
.bsb-countdown .colon {
    color: var(--bsb-accent) !important;
}
.bsb-countdown-title,
.bsb-countdown .cd-title {
    color: var(--bsb-muted) !important;
    letter-spacing: .1em;
    text-transform: uppercase;
    font-size: .7rem;
}

/* ── GATED / VIP BLOCK ── */
.bsb-gated,
.bsb-vip {
    background: var(--bsb-surface) !important;
    border: 1px solid var(--bsb-border) !important;
    color: var(--bsb-text) !important;
}
.bsb-gated h3,
.bsb-gated span,
.bsb-gated p,
.bsb-vip-title {
    color: var(--bsb-text) !important;
}
.bsb-gated input,
.bsb-vip input {
    background: var(--bsb-surface) !important;
    color: var(--bsb-text) !important;
    border: 1px solid var(--bsb-border) !important;
}
/* Unlock VIP button */
.bsb-gated .unlock-btn,
.bsb-gated button,
.bsb-vip button {
    background: var(--bsb-accent) !important;
    color: var(--bsb-btn-text) !important;
    border: none !important;
}

/* ── SMART LINK BLOCK ── */
.bsb-smart-link,
.bsb-smartlink {
    background: var(--bsb-surface) !important;
    border: 1px solid var(--bsb-border) !important;
    color: var(--bsb-text) !important;
}
.bsb-smart-link span,
.bsb-smart-link p,
.bsb-smartlink .sl-title {
    color: var(--bsb-text) !important;
}
.bsb-smart-link i,
.bsb-smartlink .sl-icon {
    color: var(--bsb-accent) !important;
}

/* ── TESTIMONIAL BLOCK ── */
.bsb-testimonial {
    background: var(--bsb-surface) !important;
    border: 1px solid var(--bsb-border) !important;
    color: var(--bsb-text) !important;
}
.bsb-testimonial-text,
.bsb-testimonial blockquote,
.bsb-testimonial .quote {
    color: var(--bsb-text) !important;
}
.bsb-testimonial-author,
.bsb-testimonial .author {
    color: var(--bsb-muted) !important;
}
.bsb-testimonial-stars,
.bsb-testimonial .stars {
    color: var(--bsb-accent) !important;
}

/* ── YOUTUBE / VIDEO EMBED ── */
.bsb-youtube,
.bsb-video {
    border-radius: 12px !important;
    overflow: hidden !important;
    border: 1px solid var(--bsb-border) !important;
}

/* ── SPOTIFY / MUSIC BLOCK ── */
.bsb-spotify,
.bsb-music {
    border-radius: 12px !important;
    overflow: hidden !important;
    border: 1px solid var(--bsb-border) !important;
}

/* ── BADGE (PRODUCT/RECOMMENDED tags) ── */
.bsb-badge,
.bsb-tag {
    background: var(--bsb-accent) !important;
    color: var(--bsb-btn-text) !important;
    font-size: .6rem !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    padding: 2px 8px !important;
    border-radius: 4px !important;
}

/* ─────────────────────────────────────────────────────── */

/* ═══════════════════════════════════════════
   BSB PREMIUM BLOCK DESIGN SYSTEM v2
   Applies globally to all bio page templates
═══════════════════════════════════════════ */

:root {
    --bsb-radius: 14px;
    --bsb-radius-lg: 20px;
    --bsb-radius-pill: 100px;
    --bsb-gap: 8px;
    --bsb-transition: all 0.18s cubic-bezier(0.4, 0, 0.2, 1);
    --bsb-accent: var(--ac, #6366f1);
    --bsb-bg: var(--bg, #0f172a);
    --bsb-text: var(--text, #ffffff);
    --bsb-muted: rgba(255,255,255,0.5);
    --bsb-surface: var(--surface, rgba(255,255,255,0.07));
    --bsb-border: rgba(255,255,255,0.1);
    --bsb-btn-text: #ffffff;
}

/* BSB Auto Color Inheritance — DO NOT REMOVE */
.bsb-link,
.bsb-testimonial,
.bsb-product,
.bsb-affiliate,
.bsb-donate,
.bsb-calendar,
.bsb-download,
.bsb-location,
.bsb-countdown,
.bsb-gated,
.bsb-smart-link,
.bsb-whatsapp,
.bsb-header {
    color: var(--bsb-text);
}

/* All primary CTA buttons: accent bg + contrast text */
.bsb-product-btn,
.bsb-donate-btn,
.bsb-affiliate-btn,
.bsb-gated-btn,
.bsb-download-btn,
.bsb-form-btn,
.bsb-wa-btn,
.bsb-wa-btn-direct {
    color: var(--bsb-btn-text) !important;
}

/* ── Base reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{-webkit-font-smoothing:antialiased}
img,video,iframe{max-width:100%;display:block}
a{text-decoration:none}
button{font-family:inherit;cursor:pointer}
input,textarea{font-family:inherit}

/* ── Block list container ── */
.bsb-wrap{margin-bottom:0!important;padding:0!important}
.bsb-blocks-list,.blocks,.bio-blocks{
    display:flex!important;flex-direction:column!important;gap:var(--bsb-gap)!important
}

/* ════════════════════════
   LINK BLOCK — Premium
════════════════════════ */
.bsb-link {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 54px;
    padding: 14px 18px;
    background: var(--bsb-surface);
    border: 1px solid var(--bsb-border);
    border-radius: var(--bsb-radius);
    color: var(--bsb-text);
    text-decoration: none;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: var(--bsb-transition);
}
.bsb-link::before {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(135deg, rgba(255,255,255,0.04) 0%, transparent 100%);
    opacity: 0;
    transition: opacity 0.2s;
}
.bsb-link:hover::before { opacity: 1; }
.bsb-link:hover {
    transform: translateY(-1.5px);
    border-color: rgba(255,255,255,0.22);
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
}
.bsb-link:active { transform: scale(0.99) translateY(0); }

.bsb-link-icon {
    width: 34px; height: 34px;
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.55);
    transition: var(--bsb-transition);
}
.bsb-link:hover .bsb-link-icon {
    background: rgba(99, 102, 241, 0.12);
    border-color: rgba(99, 102, 241, 0.3);
    color: var(--bsb-accent, #6366f1);
    transform: scale(1.03);
    box-shadow: 0 0 10px rgba(99, 102, 241, 0.12);
}
.bsb-link-title {
    flex: 1;
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.01em;
}
.bsb-link-arrow {
    font-size: 11px;
    opacity: 0;
    color: var(--bsb-accent);
    transform: translateX(-4px);
    transition: var(--bsb-transition);
    flex-shrink: 0;
}
.bsb-link:hover .bsb-link-arrow {
    opacity: 0.8;
    transform: translateX(0);
}

/* ════════════════════════
   HEADER / SECTION BLOCK
════════════════════════ */
.bsb-header {
    padding: 4px 0;
    text-align: center;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}
.bsb-header-text {
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    opacity: 0.35;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.bsb-header-text::before,
.bsb-header-text::after {
    content: '';
    height: 1px;
    width: 40px;
    background: currentColor;
    opacity: 0.2;
}

/* ════════════════════════
   PRODUCT BLOCK — E-com
════════════════════════ */
.bsb-product {
    background: var(--bsb-surface);
    border: 1px solid var(--bsb-border);
    border-radius: var(--bsb-radius-lg);
    overflow: hidden;
    transition: var(--bsb-transition);
}
.bsb-product:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 40px rgba(0,0,0,0.2);
    border-color: var(--bsb-accent);
}
.bsb-product-inner { padding: 20px; }
.bsb-product-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 100px;
    margin-bottom: 12px;
    background: var(--bsb-accent);
    color: var(--bsb-btn-text);
}
.bsb-product-title {
    font-size: 1.05rem;
    font-weight: 700;
    margin-bottom: 6px;
    line-height: 1.3;
    letter-spacing: -0.01em;
}
.bsb-product-desc {
    font-size: 0.82rem;
    opacity: 0.5;
    margin-bottom: 16px;
    line-height: 1.6;
}
.bsb-product-price {
    font-size: 1.65rem;
    font-weight: 900;
    color: var(--bsb-accent);
    margin-bottom: 16px;
    letter-spacing: -0.03em;
    line-height: 1;
}
.bsb-product-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 14px 20px;
    background: var(--bsb-accent);
    color: var(--bsb-btn-text); border: none;
    border-radius: 10px;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: var(--bsb-transition);
    text-decoration: none;
}
.bsb-product-btn:hover {
    opacity: 0.88;
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.2);
}

/* ════════════════════════
   TESTIMONIAL BLOCK
════════════════════════ */
.bsb-testimonial {
    background: var(--bsb-surface);
    border: 1px solid var(--bsb-border);
    border-left: 3px solid var(--bsb-accent);
    border-radius: 0 var(--bsb-radius) var(--bsb-radius) 0;
    padding: 18px 20px 18px 24px;
    position: relative;
}
.bsb-stars {
    display: flex;
    gap: 2px;
    margin-bottom: 10px;
}
.bsb-stars i { color: #fbbf24; font-size: 13px; }
.bsb-testimonial-text {
    font-style: italic;
    font-size: 0.88rem;
    line-height: 1.75;
    opacity: 0.75;
    margin-bottom: 10px;
}
.bsb-testimonial-author {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 0.35;
}

/* ════════════════════════
   LEAD CAPTURE BLOCK
════════════════════════ */
.bsb-form {
    background: var(--bsb-surface);
    border: 1px solid var(--bsb-border);
    border-radius: var(--bsb-radius-lg);
    padding: 20px;
}
.bsb-form-title {
    font-size: 0.92rem;
    font-weight: 700;
    margin-bottom: 14px;
    letter-spacing: -0.01em;
}
.bsb-form-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.bsb-form-input {
    flex: 1;
    min-width: 140px;
    padding: 12px 16px;
    border-radius: 10px;
    font-size: 0.88rem;
    outline: none;
    border: 1.5px solid rgba(255,255,255,0.1);
    background: rgba(255,255,255,0.05);
    color: inherit;
    transition: border-color 0.2s;
}
.bsb-form-input:focus {
    border-color: var(--bsb-accent);
    background: rgba(255,255,255,0.08);
}
.bsb-form-btn {
    padding: 12px 20px;
    background: var(--bsb-accent);
    color: var(--bsb-btn-text); border: none;
    border-radius: 10px;
    font-size: 0.88rem;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    transition: var(--bsb-transition);
    letter-spacing: 0.02em;
}
.bsb-form-btn:hover { opacity: 0.88; transform: translateY(-1px); }

/* ════════════════════════
   WHATSAPP BLOCK
════════════════════════ */
.bsb-whatsapp {
    background: rgba(37,211,102,0.08);
    border: 1px solid rgba(37,211,102,0.2);
    border-radius: var(--bsb-radius-lg);
    overflow: hidden;
}
.bsb-wa-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px 10px;
    border-bottom: 1px solid rgba(37,211,102,0.1);
}
.bsb-wa-icon {
    width: 32px; height: 32px;
    background: #25d366;
    border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 15px;
    flex-shrink: 0;
}
.bsb-wa-title {
    font-size: 0.9rem;
    font-weight: 600;
    color: #25d366;
}
.bsb-wa-form { padding: 12px 18px 18px; }
.bsb-wa-textarea {
    width: 100%;
    padding: 10px 14px;
    border-radius: 10px;
    font-size: 0.85rem;
    line-height: 1.5;
    border: 1.5px solid rgba(37,211,102,0.2);
    background: rgba(255,255,255,0.04);
    color: inherit;
    resize: none;
    outline: none;
    margin-bottom: 10px;
    transition: border-color 0.2s;
}
.bsb-wa-textarea:focus { border-color: #25d366; }
.bsb-wa-btn, .bsb-wa-btn-direct {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 13px;
    background: #25d366;
    color: #ffffff; border: none;
    border-radius: 10px;
    font-size: 0.9rem;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    transition: var(--bsb-transition);
}
.bsb-wa-btn:hover, .bsb-wa-btn-direct:hover {
    background: #20bd5c;
    transform: translateY(-1px);
}

/* ════════════════════════
   VIDEO BLOCK
════════════════════════ */
.bsb-video-wrap {
    border-radius: var(--bsb-radius-lg);
    overflow: hidden;
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    background: #000;
    box-shadow: 0 8px 32px rgba(0,0,0,0.3);
}
.bsb-video-wrap iframe,
.bsb-video-wrap video {
    position: absolute; top: 0; left: 0;
    width: 100%; height: 100%;
    border: none;
}
/* Section label above video */
.bsb-video-label {
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    opacity: 0.35;
    margin-bottom: 6px;
    padding-left: 2px;
    display: block;
}

/* ════════════════════════
   DONATE BLOCK
════════════════════════ */
.bsb-donate {
    background: linear-gradient(135deg, 
        rgba(139,92,246,0.15), 
        rgba(99,102,241,0.08));
    border: 1px solid rgba(139,92,246,0.25);
    border-radius: var(--bsb-radius-lg);
    padding: 20px;
    text-align: center;
}
.bsb-donate-title {
    font-size: 0.95rem;
    font-weight: 700;
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.bsb-donate-btn {
    display: block; width: 100%;
    padding: 14px;
    background: linear-gradient(135deg, var(--bsb-accent), rgba(139,92,246,0.8));
    color: var(--bsb-btn-text); border: none;
    border-radius: 10px;
    font-size: 0.9rem;
    font-weight: 700;
    cursor: pointer;
    transition: var(--bsb-transition);
    letter-spacing: 0.02em;
    box-shadow: 0 4px 16px rgba(99,102,241,0.3);
}
.bsb-donate-btn:hover {
    opacity: 0.9;
    transform: translateY(-1px);
    box-shadow: 0 8px 24px rgba(99,102,241,0.4);
}

/* ════════════════════════
   AFFILIATE BLOCK
════════════════════════ */
.bsb-affiliate {
    background: var(--bsb-surface);
    border: 1px solid var(--bsb-border);
    border-radius: var(--bsb-radius-lg);
    padding: 18px 20px;
    position: relative;
    overflow: hidden;
}
.bsb-affiliate::before {
    content: '';
    position: absolute; top: 0; right: 0;
    width: 80px; height: 80px;
    background: var(--bsb-accent);
    opacity: 0.04;
    border-radius: 50%;
    transform: translate(20px, -20px);
}
.bsb-affiliate-badge {
    font-size: 0.58rem; font-weight: 800;
    letter-spacing: 0.12em; text-transform: uppercase;
    color: var(--bsb-accent); opacity: 0.8;
    margin-bottom: 8px; display: block;
}
.bsb-affiliate-title {
    font-size: 0.95rem;
    font-weight: 700; margin-bottom: 14px;
    line-height: 1.3;
}
.bsb-affiliate-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 13px;
    background: var(--bsb-accent);
    color: var(--bsb-btn-text); border: none;
    border-radius: 10px;
    font-size: 0.88rem;
    font-weight: 700; cursor: pointer;
    transition: var(--bsb-transition);
    text-decoration: none;
    letter-spacing: 0.03em;
}
.bsb-affiliate-btn:hover { opacity: 0.88; transform: translateY(-1px); }

/* ════════════════════════
   CALENDAR BLOCK
════════════════════════ */
.bsb-calendar {
    background: var(--bsb-surface);
    border: 1px solid var(--bsb-border);
    border-radius: var(--bsb-radius);
    padding: 16px 18px;
    display: flex;
    align-items: center;
    gap: 14px;
    transition: var(--bsb-transition);
}
.bsb-calendar:hover { border-color: var(--bsb-accent); }
.bsb-calendar-icon {
    width: 40px; height: 40px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.55);
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.1rem;
    flex-shrink: 0;
    transition: var(--bsb-transition);
}
.bsb-calendar:hover .bsb-calendar-icon {
    background: rgba(99, 102, 241, 0.12);
    border-color: rgba(99, 102, 241, 0.3);
    color: var(--bsb-accent, #6366f1);
    transform: scale(1.03);
    box-shadow: 0 0 10px rgba(99, 102, 241, 0.12);
}
.bsb-calendar-info { flex: 1; }
.bsb-calendar-title {
    font-size: 0.88rem;
    font-weight: 600;
    margin-bottom: 4px;
}
.bsb-calendar-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.78rem;
    color: var(--bsb-accent);
    font-weight: 600;
    text-decoration: none;
    transition: gap 0.15s;
}
.bsb-calendar-link:hover { gap: 8px; }

/* ════════════════════════
   DOWNLOAD BLOCK
════════════════════════ */
.bsb-download {
    background: var(--bsb-surface);
    border: 1px solid var(--bsb-border);
    border-radius: var(--bsb-radius);
    padding: 14px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    transition: var(--bsb-transition);
}
.bsb-download:hover { border-color: var(--bsb-accent); }
.bsb-download-info {
    display: flex; align-items: center; gap: 12px; flex: 1; min-width: 0;
}
.bsb-download-icon {
    width: 36px; height: 36px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 9px;
    display: flex; align-items: center; justify-content: center;
    color: rgba(255, 255, 255, 0.55);
    font-size: 14px;
    flex-shrink: 0;
    transition: var(--bsb-transition);
}
.bsb-download:hover .bsb-download-icon {
    background: rgba(99, 102, 241, 0.12);
    border-color: rgba(99, 102, 241, 0.3);
    color: var(--bsb-accent, #6366f1);
    transform: scale(1.03);
    box-shadow: 0 0 10px rgba(99, 102, 241, 0.12);
}
.bsb-download-title {
    font-size: 0.88rem;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.bsb-download-btn {
    padding: 8px 16px;
    background: var(--bsb-accent);
    color: var(--bsb-btn-text); border: none;
    border-radius: 8px;
    font-size: 0.78rem;
    font-weight: 700;
    cursor: pointer;
    flex-shrink: 0;
    text-decoration: none;
    transition: var(--bsb-transition);
    display: inline-flex; align-items: center; gap: 6px;
}
.bsb-download-btn:hover { opacity: 0.88; }

/* ════════════════════════
   COUNTDOWN BLOCK
════════════════════════ */
.bsb-countdown {
    background: var(--bsb-surface);
    border: 1px solid var(--bsb-border);
    border-radius: var(--bsb-radius-lg);
    padding: 24px 20px;
    text-align: center;
}
.bsb-countdown-title {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.45;
    margin-bottom: 18px;
}
.bsb-countdown-grid {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
}
.bsb-cd-unit {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 60px;
}
.bsb-cd-num {
    font-size: 2.2rem;
    font-weight: 900;
    color: var(--bsb-accent);
    line-height: 1;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
}
.bsb-cd-label {
    font-size: 0.58rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    opacity: 0.35;
    margin-top: 4px;
}
.bsb-cd-sep {
    font-size: 1.8rem;
    font-weight: 900;
    color: var(--bsb-accent);
    opacity: 0.3;
    padding: 0 4px;
    margin-top: -8px;
}
.bsb-countdown-inactive {
    font-size: 0.85rem;
    opacity: 0.4;
    padding: 8px 0;
}

/* ════════════════════════
   GATED / UNLOCK BLOCK
════════════════════════ */
.bsb-gated {
    background: var(--bsb-surface);
    border: 1px solid var(--bsb-border);
    border-radius: var(--bsb-radius-lg);
    padding: 28px 24px;
    text-align: center;
}
.bsb-gated-lock {
    font-size: 2rem;
    margin-bottom: 12px;
    display: block;
}
.bsb-gated-title {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 6px;
    letter-spacing: -0.01em;
}
.bsb-gated-desc {
    font-size: 0.82rem;
    opacity: 0.5;
    margin-bottom: 18px;
    line-height: 1.55;
}
.bsb-gated-pw-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
}
.bsb-gated-input {
    width: 100%;
    padding: 12px 16px;
    border-radius: 10px;
    font-size: 0.9rem;
    border: 1.5px solid var(--bsb-border);
    background: rgba(255,255,255,0.05);
    color: inherit; outline: none;
    text-align: center;
    letter-spacing: 0.05em;
    transition: border-color 0.2s;
}
.bsb-gated-input:focus { border-color: var(--bsb-accent); }
.bsb-gated-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 14px;
    background: var(--bsb-accent);
    color: var(--bsb-btn-text); border: none;
    border-radius: 10px;
    font-size: 0.9rem;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    transition: var(--bsb-transition);
    box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}
.bsb-gated-btn:hover { opacity: 0.88; transform: translateY(-1px); }
.bsb-gated-err {
    font-size: 0.8rem;
    color: #ef4444;
    margin-top: 4px;
}

/* ════════════════════════
   LOCATION BLOCK
════════════════════════ */
.bsb-location {
    background: var(--bsb-surface);
    border: 1px solid var(--bsb-border);
    border-radius: var(--bsb-radius);
    padding: 14px 18px;
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: inherit;
    transition: var(--bsb-transition);
}
.bsb-location:hover { border-color: var(--bsb-accent); transform: translateY(-1px); }
.bsb-location-pin {
    font-size: 1.4rem; flex-shrink: 0;
}
.bsb-location-text {
    font-size: 0.88rem;
    font-weight: 500;
    line-height: 1.4;
}

/* ════════════════════════
   SMART LINK BLOCK
════════════════════════ */
.bsb-smart-link {
    background: linear-gradient(135deg, 
        rgba(var(--bsb-accent-rgb, 99,102,241), 0.12),
        rgba(var(--bsb-accent-rgb, 99,102,241), 0.04));
    border: 1px solid var(--bsb-accent);
    border-radius: var(--bsb-radius);
    overflow: hidden;
    transition: var(--bsb-transition);
}
.bsb-smart-link:hover { box-shadow: 0 0 20px rgba(99,102,241,0.15); }
.bsb-smart-badge {
    font-size: 0.58rem; font-weight: 800;
    letter-spacing: 0.12em; text-transform: uppercase;
    color: var(--bsb-accent);
    padding: 6px 14px 0;
    display: block;
}

/* ════════════════════════
   TELEGRAM BLOCK
════════════════════════ */
.bsb-telegram {
    background: rgba(0,136,204,0.08);
    border: 1px solid rgba(0,136,204,0.2);
}
.bsb-telegram .bsb-link-icon {
    background: #0088cc;
    color: #fff;
}
.bsb-telegram:hover { border-color: #0088cc; }

/* ════════════════════════
   SPOTIFY / MUSIC BLOCK
════════════════════════ */
.bsb-music-wrap,
.bsb-spotify-wrap {
    border-radius: var(--bsb-radius-lg);
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.2);
}
.bsb-music-wrap iframe,
.bsb-spotify-wrap iframe {
    width: 100%;
    border: none;
    display: block;
}

/* ════════════════════════
   ANIMATION — Stagger in
════════════════════════ */
@keyframes bsbFadeUp {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}
.bsb-wrap {
    animation: bsbFadeUp 0.3s ease both;
}
.bsb-wrap:nth-child(1)  { animation-delay: 0.03s }
.bsb-wrap:nth-child(2)  { animation-delay: 0.06s }
.bsb-wrap:nth-child(3)  { animation-delay: 0.09s }
.bsb-wrap:nth-child(4)  { animation-delay: 0.12s }
.bsb-wrap:nth-child(5)  { animation-delay: 0.15s }
.bsb-wrap:nth-child(6)  { animation-delay: 0.18s }
.bsb-wrap:nth-child(7)  { animation-delay: 0.21s }
.bsb-wrap:nth-child(8)  { animation-delay: 0.24s }
.bsb-wrap:nth-child(9)  { animation-delay: 0.27s }
.bsb-wrap:nth-child(10) { animation-delay: 0.30s }

/* ════════════════════════
   LIGHT TEMPLATE OVERRIDES
   (for templates with light bg)
════════════════════════ */
.bsb-light .bsb-link {
    background: var(--bsb-surface);
    border-color: var(--bsb-border);
    color: var(--bsb-text);
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}
.bsb-light .bsb-link:hover {
    box-shadow: 0 6px 20px rgba(0,0,0,0.1);
    border-color: var(--bsb-border);
}
.bsb-light .bsb-link-icon {
    background: var(--bsb-surface);
    color: var(--bsb-accent);
}
.bsb-light .bsb-form-input {
    border-color: var(--bsb-border);
    background: var(--bsb-surface);
    color: var(--bsb-text);
}
.bsb-light .bsb-product,
.bsb-light .bsb-testimonial,
.bsb-light .bsb-donate,
.bsb-light .bsb-affiliate,
.bsb-light .bsb-calendar,
.bsb-light .bsb-download,
.bsb-light .bsb-countdown,
.bsb-light .bsb-gated,
.bsb-light .bsb-form {
    background: var(--bsb-surface);
    border-color: var(--bsb-border);
    box-shadow: 0 1px 4px rgba(0,0,0,0.05);
    color: var(--bsb-text);
}
