/* ══════════════════════════════════════════════════════
   TubeStack Global CSS — v1.2.0
   Forest Green + White — every page, every plugin
   Loads at priority 999
   ══════════════════════════════════════════════════════ */

/* ── Page background ONLY — no color override (would break dark tool cards) ── */
body {
    background-color: #f4f7f5 !important;  /* slight warmth, less sterile */
}

/* ══════════════════════════════════════════════════════
   WORDPRESS HEADER — Forest Green
   Covers every known theme selector
   ══════════════════════════════════════════════════════ */
body > header,
body header:first-of-type,
.site-header,
#site-header,
#masthead,
#header,
header.header,
.header,
.header-main,
.header-wrap,
.header-wrapper,
.site-header-main,
.header-container,
.navbar,
.navbar-default,
.nav-bar,
.top-bar,
.top-header,
#top-header,
[class*="site-header"],
[id*="site-header"],
[class*="masthead"],
[id*="masthead"] {
    background-color: #1a5c38 !important;
    background: #1a5c38 !important;
    border-bottom: none !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
}

/* Header links and text → white */
.site-header a,
#masthead a,
#header a,
.header a,
.navbar a,
#top-header a,
.main-navigation a,
.nav-menu a,
#primary-menu a,
#site-navigation a {
    color: #ffffff !important;
    text-decoration: none !important;
}
.site-header a:hover,
#masthead a:hover { color: rgba(255,255,255,0.78) !important; background: transparent !important; }

