/*
Theme Name: FreeSpeakFM Theme
Theme URI: https://freespeak.fm
Author: FreeSpeakFM Team
Author URI: https://freespeak.fm
Description: A complete SPA WordPress theme with continuous audio player, PWA support, casting capabilities, social features (likes, follows, notifications), reels/shorts display, and custom database tables for high performance with 500,000+ users. Features include MediaElement.js player, PJAX navigation, WebSocket integration, BuddyPress compatibility, WooCommerce support, and n8n automation integration.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: freespeakfm
Tags: audio, video, music, podcast, social, pwa, spa, streaming, player

This theme is built for FreeSpeakFM - a social audio/video platform with:
- Custom post type: cbase (audio/video content)
- Custom taxonomies: cbase_category, cbase_tags
- Custom database tables for likes, follows, notifications, stats, downloads, comments
- PWA features: offline playback, push notifications, install prompt, background sync
- Casting: Chromecast, AirPlay, Bluetooth, Roku
- Social features: like/dislike, follow/unfollow, notifications, comments
- Reels/shorts: TikTok-style vertical video display
- Performance optimized for 500,000+ users
*/

/* Theme styles will be loaded from external CSS files */
/* This file is required for WordPress theme recognition */

/* Admin bar fix - prevent overlap with header */
body.admin-bar {
    padding-top: 32px;
}

@media screen and (max-width: 782px) {
    body.admin-bar {
        padding-top: 46px;
    }
}

/* Basic reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    line-height: 1.6;
    color: #333;
}

/* Ensure player footer stays at bottom */
.app-footer.app-player {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1000;
}

/* Adjust body padding for fixed player */
body {
    padding-bottom: 80px;
}

/* PJAX loading indicator */
.pace {
    pointer-events: none;
    user-select: none;
}

.pace-inactive {
    display: none;
}

.pace .pace-progress {
    background: #29d;
    position: fixed;
    z-index: 2000;
    top: 0;
    right: 100%;
    width: 100%;
    height: 2px;
}

