/*****
Theme Name: IDP Radio Web3 Blue Child
Theme URI: https://InnovativeDigitalPro.com/
Description: A dark navy and electric-blue child theme for IDP Radio, inspired by the Web3 Matrix style: deep blue background, charcoal-blue cards, cyan accents, bright blue action states, rounded buttons, and full IDP internal CSS selectors.
Author: Innovative Digital Pro
Author URI: https://InnovativeDigitalPro.com/
Template: idp-radio
Version: 1.0.5
Update URI: https://innovativedigitalpro.com/wp-json/idp-updates/v1/theme/idp-radio-web3-blue-child
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: idp-radio-web3-blue-child
*****/

:root {
    --idp-bg: #0f1726;
    --idp-bg-deep: #07111f;
    --idp-bg-darker: #030b16;
    --idp-header: #031122;
    --idp-surface: #172131;
    --idp-surface-2: #202b3a;
    --idp-surface-3: #2d3949;
    --idp-card: #1b2636;
    --idp-border: #374252;
    --idp-border-soft: #4d5969;
    --idp-text: #eef5ff;
    --idp-muted: #bac5cc;
    --idp-muted-2: #9298a0;
    --idp-accent: #03c8fe;
    --idp-accent-2: #0278eb;
    --idp-accent-hover: #5cd7ff;
    --idp-glow: rgba(3, 200, 254, 0.24);
}

/* Base page shell */
html,
body {
    background: var(--idp-bg) !important;
    color: var(--idp-text) !important;
}

body {
    background:
        radial-gradient(circle at 30% 0%, rgba(3, 200, 254, 0.08), transparent 34%),
        linear-gradient(180deg, var(--idp-bg-deep) 0%, var(--idp-bg) 46%, #0d1422 100%) !important;
}

#idp-wrapper,
.wrapper-inner,
#main-content,
.idp-container,
.idp-section,
article,
.post,
.page,
.entry-content {
    color: var(--idp-text) !important;
}

#idp-wrapper,
.wrapper-inner {
    background: rgba(15, 23, 38, 0.96) !important;
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.38);
}

#main-content,
.idp-content,
.idp-main,
.idp-section,
.content-wrap {
    background: transparent !important;
}

/* Typography */
h1, h2, h3, h4, h5, h6,
.entry-title,
.entry-title a,
.page-title,
.content-lead-title,
.content-lead-title a,
.content-list-title,
.content-list-title a,
.content-grid-title,
.content-grid-title a,
.cp-title-xl,
.cp-title-xl a,
.cp-title-small,
.cp-title-small a,
.author-box-name,
.widget-title,
.logo-title {
    color: #ffffff !important;
}

body,
p,
li,
dd,
dt,
.entry-content,
.content-list-excerpt,
.content-grid-excerpt,
.cp-excerpt-xl,
.author-box-desc,
.wp-caption-text {
    color: var(--idp-text) !important;
}

small,
cite,
.entry-meta,
.entry-meta a,
.entry-meta .entry-meta-author,
.logo-tagline,
.content-grid-separator,
.ticker-item,
.comment-meta,
.commentlist .comment .vcard,
.commentlist .comment .vcard a,
.commentlist .comment time,
.wp-block-latest-posts__post-date {
    color: var(--idp-muted) !important;
}

/* Links */
a,
.entry-content a,
.entry-meta a,
.entry-meta .entry-meta-author,
.comment-info,
.social-nav a:hover {
    color: var(--idp-accent) !important;
}

a:hover,
.entry-content a:hover,
.entry-tags a:hover,
.content-lead-title a:hover,
.content-list-title a:hover,
.content-grid-title a:hover,
.cp-title-xl a:hover,
.cp-title-small a:hover {
    color: var(--idp-accent-hover) !important;
}

/* Header and navigation */
.header-top,
.idp-header,
.header-wrap,
.header-sub,
.header-nav ul li:hover > ul,
.main-nav,
.main-nav ul li:hover > ul,
.main-nav-wrap,
.idp-main-nav-wrap {
    background: var(--idp-header) !important;
    color: #ffffff !important;
}

