/**
 * distribution-fullbleed.css
 *
 * Aplica a técnica "full-bleed" em DESKTOP para que as páginas de distribuição
 * escapem à coluna estreita imposta por temas WordPress (~620-720px) e
 * usem a largura toda do ecrã (até 1280px max), CENTRADAS no viewport.
 *
 * [REFACTOR 1.5.11] Em MOBILE (≤768px) o full-bleed é completamente
 * desactivado. O container comporta-se como .onemz-artist-dashboard
 * da página Minha Conta: width:auto + margin:auto, respeitando a coluna
 * do tema. Isso elimina o efeito visual de "saltar" (container a esticar
 * 100vw durante o carregamento).
 *
 * Como funciona o full-bleed (só em desktop):
 *   1. `margin-left: calc(50% - 50vw)` puxa o lado esquerdo do elemento
 *      até à borda esquerda do viewport.
 *   2. `margin-right: calc(50% - 50vw)` faz o mesmo do lado direito.
 *   3. `max-width: 1280px` limita o tamanho final em monitores grandes.
 *
 * Em monitores grandes (>1340px) centra a 1280px com margens auto em vez
 * das calc(50%-50vw) negativas, para evitar colar às bordas absolutas.
 */

/* Base: aparência visual aplica-se a todos os tamanhos. Layout de
   posicionamento/largura é específico por breakpoint abaixo. */
.rmbz-fullbleed {
    display: block;
    background-color: #121212;
    border: 1px solid #2a2a2a;
    border-radius: 10px;
    box-sizing: border-box;
    padding: 24px;
    margin: 20px auto;
    width: auto;
    max-width: 100%;
}

/* [1.5.124] CORRECÇÃO: técnica anterior usava `calc(50% - 50vw)` que assume
 * que o container pai está centrado no viewport. Como o tema Foxiz tem
 * layouts assimétricos (sidebar, paddings desiguais, posts dentro de grids),
 * o `50%` do pai não coincide com o `50vw` do viewport — resultado: o
 * fullbleed sai deslocado para um lado.
 *
 * A nova técnica usa `position: relative; left: 50%; transform: translateX(-50%);
 * width: 100vw` que é IMUNE à posição do pai — usa o viewport directamente
 * para se centrar e estender. É o método canónico para "escape" de coluna
 * de tema, usado por WordPress core em alignfull e por Tailwind.
 */

/* Desktop (≥769px): full-bleed escapando à coluna do tema */
@media (min-width: 769px) {
    .rmbz-fullbleed {
        position: relative !important;
        left: 50% !important;
        right: 50% !important;
        margin-left: -50vw !important;
        margin-right: -50vw !important;
        width: 100vw !important;
        max-width: 100vw !important;
        margin-top: 20px !important;
        margin-bottom: 20px !important;
    }
}

/* Em monitores muito grandes (>1340px) limitar a 1280px centrado.
 * `width: 100vw` ainda escapa a coluna mas o conteúdo interno fica
 * confinado a 1280px via `max-width` num wrapper interno — aqui usamos
 * outra técnica: width fixa de 1280px e position+transform para centrar. */
@media (min-width: 1340px) {
    .rmbz-fullbleed {
        position: relative !important;
        left: 50% !important;
        right: auto !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        transform: translateX(-50%) !important;
        width: 1280px !important;
        max-width: 1280px !important;
    }
}

/* Mobile (≤768px): layout simples, sem escape. Container respeita a
 * coluna do tema, sem esticar. Padding reduzido, cantos arredondados
 * preservados. */
@media (max-width: 768px) {
    .rmbz-fullbleed {
        position: static !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
        width: auto !important;
        max-width: 100% !important;
        margin: 15px auto !important;
        padding: 20px 15px !important;
        border-radius: 8px !important;
        box-sizing: border-box !important;
    }
}

/* ============================================================================
 * NESTING — neutralizar full-bleed filhos
 * ----------------------------------------------------------------------------
 * Quando uma página com .rmbz-fullbleed renderiza outra view que também
 * usa .rmbz-fullbleed (ex: dashboard renderiza a Discografia inline),
 * o filho herda o efeito e "estoura". Esta regra cancela o full-bleed
 * de qualquer descendente, transformando-o em container normal interno.
 * ============================================================================ */

