/* --- SKELETON LOAD ANIMATION WAVE --- */
@keyframes shimmerWave {
    0% { background-position: -200px 0; }
    100% { background-position: 200px 0; }
}

.post-card.is-loading {
    pointer-events: none;
    user-select: none;
}

.post-card.is-loading .skeleton-image {
    width: 100%;
    height: 180px;
    background: #f6f7f8;
    background-image: linear-gradient(90deg, #f6f7f8 0%, #edeef1 20%, #f6f7f8 40%, #f6f7f8 100%);
    background-repeat: no-repeat;
    background-size: 800px 100%;
    animation: shimmerWave 1.4s infinite linear;
    border-radius: 4px;
    margin-bottom: 12px;
}

.post-card.is-loading .skeleton-text {
    color: transparent !important;
    background: #f6f7f8;
    background-image: linear-gradient(90deg, #f6f7f8 0%, #edeef1 20%, #f6f7f8 40%, #f6f7f8 100%);
    background-repeat: no-repeat;
    background-size: 800px 100%;
    animation: shimmerWave 1.4s infinite linear;
    border-radius: 4px;
    margin-bottom: 8px;
    width: 90%;
}

.post-card.is-loading .memberpress-cta-zone {
    display: none !important;
}

/* --- THEME PRODUCT AND CARDS ARCHITECTURE --- */
.cart-count-badge {
    background-color: #ff4757;
    color: #fff;
    border-radius: 50%;
    padding: 2px 6px;
    font-size: 11px;
    font-weight: bold;
    position: relative;
    top: -8px;
    left: -4px;
}

.post-card {
    position: relative;
    border: 1px solid #e1e1e1;
    border-radius: 8px;
    padding: 16px;
    background: #fff;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    overflow: hidden;
}

/* --- LOCKED GATEWAY COVER UI OVERLAYS --- */
.post-card.is-premium-locked {
    border-color: #ffd32a;
}

.post-card.is-premium-locked .card-content-wrap {
    filter: blur(5px);
    opacity: 0.4;
    pointer-events: none;
    user-select: none;
}

.post-card.is-premium-locked .memberpress-cta-zone {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(255, 255, 255, 0.9);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 10;
    padding: 20px;
    box-sizing: border-box;
}

.lock-indicator {
    font-weight: bold;
    color: #2c3e50;
    margin-bottom: 8px;
    font-size: 15px;
}

.lock-indicator.font-warning {
    color: #e74c3c;
}

.lock-subtext {
    font-size: 11px;
    color: #7f8c8d;
    margin: -4px 0 12px 0;
    text-align: center;
}

.card-lock-btn {
    padding: 10px 18px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: bold;
    font-size: 13px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    transition: background 0.2s;
}

.card-lock-btn.login-fallback { background: #ffc048; color: #1e272e; }
.card-lock-btn.upgrade-fallback { background: #e74c3c; color: #fff; }
.card-lock-btn.upgrade-fallback:hover { background: #c0392b; }

/* --- ACTIVE LEVEL ACCESS BADGES --- */
.post-card.tier-gold h3::after { content: " 👑 Gold Access"; font-size: 11px; color: #d4af37; font-weight: bold; }
.post-card.tier-silver h3::after { content: " 🥈 Silver Tier"; font-size: 11px; color: #a4b0be; font-weight: bold; }
.post-card.tier-bronze h3::after { content: " 🥉 Bronze Tier"; font-size: 11px; color: #cd7f32; }

/* --- FIXED FLOATING TESTING TOOLBAR LAYOUTS --- */
#theme-testing-console-bar {
    position: fixed; bottom: 20px; right: 20px;
    background: rgba(30, 39, 46, 0.95); backdrop-filter: blur(10px);
    border: 1px solid #3c6382; padding: 12px 18px; border-radius: 10px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3); z-index: 999999;
    color: #fff; font-family: sans-serif; display: flex; align-items: center; gap: 14px; font-size: 12px;
}
#theme-testing-console-bar .console-title { font-weight: bold; color: #00d2d3; border-right: 1px solid #485460; padding-right: 14px; }
#theme-testing-console-bar .console-group { display: flex; align-items: center; gap: 6px; }
#theme-testing-console-bar select { background: #2f3542; color: #fff; border: 1px solid #57606f; padding: 4px 8px; border-radius: 4px; outline: none; font-size: 11px; }
#theme-testing-console-bar button { background: #ff4757; color: #fff; border: none; padding: 5px 10px; border-radius: 4px; cursor: pointer; font-weight: bold; font-size: 11px; }
#theme-user-portal:has(.nav-account-link[href="#"]) { border: 1px dashed #e67e22; background: #fdf2e9; padding: 2px 6px; border-radius: 4px; }