.header-top,
.header-sub,
.main-nav {
    border-color: rgba(255, 255, 255, 0.08) !important;
}

.header-sub {
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-bottom: 1px solid rgba(3, 200, 254, 0.18) !important;
}

.header-nav li,
.main-nav li,
.footer-nav li {
    border-color: rgba(255, 255, 255, 0.08) !important;
}

.header-nav li a,
.main-nav li a,
.footer-nav li a,
.social-nav .fa-idp-social {
    color: #ffffff !important;
}

.main-nav li:hover,
.header-nav li:hover,
.main-nav .current-menu-item,
.main-nav .current_page_item,
.header-nav .current-menu-item,
.header-nav .current_page_item {
    background: linear-gradient(180deg, var(--idp-accent) 0%, var(--idp-accent-2) 100%) !important;
}

.main-nav li:hover > a,
.header-nav li:hover > a,
.main-nav .current-menu-item > a,
.main-nav .current_page_item > a,
.header-nav .current-menu-item > a,
.header-nav .current_page_item > a {
    color: #ffffff !important;
}

/* Dropdowns */
.main-nav ul ul,
.header-nav ul ul {
    background: var(--idp-surface) !important;
    border: 1px solid var(--idp-border) !important;
    box-shadow: 0 18px 35px rgba(0, 0, 0, 0.34);
}

.main-nav ul ul li,
.header-nav ul ul li {
    background: var(--idp-surface) !important;
    border-color: var(--idp-border) !important;
}

.main-nav ul ul li:hover,
.header-nav ul ul li:hover {
    background: var(--idp-surface-3) !important;
}

/* Mobile navigation */
.slicknav_menu,
.slicknav_nav,
.slicknav_nav ul {
    background: var(--idp-header) !important;
    color: #ffffff !important;
    border-color: var(--idp-border) !important;
}

.slicknav_menu .slicknav_icon-bar {
    background: #ffffff !important;
}

.slicknav_btn {
    background: linear-gradient(180deg, var(--idp-accent) 0%, var(--idp-accent-2) 100%) !important;
}

.slicknav_nav a,
.slicknav_nav a:hover,
.slicknav_nav .slicknav_item:hover {
    color: #ffffff !important;
}

.slicknav_nav a:hover,
.slicknav_nav .slicknav_item:hover {
    background: var(--idp-surface-3) !important;
}

/* News ticker and breadcrumbs */
.news-ticker,
.breadcrumb {
    color: var(--idp-text) !important;
    background: var(--idp-card) !important;
    border-color: var(--idp-border) !important;
}

.ticker-title,
.breadcrumb a,
.breadcrumb .bc-text,
.breadcrumb .bc-home {
    background: linear-gradient(180deg, var(--idp-accent) 0%, var(--idp-accent-2) 100%) !important;
    color: #ffffff !important;
}

.breadcrumb a:hover {
    color: #ffffff !important;
}

/* Cards, widgets, content sections */
.sb-widget,
.idp-widget,
.widget,
.author-box,
.related-content,
.commentlist,
.commentlist .depth-1,
.commentlist .children li,
.pinglist,
.no-comments,
#respond,
.wpcf7-form,
.idp-share-buttons,
.post-ad,
.ad-spot,
.home-sidebar .cp-thumb-xl,
.idp-sidebar .cp-thumb-xl,
.idp-cp-widget .cp-thumb-xl,
.content-grid-thumb,
.content-list-thumb,
.search-form,
.sb-widget .search-form,
.wp-block-group,
.wp-block-column,
.wp-block-media-text,
.wp-block-latest-posts,
.wp-block-query,
.wp-block-post-template {
    background: var(--idp-card) !important;
    color: var(--idp-text) !important;
    border-color: var(--idp-border) !important;
}

.sb-widget,
.idp-widget,
.widget,
.author-box,
.related-content,
#respond,
.commentlist .depth-1,
.wp-block-group {
    border: 1px solid var(--idp-border) !important;
    box-shadow: 0 16px 38px rgba(0, 0, 0, 0.18);
}

