/* WLS subscriptions UI */
.wls-as-box {
    background: #17171c !important;
    border: 1px solid rgba(255, 255, 255, .08) !important;
    border-radius: 14px !important;
    padding: 16px !important;
    color: #fff !important;
    margin: 14px 0 !important;
}

.wls-as-box h3 {
    margin: 0 0 14px 0 !important;
    color: #fff !important;
}

.wls-as-box p,
.wls-as-box label,
.wls-as-box strong,
.wls-as-box .h5 {
    color: #fff !important;
}

.wls-as-main-check {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 12px 0 !important;
    font-weight: 700 !important;
    color: #fff !important;
}

.wls-as-sub-area {
    margin-top: 12px !important;
}

.wls-as-plan-list {
    display: grid !important;
    gap: 8px !important;
    margin: 10px 0 14px 0 !important;
}

.wls-as-plan-item,
.wls-as-manager-plan,
.wls-as-subscribe-plan {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding: 12px !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, .055) !important;
    border: 1px solid rgba(255, 255, 255, .08) !important;
    color: #fff !important;
}

.wls-as-plan-item {
    justify-content: flex-start !important;
    cursor: pointer !important;
}

.wls-as-plan-title {
    font-weight: 700 !important;
    color: #fff !important;
}

.wls-as-plan-meta,
.wls-as-manager-plan span,
.wls-as-subscribe-plan span,
.wls-as-sub-price {
    color: #fff !important;
    font-weight: 700 !important;
}

.wls-as-sub-price {
    margin-top: 4px !important;
    font-size: 13px !important;
    font-family: 'Poppins', sans-serif !important;
}

.wls-as-empty-plans,
.wls-as-result {
    color: #cfcfd6 !important;
    font-size: 13px !important;
    margin: 8px 0 !important;
}

.wls-as-result.is-error {
    color: #ff6b6b !important;
}

.wls-as-result.is-success {
    color: #fff !important;
}

.wls-as-create-plan,
.wls-as-create-plan-inline {
    display: grid !important;
    gap: 8px !important;
    margin-top: 12px !important;
}

.wls-as-create-title {
    font-weight: 700 !important;
    color: #fff !important;
    margin-top: 4px !important;
}

.wls-as-create-plan input,
.wls-as-create-plan textarea,
.wls-as-create-plan-inline input,
.wls-as-create-plan-inline textarea {
    width: 100% !important;
    background: #0f0f13 !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, .12) !important;
    border-radius: 10px !important;
    padding: 10px 12px !important;
}

.wls-as-btn,
a.wls-as-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 999px !important;
    padding: 10px 16px !important;
    cursor: pointer !important;
    color: #fff !important;
    font-weight: 800 !important;
    background: #d10000 !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

.wls-as-btn:hover,
a.wls-as-btn:hover {
    background: #ff0000 !important;
    color: #fff !important;
}

.wls-as-btn:disabled {
    opacity: .55 !important;
    cursor: wait !important;
}


.wls-as-subscribe-plan-main {
    display: grid !important;
    gap: 7px !important;
    min-width: 0 !important;
    width: 100% !important;
}

.wls-as-subscribe-plan .wls-as-available-details {
    margin-top: 6px !important;
}

.wls-as-subscribe-plan .wls-as-available-list {
    max-width: 100% !important;
}

.wls-as-subscribe-plan p {
    margin: 5px 0 0 0 !important;
    color: #cfcfd6 !important;
    font-size: 13px !important;
}

.wls-as-paywall-box > .wls-as-box {
    margin-top: 14px !important;
}

/* User subscription journal */
.wls-as-journal-box {
    margin-bottom: 18px !important;
}

.wls-as-journal-details {
    color: #fff !important;
}

.wls-as-journal-summary {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    cursor: pointer !important;
    list-style: none !important;
    color: #fff !important;
    font-weight: 800 !important;
    font-size: 16px !important;
}

.wls-as-journal-summary::-webkit-details-marker {
    display: none !important;
}