/* Site title */
.site-title, .site-title a, .site-branding .site-title, .brand, .logo { color: #ffffff !important; font-weight: 800 !important; }
.site-title a:hover { color: rgba(255,255,255,0.85) !important; }

/* Hamburger */
.menu-toggle, .nav-toggle, button.menu-toggle, .mobile-menu-toggle, [class*="menu-toggle"] {
    color: #ffffff !important;
    background: transparent !important;
    border-color: rgba(255,255,255,0.5) !important;
    fill: #ffffff !important;
}

/* Menu items */
.main-navigation ul li a, .nav-menu li a { background: transparent !important; color: #ffffff !important; }
.main-navigation ul li a:hover, .nav-menu li a:hover { background: rgba(255,255,255,0.12) !important; color: #ffffff !important; }
.main-navigation ul li.current-menu-item > a { color: #ffffff !important; font-weight: 700 !important; }

/* Submenu dropdown */
.main-navigation .sub-menu, .nav-menu .sub-menu { background: #14472c !important; }
.main-navigation .sub-menu a, .nav-menu .sub-menu a { color: rgba(255,255,255,0.85) !important; }

/* ══════════════════════════════════════════════════════
   PAGE TITLE — visible in dark text
   ══════════════════════════════════════════════════════ */
.entry-title, .page-title, h1.title, .post-title, .page-header h1, article header h1 {
    color: #0f1f16 !important;
    font-weight: 800 !important;
}

/* ══════════════════════════════════════════════════════
   FOOTER — Dark Forest Green
   ══════════════════════════════════════════════════════ */
.site-footer, #colophon, #footer, footer.footer, .footer, #site-footer,
[class*="site-footer"], [id*="site-footer"] {
    background-color: #0f3d25 !important;
    background: #0f3d25 !important;
    border-top: none !important;
}
.site-footer *, #colophon *, #footer * { color: rgba(255,255,255,0.65) !important; }
.site-footer a, #colophon a { color: rgba(255,255,255,0.75) !important; }
.site-footer a:hover, #colophon a:hover { color: #ffffff !important; }

/* ══════════════════════════════════════════════════════
   LINKS — Forest Green (only outside OKP tool components)
   ══════════════════════════════════════════════════════ */
a:not([class*="okp"]):not([class*="okpsg"]):not([class*="ts-"]):not([class*="cookie"]):not([class*="admin-"]):not([class*="wp-"]) {
    color: #22c55e;
}
a:not([class*="okp"]):not([class*="okpsg"]):not([class*="ts-"]):not([class*="cookie"]):not([class*="admin-"]):not([class*="wp-"]):hover {
    color: #16a34a;
}

/* ══════════════════════════════════════════════════════
   BUTTONS — Forest Green (only outside OKP components)
   ══════════════════════════════════════════════════════ */
.wp-block-button__link,
a.wp-element-button {
    background-color: #22c55e !important;
    color: #050d14 !important;
    border-color: #22c55e !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
}
.wp-block-button__link:hover { background-color: #16a34a !important; color: #050d14 !important; }

/* Theme-specific submit buttons only (not OKP) */
input[type="submit"]:not([class*="okp"]):not([class*="okpsg"]):not([id*="okp"]) {
    background-color: #1a5c38 !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    border-color: #1a5c38 !important;
}

/* ══════════════════════════════════════════════════════
   SIDEBAR
   ══════════════════════════════════════════════════════ */
.widget-title, .widgettitle, .widget-area h2, .widget-area h3 {
    color: #1a5c38 !important;
    border-bottom: 2px solid #a8d8be !important;
    padding-bottom: 8px !important;
}

/* ══════════════════════════════════════════════════════
   COOKIE CONSENT — HIDE after acceptance
   Nuclear approach: hide by display:none CSS + JS backup
   ══════════════════════════════════════════════════════ */

/* Hide re-consent floating icon always */
.ca-revoke-container, .ca-revoke, [class*="ca-revoke"], .cookieadmin-revoke,
.cc-revoke, .cc-revoke.cc-top, .cc-revoke.cc-bottom { display: none !important; }

/* These classes are added by CookieAdmin after consent */
.cookie-notice-hidden, .cookie--accepted, .cookie--rejected,
[data-cookie-accepted="true"], .cc-window.cc-invisible { display: none !important; }

/* Admin bar */
#wpadminbar { position: fixed !important; z-index: 100000 !important; }

/* ══════════════════════════════════════════════════════
   MOBILE NAVIGATION — CSS base (JS enhances below)
   ══════════════════════════════════════════════════════ */

/* Style ANY fullscreen/overlay nav that appears when menu opens */
.main-navigation.toggled ul,
.main-navigation.toggled .nav-menu,
.toggled-on,
[class*="mobile-menu"][style*="display: block"],
[class*="mobile-menu"][style*="display:block"],
[class*="mobile-nav"][style*="display: block"] {
    background: #14472c !important;
}

/* All nav links inside any open mobile menu */
.main-navigation.toggled a,
.toggled-on a {
    color: rgba(255,255,255,0.9) !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    padding: 12px 20px !important;
    display: block !important;
    font-size: 15px !important;
    font-family: 'Inter','Segoe UI',sans-serif !important;
    font-weight: 500 !important;
}
.main-navigation.toggled a:hover { color: #ffffff !important; background: rgba(255,255,255,0.1) !important; }

/* Admin bar */
#wpadminbar { position: fixed !important; z-index: 100000 !important; }

/* ══════════════════════════════════════════════════════
   EXTERNAL PLUGIN CSS OVERRIDES
   Using exact class names from each plugin's CSS file
   ══════════════════════════════════════════════════════ */

/* ── VOICE-OVER STUDIO ── */
.ovs-header                { background: #1a5c38 !important; }
.ovs-btn-primary           { background: #1a5c38 !important; border-color: #1a5c38 !important; color: #ffffff !important; }
.ovs-btn-primary:hover     { background: #14472c !important; }
.ovs-dl-btn                { background: #1a5c38 !important; color: #ffffff !important; }
.ovs-dl-btn:hover          { background: #14472c !important; }
.ovs-wave-play-btn         { background: #1a5c38 !important; }
.ovs-wave-play-btn:hover   { background: #14472c !important; }
.ovs-vtab.active           { background: #1a5c38 !important; border-color: #1a5c38 !important; color: #ffffff !important; }
.ovs-preview-btn           { color: #1a5c38 !important; }
.ovs-btn-ghost:hover       { border-color: #1a5c38 !important; color: #1a5c38 !important; }
.ovs-hbtn:hover            { border-color: #1a5c38 !important; color: #1a5c38 !important; }
.ovs-inline-buy            { background: #14472c !important; }
/* Queue header (was blue #1877f2) */
.ovs-queue-header          { background: #1a5c38 !important; }
.ovs-queue-item.pending    { border-color: #1a5c38 !important; background: #f0faf4 !important; }
/* Active voice card selection */
.ovs-voice-card.selected,
.ovs-voice-card:has(input:checked) { border-color: #1a5c38 !important; }

/* ── NARRATIVE AI (STORYMINT) — override teal CSS variables to green ── */
.nas-wrap {
    --teal:        #1a5c38 !important;
    --teal-lt:     #2d7a50 !important;
    --teal-dim:    rgba(26,92,56,0.10) !important;
    --teal-border: rgba(26,92,56,0.30) !important;
}
.nas-description-banner {
    background: linear-gradient(135deg, #1a5c38, #14472c) !important;
}
.nas-description-banner * { color: #ffffff !important; }
.nas-btn-generate          { background: #1a5c38 !important; color: #ffffff !important; }
.nas-btn-generate:hover:not(:disabled) { background: #2d7a50 !important; }

/* ── NICHERADAR: change accent colors to green ── */
.onr-wrap[data-theme="dark"] {
    --onr-accent:  #4a9e70 !important;
    --onr-accent2: #2d7a50 !important;
    --onr-green:   #4a9e70 !important;
}
.onr-wrap[data-theme="light"] {
    --onr-accent:  #1a5c38 !important;
    --onr-accent2: #2d7a50 !important;
    --onr-green:   #1a5c38 !important;
}
/* NicheRadar header */
.onr-header {
    background: #1a5c38 !important;
    border-bottom-color: #14472c !important;
    border-radius: 16px 16px 0 0 !important;
}
.onr-header * { color: #ffffff !important; }
.onr-logo { color: #a8d8be !important; }
.onr-icon-btn {
    background: rgba(255,255,255,0.15) !important;
    border-color: rgba(255,255,255,0.3) !important;
    color: #ffffff !important;
}
.onr-icon-btn:hover {
    background: rgba(255,255,255,0.25) !important;
    border-color: rgba(255,255,255,0.5) !important;
}
.onr-analyze-btn {
    background: linear-gradient(135deg, #1a5c38, #2d7a50) !important;
    border-color: #1a5c38 !important;
}
/* NicheRadar tabs */
.onr-tab.active {
    color: #1a5c38 !important;
    border-bottom-color: #1a5c38 !important;
}
.onr-wrap[data-theme="dark"] .onr-tab.active {
    color: #4a9e70 !important;
    border-bottom-color: #4a9e70 !important;
}

/* ══════════════════════════════════════════════════════
   HIDE NARRATIVE AI + VOICE STUDIO OWN CREDIT BUY BUTTONS
   Users should buy credits through /buy-credits/ instead
   ══════════════════════════════════════════════════════ */

/* Narrative AI — hide credit purchase section */
.nas-buy-credits-btn,
.nas-credits-pack,
[class*="nas-pack"],
[class*="nas-buy"] { display: none !important; }

/* Voice Studio — hide inline buy button */
.ovs-inline-buy,
.ovs-buy-badge,
.ovs-pkg-buy-btn { display: none !important; }

/* Replace with a link to TubeStack buy-credits page */
.nas-credits-badge::after {
    content: ' · Buy More';
    color: #22c55e;
    font-weight: 700;
    cursor: pointer;
}

/* ══════════════════════════════════════════════════════
   NARRATIVE AI — HIDE BUILT-IN CREDIT PURCHASE SCREEN
   Replace with redirect to TubeStack /buy-credits/
══════════════════════════════════════════════════════ */
/* Hide the entire "No Credits" gate purchase section */
.nas-packages,
.nas-gate-package,
.nas-gate-buy,
.nas-gate-note,
.nas-pkg-buy-btn,
.nas-buy-credits-btn,
[class*="nas-pack"],
[class*="nas-gate-buy"] {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* Add a redirect button after the gate heading */
.nas-gate-icon + * + * + *::after,
.nas-wrap .nas-gate-icon::after {
    content: '';
}

/* Override the credits gate container to show our own message */
.nas-gate-package::before,
.nas-packages::before {
    display: block;
    content: 'Buy credits at TubeStack → /buy-credits/';
    color: #22c55e;
    font-size: 13px;
    font-weight: 700;
    padding: 12px;
    text-align: center;
}

/* ── VOICE STUDIO — hide buy buttons ── */
.ovs-inline-buy,
.ovs-buy-badge {
    display: none !important;
}

/* ══════════════════════════════════════════════════════
   REGISTRATION / AUTH CARD — FORCE PROPER STYLING
   Override WordPress theme inputs inside auth card
══════════════════════════════════════════════════════ */
.okp-auth-card-standalone,
.okp-auth-wrap .okp-auth-card-standalone {
    background: #0e1a2e !important;
    border: 1.5px solid rgba(34,197,94,.2) !important;
    border-radius: 16px !important;
    padding: 28px 24px !important;
    box-shadow: 0 4px 28px rgba(0,0,0,.4) !important;
    font-family: 'Inter','Segoe UI',sans-serif !important;
}
.okp-auth-card-standalone * {
    font-family: 'Inter','Segoe UI',sans-serif !important;
    box-sizing: border-box !important;
}
.okp-auth-logo {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #f0f4ff !important;
    display: block;
    margin-bottom: 4px;
}
.okp-auth-top p {
    color: rgba(255,255,255,.5) !important;
    font-size: 13px !important;
    margin-bottom: 16px !important;
}
.okp-auth-tabs {
    display: flex !important;
    gap: 6px !important;
    margin-bottom: 18px !important;
}
.okp-atab {
    flex: 1 !important;
    padding: 10px !important;
    background: rgba(255,255,255,.05) !important;
    border: 1.5px solid rgba(255,255,255,.08) !important;
    border-radius: 8px !important;
    color: rgba(255,255,255,.5) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all .2s !important;
    text-align: center !important;
}
.okp-atab.active {
    background: rgba(34,197,94,.12) !important;
    border-color: #22c55e !important;
    color: #22c55e !important;
}
.okp-afield {
    margin-bottom: 12px !important;
}
.okp-afield label {
    display: block !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: rgba(255,255,255,.5) !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    margin-bottom: 6px !important;
}
.okp-afield input {
    width: 100% !important;
    background: rgba(255,255,255,.06) !important;
    border: 1.5px solid rgba(255,255,255,.1) !important;
    border-radius: 8px !important;
    color: #f0f4ff !important;
    font-size: 14px !important;
    padding: 12px 14px !important;
    outline: none !important;
    box-shadow: none !important;
    display: block !important;
    -webkit-appearance: none !important;
}
.okp-afield input:focus {
    border-color: #22c55e !important;
    background: rgba(34,197,94,.06) !important;
}
.okp-afield input::placeholder {
    color: rgba(255,255,255,.25) !important;
}
.okp-auth-submit {
    width: 100% !important;
    padding: 13px !important;
    background: #22c55e !important;
    color: #050d14 !important;
    border: none !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    margin-top: 4px !important;
    transition: background .2s !important;
    display: block !important;
}
.okp-auth-submit:hover { background: #16a34a !important; }
.okp-amsg.error {
    background: rgba(192,57,43,.15) !important;
    border: 1px solid rgba(192,57,43,.4) !important;
    color: #f87171 !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
    margin-bottom: 12px !important;
}
.okp-amsg.success {
    background: rgba(34,197,94,.1) !important;
    border: 1px solid rgba(34,197,94,.3) !important;
    color: #22c55e !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
    margin-bottom: 12px !important;
}

/* ══════════════════════════════════════════════════════
   HIDE SOCIAL MEDIA ICONS EVERYWHERE
   Theme footer and widget social icons
══════════════════════════════════════════════════════ */
/* Common theme social icon classes */
.social-links, .social-icons, .social-media-links,
.site-social, .footer-social, .widget_social_widget,
a[href*="twitter.com"], a[href*="x.com"],
a[href*="facebook.com"], a[href*="instagram.com"],
.fab.fa-twitter, .fab.fa-facebook, .fab.fa-instagram,
[class*="icon-twitter"], [class*="icon-facebook"], [class*="icon-instagram"],
.twitter-link, .facebook-link, .instagram-link {
    display: none !important;
}
/* Theme-specific footer social */
.site-footer .social-nav,
footer .social-nav,
footer nav[aria-label*="social" i],
footer ul.social,
.footer-widget .social { display: none !important; }

/* ══════════════════════════════════════════════════════
   ACCENT ENHANCEMENTS — brighter interactive elements
══════════════════════════════════════════════════════ */

/* Progress bars */
.ovs-progress-fill { background: #22c55e !important; }

/* Outline button hover — light green fill */
.ts-btn.outline:hover { background: #e8f5ee !important; color: #1a5c38 !important; }

/* Mobile nav icon and label contrast */
.okp-bn-item .okp-bn-icon,
.okp-qb-icon {
    color: rgba(255,255,255,0.85) !important;
}
.okp-bn-item .okp-bn-lbl,
.okp-qb-item span:last-child {
    color: rgba(255,255,255,0.7) !important;
}
.okp-bn-item.active .okp-bn-icon,
.okp-bn-item:hover .okp-bn-icon,
.okp-qb-item.active .okp-qb-icon,
.okp-qb-item:hover .okp-qb-icon {
    color: #a8d8be !important;
}