.post,
.page,
.content-lead,
.content-list,
.content-grid,
.cp-wrap,
.cp-small,
.cp-large,
.cp-thumb-xl,
.idp-loop-item,
.idp-posts-list-item,
.idp-posts-grid-item {
    background: transparent !important;
    color: var(--idp-text) !important;
    border-color: var(--idp-border) !important;
}

.idp-separator,
.widget-list > li,
.widget-list .children li,
.sb-widget .uw-wrap,
.sb-widget ul > .cat-item,
.sb-widget ul > .menu-item,
.sb-widget ul > .page_item,
.footer-widgets ul > .cat-item,
.footer-widgets ul > .menu-item,
.footer-widgets ul > .page_item,
.pinglist .pings,
.content-list,
.content-grid,
.content-lead,
.cp-small,
.cp-wrap {
    border-color: var(--idp-border) !important;
}

.widget-list li:hover,
.sb-widget ul .cat-item:hover,
.sb-widget ul .menu-item:hover,
.sb-widget ul .page_item:hover {
    background: var(--idp-surface-3) !important;
}

.widget-title,
.comment-section-title,
.footer-widgets .widget-title {
    background: var(--idp-bg-darker) !important;
    color: #ffffff !important;
    border-bottom: 1px solid rgba(3, 200, 254, 0.24) !important;
}

.widget-title span,
.comment-section-title span,
.comment-section-title .comment-count {
    background: linear-gradient(180deg, var(--idp-accent) 0%, var(--idp-accent-2) 100%) !important;
    color: #ffffff !important;
}

.comment-section-title .comment-count-more {
    color: var(--idp-muted) !important;
}

/* Gutenberg/frontend block cleanup */
.wp-block-cover,
.wp-block-columns,
.wp-block-search,
.wp-block-navigation,
.wp-block-table,
.wp-block-quote,
.wp-block-pullquote {
    color: var(--idp-text) !important;
}

.wp-block-cover:not(.has-background),
.wp-block-columns:not(.has-background) {
    background: transparent !important;
}

.wp-block-button__link,
.wp-element-button,
.more-link,
.button span,
.read-more,
.entry-tags a,
.tagcloud a {
    background: linear-gradient(180deg, var(--idp-accent) 0%, var(--idp-accent-2) 100%) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow: 0 10px 24px var(--idp-glow);
}

.wp-block-button__link:hover,
.wp-element-button:hover,
.more-link:hover,
.button span:hover,
.read-more:hover,
.entry-tags a:hover,
.tagcloud a:hover {
    background: linear-gradient(180deg, var(--idp-accent-hover) 0%, var(--idp-accent) 100%) !important;
    color: #031122 !important;
}



/* Rounded Web3-style buttons and action pills */
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.wp-block-button__link,
.wp-element-button,
.more-link,
.button,
.button span,
.read-more,
.entry-tags a,
.tagcloud a,
.search-form .search-submit,
.pagination .current,
.pagination .pagelink,
#cancel-comment-reply-link,
.main-nav .menu-button > a,
.main-nav .nav-button > a,
.main-nav .nav-pill > a,
.header-nav .menu-button > a,
.header-nav .nav-button > a,
.header-nav .nav-pill > a {
    border-radius: 12px !important;
}

/* Optional menu button classes: add menu-button, nav-button, or nav-pill to any menu item. */
.main-nav .menu-button,
.main-nav .nav-button,
.main-nav .nav-pill,
.header-nav .menu-button,
.header-nav .nav-button,
.header-nav .nav-pill {
    background: transparent !important;
    margin: 6px 4px !important;
}