.rmbz-fullbleed .rmbz-fullbleed {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* ============================================================================
 * [1.5.115] PAYWALL V2 — Especificidade brutal + !important para isolar do tema
 * ----------------------------------------------------------------------------
 * Estratégia: subir a especificidade dos selectores (.distro-paywall-v2 X)
 * e marcar com !important todas as propriedades que temas WordPress (Foxiz,
 * etc.) costumam atacar via .entry-content, .post-content, article a, etc.
 *
 * Propriedades blindadas: display, background, color, padding, margin, border,
 * box-shadow, text-decoration, font-family, line-height, letter-spacing,
 * text-transform, width, max-width.
 * ============================================================================ */

/* ---- THEME OVERRIDES localizados ao paywall v2 ---- */
.distro-paywall-v2 a,
.distro-paywall-v2 a:hover,
.distro-paywall-v2 a:focus,
.distro-paywall-v2 a:active,
.distro-paywall-v2 a:visited,
.distro-paywall-v2 button {
    text-decoration: none !important;
    text-decoration-line: none !important;
    background-image: none !important;
    border-bottom: none !important;
}
.distro-paywall-v2 a::before,
.distro-paywall-v2 a::after,
.distro-paywall-v2 button::before,
.distro-paywall-v2 button::after {
    content: none !important;
    display: none !important;
    background: none !important;
}

/* ---- CONTAINER (forçar display: flex e cor de fundo) ---- */
.distro-paywall-v2 {
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
    min-height: 60vh !important;
    padding: 40px 20px !important;
    margin: 0 !important;
    background: #0a0a0a !important;
    box-sizing: border-box !important;
    position: relative !important;
    overflow: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
}

.distro-paywall-v2::before {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    background:
        radial-gradient(circle at 30% 20%, rgba(240,185,11,0.08), transparent 60%),
        radial-gradient(circle at 70% 80%, rgba(230,126,34,0.06), transparent 60%) !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

/* ---- CARD (forçar empilhamento vertical para resolver problema do tema) ---- */
.distro-paywall-v2 .paywall-content-v2 {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    position: relative !important;
    z-index: 1 !important;
    width: 100% !important;
    max-width: 480px !important;
    background: linear-gradient(180deg, rgba(28,28,32,0.95) 0%, rgba(18,18,22,0.95) 100%) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    border-radius: 20px !important;
    padding: 36px 32px !important;
    margin: 0 !important;
    box-shadow:
        0 20px 60px rgba(0,0,0,0.5),
        inset 0 1px 0 rgba(255,255,255,0.05) !important;
    text-align: center !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    color: #fff !important;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Inter, Roboto, sans-serif !important;
}

.distro-paywall-v2 .paywall-content-v2::before {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent, rgba(240,185,11,0.6), rgba(230,126,34,0.6), rgba(240,185,11,0.6), transparent) !important;
}

/* ---- BADGE VIP (deve ficar sozinho na sua linha, centrado) ---- */
.distro-paywall-v2 .pw-v2-vip-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 6px 14px !important;
    margin: 0 0 20px 0 !important;
    background: rgba(240,185,11,0.1) !important;
    border: 1px solid rgba(240,185,11,0.25) !important;
    border-radius: 100px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #f0b90b !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    line-height: 1 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    width: auto !important;
}
.distro-paywall-v2 .pw-v2-vip-dot {
    display: inline-block !important;
    width: 6px !important;
    height: 6px !important;
    background: #f0b90b !important;
    border-radius: 50% !important;
    box-shadow: 0 0 8px #f0b90b !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
}