.wls-as-journal-summary:after {
    content: "+";
    width: 28px !important;
    height: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    background: #d10000 !important;
    color: #fff !important;
    font-weight: 900 !important;
}

.wls-as-journal-details[open] .wls-as-journal-summary:after {
    content: "−";
}

.wls-as-journal-summary small {
    margin-left: auto !important;
    color: #d8d8d8 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.wls-as-journal-empty {
    margin-top: 14px !important;
    color: #d8d8d8 !important;
}

.wls-as-journal-table-wrap {
    width: 100% !important;
    overflow-x: auto !important;
    margin-top: 14px !important;
}

.wls-as-journal-table {
    width: 100% !important;
    border-collapse: collapse !important;
    color: #fff !important;
    font-size: 13px !important;
}

.wls-as-journal-table th,
.wls-as-journal-table td {
    padding: 10px 8px !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
    vertical-align: top !important;
    text-align: left !important;
    color: #fff !important;
}

.wls-as-journal-table th {
    color: #d8d8d8 !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

.wls-as-journal-table a {
    color: #ff3636 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.wls-as-journal-table a:hover {
    color: #ff0000 !important;
    text-decoration: underline !important;
}

.wls-as-status {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 4px 8px !important;
    border-radius: 999px !important;
    background: #2a2a2a !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

.wls-as-status-active {
    background: #d10000 !important;
}

.wls-as-status-expired,
.wls-as-status-disabled {
    background: #555 !important;
}

.wls-as-journal-pagination {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-top: 14px !important;
}

.wls-as-journal-pagination a {
    min-width: 32px !important;
    height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 4px !important;
    background: #242424 !important;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 800 !important;
}

.wls-as-journal-pagination a.is-active,
.wls-as-journal-pagination a:hover {
    background: #d10000 !important;
    color: #fff !important;
}

@media (max-width: 767px) {
    .wls-as-journal-table,
    .wls-as-journal-table thead,
    .wls-as-journal-table tbody,
    .wls-as-journal-table th,
    .wls-as-journal-table td,
    .wls-as-journal-table tr {
        display: block !important;
        width: 100% !important;
    }

    .wls-as-journal-table thead {
        display: none !important;
    }

    .wls-as-journal-table tr {
        padding: 10px 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, .12) !important;
    }

    .wls-as-journal-table td {
        display: flex !important;
        justify-content: space-between !important;
        gap: 14px !important;
        border-bottom: 0 !important;
        padding: 6px 0 !important;
    }

    .wls-as-journal-table td:before {
        content: attr(data-label);
        color: #d8d8d8 !important;
        font-weight: 800 !important;
        flex: 0 0 38% !important;
    }
}

/* WordPress admin: keep admin UI readable on white background */
body.wp-admin .wls-as-box,
body.wp-admin .wls-as-admin-meta,
body.wp-admin .wls-as-create-plan,
body.wp-admin .wls-as-create-plan-inline {
    background: #ffffff !important;
    color: #1d2327 !important;
    border-color: #c3c4c7 !important;
}

body.wp-admin .wls-as-box h3,
body.wp-admin .wls-as-box p,
body.wp-admin .wls-as-box label,
body.wp-admin .wls-as-box strong,
body.wp-admin .wls-as-box .h5,
body.wp-admin .wls-as-admin-meta,
body.wp-admin .wls-as-admin-meta p,
body.wp-admin .wls-as-admin-meta label,
body.wp-admin .wls-as-admin-meta strong,
body.wp-admin .wls-as-plan-title,
body.wp-admin .wls-as-create-title {
    color: #1d2327 !important;
}

body.wp-admin .wls-as-plan-meta,
body.wp-admin .wls-as-manager-plan span,
body.wp-admin .wls-as-subscribe-plan span,
body.wp-admin .wls-as-empty-plans,
body.wp-admin .wls-as-result,
body.wp-admin .wls-as-box .description,
body.wp-admin .wls-as-box em {
    color: #50575e !important;
}

body.wp-admin .wls-as-plan-item,
body.wp-admin .wls-as-manager-plan,
body.wp-admin .wls-as-subscribe-plan {
    background: #f6f7f7 !important;
    border-color: #dcdcde !important;
    color: #1d2327 !important;
}

body.wp-admin .wls-as-create-plan input,
body.wp-admin .wls-as-create-plan textarea,
body.wp-admin .wls-as-create-plan-inline input,
body.wp-admin .wls-as-create-plan-inline textarea {
    background: #ffffff !important;
    color: #1d2327 !important;
    border-color: #8c8f94 !important;
}

body.wp-admin .wls-as-btn,
body.wp-admin a.wls-as-btn {
    background: #d10000 !important;
    color: #ffffff !important;
}

.wls-as-panel-section .wls-as-box {
    margin-top: 0 !important;
}

.wls-as-panel-shortcode-note {
    margin-top: 10px !important;
    color: #d8d8d8 !important;
    font-size: 12px !important;
}

.wls-as-panel-shortcode-note code {
    color: #fff !important;
    background: rgba(255,255,255,.08) !important;
    padding: 2px 5px !important;
    border-radius: 4px !important;
}

body.wp-admin .wls-as-admin-page,
body.wp-admin .wls-as-admin-page p,
body.wp-admin .wls-as-admin-page label,
body.wp-admin .wls-as-admin-page th,
body.wp-admin .wls-as-admin-page td,
body.wp-admin .wls-as-admin-page h1,
body.wp-admin .wls-as-admin-page h2,
body.wp-admin .wls-as-admin-page strong {
    color: #1d2327 !important;
}

body.wp-admin .wls-as-admin-page code {
    color: #1d2327 !important;
}


/* Available subscription products */
.wls-as-available-details {
    color: #fff !important;
    min-width: 230px !important;
}

.wls-as-available-summary {
    cursor: pointer !important;
    color: #ff3636 !important;
    font-weight: 800 !important;
    list-style: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.wls-as-available-summary::-webkit-details-marker {
    display: none !important;
}

.wls-as-available-summary:before {
    content: "+" !important;
    width: 18px !important;
    height: 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    background: #d10000 !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.wls-as-available-details[open] .wls-as-available-summary:before {
    content: "−" !important;
}

.wls-as-available-summary small {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 20px !important;
    height: 20px !important;
    padding: 0 6px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.08) !important;
    color: #fff !important;
    font-size: 11px !important;
}

.wls-as-available-list {
    margin: 10px 0 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: grid !important;
    gap: 8px !important;
}

.wls-as-available-list li {
    display: grid !important;
    gap: 2px !important;
    padding: 8px 10px !important;
    border-radius: 8px !important;
    background: rgba(255,255,255,.055) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
}

.wls-as-available-list li a {
    color: #ff3636 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.wls-as-available-list li a:hover {
    color: #ff0000 !important;
    text-decoration: underline !important;
}

.wls-as-available-list li span,
.wls-as-available-muted {
    color: #d8d8d8 !important;
    font-size: 12px !important;
}

body.wp-admin .wls-as-available-summary,
body.wp-admin .wls-as-available-list li a {
    color: #d10000 !important;
}

body.wp-admin .wls-as-available-list li {
    background: #f6f7f7 !important;
    border-color: #dcdcde !important;
}

body.wp-admin .wls-as-available-list li span,
body.wp-admin .wls-as-available-muted {
    color: #50575e !important;
}


/* Purchase confirmation */
.wls-as-btn-small {
    padding: 7px 11px !important;
    font-size: 12px !important;
}

.wls-as-btn-secondary {
    background: #333 !important;
}

.wls-as-btn-secondary:hover {
    background: #555 !important;
}

.wls-as-journal-action-muted {
    color: #d8d8d8 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

.wls-as-journal-buy-result {
    margin-top: 8px !important;
    max-width: 220px !important;
}

.wls-as-confirm-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px !important;
    background: rgba(0, 0, 0, .72) !important;
}

.wls-as-confirm-modal {
    width: min(420px, 100%) !important;
    background: #17171c !important;
    color: #fff !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    padding: 20px !important;
    box-shadow: 0 18px 60px rgba(0,0,0,.55) !important;
}

.wls-as-confirm-title {
    color: #fff !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
    margin-bottom: 10px !important;
}

.wls-as-confirm-text {
    color: #d8d8d8 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    margin-bottom: 16px !important;
}

.wls-as-confirm-text strong {
    color: #fff !important;
}

.wls-as-confirm-actions {
    display: flex !important;
    gap: 10px !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
}

.wls-as-journal-table th:nth-child(2),
.wls-as-journal-table td:nth-child(2) {
    min-width: 260px !important;
}

/* Admin: subscriptions list */
.wls-as-admin-actions {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 120px;
}
.wls-as-admin-actions form {
    margin: 0;
}
.wls-as-admin-actions .button {
    width: 100%;
    text-align: center;
}
.wls-as-admin-subscriptions-table small {
    color: #666;
}

/* v0.1.12: price/duration explanation */
.wls-as-plan-meta,
.wls-as-subscribe-plan-meta,
.wls-as-confirm-meta {
    display: grid !important;
    gap: 4px !important;
    margin-top: 6px !important;
    color: #f2f2f2 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

.wls-as-plan-meta span,
.wls-as-subscribe-plan-meta div,
.wls-as-confirm-meta span {
    display: block !important;
}

.wls-as-plan-meta b,
.wls-as-subscribe-plan-meta b,
.wls-as-confirm-meta b {
    color: #ffffff !important;
    font-weight: 900 !important;
}

.wls-as-plan-hint,
.wls-as-confirm-hint {
    display: block !important;
    margin-top: 5px !important;
    color: #bdbdbd !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
}

.wls-as-confirm-meta {
    margin: 10px 0 0 !important;
    padding: 10px 12px !important;
    background: rgba(255,255,255,.055) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 10px !important;
}

.wls-as-confirm-meta em {
    color: #ffffff !important;
    font-style: normal !important;
    font-weight: 800 !important;
}

body.wp-admin .wls-as-plan-meta,
body.wp-admin .wls-as-subscribe-plan-meta,
body.wp-admin .wls-as-plan-hint {
    color: #50575e !important;
}

body.wp-admin .wls-as-plan-meta b,
body.wp-admin .wls-as-subscribe-plan-meta b {
    color: #1d2327 !important;
}

/* v0.1.13: split subscription journal into active and ended blocks */
.wls-as-journal-section {
    margin-top: 16px !important;
}

.wls-as-journal-section-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin: 0 0 10px !important;
    padding: 10px 12px !important;
    border-radius: 10px !important;
    background: rgba(255,255,255,.055) !important;
    color: #ffffff !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
}

.wls-as-journal-section-title span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 28px !important;
    height: 24px !important;
    padding: 0 8px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.12) !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

.wls-as-ended-details {
    border-radius: 10px !important;
    overflow: hidden !important;
}

.wls-as-ended-summary {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    cursor: pointer !important;
    padding: 10px 12px !important;
    border-radius: 10px !important;
    background: rgba(255,255,255,.045) !important;
    color: #ffffff !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
}

.wls-as-ended-summary::-webkit-details-marker {
    display: none !important;
}

.wls-as-ended-summary:after {
    content: '+' !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.12) !important;
    color: #fff !important;
    font-weight: 900 !important;
}

.wls-as-ended-details[open] .wls-as-ended-summary:after {
    content: '−' !important;
}

.wls-as-ended-summary small {
    margin-left: auto !important;
    color: #cfcfcf !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

body.wp-admin .wls-as-journal-section-title,
body.wp-admin .wls-as-ended-summary {
    background: #f6f7f7 !important;
    color: #1d2327 !important;
}

body.wp-admin .wls-as-journal-section-title span,
body.wp-admin .wls-as-ended-summary:after {
    background: #dcdcde !important;
    color: #1d2327 !important;
}