.main-nav .menu-button > a,
.main-nav .nav-button > a,
.main-nav .nav-pill > a,
.header-nav .menu-button > a,
.header-nav .nav-button > a,
.header-nav .nav-pill > a {
    background: linear-gradient(180deg, var(--idp-accent) 0%, var(--idp-accent-2) 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 10px 24px var(--idp-glow);
    padding-left: 18px !important;
    padding-right: 18px !important;
}

.main-nav .menu-button:hover > a,
.main-nav .nav-button:hover > a,
.main-nav .nav-pill:hover > a,
.header-nav .menu-button:hover > a,
.header-nav .nav-button:hover > a,
.header-nav .nav-pill:hover > a {
    background: linear-gradient(180deg, var(--idp-accent-hover) 0%, var(--idp-accent) 100%) !important;
    color: #031122 !important;
}

/* Forms */
input,
textarea,
select,
.search-form .search-field,
.wpcf7-form input,
.wpcf7-form textarea {
    background: var(--idp-bg-darker) !important;
    color: #ffffff !important;
    border: 1px solid var(--idp-border-soft) !important;
}

input::placeholder,
textarea::placeholder {
    color: var(--idp-muted-2) !important;
}

input[type=text]:hover,
input[type=email]:hover,
input[type=tel]:hover,
input[type=url]:hover,
textarea:hover,
select:hover,
.search-form .search-field:active,
.search-form .search-field:focus,
input:focus,
textarea:focus,
select:focus {
    border-color: var(--idp-accent) !important;
    box-shadow: 0 0 0 3px rgba(3, 200, 254, 0.12) !important;
    outline: none !important;
}

input[type=submit],
button,
.search-form .search-submit,
.pagination .current,
.pagination .pagelink,
#cancel-comment-reply-link:hover {
    background: linear-gradient(180deg, var(--idp-accent) 0%, var(--idp-accent-2) 100%) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
}

input[type=submit]:hover,
button:hover,
.search-form .search-submit:hover,
#cancel-comment-reply-link {
    background: linear-gradient(180deg, var(--idp-accent-hover) 0%, var(--idp-accent) 100%) !important;
    color: #031122 !important;
}

/* Tables */
table th,
.wp-block-table th {
    background: var(--idp-bg-darker) !important;
    color: #ffffff !important;
    border-color: var(--idp-border) !important;
}

table tr:nth-child(odd),
table tr:nth-child(even),
table td,
.wp-block-table td,
.wp-block-table th {
    background: var(--idp-surface-2) !important;
    color: var(--idp-text) !important;
    border-color: var(--idp-border) !important;
}

/* Pagination */
.pagination .page-numbers,
.pagination a .pagelink {
    background: var(--idp-card) !important;
    color: var(--idp-text) !important;
    border-color: var(--idp-border) !important;
}

.pagination a.page-numbers:hover,
.dots:hover,
.pagination a:hover .pagelink {
    background: var(--idp-surface-3) !important;
    color: var(--idp-accent) !important;
}

/* Quotes and code */
.wp-block-quote,
blockquote,
.wp-block-pullquote {
    background: var(--idp-card) !important;
    color: var(--idp-text) !important;
    border-left-color: var(--idp-accent) !important;
}

pre,
code,
kbd {
    background: var(--idp-bg-darker) !important;
    color: var(--idp-text) !important;
    border-color: var(--idp-border) !important;
    text-shadow: none !important;
}

/* Footer */
.idp-footer,
.footer-ad-wrap,
.footer-bottom,
.footer-1,
.footer-2,
.footer-3,
.footer-widgets,
.footer-nav {
    background: var(--idp-header) !important;
    color: var(--idp-text) !important;
    border-color: rgba(3, 200, 254, 0.16) !important;
}

.idp-footer a,
.footer-bottom a,
.footer-widgets a,
.footer-nav a {
    color: var(--idp-accent) !important;
}

.idp-footer a:hover,
.footer-bottom a:hover,
.footer-widgets a:hover,
.footer-nav a:hover {
    color: #ffffff !important;
}

/* Media captions and separators */
.gallery-caption {
    background-color: rgba(3, 11, 22, 0.88) !important;
    color: #ffffff !important;
}

hr,
.wp-block-separator {
    border-color: var(--idp-border) !important;
    background-color: var(--idp-border) !important;
}

/* Make images feel integrated in the darker layout */
.entry-content img,
.wp-post-image,
.content-list-thumb img,
.content-grid-thumb img,
.cp-thumb-xl img {
    border-color: var(--idp-border) !important;
}

/* Selection highlight */
::selection {
    background: var(--idp-accent) !important;
    color: #031122 !important;
}