/* ---- ÍCONE GLOBO (deve ficar sozinho na sua linha, centrado) ---- */
.distro-paywall-v2 .pw-v2-icon-wrap {
    display: inline-flex !important;
    width: 64px !important;
    height: 64px !important;
    background: linear-gradient(135deg, rgba(240,185,11,0.15), rgba(230,126,34,0.1)) !important;
    border: 1px solid rgba(240,185,11,0.2) !important;
    border-radius: 18px !important;
    align-items: center !important;
    justify-content: center !important;
    color: #f0b90b !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
}
.distro-paywall-v2 .pw-v2-icon {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ---- TÍTULO E SUBTÍTULO ---- */
.distro-paywall-v2 .pw-v2-title {
    color: #fff !important;
    font-size: 30px !important;
    font-weight: 800 !important;
    margin: 16px 0 10px 0 !important;
    padding: 0 !important;
    letter-spacing: -0.5px !important;
    line-height: 1.1 !important;
    text-align: center !important;
    background: none !important;
    -webkit-background-clip: initial !important;
    -webkit-text-fill-color: initial !important;
    width: auto !important;
    max-width: 100% !important;
    border: none !important;
    text-transform: none !important;
}
.distro-paywall-v2 .pw-v2-subtitle {
    color: #9a9a9a !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin: 0 0 28px 0 !important;
    padding: 0 8px !important;
    text-align: center !important;
    font-weight: 400 !important;
    background: none !important;
    border: none !important;
    width: auto !important;
    max-width: 100% !important;
}

/* ---- LISTA DE FEATURES ---- */
.distro-paywall-v2 .pw-v2-features {
    list-style: none !important;
    margin: 0 0 24px 0 !important;
    padding: 18px !important;
    background: rgba(255,255,255,0.02) !important;
    border: 1px solid rgba(255,255,255,0.06) !important;
    border-radius: 14px !important;
    text-align: left !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}
.distro-paywall-v2 .pw-v2-feature {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    margin: 0 0 14px 0 !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    list-style: none !important;
}
.distro-paywall-v2 .pw-v2-feature:last-child {
    margin-bottom: 0 !important;
}
.distro-paywall-v2 .pw-v2-feature::before,
.distro-paywall-v2 .pw-v2-feature::marker {
    content: none !important;
    display: none !important;
}

.distro-paywall-v2 .pw-v2-check {
    flex-shrink: 0 !important;
    display: inline-flex !important;
    width: 22px !important;
    height: 22px !important;
    background: rgba(46,204,113,0.15) !important;
    border: 1px solid rgba(46,204,113,0.3) !important;
    border-radius: 7px !important;
    align-items: center !important;
    justify-content: center !important;
    color: #2ecc71 !important;
    margin: 1px 0 0 0 !important;
    padding: 0 !important;
}
.distro-paywall-v2 .pw-v2-feature-text {
    flex: 1 !important;
    min-width: 0 !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}
.distro-paywall-v2 .pw-v2-feature-title {
    display: block !important;
    color: #fff !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    text-decoration: none !important;
}
.distro-paywall-v2 .pw-v2-feature-desc {
    display: block !important;
    color: #888 !important;
    font-size: 12.5px !important;
    line-height: 1.4 !important;
    margin: 2px 0 0 0 !important;
    padding: 0 !important;
    font-weight: 400 !important;
    background: none !important;
}

/* ---- CAIXA DE PREÇO ---- */
.distro-paywall-v2 .pw-v2-price-box {
    text-align: center !important;
    padding: 20px 0 24px 0 !important;
    margin: 0 0 24px 0 !important;
    border-top: 1px solid rgba(255,255,255,0.06) !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
    border-left: none !important;
    border-right: none !important;
    background: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.distro-paywall-v2 .pw-v2-plan-name {
    color: #aaa !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.6px !important;
    text-transform: uppercase !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    background: none !important;
}
.distro-paywall-v2 .pw-v2-price-row {
    display: flex !important;
    align-items: baseline !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
}
.distro-paywall-v2 .pw-v2-price {
    display: inline-block !important;
    font-size: 42px !important;
    font-weight: 800 !important;
    background: linear-gradient(180deg, #f0b90b, #e67e22) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    letter-spacing: -1px !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
}
.distro-paywall-v2 .pw-v2-price-currency {
    display: inline-block !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #f0b90b !important;
    background: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.distro-paywall-v2 .pw-v2-price-period {
    color: #666 !important;
    font-size: 12px !important;
    margin: 6px 0 0 0 !important;
    padding: 0 !important;
    letter-spacing: 0.3px !important;
    background: none !important;
    font-weight: 400 !important;
}

/* ---- INFO DE SALDO ---- */
.distro-paywall-v2 .pw-v2-balance-ok {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 10px 14px !important;
    margin: 0 0 18px 0 !important;
    background: rgba(46,204,113,0.08) !important;
    border: 1px solid rgba(46,204,113,0.2) !important;
    border-radius: 10px !important;
    color: #82e0aa !important;
    font-size: 13px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.distro-paywall-v2 .pw-v2-balance-ok strong {
    color: #fff !important;
    font-weight: 700 !important;
    background: none !important;
}

.distro-paywall-v2 .pw-v2-balance-low {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px 14px !important;
    margin: 0 0 18px 0 !important;
    background: rgba(231,76,60,0.08) !important;
    border: 1px solid rgba(231,76,60,0.2) !important;
    border-radius: 10px !important;
    text-align: left !important;
    color: #e74c3c !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.distro-paywall-v2 .pw-v2-balance-low > svg {
    flex-shrink: 0 !important;
}
.distro-paywall-v2 .pw-v2-balance-low-text {
    flex: 1 !important;
    font-size: 12.5px !important;
    margin: 0 !important;
    padding: 0 !important;
}
.distro-paywall-v2 .pw-v2-balance-low-title {
    color: #f5b7b1 !important;
    font-weight: 600 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
}
.distro-paywall-v2 .pw-v2-balance-low-desc {
    color: #888 !important;
    font-size: 11.5px !important;
    margin: 1px 0 0 0 !important;
    padding: 0 !important;
    font-weight: 400 !important;
    background: none !important;
}

/* ============================================================================
 * BOTÃO PRIMÁRIO — CRÍTICO: forçar TUDO porque é onde o tema bate mais
 * ============================================================================ */
.distro-paywall-v2 a.pw-v2-btn,
.distro-paywall-v2 button.pw-v2-btn,
.distro-paywall-v2 .pw-v2-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 15px 20px !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    transition: all 0.25s ease !important;
    font-family: inherit !important;
    text-decoration: none !important;
    text-decoration-line: none !important;
    line-height: 1.2 !important;
    background-image: none !important;
}
.distro-paywall-v2 a.pw-v2-btn-primary,
.distro-paywall-v2 button.pw-v2-btn-primary,
.distro-paywall-v2 .pw-v2-btn-primary {
    background: linear-gradient(135deg, #f0b90b 0%, #e67e22 100%) !important;
    background-color: #f0b90b !important;
    background-image: linear-gradient(135deg, #f0b90b 0%, #e67e22 100%) !important;
    color: #fff !important;
    box-shadow: 0 8px 24px rgba(240,185,11,0.25) !important;
    border: none !important;
    text-shadow: none !important;
}
.distro-paywall-v2 a.pw-v2-btn-primary:hover,
.distro-paywall-v2 button.pw-v2-btn-primary:hover,
.distro-paywall-v2 .pw-v2-btn-primary:hover {
    background: linear-gradient(135deg, #f0b90b 0%, #e67e22 100%) !important;
    background-image: linear-gradient(135deg, #f0b90b 0%, #e67e22 100%) !important;
    color: #fff !important;
    box-shadow: 0 12px 32px rgba(240,185,11,0.35) !important;
    transform: translateY(-1px) !important;
    text-decoration: none !important;
    border: none !important;
}
.distro-paywall-v2 a.pw-v2-btn-primary:active,
.distro-paywall-v2 button.pw-v2-btn-primary:active,
.distro-paywall-v2 .pw-v2-btn-primary:active {
    transform: translateY(0) !important;
    box-shadow: 0 6px 18px rgba(240,185,11,0.25) !important;
    color: #fff !important;
}
.distro-paywall-v2 a.pw-v2-btn-primary:visited,
.distro-paywall-v2 a.pw-v2-btn-primary:focus {
    color: #fff !important;
    background: linear-gradient(135deg, #f0b90b 0%, #e67e22 100%) !important;
    text-decoration: none !important;
}
.distro-paywall-v2 .pw-v2-btn svg {
    flex-shrink: 0 !important;
    display: inline-block !important;
}
.distro-paywall-v2 .pw-v2-btn span {
    color: inherit !important;
    background: none !important;
}

/* ---- FALLBACK SEM PACOTES ---- */
.distro-paywall-v2 .pw-v2-no-plans {
    padding: 24px 18px !important;
    margin: 0 0 18px 0 !important;
    background: rgba(255,255,255,0.03) !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    border-radius: 12px !important;
    text-align: center !important;
    color: #aaa !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.distro-paywall-v2 .pw-v2-no-plans-icon {
    color: #f0b90b !important;
    margin: 0 0 10px 0 !important;
    opacity: 0.85 !important;
    display: inline-block !important;
}
.distro-paywall-v2 .pw-v2-no-plans-title {
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    margin: 0 0 6px 0 !important;
    padding: 0 !important;
    background: none !important;
}
.distro-paywall-v2 .pw-v2-no-plans-desc {
    color: #888 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    font-weight: 400 !important;
}

/* ---- FOOTER ---- */
.distro-paywall-v2 .pw-v2-footer {
    margin: 20px 0 0 0 !important;
    padding: 18px 0 0 0 !important;
    border-top: 1px solid rgba(255,255,255,0.04) !important;
    border-bottom: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    color: #555 !important;
    font-size: 11px !important;
    background: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.distro-paywall-v2 .pw-v2-footer svg {
    flex-shrink: 0 !important;
}

/* ---- FORM DENTRO DO PAYWALL (limpar estilos do tema) ---- */
.distro-paywall-v2 form {
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* ---- RESPONSIVO ---- */
@media (max-width: 520px) {
    .distro-paywall-v2 {
        padding: 24px 12px !important;
    }
    .distro-paywall-v2 .paywall-content-v2 {
        padding: 28px 22px !important;
        border-radius: 16px !important;
    }
    .distro-paywall-v2 .pw-v2-title {
        font-size: 24px !important;
    }
    .distro-paywall-v2 .pw-v2-price {
        font-size: 36px !important;
    }
    .distro-paywall-v2 .pw-v2-features {
        padding: 14px !important;
    }
}
